diff --git a/.gitattributes b/.gitattributes index 478d1c2e54..84df2b71cd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,8 @@ third-party/**/* linguist-generated test/decompiler/reference/** linguist-vendored # suppress from PR diffs - is just reviewing the same thing twice (if properly added to g_src) test/decompiler/reference/** linguist-generated +goal_src/import/** linguist-vendored +goal_src/import/** linguist-generated *.gc linguist-language=lisp *.gd linguist-language=lisp *.gs linguist-language=Scheme diff --git a/common/goos/Interpreter.cpp b/common/goos/Interpreter.cpp index 243e614844..7dfb2f1b0c 100644 --- a/common/goos/Interpreter.cpp +++ b/common/goos/Interpreter.cpp @@ -1345,7 +1345,7 @@ Object Interpreter::eval_numequals(const Object& form, } break; default: - throw_eval_error(form, "+ must have a numeric argument"); + throw_eval_error(form, "= must have a numeric argument"); return Object::make_empty_list(); } diff --git a/common/goos/Object.h b/common/goos/Object.h index e0c94c3338..b112f965f6 100644 --- a/common/goos/Object.h +++ b/common/goos/Object.h @@ -288,7 +288,9 @@ class Object { bool is_empty_list() const { return type == ObjectType::EMPTY_LIST; } bool is_list() const { return type == ObjectType::EMPTY_LIST || type == ObjectType::PAIR; } bool is_int() const { return type == ObjectType::INTEGER; } + bool is_int(int val) const { return type == ObjectType::INTEGER && val == as_int(); } bool is_float() const { return type == ObjectType::FLOAT; } + bool is_float(float val) const { return type == ObjectType::FLOAT && val == as_float(); } bool is_char() const { return type == ObjectType::CHAR; } bool is_symbol() const { return type == ObjectType::SYMBOL; } bool is_symbol(const std::string& name) const; diff --git a/common/goos/PrettyPrinter2.cpp b/common/goos/PrettyPrinter2.cpp index 17d1e5fa47..0f790d89fe 100644 --- a/common/goos/PrettyPrinter2.cpp +++ b/common/goos/PrettyPrinter2.cpp @@ -211,6 +211,14 @@ void break_list(Node* node) { if (name == "defun" || name == "defun-debug" || name == "defbehavior" || name == "defstate") { // things with three things in the top line: (defun node->top_line_count = 3; + } else if (name == "defskelgroup") { + // 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 == "ja" || name == "ja-no-eval") { + // things with 2 things in the top line: (ja <:key value> + node->top_line_count = 2; + node->sub_elt_indent += name.size(); } else if (name == "defmethod") { // things with 4 things in the top line: (defmethod node->top_line_count = 4; @@ -261,9 +269,9 @@ void break_list(Node* node) { void insert_required_breaks(const std::vector& bfs_order) { const std::unordered_set always_break = { - "when", "defun-debug", "countdown", "case", "defun", "defmethod", "let", - "until", "while", "if", "dotimes", "cond", "else", "defbehavior", - "with-pp", "rlet", "defstate", "behavior", "defpart"}; + "when", "defun-debug", "countdown", "case", "defun", "defmethod", "let", + "until", "while", "if", "dotimes", "cond", "else", "defbehavior", + "with-pp", "rlet", "defstate", "behavior", "defpart", "loop"}; for (auto node : bfs_order) { if (!node->break_list && node->kind == Node::Kind::LIST && node->child_nodes.at(0).kind == Node::Kind::ATOM) { diff --git a/common/util/print_float.cpp b/common/util/print_float.cpp index 6d211fcec7..e7fb4a139f 100644 --- a/common/util/print_float.cpp +++ b/common/util/print_float.cpp @@ -1,9 +1,9 @@ #include -#include "third-party/fmt/core.h" -#include "common/goal_constants.h" #include "third-party/dragonbox.h" +#include "third-party/fmt/core.h" #include "print_float.h" +#include "common/goal_constants.h" #include "common/util/Assert.h" /*! @@ -27,6 +27,48 @@ std::string meters_to_string(float value, bool append_trailing_decimal) { return float_to_string(value / METER_LENGTH, append_trailing_decimal); } +/*! + * Convert a fixed point value to a string. Fixed point values usually end up with strange numbers + * that were definitely not what was written when we do a naive conversion. This function + * is a bit more clever. + */ +std::string fixed_point_to_string(s64 value, s64 scale, bool append_trailing_decimal) { + float sign = value < 0 ? -1 : 1; + value = std::abs(value); + double naive = (double)value / scale; + + double flt_scale = 1; + while (flt_scale < scale) { + // 1 -> 0.1 + flt_scale *= 10; + } + + // we have a scale with enough precision for our fixed point. now find a good decimal. + + // start at something resonable. + s64 fixed_start = (s64)(naive * flt_scale); + fixed_start = fixed_start - (fixed_start % 5); + // add e.g. 0.005 in a 1/1000 scale + s64 fixed_add = 0; + while ((s64)((fixed_start + fixed_add) / flt_scale * scale) < value) { + fixed_add += 5; + } + if ((s64)((fixed_start + fixed_add) / flt_scale * scale) == value) { + return float_to_string((fixed_start + fixed_add) / flt_scale * sign, append_trailing_decimal); + } + + // add e.g. 0.001 in a 1/1000 scale + fixed_add = 0; + while ((s64)((fixed_start + fixed_add) / flt_scale * scale) < value) { + fixed_add += 1; + } + if ((s64)((fixed_start + fixed_add) / flt_scale * scale) == value) { + return float_to_string((fixed_start + fixed_add) / flt_scale * sign, append_trailing_decimal); + } + // added too much! + ASSERT_MSG(false, fmt::format("fixed_point_to_string failed hard. v: {} s: {}", value, scale)); +} + 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 3849b7b279..a18677dd2e 100644 --- a/common/util/print_float.h +++ b/common/util/print_float.h @@ -1,7 +1,9 @@ #pragma once #include +#include "common/common_types.h" +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); int float_to_cstr(float value, char* buffer, bool append_trailing_decimal = true); diff --git a/decompiler/Disasm/Register.h b/decompiler/Disasm/Register.h index 1341cc989b..696aff35e1 100644 --- a/decompiler/Disasm/Register.h +++ b/decompiler/Disasm/Register.h @@ -174,6 +174,8 @@ class Register { uint32_t get_special() const; bool allowed_local_gpr() const; + bool is_s6() const { return *this == Register(Reg::GPR, Reg::S6); } + bool operator==(const Register& other) const; bool operator!=(const Register& other) const; bool operator<(const Register& other) const { return id < other.id; } diff --git a/decompiler/IR2/AtomicOpForm.cpp b/decompiler/IR2/AtomicOpForm.cpp index 5179253a34..ac961f4565 100644 --- a/decompiler/IR2/AtomicOpForm.cpp +++ b/decompiler/IR2/AtomicOpForm.cpp @@ -65,7 +65,7 @@ FormElement* SetVarOp::get_as_form(FormPool& pool, const Env& env) const { } } else { // access a field - auto arg0_type = env.get_types_before_op(m_my_idx).get(m_src.get_arg(0).var().reg()); + const auto& arg0_type = env.get_types_before_op(m_my_idx).get(m_src.get_arg(0).var().reg()); if (arg0_type.kind == TP_Type::Kind::TYPESPEC) { FieldReverseLookupInput rd_in; rd_in.deref = std::nullopt; diff --git a/decompiler/IR2/Env.cpp b/decompiler/IR2/Env.cpp index 0884636b59..46d5b23004 100644 --- a/decompiler/IR2/Env.cpp +++ b/decompiler/IR2/Env.cpp @@ -566,4 +566,20 @@ void Env::set_stack_structure_hints(const std::vector& hints } } +std::optional Env::get_art_elt_name(int idx) const { + ASSERT(dts); + auto it = dts->art_group_info.find(art_group()); + if (it == dts->art_group_info.end()) { + return {}; + } else { + const auto& art_group = it->second; + auto it2 = art_group.find(idx); + if (it2 == art_group.end()) { + return {}; + } else { + return it2->second; + } + } +} + } // namespace decompiler diff --git a/decompiler/IR2/Env.h b/decompiler/IR2/Env.h index 445db5ec52..8edab5ea68 100644 --- a/decompiler/IR2/Env.h +++ b/decompiler/IR2/Env.h @@ -150,6 +150,10 @@ class Env { const std::unordered_map& stack_casts() const { return m_stack_typecasts; } + void set_art_group(const std::string& art_group) { m_art_group = art_group; } + const std::string& art_group() const { return m_art_group; } + std::optional get_art_elt_name(int idx) const; + void set_remap_for_function(const TypeSpec& ts); void set_remap_for_method(const TypeSpec& ts); void set_remap_for_new_method(const TypeSpec& ts); @@ -233,5 +237,7 @@ class Env { std::optional m_type_analysis_return_type; StackSpillMap m_stack_spill_map; + + std::string m_art_group; }; } // namespace decompiler diff --git a/decompiler/IR2/Form.cpp b/decompiler/IR2/Form.cpp index 8909ca3939..8997d730e1 100644 --- a/decompiler/IR2/Form.cpp +++ b/decompiler/IR2/Form.cpp @@ -1180,8 +1180,13 @@ void WhileElement::apply(const std::function& f) { goos::Object WhileElement::to_form_internal(const Env& env) const { std::vector list; - list.push_back(pretty_print::to_symbol("while")); - list.push_back(condition->to_form_as_condition(env)); + auto cond = condition->to_form_as_condition(env); + if (cond == pretty_print::to_symbol("#t")) { + list.push_back(pretty_print::to_symbol("loop")); + } else { + list.push_back(pretty_print::to_symbol("while")); + list.push_back(condition->to_form_as_condition(env)); + } body->inline_forms(list, env); return pretty_print::build_list(list); } @@ -2984,16 +2989,35 @@ void DefskelgroupElement::get_modified_regs(RegSet& regs) const { goos::Object DefskelgroupElement::to_form_internal(const Env& env) const { std::vector forms; - forms.push_back( - pretty_print::to_symbol(fmt::format("defskelgroup {} {}", m_name, m_static_info.art_name))); - forms.push_back(m_info.jgeo->to_form(env)); - forms.push_back(m_info.janim->to_form(env)); + forms.push_back(pretty_print::to_symbol("defskelgroup")); + forms.push_back(pretty_print::to_symbol(m_name)); + forms.push_back(pretty_print::to_symbol(m_static_info.art_name)); + const auto& art = env.dts->art_group_info.find(m_static_info.art_name + "-ag"); + bool has_art = art != env.dts->art_group_info.end(); + auto jg = m_info.jgeo->to_form(env); + if (jg.is_int() && has_art && art->second.count(jg.as_int())) { + forms.push_back(pretty_print::to_symbol(art->second.at(jg.as_int()))); + } else { + forms.push_back(jg); + } + auto ja = m_info.janim->to_form(env); + if (ja.is_int() && has_art && art->second.count(ja.as_int())) { + forms.push_back(pretty_print::to_symbol(art->second.at(ja.as_int()))); + } else { + forms.push_back(ja); + } std::vector lod_forms; for (const auto& e : m_info.lods) { auto f_dist = pretty_print::to_symbol( fmt::format("(meters {})", meters_to_string(e.lod_dist->to_form(env).as_float()))); - lod_forms.push_back(pretty_print::build_list(e.mgeo->to_form(env), f_dist)); + auto mg = e.mgeo->to_form(env); + if (mg.is_int() && has_art && art->second.count(mg.as_int())) { + lod_forms.push_back( + pretty_print::build_list(pretty_print::to_symbol(art->second.at(mg.as_int())), f_dist)); + } else { + lod_forms.push_back(pretty_print::build_list(mg, f_dist)); + } } forms.push_back(pretty_print::build_list(lod_forms)); @@ -3001,11 +3025,19 @@ goos::Object DefskelgroupElement::to_form_internal(const Env& env) const { ":bounds (static-spherem {} {} {} {})", meters_to_string(m_static_info.bounds.x()), meters_to_string(m_static_info.bounds.y()), meters_to_string(m_static_info.bounds.z()), meters_to_string(m_static_info.bounds.w())))); - forms.push_back(pretty_print::to_symbol( - fmt::format(":longest-edge (meters {})", meters_to_string(m_static_info.longest_edge)))); + + if (m_static_info.longest_edge != 0) { + forms.push_back(pretty_print::to_symbol( + fmt::format(":longest-edge (meters {})", meters_to_string(m_static_info.longest_edge)))); + } if (m_static_info.shadow != 0) { - forms.push_back(pretty_print::to_symbol(fmt::format(":shadow {}", m_static_info.shadow))); + if (has_art && art->second.count(m_static_info.shadow)) { + forms.push_back( + pretty_print::to_symbol(fmt::format(":shadow {}", art->second.at(m_static_info.shadow)))); + } else { + forms.push_back(pretty_print::to_symbol(fmt::format(":shadow {}", m_static_info.shadow))); + } } if (m_static_info.tex_level != 0) { forms.push_back( diff --git a/decompiler/IR2/Form.h b/decompiler/IR2/Form.h index f6405ded19..a598013b1b 100644 --- a/decompiler/IR2/Form.h +++ b/decompiler/IR2/Form.h @@ -1103,87 +1103,6 @@ class CastElement : public FormElement { bool m_numeric = false; // if true, use the. otherwise the-as }; -class DerefToken { - public: - enum class Kind { - INTEGER_CONSTANT, - INTEGER_EXPRESSION, // some form which evaluates to an integer index. Not offset, index. - FIELD_NAME, - EXPRESSION_PLACEHOLDER, - INVALID - }; - static DerefToken make_int_constant(s64 int_constant); - static DerefToken make_int_expr(Form* expr); - static DerefToken make_field_name(const std::string& name); - static DerefToken make_expr_placeholder(); - - void collect_vars(RegAccessSet& vars, bool recursive) const; - goos::Object to_form(const Env& env) const; - void apply(const std::function& f); - void apply_form(const std::function& f); - void get_modified_regs(RegSet& regs) const; - - bool is_field_name(const std::string& name) const { - return m_kind == Kind::FIELD_NAME && m_name == name; - } - - bool is_int(int x) const { return m_kind == Kind::INTEGER_CONSTANT && m_int_constant == x; } - - bool is_expr() const { return m_kind == Kind::INTEGER_EXPRESSION; } - - Kind kind() const { return m_kind; } - const std::string& field_name() const { - ASSERT(m_kind == Kind::FIELD_NAME); - return m_name; - } - - s64 int_constant() const { return m_int_constant; } - - Form* expr() { - ASSERT(m_kind == Kind::INTEGER_EXPRESSION); - return m_expr; - } - - private: - Kind m_kind = Kind::INVALID; - s64 m_int_constant = -1; - std::string m_name; - Form* m_expr = nullptr; -}; - -DerefToken to_token(const FieldReverseLookupOutput::Token& in); - -class DerefElement : public FormElement { - public: - DerefElement(Form* base, bool is_addr_of, DerefToken token); - DerefElement(Form* base, bool is_addr_of, std::vector tokens); - 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; - void collect_vars(RegAccessSet& vars, bool recursive) const override; - void update_from_stack(const Env& env, - FormPool& pool, - FormStack& stack, - std::vector* result, - bool allow_side_effects) override; - void get_modified_regs(RegSet& regs) const override; - - void inline_nested(); - - bool is_addr_of() const { return m_is_addr_of; } - const Form* base() const { return m_base; } - Form* base() { return m_base; } - const std::vector& tokens() const { return m_tokens; } - std::vector& tokens() { return m_tokens; } - void set_base(Form* new_base); - void set_addr_of(bool is_addr_of) { m_is_addr_of = is_addr_of; } - - private: - Form* m_base = nullptr; - bool m_is_addr_of = false; - std::vector m_tokens; -}; - class DynamicMethodAccess : public FormElement { public: explicit DynamicMethodAccess(RegisterAccess source); @@ -1202,40 +1121,6 @@ class DynamicMethodAccess : public FormElement { RegisterAccess m_source; }; -class ArrayFieldAccess : public FormElement { - public: - ArrayFieldAccess(RegisterAccess source, - const std::vector& deref_tokens, - int expected_stride, - int constant_offset, - bool flipped); - 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; - void collect_vars(RegAccessSet& vars, bool recursive) const override; - void update_from_stack(const Env& env, - FormPool& pool, - FormStack& stack, - std::vector* result, - bool allow_side_effects) override; - void get_modified_regs(RegSet& regs) const override; - - void update_with_val(Form* new_val, - const Env& env, - FormPool& pool, - std::vector* result, - bool allow_side_effects); - - bool flipped() const { return m_flipped; } - - private: - RegisterAccess m_source; - std::vector m_deref_tokens; - int m_expected_stride = -1; - int m_constant_offset = -1; - bool m_flipped = false; -}; - class GetMethodElement : public FormElement { public: GetMethodElement(Form* in, std::string name, bool is_object); @@ -1312,6 +1197,123 @@ class ConstantFloatElement : public FormElement { float m_value; }; +class DerefToken { + public: + enum class Kind { + INTEGER_CONSTANT, + INTEGER_EXPRESSION, // some form which evaluates to an integer index. Not offset, index. + FIELD_NAME, + EXPRESSION_PLACEHOLDER, + INVALID + }; + static DerefToken make_int_constant(s64 int_constant); + static DerefToken make_int_expr(Form* expr); + static DerefToken make_field_name(const std::string& name); + static DerefToken make_expr_placeholder(); + + void collect_vars(RegAccessSet& vars, bool recursive) const; + goos::Object to_form(const Env& env) const; + void apply(const std::function& f); + void apply_form(const std::function& f); + void get_modified_regs(RegSet& regs) const; + + bool is_field_name(const std::string& name) const { + return m_kind == Kind::FIELD_NAME && m_name == name; + } + + bool is_int(int x) const { return m_kind == Kind::INTEGER_CONSTANT && m_int_constant == x; } + + bool is_expr() const { return m_kind == Kind::INTEGER_EXPRESSION; } + + Kind kind() const { return m_kind; } + const std::string& field_name() const { + ASSERT(m_kind == Kind::FIELD_NAME); + return m_name; + } + + s64 int_constant() const { return m_int_constant; } + + Form* expr() { + ASSERT(m_kind == Kind::INTEGER_EXPRESSION); + return m_expr; + } + + private: + Kind m_kind = Kind::INVALID; + s64 m_int_constant = -1; + std::string m_name; + Form* m_expr = nullptr; +}; + +DerefToken to_token(const FieldReverseLookupOutput::Token& in); + +class DerefElement : public FormElement { + public: + DerefElement(Form* base, bool is_addr_of, DerefToken token); + DerefElement(Form* base, bool is_addr_of, std::vector tokens); + 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; + void collect_vars(RegAccessSet& vars, bool recursive) const override; + void update_from_stack(const Env& env, + FormPool& pool, + FormStack& stack, + std::vector* result, + bool allow_side_effects) override; + void get_modified_regs(RegSet& regs) const override; + + void inline_nested(); + + bool is_addr_of() const { return m_is_addr_of; } + const Form* base() const { return m_base; } + Form* base() { return m_base; } + const std::vector& tokens() const { return m_tokens; } + std::vector& tokens() { return m_tokens; } + void set_base(Form* new_base); + void set_addr_of(bool is_addr_of) { m_is_addr_of = is_addr_of; } + + private: + ConstantTokenElement* try_as_art_const(const Env& env, FormPool& pool); + + Form* m_base = nullptr; + bool m_is_addr_of = false; + std::vector m_tokens; +}; + +class ArrayFieldAccess : public FormElement { + public: + ArrayFieldAccess(RegisterAccess source, + const std::vector& deref_tokens, + int expected_stride, + int constant_offset, + bool flipped); + 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; + void collect_vars(RegAccessSet& vars, bool recursive) const override; + void update_from_stack(const Env& env, + FormPool& pool, + FormStack& stack, + std::vector* result, + bool allow_side_effects) override; + void get_modified_regs(RegSet& regs) const override; + + void update_with_val(Form* new_val, + const Env& env, + FormPool& pool, + std::vector* result, + bool allow_side_effects); + + bool flipped() const { return m_flipped; } + + private: + RegisterAccess m_source; + std::vector m_deref_tokens; + int m_expected_stride = -1; + int m_constant_offset = -1; + bool m_flipped = false; +}; + class StorePlainDeref : public FormElement { public: StorePlainDeref(Form* dst, diff --git a/decompiler/IR2/FormExpressionAnalysis.cpp b/decompiler/IR2/FormExpressionAnalysis.cpp index 21c23b1b38..511feb6b8d 100644 --- a/decompiler/IR2/FormExpressionAnalysis.cpp +++ b/decompiler/IR2/FormExpressionAnalysis.cpp @@ -100,11 +100,9 @@ Form* try_cast_simplify(Form* in, if (fc) { double div = (double)*fc / METER_LENGTH; // GOOS will use doubles here if (div * METER_LENGTH == *fc) { - return pool.alloc_single_element_form( - nullptr, - GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, "meters")), - pool.alloc_single_element_form(nullptr, div)); + return pool.form( + GenericOperator::make_function(pool.form("meters")), + pool.form(div)); } else { lg::error("Floating point value {} could not be converted to meters.", *fc); } @@ -114,11 +112,9 @@ Form* try_cast_simplify(Form* in, if (fc) { double div = (double)*fc / DEGREES_LENGTH; // GOOS will use doubles here if (div * DEGREES_LENGTH == *fc) { - return pool.alloc_single_element_form( - nullptr, - GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, "degrees")), - pool.alloc_single_element_form(nullptr, div)); + return pool.form( + GenericOperator::make_function(pool.form("degrees")), + pool.form(div)); } else { lg::error("Floating point value {} could not be converted to degrees.", *fc); } @@ -142,21 +138,11 @@ Form* try_cast_simplify(Form* in, // if they used a 1 as a time-frame, they likely just want to literally remove 1 // instead of (seconds 0.0034) or whatever the result would be. // also 0 is decompiled as just 0. - return pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(value)); + return pool.form(SimpleAtom::make_int_constant(value)); } - // only rewrite if exact. - s64 seconds_int = value / (s64)TICKS_PER_SECOND; - if (seconds_int * (s64)TICKS_PER_SECOND == value) { - return pool.alloc_single_element_form( - nullptr, fmt::format("(seconds {})", seconds_int)); - } - double seconds = (double)value / TICKS_PER_SECOND; - if (seconds * TICKS_PER_SECOND == value) { - return pool.alloc_single_element_form( - nullptr, fmt::format("(seconds {})", float_to_string(seconds, false))); - } + return pool.form( + fmt::format("(seconds {})", fixed_point_to_string(value, TICKS_PER_SECOND))); } else { // not a constant like (seconds 2), probably an expression or function call. we pretend that a // cast to int happened instead. @@ -217,7 +203,7 @@ Form* try_cast_simplify(Form* in, if (as_atom && as_atom->is_var()) { if (env.get_variable_type(as_atom->var(), true) == new_type) { // we are a variable with the right type. - return pool.alloc_single_element_form(nullptr, *as_atom, true); + return pool.form(*as_atom, true); } } @@ -299,7 +285,7 @@ Form* repop_passthrough_arg(Form* in, * Create a form which represents a variable. */ Form* var_to_form(const RegisterAccess& var, FormPool& pool) { - return pool.alloc_single_element_form(nullptr, SimpleAtom::make_var(var)); + return pool.form(SimpleAtom::make_var(var)); } /*! @@ -429,7 +415,7 @@ Form* cast_form(Form* in, return result; } - return pool.alloc_single_element_form(nullptr, new_type, in); + return pool.form(new_type, in); } /*! @@ -471,7 +457,7 @@ std::vector pop_to_forms(const std::vector& vars, // there is a separate system for casting variables that will do a better job. if (cast && !is_var) { forms[i] = cast_form(forms[i], *cast, pool, env); - // pool.alloc_single_element_form(nullptr, *cast, forms[i]); + // pool.form(*cast, forms[i]); } } @@ -941,7 +927,7 @@ void SimpleExpressionElement::update_from_stack_add_i(const Env& env, allow_side_effects); } else { args = pop_to_forms({m_expr.get_arg(0).var()}, env, pool, stack, allow_side_effects); - args.push_back(pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + args.push_back(pool.form(m_expr.get_arg(1))); } bool arg0_ptr = is_ptr_or_child(env, m_my_idx, m_expr.get_arg(0).var(), true); @@ -1251,11 +1237,11 @@ void SimpleExpressionElement::update_from_stack_mult_si(const Env& env, allow_side_effects); if (!arg0_i) { - args.at(0) = pool.alloc_single_element_form(nullptr, TypeSpec("int"), args.at(0)); + args.at(0) = pool.form(TypeSpec("int"), args.at(0)); } if (!arg1_i) { - args.at(1) = pool.alloc_single_element_form(nullptr, TypeSpec("int"), args.at(1)); + args.at(1) = pool.form(TypeSpec("int"), args.at(1)); } auto new_form = pool.alloc_element( @@ -1299,7 +1285,7 @@ void SimpleExpressionElement::update_from_stack_force_si_2(const Env& env, } else { args = pop_to_forms({m_expr.get_arg(0).var()}, env, pool, stack, allow_side_effects); - args.push_back(pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + args.push_back(pool.form(m_expr.get_arg(1))); } switch (kind) { @@ -1350,15 +1336,15 @@ void SimpleExpressionElement::update_from_stack_force_ui_2(const Env& env, allow_side_effects); } else { args = pop_to_forms({m_expr.get_arg(0).var()}, env, pool, stack, allow_side_effects); - args.push_back(pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + args.push_back(pool.form(m_expr.get_arg(1))); } if (!arg0_u) { - args.at(0) = pool.alloc_single_element_form(nullptr, TypeSpec("uint"), args.at(0)); + args.at(0) = pool.form(TypeSpec("uint"), args.at(0)); } if (!arg1_u) { - args.at(1) = pool.alloc_single_element_form(nullptr, TypeSpec("uint"), args.at(1)); + args.at(1) = pool.form(TypeSpec("uint"), args.at(1)); } auto new_form = @@ -1386,8 +1372,7 @@ void SimpleExpressionElement::update_from_stack_pcypld(const Env& env, args.push_back(popped_args.at(ras_idx)); ras_idx++; } else { - args.push_back( - pool.alloc_single_element_form(nullptr, m_expr.get_arg(arg_idx))); + args.push_back(pool.form(m_expr.get_arg(arg_idx))); } } @@ -1505,20 +1490,18 @@ void SimpleExpressionElement::update_from_stack_copy_first_int_2(const Env& env, if (bti) { auto new_form = pool.alloc_element( GenericOperator::make_fixed(kind), args.at(0), - cast_form(pool.alloc_single_element_form(nullptr, m_expr.get_arg(1)), - arg0_type, pool, env)); + cast_form(pool.form(m_expr.get_arg(1)), arg0_type, pool, env)); result->push_back(new_form); } else { auto new_form = pool.alloc_element( - GenericOperator::make_fixed(kind), - pool.alloc_single_element_form(nullptr, TypeSpec("int"), args.at(0)), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + GenericOperator::make_fixed(kind), pool.form(TypeSpec("int"), args.at(0)), + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } } else { - auto new_form = pool.alloc_element( - GenericOperator::make_fixed(kind), args.at(0), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + auto new_form = + pool.alloc_element(GenericOperator::make_fixed(kind), args.at(0), + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } @@ -1543,8 +1526,7 @@ void SimpleExpressionElement::update_from_stack_copy_first_int_2(const Env& env, args.at(0), args.at(1)); result->push_back(new_form); } else { - auto cast = pool.alloc_single_element_form( - nullptr, TypeSpec(arg0_i ? "int" : "uint"), args.at(1)); + auto cast = pool.form(TypeSpec(arg0_i ? "int" : "uint"), args.at(1)); if (kind == FixedOperatorKind::SUBTRACTION && is_pointer_type(env, m_my_idx, m_expr.get_arg(0).var())) { kind = FixedOperatorKind::SUBTRACTION_PTR; @@ -1720,17 +1702,15 @@ FormElement* SimpleExpressionElement::update_from_stack_logor_or_logand_helper( if (integer && ((s64)*integer) < 0) { // clearing a bitfield. auto elts = decompile_bitfield_enum_from_int(arg1_type, env.dts->ts, ~*integer); - auto oper = - GenericOperator::make_function(pool.alloc_single_element_form( - nullptr, arg1_type.base_type())); + auto oper = GenericOperator::make_function( + pool.form(arg1_type.base_type())); 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)); } - auto inverted = - pool.alloc_single_element_form(nullptr, oper, form_elts); - auto normal = pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(FixedOperatorKind::LOGNOT), inverted); + auto inverted = pool.form(oper, form_elts); + auto normal = pool.form( + GenericOperator::make_fixed(FixedOperatorKind::LOGNOT), inverted); auto new_form = pool.alloc_element(GenericOperator::make_fixed(kind), normal, args.at(1)); return new_form; @@ -1757,8 +1737,7 @@ FormElement* SimpleExpressionElement::update_from_stack_logor_or_logand_helper( } } // types bad, insert cast. - auto cast = pool.alloc_single_element_form( - nullptr, TypeSpec(arg0_i ? "int" : "uint"), args.at(1)); + auto cast = pool.form(TypeSpec(arg0_i ? "int" : "uint"), args.at(1)); auto new_form = pool.alloc_element(GenericOperator::make_fixed(kind), args.at(0), cast); return new_form; @@ -1889,8 +1868,7 @@ void SimpleExpressionElement::update_from_stack_left_shift(const Env& env, auto new_form = pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::MULTIPLICATION), args.at(0), - pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(multiplier))); + pool.form(SimpleAtom::make_int_constant(multiplier))); result->push_back(new_form); return; } @@ -1898,15 +1876,15 @@ void SimpleExpressionElement::update_from_stack_left_shift(const Env& env, auto arg0_i = is_int_type(env, m_my_idx, m_expr.get_arg(0).var()); auto arg0_u = is_uint_type(env, m_my_idx, m_expr.get_arg(0).var()); if (!arg0_i && !arg0_u) { - auto new_form = pool.alloc_element( - GenericOperator::make_fixed(FixedOperatorKind::SHL), - pool.alloc_single_element_form(nullptr, TypeSpec("int"), args.at(0)), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + auto new_form = + pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::SHL), + pool.form(TypeSpec("int"), args.at(0)), + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } else { auto new_form = pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::SHL), args.at(0), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } @@ -1970,13 +1948,13 @@ void SimpleExpressionElement::update_from_stack_right_shift_logic(const Env& env if (!arg0_i && !arg0_u) { auto new_form = pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::SHR), - pool.alloc_single_element_form(nullptr, TypeSpec("int"), arg), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + pool.form(TypeSpec("int"), arg), + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } else { auto new_form = pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::SHR), arg, - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } } @@ -2017,8 +1995,7 @@ void SimpleExpressionElement::update_from_stack_right_shift_arith(const Env& env auto new_form = pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::DIVISION), arg, - pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(multiplier))); + pool.form(SimpleAtom::make_int_constant(multiplier))); result->push_back(new_form); return; } @@ -2037,15 +2014,15 @@ void SimpleExpressionElement::update_from_stack_right_shift_arith(const Env& env } if (!arg0_i && !arg0_u) { - auto new_form = pool.alloc_element( - GenericOperator::make_fixed(FixedOperatorKind::SAR), - pool.alloc_single_element_form(nullptr, TypeSpec("int"), args.at(0)), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + auto new_form = + pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::SAR), + pool.form(TypeSpec("int"), args.at(0)), + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } else { auto new_form = pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::SAR), args.at(0), - pool.alloc_single_element_form(nullptr, m_expr.get_arg(1))); + pool.form(m_expr.get_arg(1))); result->push_back(new_form); } @@ -2350,9 +2327,8 @@ void SetVarElement::push_to_stack(const Env& env, FormPool& pool, FormStack& sta m_dst.reg().get_kind() == Reg::FPR && src_as_se->expr().get_arg(0).is_int() && src_as_se->expr().get_arg(0).get_int() == 0) { // not sure this is the best place for this. - stack.push_value_to_reg(m_dst, - pool.alloc_single_element_form(nullptr, 0.0), - true, m_src_type, m_var_info); + stack.push_value_to_reg(m_dst, pool.form(0.0), true, m_src_type, + m_var_info); return; } @@ -2414,7 +2390,7 @@ void SetFormFormElement::push_to_stack(const Env& env, FormPool& pool, FormStack loc->parent_element = this; m_dst = loc; auto zero = SimpleAtom::make_int_constant(0); - auto zero_form = pool.alloc_single_element_form(nullptr, zero); + auto zero_form = pool.form(zero); m_src = zero_form; } } @@ -2453,16 +2429,13 @@ void SetFormFormElement::push_to_stack(const Env& env, FormPool& pool, FormStack if (dst_form == src_form_in_func) { auto new_func_op = GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, - call_info.inplace_name)); + pool.form(call_info.inplace_name)); GenericElement* inplace_call = nullptr; if (funcname == "seek" || funcname == "seekl") { - inplace_call = pool.alloc_single_element_form( - nullptr, new_func_op, - std::vector{m_dst, src_as_generic->elts().at(1), - src_as_generic->elts().at(2)}) - ->try_as_element(); + inplace_call = pool.alloc_element( + new_func_op, std::vector{m_dst, src_as_generic->elts().at(1), + src_as_generic->elts().at(2)}); } ASSERT_MSG( inplace_call, @@ -2495,9 +2468,9 @@ void SetFormFormElement::push_to_stack(const Env& env, FormPool& pool, FormStack } void StoreInSymbolElement::push_to_stack(const Env& env, FormPool& pool, FormStack& stack) { - auto sym = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_sym_val(m_sym_name).as_expr(), m_my_idx); - auto val = pool.alloc_single_element_form(nullptr, m_value, m_my_idx); + auto sym = + pool.form(SimpleAtom::make_sym_val(m_sym_name).as_expr(), m_my_idx); + auto val = pool.form(m_value, m_my_idx); val->update_children_from_stack(env, pool, stack, true); if (m_cast_for_set) { @@ -2523,18 +2496,16 @@ void StoreInPairElement::push_to_stack(const Env& env, FormPool& pool, FormStack if (m_value.is_var()) { auto vars = std::vector({m_value.var(), m_pair}); auto popped = pop_to_forms(vars, env, pool, stack, true); - auto addr = pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(op), popped.at(1)); + auto addr = pool.form(GenericOperator::make_fixed(op), popped.at(1)); addr->mark_popped(); auto fr = pool.alloc_element(addr, popped.at(0)); fr->mark_popped(); stack.push_form_element(fr, true); } else { - auto val = pool.alloc_single_element_form(nullptr, m_value, m_my_idx); + auto val = pool.form(m_value, m_my_idx); val->mark_popped(); - auto addr = pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(op), - pop_to_forms({m_pair}, env, pool, stack, true).at(0)); + auto addr = pool.form(GenericOperator::make_fixed(op), + pop_to_forms({m_pair}, env, pool, stack, true).at(0)); addr->mark_popped(); auto fr = pool.alloc_element(addr, val); fr->mark_popped(); @@ -2612,10 +2583,8 @@ bool try_to_rewrite_vector_inline_ctor(const Env& env, stack.push_value_to_reg( *matrix_entries->at(0).destination, - pool.alloc_single_element_form( - nullptr, - GenericOperator::make_function(pool.alloc_single_element_form( - nullptr, fmt::format("new-stack-{}0", type_name)))), + pool.form(GenericOperator::make_function( + pool.form(fmt::format("new-stack-{}0", type_name)))), true, TypeSpec(type_name)); return true; } @@ -2673,10 +2642,8 @@ bool try_to_rewrite_matrix_inline_ctor(const Env& env, FormPool& pool, FormStack stack.pop(5); stack.push_value_to_reg(*matrix_entries->at(0).destination, - pool.alloc_single_element_form( - nullptr, GenericOperator::make_function( - pool.alloc_single_element_form( - nullptr, "new-stack-matrix0"))), + pool.form(GenericOperator::make_function( + pool.form("new-stack-matrix0"))), true, TypeSpec("matrix")); return true; } @@ -2715,7 +2682,7 @@ void StorePlainDeref::push_to_stack(const Env& env, FormPool& pool, FormStack& s make_optional_cast(m_dst_cast_type, popped.at(0), pool, env)); m_dst->mark_popped(); m_dst->try_as_element()->inline_nested(); - auto val = pool.alloc_single_element_form(nullptr, m_expr, m_my_idx); + auto val = pool.form(m_expr, m_my_idx); val->mark_popped(); auto fr = pool.alloc_element( m_dst, make_optional_cast(m_src_cast_type, val, pool, env)); @@ -2744,7 +2711,7 @@ void StoreArrayAccess::push_to_stack(const Env& env, FormPool& pool, FormStack& auto vars = std::vector({m_base_var}); auto popped = pop_to_forms(vars, env, pool, stack, true); m_dst->mark_popped(); - expr_form = pool.alloc_single_element_form(nullptr, m_expr, m_my_idx); + expr_form = pool.form(m_expr, m_my_idx); array_form = popped.at(0); } @@ -2961,21 +2928,17 @@ void FunctionCallElement::update_from_stack(const Env& env, {Matcher::any(0), Matcher::any_constant_token(1)}); auto virtual_go_mr = match(virtual_go_state_matcher, go_next_state); if (virtual_go_mr.matched && virtual_go_mr.maps.forms.at(0)->to_string(env) == "self") { - arg_forms.insert(arg_forms.begin(), pool.alloc_single_element_form( - nullptr, virtual_go_mr.maps.strings.at(1))); + arg_forms.insert(arg_forms.begin(), + pool.form(virtual_go_mr.maps.strings.at(1))); auto go_form = pool.alloc_element( - GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, "go-virtual")), - arg_forms); + GenericOperator::make_function(pool.form("go-virtual")), arg_forms); result->push_back(go_form); return; } arg_forms.insert(arg_forms.begin(), go_next_state); auto go_form = pool.alloc_element( - GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, "go")), - arg_forms); + GenericOperator::make_function(pool.form("go")), arg_forms); result->push_back(go_form); return; } @@ -3059,8 +3022,7 @@ void FunctionCallElement::update_from_stack(const Env& env, auto& var = all_pop_vars.at(i + 1); // 0 is the function itself. auto arg_type = env.get_types_before_op(var.idx()).get(var.reg()).typespec(); if (!env.dts->ts.tc(expected_arg_types.at(i), arg_type)) { - new_args.at(i) = pool.alloc_single_element_form( - nullptr, expected_arg_types.at(i), new_args.at(i)); + new_args.at(i) = pool.form(expected_arg_types.at(i), new_args.at(i)); } } @@ -3101,8 +3063,7 @@ void FunctionCallElement::update_from_stack(const Env& env, type_2 = "boxed-array"; } - auto quoted_type = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_sym_ptr(type_2)); + auto quoted_type = pool.form(SimpleAtom::make_sym_ptr(type_2)); if (alloc == "global" && type_1 == "pair") { // cons! @@ -3194,7 +3155,7 @@ void FunctionCallElement::update_from_stack(const Env& env, ":final in the deftype to disable virtual method calls", tp_type.method_from_type().print(), tp_type.method_id())); } - auto method_op = pool.alloc_single_element_form(nullptr, name); + auto method_op = pool.form(name); auto gop = GenericOperator::make_function(method_op); result->push_back(pool.alloc_element(gop, arg_forms)); @@ -3227,10 +3188,9 @@ void FunctionCallElement::update_from_stack(const Env& env, if (got_stack_new) { std::vector stack_new_args; - stack_new_args.push_back( - pool.alloc_single_element_form(nullptr, "'stack")); - stack_new_args.push_back(pool.alloc_single_element_form( - nullptr, fmt::format("'{}", type_source_form->to_string(env)))); + stack_new_args.push_back(pool.form("'stack")); + stack_new_args.push_back(pool.form( + fmt::format("'{}", type_source_form->to_string(env)))); for (size_t i = 2; i < arg_forms.size(); i++) { stack_new_args.push_back(arg_forms.at(i)); } @@ -3241,8 +3201,7 @@ void FunctionCallElement::update_from_stack(const Env& env, } } - auto method_op = - pool.alloc_single_element_form(nullptr, type_source_form, name, false); + auto method_op = pool.form(type_source_form, name, false); auto gop = GenericOperator::make_function(method_op); result->push_back(pool.alloc_element(gop, arg_forms)); @@ -3265,6 +3224,26 @@ void FunctionCallElement::push_to_stack(const Env& env, FormPool& pool, FormStac /////////////////// // DerefElement /////////////////// +ConstantTokenElement* DerefElement::try_as_art_const(const Env& env, FormPool& pool) { + auto mr = match( + Matcher::deref(Matcher::s6(), false, + {DerefTokenMatcher::string("draw"), DerefTokenMatcher::string("art-group"), + DerefTokenMatcher::string("data"), DerefTokenMatcher::any_integer(0)}), + this); + + if (mr.matched) { + auto elt_name = env.get_art_elt_name(mr.maps.ints.at(0)); + if (elt_name) { + return pool.alloc_element(*elt_name); + } else { + lg::error("function {}: did not find art element {} in {}", env.func->name(), + mr.maps.ints.at(0), env.art_group()); + } + } + + return nullptr; +} + void DerefElement::update_from_stack(const Env& env, FormPool& pool, FormStack& stack, @@ -3285,6 +3264,12 @@ void DerefElement::update_from_stack(const Env& env, // merge nested ->'s inline_nested(); + auto as_art = try_as_art_const(env, pool); + if (as_art) { + result->push_back(as_art); + return; + } + result->push_back(this); } @@ -3422,8 +3407,8 @@ Form* try_rewrite_as_process_to_ppointer(CondNoElseElement* value, } } - return pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(FixedOperatorKind::PROCESS_TO_PPOINTER), repopped); + return pool.form( + GenericOperator::make_fixed(FixedOperatorKind::PROCESS_TO_PPOINTER), repopped); } // (if x (-> x 0 self)) -> (ppointer->process x) @@ -3472,8 +3457,59 @@ Form* try_rewrite_as_pppointer_to_process(CondNoElseElement* value, repopped = var_to_form(condition_var, pool); } - return pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(FixedOperatorKind::PPOINTER_TO_PROCESS), repopped); + return pool.form( + GenericOperator::make_fixed(FixedOperatorKind::PPOINTER_TO_PROCESS), repopped); +} + +// (if (> (-> self skel active-channels) 0) +// (-> self skel root-channel 0 frame-group) +// ) +// (ja-group :chan 0) +Form* try_rewrite_as_ja_group(CondNoElseElement* value, + FormStack& stack, + FormPool& pool, + const Env& env) { + if (value->entries.size() != 1) { + return nullptr; + } + + auto condition = value->entries.at(0).condition; + auto body = value->entries[0].body; + + // safe to look for a reg directly here. + auto condition_matcher = Matcher::fixed_op( + FixedOperatorKind::GT, {Matcher::deref(Matcher::s6(), false, + {DerefTokenMatcher::string("skel"), + DerefTokenMatcher::string("active-channels")}), + Matcher::any(0)}); + auto condition_mr = match(condition_matcher, condition); + if (!condition_mr.matched) { + return nullptr; + } + + auto body_matcher = Matcher::deref( + Matcher::s6(), false, + {DerefTokenMatcher::string("skel"), DerefTokenMatcher::string("root-channel"), + DerefTokenMatcher::any_expr_or_int(0), DerefTokenMatcher::string("frame-group")}); + auto body_mr = match(body_matcher, body); + + if (!body_mr.matched) { + return nullptr; + } + + auto chan = body_mr.int_or_form_to_form(pool, 0); + auto obj_chan = chan->to_form(env); + if (condition_mr.maps.forms.at(0)->to_form(env) == obj_chan) { + auto func = GenericOperator::make_function(pool.form("ja-group")); + if (obj_chan.is_int(0)) { + return pool.form(func); + } else { + return pool.form(func, pool.form(":chan"), + condition_mr.maps.forms.at(0)); + } + } + + return nullptr; } } // namespace @@ -3542,11 +3578,17 @@ void CondNoElseElement::push_to_stack(const Env& env, FormPool& pool, FormStack& stack.push_value_to_reg(write_as_value, as_ppointer_to_process, true, env.get_variable_type(final_destination, false)); } else { - // fmt::print("func {} final destination {} type {}\n", env.func->name(), - // final_destination.to_string(env), - // env.get_variable_type(final_destination, false).print()); - stack.push_value_to_reg(write_as_value, pool.alloc_single_form(nullptr, this), true, - env.get_variable_type(final_destination, false)); + auto as_ja_group = try_rewrite_as_ja_group(this, stack, pool, env); + if (as_ja_group) { + stack.push_value_to_reg(write_as_value, as_ja_group, true, + env.get_variable_type(final_destination, false)); + } else { + // fmt::print("func {} final destination {} type {}\n", env.func->name(), + // final_destination.to_string(env), + // env.get_variable_type(final_destination, false).print()); + stack.push_value_to_reg(write_as_value, pool.alloc_single_form(nullptr, this), true, + env.get_variable_type(final_destination, false)); + } } } @@ -3724,8 +3766,7 @@ void CondWithElseElement::push_to_stack(const Env& env, FormPool& pool, FormStac Form* result_value = pool.alloc_single_form(nullptr, this); if (!env.dts->ts.tc(expected_type, result_type)) { - result_value = - pool.alloc_single_element_form(nullptr, expected_type, result_value); + result_value = pool.form(expected_type, result_value); } // fmt::print("{}\n", result_value->to_string(env)); @@ -3944,8 +3985,7 @@ FormElement* ConditionElement::make_zero_check_generic(const Env& env, source_forms.at(0)); if (mr.matched) { s64 value = -mr.maps.ints.at(1); - auto value_form = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(value)); + auto value_form = pool.form(SimpleAtom::make_int_constant(value)); return pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::EQ), std::vector{mr.maps.forms.at(0), value_form}); @@ -4018,12 +4058,7 @@ FormElement* try_make_logtest_cpad_macro(Form* in, FormPool& pool) { if (logtest_elt != nullptr) { auto buttons_form = logtest_elt->elts().at(1); std::vector v; - if (mr.maps.forms.find(0) != mr.maps.forms.end()) { - v.push_back(mr.maps.forms.at(0)); - } else { - v.push_back( - pool.form(SimpleAtom::make_int_constant(mr.maps.ints.at(0)))); - } + v.push_back(mr.int_or_form_to_form(pool, 0)); GenericElement* butts = dynamic_cast(buttons_form->at(0)); // the form with the buttons itself if (butts) { @@ -4063,8 +4098,7 @@ FormElement* ConditionElement::make_nonzero_check_generic(const Env& env, source_forms.at(0)); if (mr.matched) { s64 value = -mr.maps.ints.at(1); - auto value_form = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(value)); + auto value_form = pool.form(SimpleAtom::make_int_constant(value)); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::NEQ), std::vector{mr.maps.forms.at(0), value_form}); } @@ -4103,6 +4137,29 @@ FormElement* ConditionElement::make_equal_check_generic(const Env& env, return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::EQ), forms_with_cast); } else { + { + // (= (ja-group) + // (-> self draw art-group data 7) + // ) + // actually (ja-group? (-> self draw art-group data 7) :channel channel) + auto mr = + match(Matcher::op(GenericOpMatcher::func(Matcher::constant_token("ja-group")), {}), + source_forms.at(0)); + // check if both things matched + if (mr.matched) { + // grab args from the ja-group and pass them on + std::vector macro_args; + macro_args.push_back(source_forms.at(1)); + + auto jagroup = source_forms.at(0)->try_as_element(); + for (int i = 1; i < jagroup->elts().size(); ++i) { + macro_args.push_back(jagroup->elts().at(i)); + } + return pool.alloc_element( + GenericOperator::make_function(pool.form("ja-group?")), + macro_args); + } + } return pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::EQ), cast_to_64_bit(source_forms, source_types, pool, env)); @@ -4123,8 +4180,8 @@ FormElement* ConditionElement::make_not_equal_check_generic( // null? return pool.alloc_element( GenericOperator::make_compare(IR2_Condition::Kind::FALSE), - pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(FixedOperatorKind::NULLP), source_forms.at(0))); + pool.form(GenericOperator::make_fixed(FixedOperatorKind::NULLP), + source_forms.at(0))); } else { auto nice_constant = try_make_constant_for_compare(source_forms.at(1), source_types.at(0), pool, env); @@ -4164,8 +4221,7 @@ FormElement* ConditionElement::make_less_than_zero_signed_check_generic( shift_match.maps.forms.at(0)); } else { auto casted = make_casts_if_needed(source_forms, types, TypeSpec("int"), pool, env); - auto zero = pool.alloc_single_element_form(nullptr, - SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::LT), casted); @@ -4193,13 +4249,11 @@ FormElement* ConditionElement::make_geq_zero_signed_check_generic( if (shift_match.matched) { return pool.alloc_element( GenericOperator::make_compare(IR2_Condition::Kind::FALSE), - pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(FixedOperatorKind::PAIRP), - shift_match.maps.forms.at(0))); + pool.form(GenericOperator::make_fixed(FixedOperatorKind::PAIRP), + shift_match.maps.forms.at(0))); } else { auto casted = make_casts_if_needed(source_forms, types, TypeSpec("int"), pool, env); - auto zero = pool.alloc_single_element_form(nullptr, - SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::GEQ), casted); @@ -4225,8 +4279,7 @@ FormElement* ConditionElement::make_geq_zero_unsigned_check_generic( source_forms.at(0)); auto casted = make_casts_if_needed(source_forms, types, TypeSpec("uint"), pool, env); - auto zero = - pool.alloc_single_element_form(nullptr, SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::GEQ), casted); @@ -4280,8 +4333,7 @@ FormElement* ConditionElement::make_generic(const Env& env, case IR2_Condition::Kind::LESS_THAN_ZERO_UNSIGNED: { auto casted = make_casts_if_needed(source_forms, types, TypeSpec("uint"), pool, env); - auto zero = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::LT), casted); @@ -4289,8 +4341,7 @@ FormElement* ConditionElement::make_generic(const Env& env, case IR2_Condition::Kind::LEQ_ZERO_SIGNED: { auto casted = make_casts_if_needed(source_forms, types, TypeSpec("int"), pool, env); - auto zero = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::LEQ), casted); @@ -4306,8 +4357,7 @@ FormElement* ConditionElement::make_generic(const Env& env, case IR2_Condition::Kind::GREATER_THAN_ZERO_UNSIGNED: { auto casted = make_casts_if_needed(source_forms, types, TypeSpec("uint"), pool, env); - auto zero = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::GT), casted); @@ -4315,8 +4365,7 @@ FormElement* ConditionElement::make_generic(const Env& env, case IR2_Condition::Kind::GREATER_THAN_ZERO_SIGNED: { auto casted = make_casts_if_needed(source_forms, types, TypeSpec("int"), pool, env); - auto zero = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_int_constant(0)); + auto zero = pool.form(SimpleAtom::make_int_constant(0)); casted.push_back(zero); return pool.alloc_element(GenericOperator::make_fixed(FixedOperatorKind::GT), casted); @@ -4405,7 +4454,7 @@ void ConditionElement::push_to_stack(const Env& env, FormPool& pool, FormStack& if (m_src[i]->is_var()) { source_forms.push_back(popped_forms.at(popped_counter++)); } else { - source_forms.push_back(pool.alloc_single_element_form(nullptr, *m_src[i])); + source_forms.push_back(pool.form(*m_src[i])); } } ASSERT(popped_counter == int(popped_forms.size())); @@ -4458,7 +4507,7 @@ void ConditionElement::update_from_stack(const Env& env, if (m_src[i]->is_var()) { source_forms.push_back(popped_forms.at(popped_counter++)); } else { - source_forms.push_back(pool.alloc_single_element_form(nullptr, *m_src[i])); + source_forms.push_back(pool.form(*m_src[i])); } } ASSERT(popped_counter == int(popped_forms.size())); @@ -4591,8 +4640,8 @@ void push_asm_sllv_to_stack(const AsmOp* op, // these are lazily converted at the destination. stack.push_value_to_reg( *dst, - pool.alloc_single_element_form( - nullptr, GenericOperator::make_fixed(FixedOperatorKind::ASM_SLLV_R0), src_var), + pool.form(GenericOperator::make_fixed(FixedOperatorKind::ASM_SLLV_R0), + src_var), true, env.get_variable_type(*dst, true)); } } @@ -4750,7 +4799,7 @@ void AtomicOpElement::push_to_stack(const Env& env, FormPool& pool, FormStack& s auto delay = as_branch->branch_delay(); ASSERT(delay); // this might not be enough - we may need to back up to the cfg builder and do something there. - auto del = pool.alloc_single_element_form(nullptr, delay); + auto del = pool.form(delay); auto be = pool.alloc_element(as_branch, del, false); be->push_to_stack(env, pool, stack); return; @@ -4832,27 +4881,22 @@ void BranchElement::push_to_stack(const Env& env, FormPool& pool, FormStack& sta auto src = m_op->branch_delay().var(1); auto dst = m_op->branch_delay().var(0); - auto src_form = - pool.alloc_single_element_form(nullptr, SimpleAtom::make_var(src)); + auto src_form = pool.form(SimpleAtom::make_var(src)); - branch_delay = pool.alloc_single_element_form( - nullptr, dst, src_form, true, env.get_variable_type(src, true)); + branch_delay = + pool.form(dst, src_form, true, env.get_variable_type(src, true)); } break; case IR2_BranchDelay::Kind::SET_REG_FALSE: { auto dst = m_op->branch_delay().var(0); - auto src_form = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_sym_val("#f")); + auto src_form = pool.form(SimpleAtom::make_sym_val("#f")); - branch_delay = pool.alloc_single_element_form(nullptr, dst, src_form, true, - TypeSpec("symbol")); + branch_delay = pool.form(dst, src_form, true, TypeSpec("symbol")); } break; case IR2_BranchDelay::Kind::SET_REG_TRUE: { auto dst = m_op->branch_delay().var(0); - auto src_form = pool.alloc_single_element_form( - nullptr, SimpleAtom::make_sym_val("#t")); + auto src_form = pool.form(SimpleAtom::make_sym_val("#t")); - branch_delay = pool.alloc_single_element_form(nullptr, dst, src_form, true, - TypeSpec("symbol")); + branch_delay = pool.form(dst, src_form, true, TypeSpec("symbol")); } break; default: throw std::runtime_error("Unhandled branch delay in BranchElement::push_to_stack: " + @@ -5241,8 +5285,7 @@ void ConditionalMoveFalseElement::push_to_stack(const Env& env, FormPool& pool, } if (!val) { - val = pool.alloc_single_element_form( - nullptr, + val = pool.form( GenericOperator::make_compare(on_zero ? IR2_Condition::Kind::NONZERO : IR2_Condition::Kind::ZERO), std::vector{popped.at(1)}); @@ -5260,11 +5303,10 @@ void StackSpillStoreElement::push_to_stack(const Env& env, FormPool& pool, FormS if (m_value.is_var()) { src = pop_to_forms({m_value.var()}, env, pool, stack, true).at(0); } else { - src = pool.alloc_single_element_form(nullptr, m_value); + src = pool.form(m_value); } - auto dst = pool.alloc_single_element_form( - nullptr, env.get_spill_slot_var_name(m_stack_offset)); + auto dst = pool.form(env.get_spill_slot_var_name(m_stack_offset)); if (m_cast_type) { src = cast_form(src, *m_cast_type, pool, env); } @@ -5365,10 +5407,8 @@ bool try_vector_reset_inline(const Env& env, store = repop_passthrough_arg(store, stack, env, &orig, &got_orig); // create the actual form - Form* new_thing = pool.alloc_single_element_form( - nullptr, - GenericOperator::make_function( - pool.alloc_single_element_form(nullptr, "vector-reset!")), + Form* new_thing = pool.form( + GenericOperator::make_function(pool.form("vector-reset!")), std::vector{store}); if (got_orig) { @@ -5440,24 +5480,21 @@ void MethodOfTypeElement::update_from_stack(const Env& env, type_as_deref->tokens().pop_back(); result->push_back(pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::METHOD_OF_OBJECT), - std::vector{type, pool.alloc_single_element_form( - nullptr, m_method_info.name)})); + std::vector{type, pool.form(m_method_info.name)})); return; } else if (type_as_deref->tokens().size() == 1 && type_as_deref->tokens().back().is_field_name("type")) { result->push_back(pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::METHOD_OF_OBJECT), - std::vector{ - type_as_deref->base(), - pool.alloc_single_element_form(nullptr, m_method_info.name)})); + std::vector{type_as_deref->base(), + pool.form(m_method_info.name)})); return; } } result->push_back(pool.alloc_element( GenericOperator::make_fixed(FixedOperatorKind::METHOD_OF_TYPE), - std::vector{type, pool.alloc_single_element_form( - nullptr, m_method_info.name)})); + std::vector{type, pool.form(m_method_info.name)})); } void SimpleAtomElement::update_from_stack(const Env&, diff --git a/decompiler/IR2/GenericElementMatcher.cpp b/decompiler/IR2/GenericElementMatcher.cpp index 7a68eb0e09..139bdc3e96 100644 --- a/decompiler/IR2/GenericElementMatcher.cpp +++ b/decompiler/IR2/GenericElementMatcher.cpp @@ -15,6 +15,13 @@ Matcher Matcher::any_label(int match_id) { return m; } +Matcher Matcher::reg(Register reg) { + Matcher m; + m.m_kind = Kind::REG; + m.m_reg = reg; + return m; +} + Matcher Matcher::op(const GenericOpMatcher& op, const std::vector& args) { Matcher m; m.m_kind = Kind::GENERIC_OP; @@ -184,7 +191,8 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { maps_out->forms[m_form_match] = input; } return true; - case Kind::ANY_REG: { + case Kind::ANY_REG: + case Kind::REG: { bool got = false; RegisterAccess result; @@ -206,7 +214,9 @@ bool Matcher::do_match(Form* input, MatchResult::Maps* maps_out) const { } if (got) { - if (m_reg_out_id != -1) { + if (m_kind == Kind::REG) { + return result.reg() == *m_reg; + } else if (m_reg_out_id != -1) { maps_out->regs.resize(std::max(size_t(m_reg_out_id + 1), maps_out->regs.size())); maps_out->regs.at(m_reg_out_id) = result; } @@ -610,6 +620,14 @@ MatchResult match(const Matcher& spec, Form* input) { return result; } +MatchResult match(const Matcher& spec, FormElement* input) { + Form hack; + hack.elts().push_back(input); + MatchResult result; + result.matched = spec.do_match(&hack, &result.maps); + return result; +} + DerefTokenMatcher DerefTokenMatcher::string(const std::string& str) { DerefTokenMatcher result; result.m_kind = Kind::STRING; diff --git a/decompiler/IR2/GenericElementMatcher.h b/decompiler/IR2/GenericElementMatcher.h index bb71d466cd..4aeb19a577 100644 --- a/decompiler/IR2/GenericElementMatcher.h +++ b/decompiler/IR2/GenericElementMatcher.h @@ -20,12 +20,22 @@ struct MatchResult { std::unordered_map label; std::unordered_map ints; } maps; + + Form* int_or_form_to_form(FormPool& pool, int key_idx) { + if (maps.forms.find(key_idx) != maps.forms.end()) { + return maps.forms.at(key_idx); + } else { + return pool.form(SimpleAtom::make_int_constant(maps.ints.at(key_idx))); + } + } }; class Matcher { public: static Matcher any_reg(int match_id = -1); static Matcher any_label(int match_id = -1); + 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 op_fixed(FixedOperatorKind op, const std::vector& args); static Matcher op_with_rest(const GenericOpMatcher& op, const std::vector& args); @@ -77,6 +87,7 @@ class Matcher { CONSTANT_TOKEN, SC_OR, BEGIN, + REG, // a specific register. like s6. INVALID }; @@ -94,10 +105,12 @@ class Matcher { int m_label_out_id = -1; int m_int_out_id = -1; std::optional m_int_match; + std::optional m_reg; std::string m_str; }; MatchResult match(const Matcher& spec, Form* input); +MatchResult match(const Matcher& spec, FormElement* input); class DerefTokenMatcher { public: diff --git a/decompiler/ObjectFile/LinkedObjectFile.h b/decompiler/ObjectFile/LinkedObjectFile.h index f50271cf7d..f1870a26c9 100644 --- a/decompiler/ObjectFile/LinkedObjectFile.h +++ b/decompiler/ObjectFile/LinkedObjectFile.h @@ -65,6 +65,9 @@ class LinkedObjectFile { u32 read_data_word(const DecompilerLabel& label); const DecompilerLabel& get_label_by_name(const std::string& name) const; std::string get_goal_string_by_label(const DecompilerLabel& label) const; + std::string get_goal_string_by_label(int label_id) const { + return get_goal_string_by_label(labels.at(label_id)); + } std::string get_goal_string(int seg, int word_idx, bool with_quotes = true) const; bool is_string(int seg, int byte_idx) const; diff --git a/decompiler/ObjectFile/ObjectFileDB.cpp b/decompiler/ObjectFile/ObjectFileDB.cpp index 2ffa189b06..47232a7898 100644 --- a/decompiler/ObjectFile/ObjectFileDB.cpp +++ b/decompiler/ObjectFile/ObjectFileDB.cpp @@ -667,124 +667,94 @@ std::string ObjectFileDB::process_game_count_file() { return result; } +namespace { +void get_art_info(ObjectFileDB& db, ObjectFileData& obj) { + if (obj.obj_version == 4) { + const auto& words = obj.linked_data.words_by_seg.at(MAIN_SEGMENT); + if (words.at(0).kind() == LinkedWord::Kind::TYPE_PTR && + words.at(0).symbol_name() == "art-group") { + // fmt::print("art-group {}:\n", obj.to_unique_name()); + auto name = obj.linked_data.get_goal_string_by_label(words.at(2).label_id()); + int length = words.at(3).data; + // fmt::print(" length: {}\n", length); + std::unordered_map art_group_elts; + for (int i = 0; i < length; ++i) { + const auto& word = words.at(8 + i); + if (word.kind() == LinkedWord::Kind::SYM_PTR && word.symbol_name() == "#f") { + continue; + } + const auto& label = obj.linked_data.labels.at(word.label_id()); + auto elt_name = + obj.linked_data.get_goal_string_by_label(words.at(label.offset / 4 + 1).label_id()); + std::string elt_type = words.at(label.offset / 4 - 1).symbol_name(); + std::string unique_name = elt_name; + if (elt_type == "art-joint-geo") { + // the skeleton! + unique_name += "-jg"; + } else if (elt_type == "merc-ctrl" || elt_type == "shadow-geo") { + // (maybe mesh-geo as well but that doesnt exist) + // the skin! + unique_name += "-mg"; + } else if (elt_type == "art-joint-anim") { + // the animations! + unique_name += "-ja"; + } else { + // the something idk! + throw std::runtime_error( + fmt::format("unknown art elt type {} in {}", elt_type, obj.to_unique_name())); + } + art_group_elts[i] = unique_name; + // fmt::print(" {}: {} ({}) -> {}\n", i, elt_name, elt_type, unique_name); + } + db.dts.art_group_info[obj.to_unique_name()] = art_group_elts; + } + } +} +} // namespace + /*! - * This is the main decompiler routine which runs after we've identified functions. + * Get information from art groups. */ -void ObjectFileDB::analyze_functions_ir1(const Config& config) { - lg::info("- Analyzing Functions..."); +void ObjectFileDB::extract_art_info() { + lg::info("Processing art groups..."); Timer timer; - int total_functions = 0; - - // Step 1 - analyze the "top level" or "login" code for each object file. - // this will give us type definitions, method definitions, and function definitions... - lg::info(" - Processing top levels..."); - - timer.start(); - for_each_obj([&](ObjectFileData& data) { - if (data.linked_data.segments == 3) { - // the top level segment should have a single function - ASSERT(data.linked_data.functions_by_seg.at(2).size() == 1); - - auto& func = data.linked_data.functions_by_seg.at(2).front(); - ASSERT(func.guessed_name.empty()); - func.guessed_name.set_as_top_level(data.to_unique_name()); - func.find_global_function_defs(data.linked_data, dts); - func.find_type_defs(data.linked_data, dts); - func.find_method_defs(data.linked_data, dts); + for_each_obj([&](ObjectFileData& obj) { + try { + get_art_info(*this, obj); + } catch (std::runtime_error& e) { + lg::warn("Error when extracting art group info: {}", e.what()); } }); - // check for function uniqueness. - std::unordered_set unique_names; - std::unordered_map> duplicated_functions; + lg::info("Processed art groups: in {:.2f} ms\n", timer.getMs()); +} - int uid = 1; - for_each_obj([&](ObjectFileData& data) { - int func_in_obj = 0; - for (int segment_id = 0; segment_id < int(data.linked_data.segments); segment_id++) { - for (auto& func : data.linked_data.functions_by_seg.at(segment_id)) { - func.guessed_name.unique_id = uid++; - func.guessed_name.id_in_object = func_in_obj++; - func.guessed_name.object_name = data.to_unique_name(); - auto name = func.name(); +/*! + * Write out the art group information. + */ +void ObjectFileDB::dump_art_info(const std::string& output_dir) { + lg::info("Writing art group info..."); + Timer timer; - if (unique_names.find(name) != unique_names.end()) { - duplicated_functions[name].insert(data.to_unique_name()); - } - - unique_names.insert(name); - - if (config.hacks.asm_functions_by_name.find(name) != - config.hacks.asm_functions_by_name.end()) { - func.warnings.info("Flagged as asm by config"); - func.suspected_asm = true; - } - } + if (!dts.art_group_info.empty()) { + file_util::create_dir_if_needed(file_util::combine_path(output_dir, "import")); + } + for (const auto& [ag_name, info] : dts.art_group_info) { + auto ag_fname = ag_name + ".gc"; + auto filename = file_util::get_file_path({output_dir, "import", ag_fname}); + std::string result = ";;-*-Lisp-*-\n"; + result += "(in-package goal)\n\n"; + result += fmt::format(";; {} - art group OpenGOAL import file\n", ag_fname); + result += ";; THIS FILE IS AUTOMATICALLY GENERATED!\n\n"; + for (const auto& [idx, elt_name] : info) { + result += print_art_elt_for_dump(ag_name, elt_name, idx); } - }); + result += "\n"; + file_util::write_text_file(filename, result); + } - for_each_function([&](Function& func, int segment_id, ObjectFileData& data) { - (void)segment_id; - auto name = func.name(); - - if (duplicated_functions.find(name) != duplicated_functions.end()) { - duplicated_functions[name].insert(data.to_unique_name()); - func.warnings.info("Exists in multiple non-identical object files"); - } - }); - - int total_trivial_cfg_functions = 0; - int total_named_functions = 0; - - int asm_funcs = 0; - - std::map> unresolved_by_length; - - timer.start(); - int total_basic_blocks = 0; - - // Main Pass over each function... - for_each_function_def_order([&](Function& func, int segment_id, ObjectFileData& data) { - total_functions++; - - // first, find basic blocks. - auto blocks = find_blocks_in_function(data.linked_data, segment_id, func); - total_basic_blocks += blocks.size(); - func.basic_blocks = blocks; - - // analyze the proluge - if (!func.suspected_asm) { - // first, find the prologue/epilogue - func.analyze_prologue(data.linked_data); - } - - if (!func.suspected_asm) { - // run analysis - - // build a control flow graph, just looking at branch instructions. - func.cfg = build_cfg(data.linked_data, segment_id, func, {}, {}); - - // convert individual basic blocks to sequences of IR Basic Ops - for (auto& block : func.basic_blocks) { - if (block.end_word > block.start_word) { - auto label_id = - data.linked_data.get_label_at(segment_id, (func.start_word + block.start_word) * 4); - if (label_id != -1) { - block.label_name = data.linked_data.get_label_name(label_id); - } - } - } - } else { - asm_funcs++; - } - }); - - lg::info("Found {} functions ({} with no control flow)", total_functions, - total_trivial_cfg_functions); - lg::info("Named {}/{} functions ({:.3f}%)", total_named_functions, total_functions, - 100.f * float(total_named_functions) / float(total_functions)); - lg::info("Excluding {} asm functions", asm_funcs); + lg::info("Written art group info: in {:.2f} ms\n", timer.getMs()); } void ObjectFileDB::dump_raw_objects(const std::string& output_dir) { @@ -796,4 +766,10 @@ void ObjectFileDB::dump_raw_objects(const std::string& output_dir) { file_util::write_binary_file(dest, data.data.data(), data.data.size()); }); } + +std::string print_art_elt_for_dump(const std::string& group_name, + const std::string& name, + int idx) { + return fmt::format("(def-art-elt {} {} {})\n", group_name, name, idx); +} } // namespace decompiler diff --git a/decompiler/ObjectFile/ObjectFileDB.h b/decompiler/ObjectFile/ObjectFileDB.h index 23751098b4..d49620b21d 100644 --- a/decompiler/ObjectFile/ObjectFileDB.h +++ b/decompiler/ObjectFile/ObjectFileDB.h @@ -10,9 +10,10 @@ #include #include #include -#include "LinkedObjectFile.h" -#include "decompiler/util/DecompilerTypeSystem.h" #include "common/common_types.h" +#include "LinkedObjectFile.h" +#include "third-party/fmt/core.h" +#include "decompiler/util/DecompilerTypeSystem.h" #include "decompiler/data/TextureDB.h" #include "decompiler/analysis/symbol_def_map.h" #include "common/util/Assert.h" @@ -46,6 +47,28 @@ struct ObjectFileData { std::string output_with_skips; }; +/*! + * Stats structure for let rewriting. + */ +struct LetRewriteStats { + int dotimes; + int countdown; + int abs; + int abs2; + int unused; + int ja; + int case_no_else; + int case_with_else; + int set_vector; + int set_vector2; + int send_event; + + int total() const { + return dotimes + countdown + abs + abs2 + unused + ja + case_no_else + case_with_else + + set_vector + set_vector2 + send_event; + } +}; + class ObjectFileDB { public: ObjectFileDB(const std::vector& _dgos, @@ -59,6 +82,8 @@ class ObjectFileDB { void process_labels(); void find_code(const Config& config); void find_and_write_scripts(const std::string& output_dir); + void extract_art_info(); + void dump_art_info(const std::string& output_dir); void dump_raw_objects(const std::string& output_dir); void write_object_file_words(const std::string& output_dir, bool dump_data, bool dump_code); @@ -67,7 +92,6 @@ class ObjectFileDB { bool disassemble_code, bool print_hex); - void analyze_functions_ir1(const Config& config); void analyze_functions_ir2( const std::string& output_dir, const Config& config, @@ -209,10 +233,13 @@ class ObjectFileDB { SymbolMapBuilder map_builder; struct { + LetRewriteStats let; uint32_t total_dgo_bytes = 0; uint32_t total_obj_files = 0; uint32_t unique_obj_files = 0; uint32_t unique_obj_bytes = 0; } stats; }; + +std::string print_art_elt_for_dump(const std::string& group_name, const std::string& name, int idx); } // namespace decompiler diff --git a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp index e45cc63132..40f650576c 100644 --- a/decompiler/ObjectFile/ObjectFileDB_IR2.cpp +++ b/decompiler/ObjectFile/ObjectFileDB_IR2.cpp @@ -58,26 +58,28 @@ void ObjectFileDB::analyze_functions_ir2( ir2_do_segment_analysis_phase1(MAIN_SEGMENT, config, data); ir2_setup_labels(config, data); ir2_do_segment_analysis_phase2(TOP_LEVEL_SEGMENT, config, data); - try { - if (data.linked_data.functions_by_seg.size() == 3) { + if (data.linked_data.functions_by_seg.size() == 3) { + enum { DEFPART, DEFSTATE, DEFSKELGROUP } step = DEFPART; + try { run_defpartgroup(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).front()); - } - } catch (const std::exception& e) { - lg::error("Failed to find defpartgroups: {}", e.what()); - } - try { - if (data.linked_data.functions_by_seg.size() == 3) { + step = DEFSTATE; run_defstate(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).front(), skip_states); - } - } catch (const std::exception& e) { - lg::error("Failed to find defstates: {}", e.what()); - } - try { - if (data.linked_data.functions_by_seg.size() == 3) { + step = DEFSKELGROUP; run_defskelgroups(data.linked_data.functions_by_seg.at(TOP_LEVEL_SEGMENT).front()); + + } catch (const std::exception& e) { + switch (step) { + case DEFPART: + lg::error("Failed to find defpartgroups: {}", e.what()); + break; + case DEFSTATE: + lg::error("Failed to find defstates: {}", e.what()); + break; + case DEFSKELGROUP: + lg::error("Failed to find defskelgroups: {}", e.what()); + break; + } } - } catch (const std::exception& e) { - lg::error("Failed to find defskelgroups: {}", e.what()); } ir2_do_segment_analysis_phase2(DEBUG_SEGMENT, config, data); ir2_do_segment_analysis_phase2(MAIN_SEGMENT, config, data); @@ -104,6 +106,20 @@ 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); + if (config.generate_symbol_definition_map) { lg::info("Generating symbol definition map..."); map_builder.build_map(); @@ -403,6 +419,7 @@ Value try_lookup(const std::unordered_map& map, const Key& key) { * - NOTE: this will update register info usage more accurately for functions. */ void ObjectFileDB::ir2_type_analysis_pass(int seg, const Config& config, ObjectFileData& data) { + auto obj_name = data.to_unique_name(); for_each_function_in_seg_in_obj(seg, data, [&](Function& func) { if (!func.suspected_asm) { TypeSpec ts; @@ -414,9 +431,11 @@ void ObjectFileDB::ir2_type_analysis_pass(int seg, const Config& config, ObjectF auto register_casts = try_lookup(config.register_type_casts_by_function_by_atomic_op_idx, func_name); func.ir2.env.set_type_casts(register_casts); + auto stack_casts = try_lookup(config.stack_type_casts_by_function_by_stack_offset, func_name); func.ir2.env.set_stack_casts(stack_casts); + if (config.hacks.pair_functions_by_name.find(func_name) != config.hacks.pair_functions_by_name.end()) { func.ir2.env.set_sloppy_pair_typing(); @@ -426,8 +445,18 @@ void ObjectFileDB::ir2_type_analysis_pass(int seg, const Config& config, ObjectF config.hacks.reject_cond_to_value.end()) { func.ir2.env.aggressively_reject_cond_to_value_rewrite = true; } + func.ir2.env.set_stack_structure_hints( try_lookup(config.stack_structure_hints_by_function, func_name)); + + if (config.art_groups_by_function.find(func_name) != config.art_groups_by_function.end()) { + func.ir2.env.set_art_group(config.art_groups_by_function.at(func_name)); + } else if (config.art_groups_by_file.find(obj_name) != config.art_groups_by_file.end()) { + func.ir2.env.set_art_group(config.art_groups_by_file.at(obj_name)); + } else { + func.ir2.env.set_art_group(obj_name + "-ag"); + } + if (run_type_analysis_ir2(ts, dts, func)) { func.ir2.env.types_succeeded = true; } else { @@ -446,7 +475,7 @@ void ObjectFileDB::ir2_register_usage_pass(int seg, ObjectFileData& data) { if (!func.suspected_asm && func.ir2.atomic_ops_succeeded) { func.ir2.env.set_reg_use(analyze_ir2_register_usage(func)); - auto block_0_start = func.ir2.env.reg_use().block.at(0).input; + auto& block_0_start = func.ir2.env.reg_use().block.at(0).input; std::vector dep_regs; for (auto x : block_0_start) { dep_regs.push_back(x); @@ -572,12 +601,14 @@ void ObjectFileDB::ir2_insert_lets(int seg, ObjectFileData& data) { for_each_function_in_seg_in_obj(seg, data, [&](Function& func) { if (func.ir2.expressions_succeeded) { try { - insert_lets(func, func.ir2.env, *func.ir2.form_pool, func.ir2.top_form); + insert_lets(func, func.ir2.env, *func.ir2.form_pool, func.ir2.top_form, stats.let); } catch (const std::exception& e) { - func.warnings.general_warning( - fmt::format("Error while inserting lets: {}. Make sure that the return type is not " - "none if something is actually returned.", - e.what())); + const auto err = fmt::format( + "Error while inserting lets: {}. Make sure that the return type is not " + "none if something is actually returned.", + e.what()); + lg::warn(err); + func.warnings.general_warning(err); } } }); diff --git a/decompiler/analysis/insert_lets.cpp b/decompiler/analysis/insert_lets.cpp index 3a043fef13..3b2de1336a 100644 --- a/decompiler/analysis/insert_lets.cpp +++ b/decompiler/analysis/insert_lets.cpp @@ -792,58 +792,417 @@ FormElement* rewrite_as_case_with_else(LetElement* in, const Env& env, FormPool& return nullptr; } +bool var_name_equal(const Env& env, const std::string& a, std::optional b) { + ASSERT(b); + return env.get_variable_name(*b) == a; +} + +Form* match_ja_set(const Env& env, + const std::string& ch_var_name, + const std::string& field_name, + int arr_idx, + Form* in, + int* idx, + bool* bad) { + ASSERT(idx); + ASSERT(bad); + if (*idx >= in->size()) { + // *bad = true; + return nullptr; + } + + auto deref_matcher = + arr_idx == -1 + ? Matcher::deref(Matcher::any_reg(0), false, {DerefTokenMatcher::string(field_name)}) + : Matcher::deref( + Matcher::any_reg(0), false, + {DerefTokenMatcher::string(field_name), DerefTokenMatcher::integer(arr_idx)}); + auto mr = match(Matcher::set(deref_matcher, Matcher::any(1)), in->at(*idx)); + if (!mr.matched) { + // TODO what if didn't match but it was some weird thing?? i guess later size checks fix that. + return nullptr; + } + + if (!var_name_equal(env, ch_var_name, mr.maps.regs.at(0))) { + lg::error("[{}] JA MACRO ERROR channel var not {} in set {} {}", env.func->name(), ch_var_name, + field_name, arr_idx); + *bad = true; + return nullptr; + } + + *idx += 1; + return mr.maps.forms.at(1); +} + +void ja_push_form_to_args(const Env& env, + 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))); + } + } +} + +Form* strip_cast(const std::string& type, Form* in) { + auto casted = dynamic_cast(in->try_as_single_element()); + if (casted && casted->type() == TypeSpec(type)) { + in = casted->source(); + } + return in; +} + +FormElement* rewrite_joint_macro(LetElement* in, const Env& env, FormPool& pool) { + // this function checks for the behemoth (ja) macro. + + // TODO this should honestly just use its own custom element instead of GenericElement + // since it would make analyzing after rewriting it MUCH easier, but I am kind of lazy right now + + const static std::unordered_map num_func_remap = { + {"num-func-identity", "identity"}, {"num-func-+!", "+!"}, {"num-func--!", "-!"}, + {"num-func-loop!", "loop!"}, {"num-func-seek!", "seek!"}, {"num-func-chan", "chan"}, + {"num-func-blend-in!", "blend-in!"}, {"num-func-none", "none"}}; + + // should have this anyway, but double check so we don't throw this away. + if (in->entries().size() != 1) { + 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; + auto var = env.get_variable_name(ra); + auto mr_chan = match( + Matcher::deref(Matcher::s6(), false, + {DerefTokenMatcher::string("skel"), DerefTokenMatcher::string("root-channel"), + DerefTokenMatcher::any_expr_or_int(0)}), + in->entries().at(0).src); + if (!mr_chan.matched) { + return nullptr; + } + auto channel_form = mr_chan.int_or_form_to_form(pool, 0); + + // now we checks for set!'s. the actual contents of the macro are not very complicated to match. + // there is just a LOT to match. and then to write! + bool bad = false; + int idx = 0; + auto set_fi = match_ja_set(env, var, "frame-interp", -1, in->body(), &idx, &bad); + auto set_dist = match_ja_set(env, var, "dist", -1, in->body(), &idx, &bad); + auto set_fg = match_ja_set(env, var, "frame-group", -1, in->body(), &idx, &bad); + auto set_p0 = match_ja_set(env, var, "param", 0, in->body(), &idx, &bad); + auto set_p1 = match_ja_set(env, var, "param", 1, in->body(), &idx, &bad); + auto set_nf = match_ja_set(env, var, "num-func", -1, in->body(), &idx, &bad); + auto set_fn = match_ja_set(env, var, "frame-num", -1, in->body(), &idx, &bad); + + // lastly, match the function call. + enum { NO_FUNC, EVAL, NO_EVAL } func_status = NO_FUNC; + Form* arg_group = nullptr; + std::string arg_num_func; + if (idx < in->body()->size()) { + auto mr_func = + match(Matcher::op(GenericOpMatcher::func(Matcher::any_symbol(3)), + {Matcher::any_reg(0), Matcher::any(1), Matcher::any_symbol(2)}), + in->body()->at(idx)); + if (mr_func.matched) { + // NOTE : it's actually fine for there to be no func. we just forgo setting the num! param. + if (!var_name_equal(env, var, mr_func.maps.regs.at(0))) { + return nullptr; + } + + arg_group = mr_func.maps.forms.at(1); + arg_num_func = mr_func.maps.strings.at(2); + const auto& func_name = mr_func.maps.strings.at(3); + if (func_name == "joint-control-channel-group!") { + func_status = NO_EVAL; + } else if (func_name == "joint-control-channel-group-eval!") { + func_status = EVAL; + } else { + // wtf happened? + lg::error("[{}] JA MACRO ERROR func name: {}", env.func->name(), func_name); + return nullptr; + } + + if (num_func_remap.find(arg_num_func) == num_func_remap.end()) { + lg::error("[{}] JA MACRO ERROR unknown num func: {}", env.func->name(), arg_num_func); + return nullptr; + } + + auto group_lisp = strip_cast("art-joint-anim", arg_group)->to_form(env); + if (group_lisp.is_symbol() && group_lisp.as_symbol()->name == "#f") { + arg_group = nullptr; + } + + idx++; + } + } + + // PSYCHE! there may actually be a second frame-num set. for some reason. sigh... + auto set_fn2 = match_ja_set(env, var, "frame-num", -1, in->body(), &idx, &bad); + + if (bad) { + // an error occurred + return nullptr; + } + + // check that we have nothing more + if (in->body()->size() > idx) { + lg::error("[{}] JA MACRO ERROR elts matched: {}/{}", env.func->name(), idx, in->body()->size()); + return nullptr; + } + + // now check the arguments. + if (set_fn && set_fn2) { + lg::error("[{}] JA MACRO ERROR both frame nums: {}", env.func->name(), + set_fn->to_form(env).print(), set_fn2->to_form(env).print()); + ASSERT(false); + return nullptr; + } + + if (func_status != NO_FUNC && set_fg && arg_group) { + ASSERT(set_fg->to_form(env) == arg_group->to_form(env)); + // lg::info("p0: {} p1: {} nf: {} fn: {}", !!set_p0, !!set_p1, !!set_nf, !!set_fn); + } + + auto form_fg = set_fg ? set_fg : arg_group; + auto matcher_max_num = Matcher::cast( + "float", + Matcher::fixed_op( + FixedOperatorKind::ADDITION, + {form_fg + ? Matcher::deref(Matcher::any(1), false, + {DerefTokenMatcher::string("data"), DerefTokenMatcher::integer(0), + DerefTokenMatcher::string("length")}) + : Matcher::deref( + Matcher::any_reg(0), false, + {DerefTokenMatcher::string("frame-group"), DerefTokenMatcher::string("data"), + DerefTokenMatcher::integer(0), DerefTokenMatcher::string("length")}), + Matcher::integer(-1)})); + + // DONE CHECKING EVERYTHING!!! Now write the goddamn macro. + std::vector args; + + // 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"); + } + + 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!"); + } + + const std::string prelim_num = + num_func_remap.count(arg_num_func) == 0 ? "" : num_func_remap.at(arg_num_func); + Form* num_form = nullptr; + // check the num! arg + if (prelim_num == "identity") { + if (set_fn2) { + auto obj_fn2 = set_fn2->to_form(env); + if (obj_fn2.is_float(0.0)) { + num_form = pool.form("min"); + } else { + auto mr = match(matcher_max_num, set_fn2); + if (mr.matched && + ((form_fg && mr.maps.forms.at(1)->to_form(env) == form_fg->to_form(env)) || + (!form_fg && var_name_equal(env, var, mr.maps.regs.at(0))))) { + num_form = pool.form("max"); + } else { + num_form = pool.form( + GenericOperator::make_function(pool.form(prelim_num)), + set_fn2); + } + } + set_fn2 = nullptr; + } + } else if (prelim_num == "loop!" || prelim_num == "+!" || prelim_num == "-!") { + if (set_p0) { + auto obj_p0 = set_p0->to_form(env); + if (obj_p0.is_float(1.0)) { + num_form = pool.form( + GenericOperator::make_function(pool.form(prelim_num))); + } else { + auto mr = match(matcher_max_num, set_p0); + if (mr.matched && + ((form_fg && mr.maps.forms.at(1)->to_form(env) == form_fg->to_form(env)) || + (!form_fg && var_name_equal(env, var, mr.maps.regs.at(0))))) { + num_form = pool.form( + GenericOperator::make_function(pool.form(prelim_num)), + pool.form("max")); + } else { + num_form = pool.form( + GenericOperator::make_function(pool.form(prelim_num)), + set_p0); + } + } + set_p0 = nullptr; + } + } else if (prelim_num == "chan") { + if (set_p0) { + auto obj_p0 = set_p0->to_form(env); + if (obj_p0.is_float((goos::FloatType)((goos::IntType)obj_p0.as_float()))) { + num_form = pool.form( + GenericOperator::make_function(pool.form("chan")), + pool.form( + SimpleAtom::make_int_constant((goos::IntType)obj_p0.as_float()))); + } else { + lg::error("[{}] JA MACRO ERROR bad chan arg: {}", env.func->name(), obj_p0.print()); + ASSERT_MSG(false, "chan case"); + } + set_p0 = nullptr; + } + } else if (prelim_num == "seek!") { + ASSERT(set_p0 && set_p1); + std::vector seek_args; + + // (the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + // (the float (1- (-> ja-ch frame-group data 0 length))) + auto mr = match(matcher_max_num, set_p0); + if (!mr.matched || (form_fg && mr.maps.forms.at(1)->to_form(env) != form_fg->to_form(env)) || + (!form_fg && !var_name_equal(env, var, mr.maps.regs.at(0)))) { + // did not match default + seek_args.push_back(set_p0); + } + + auto obj_p1 = set_p1->to_form(env); + if (!obj_p1.is_float(1.0)) { + // did not match default + if (seek_args.size() < 1) { + seek_args.push_back(mr.matched ? pool.form("max") : set_p0); + } + seek_args.push_back(set_p1); + } + + // do not print :param0 and :param1 keys + set_p0 = nullptr; + set_p1 = nullptr; + + num_form = pool.form( + GenericOperator::make_function(pool.form("seek!")), seek_args); + } + + if (!num_form) { + num_form = pool.form(prelim_num); + } + + ja_push_form_to_args(env, 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!"); + } + + if (set_fn) { + auto mr = match(matcher_max_num, set_fn); + if (mr.matched && ((form_fg && mr.maps.forms.at(1)->to_form(env) == form_fg->to_form(env)) || + (!form_fg && var_name_equal(env, var, mr.maps.regs.at(0))))) { + set_fn = pool.form("max"); + } + } + + // 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"); + + // TODO + if (set_fn2) { + lg::error("[{}] JA MACRO ERROR ignoring frame-num 2: {}", env.func->name(), + set_fn2->to_form(env).print()); + ASSERT(func_status != NO_FUNC && arg_num_func == "num-func-identity"); + return nullptr; + } + if (set_p0 || set_p1) { + lg::error("[{}] JA MACRO ERROR something still using params: {}", env.func->name(), test); + ASSERT(false); + return nullptr; + } + + return pool.alloc_element( + GenericOperator::make_function( + pool.form(func_status == NO_EVAL ? "ja-no-eval" : "ja")), + args); +} + /*! * Attempt to rewrite a let as another form. If it cannot be rewritten, this will return nullptr. */ -FormElement* rewrite_let(LetElement* in, const Env& env, FormPool& pool) { +FormElement* rewrite_let(LetElement* in, const Env& env, FormPool& pool, LetRewriteStats& stats) { + auto as_unused = rewrite_empty_let(in, env, pool); + if (as_unused) { + stats.unused++; + return as_unused; + } + + auto as_joint_macro = rewrite_joint_macro(in, env, pool); + if (as_joint_macro) { + stats.ja++; + return as_joint_macro; + } + + auto as_set_vector = rewrite_set_vector(in, env, pool); + if (as_set_vector) { + stats.set_vector++; + return as_set_vector; + } + auto as_dotimes = rewrite_as_dotimes(in, env, pool); if (as_dotimes) { + stats.dotimes++; return as_dotimes; } + auto as_send_event = rewrite_as_send_event(in, env, pool); + if (as_send_event) { + stats.send_event++; + return as_send_event; + } + auto as_countdown = rewrite_as_countdown(in, env, pool); if (as_countdown) { + stats.countdown++; return as_countdown; } - auto as_abs = fix_up_abs(in, env, pool); - if (as_abs) { - return as_abs; - } - - auto as_abs_2 = fix_up_abs_2(in, env, pool); - if (as_abs_2) { - return as_abs_2; - } - - auto as_unused = rewrite_empty_let(in, env, pool); - if (as_unused) { - return as_unused; - } - auto as_case_no_else = rewrite_as_case_no_else(in, env, pool); if (as_case_no_else) { + stats.case_no_else++; return as_case_no_else; } auto as_case_with_else = rewrite_as_case_with_else(in, env, pool); if (as_case_with_else) { + stats.case_with_else++; return as_case_with_else; } - auto as_set_vector = rewrite_set_vector(in, env, pool); - if (as_set_vector) { - return as_set_vector; - } - auto as_set_vector2 = rewrite_set_vector_2(in, env, pool); if (as_set_vector2) { + stats.set_vector2++; return as_set_vector2; } - auto as_send_event = rewrite_as_send_event(in, env, pool); - if (as_send_event) { - return as_send_event; + auto as_abs_2 = fix_up_abs_2(in, env, pool); + if (as_abs_2) { + stats.abs2++; + return as_abs_2; + } + + auto as_abs = fix_up_abs(in, env, pool); + if (as_abs) { + stats.abs++; + return as_abs; } // nothing matched. @@ -983,7 +1342,11 @@ bool register_can_hold_var(const Register& reg) { } } // namespace -LetStats insert_lets(const Function& func, Env& env, FormPool& pool, Form* top_level_form) { +LetStats insert_lets(const Function& func, + Env& env, + FormPool& pool, + Form* top_level_form, + LetRewriteStats& let_rewrite_stats) { (void)func; // if (func.name() != "(method 4 pair)") { // return {}; @@ -1235,7 +1598,7 @@ LetStats insert_lets(const Function& func, Env& env, FormPool& pool, Form* top_l for (auto& elt : f->elts()) { auto as_let = dynamic_cast(elt); if (as_let) { - auto rewritten = rewrite_let(as_let, env, pool); + auto rewritten = rewrite_let(as_let, env, pool, let_rewrite_stats); if (rewritten) { rewritten->parent_form = f; elt = rewritten; diff --git a/decompiler/analysis/insert_lets.h b/decompiler/analysis/insert_lets.h index 226186fc75..da8e5b3d2e 100644 --- a/decompiler/analysis/insert_lets.h +++ b/decompiler/analysis/insert_lets.h @@ -3,6 +3,7 @@ #include "decompiler/Function/Function.h" #include "decompiler/IR2/Env.h" #include "decompiler/IR2/Form.h" +#include "decompiler/ObjectFile/ObjectFileDB.h" namespace decompiler { @@ -16,6 +17,10 @@ struct LetStats { } }; -LetStats insert_lets(const Function& func, Env& env, FormPool& pool, Form* top_level_form); +LetStats insert_lets(const Function& func, + Env& env, + FormPool& pool, + Form* top_level_form, + LetRewriteStats& let_stats); -} // namespace decompiler \ No newline at end of file +} // namespace decompiler diff --git a/decompiler/config.cpp b/decompiler/config.cpp index 75324c5b2f..d3c3bac37b 100644 --- a/decompiler/config.cpp +++ b/decompiler/config.cpp @@ -60,6 +60,7 @@ Config read_config_file(const std::string& path_to_config_file, config.process_tpages = cfg.at("process_tpages").get(); config.process_game_text = cfg.at("process_game_text").get(); config.process_game_count = cfg.at("process_game_count").get(); + config.process_art_groups = cfg.at("process_art_groups").get(); config.hexdump_code = cfg.at("hexdump_code").get(); config.hexdump_data = cfg.at("hexdump_data").get(); config.dump_objs = cfg.at("dump_objs").get(); @@ -225,6 +226,12 @@ Config read_config_file(const std::string& path_to_config_file, config.levels_to_extract = inputs_json.at("levels_to_extract").get>(); config.levels_extract = cfg.at("levels_extract").get(); + auto art_info_json = read_json_file_from_config(cfg, "art_info_file"); + config.art_groups_by_file = + art_info_json.at("files").get>(); + config.art_groups_by_function = + art_info_json.at("functions").get>(); + return config; } diff --git a/decompiler/config.h b/decompiler/config.h index 876ade06b7..33b32d8f63 100644 --- a/decompiler/config.h +++ b/decompiler/config.h @@ -99,6 +99,7 @@ struct Config { bool process_tpages = false; bool process_game_text = false; bool process_game_count = false; + bool process_art_groups = false; bool rip_levels = false; bool extract_collision = false; @@ -137,6 +138,9 @@ struct Config { bool levels_extract; DecompileHacks hacks; + + std::unordered_map art_groups_by_file; + std::unordered_map art_groups_by_function; }; Config read_config_file(const std::string& path_to_config_file, diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 5eff939ae8..62f582128e 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -8076,7 +8076,7 @@ ) (deftype skeleton-group (basic) - ((art-group-name basic :offset-assert 4) + ((art-group-name string :offset-assert 4) (jgeo int32 :offset-assert 8) (janim int32 :offset-assert 12) (bounds vector :inline :offset-assert 16) @@ -16369,8 +16369,8 @@ (define-extern jacc-mem-usage (function joint-anim-compressed-control memory-usage-block int joint-anim-compressed-control)) (define-extern joint-anim-inspect-elt (function joint-anim float joint-anim)) (define-extern joint-anim-login (function joint-anim-drawable joint-anim-drawable)) -(define-extern joint-control-channel-eval (function joint-control-channel float)) -(define-extern joint-control-channel-eval! (function joint-control-channel (function joint-control-channel float float float) float)) +(define-extern joint-control-channel-eval (function joint-control-channel none)) +(define-extern joint-control-channel-eval! (function joint-control-channel (function joint-control-channel float float float) none)) (define-extern joint-control-channel-group-eval! (function joint-control-channel art-joint-anim (function joint-control-channel float float float) int)) (define-extern joint-control-channel-group! (function joint-control-channel art-joint-anim (function joint-control-channel float float float) int)) (define-extern joint-control-copy! (function joint-control joint-control joint-control)) @@ -17831,7 +17831,7 @@ ;; - Functions -(define-extern ja-channel-push! (function int int int :behavior process-drawable)) +(define-extern ja-channel-push! (function int time-frame int :behavior process-drawable)) (define-extern ja-channel-set! (function int int :behavior process-drawable)) (define-extern kill-current-level-hint (function pair pair symbol none)) (define-extern level-hint-surpress! (function none)) @@ -20755,7 +20755,7 @@ (define-extern target-hit-ground-anim (function symbol symbol :behavior target)) (define-extern mod-var-jump (function symbol symbol symbol vector vector :behavior target)) (define-extern init-var-jump (function float float vector vector vector vector :behavior target)) ;; 1st and 2nd vectors may be symbols instead? -(define-extern target-falling-anim (function time-frame int symbol :behavior target)) +(define-extern target-falling-anim (function time-frame time-frame symbol :behavior target)) (define-extern target-falling-trans (function basic time-frame none :behavior target)) (define-extern target-falling-anim-trans (function none :behavior target)) ;; unconfirmed @@ -24662,7 +24662,7 @@ ;; - Functions -(define-extern lurkerworm-prebind-function (function process int lurkerworm none :behavior lurkerworm)) +(define-extern lurkerworm-prebind-function (function pointer int lurkerworm none :behavior lurkerworm)) (define-extern lurkerworm-joint-callback (function lurkerworm none)) (define-extern lurkerworm-default-event-handler (function process int symbol event-message-block object :behavior lurkerworm)) (define-extern lurkerworm-default-post-behavior (function none :behavior lurkerworm)) @@ -27681,7 +27681,7 @@ (define-extern racer-buzz (function float none :behavior target)) (define-extern target-racing-center-anim (function none :behavior target)) (define-extern target-racing-turn-anim (function none :behavior target)) -(define-extern target-racing-jump-anim (function basic int none :behavior target)) +(define-extern target-racing-jump-anim (function basic time-frame none :behavior target)) (define-extern target-racing-land-anim (function symbol none :behavior target)) (define-extern target-racing-post (function none :behavior target)) @@ -33289,7 +33289,7 @@ :flag-assert #x16004000b0 (:methods (idle () _type_ :state 20) - (active (basic symbol) _type_ :state 21) + (active (handle symbol) _type_ :state 21) ) ) diff --git a/decompiler/config/jak1_ntsc_black_label.jsonc b/decompiler/config/jak1_ntsc_black_label.jsonc index 5171316999..e5d8f72496 100644 --- a/decompiler/config/jak1_ntsc_black_label.jsonc +++ b/decompiler/config/jak1_ntsc_black_label.jsonc @@ -35,6 +35,8 @@ "process_game_text": true, // unpack game count to assets folder "process_game_count": true, + // write goal imports for art groups + "process_art_groups": true, /////////////////////////// // WEIRD OPTIONS @@ -56,7 +58,7 @@ "hexdump_code": false, "hexdump_data": false, // dump raw obj files - "dump_objs": true, + "dump_objs": false, // print control flow graph "print_cfgs": false, @@ -74,6 +76,7 @@ "stack_structures_file": "decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc", "hacks_file": "decompiler/config/jak1_ntsc_black_label/hacks.jsonc", "inputs_file": "decompiler/config/jak1_ntsc_black_label/inputs.jsonc", + "art_info_file": "decompiler/config/jak1_ntsc_black_label/art_info.jsonc", // optional: a predetermined object file name map from a file. // this will make decompilation naming consistent even if you only run on some objects. diff --git a/decompiler/config/jak1_ntsc_black_label/art_info.jsonc b/decompiler/config/jak1_ntsc_black_label/art_info.jsonc new file mode 100644 index 0000000000..95a48be2ed --- /dev/null +++ b/decompiler/config/jak1_ntsc_black_label/art_info.jsonc @@ -0,0 +1,26 @@ +{ + ////////////////////// + // ART INFO + ////////////////////// + + // defines what art group each file or function is using. + // by default, the decompiler assumes to be the name of the current file + -ag + // so you only need to specify it when that's not the case. + // NOTE: it's fine to have a function and its file both in here. the function takes priority. + + "files": { + "target":"eichar-ag", + "target2":"eichar-ag", + "target-death":"eichar-ag", + "powerups":"eichar-ag" + }, + + "functions": { + "(code target-warp-out)":"eichar-ag", + "(code mistycannon-missile-idle)":"sack-ag", + "(code billy-snack-eat)":"farthy-snack-ag", + "(code plunger-lurker-plunge)":"plunger-lurker-ag", + "(code plunger-lurker-flee)":"plunger-lurker-ag", + "(code plunger-lurker-idle)":"plunger-lurker-ag" + } +} diff --git a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc index c101cdb4e2..4b82c54cf3 100644 --- a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc @@ -564,7 +564,7 @@ ], "flying-lurker": [ - ["L197", "(pointer uint32)", 26], + ["L197", "attack-info"], ["L187", "vector"] ], diff --git a/decompiler/main.cpp b/decompiler/main.cpp index f7ce060dac..9f5f40d49e 100644 --- a/decompiler/main.cpp +++ b/decompiler/main.cpp @@ -157,6 +157,11 @@ int main(int argc, char** argv) { config.write_hex_near_instructions); } + // process art groups (used in decompilation) + if (config.decompile_code || config.process_art_groups) { + db.extract_art_info(); + } + // main decompile. if (config.decompile_code) { db.analyze_functions_ir2(out_folder, config, {}); @@ -168,6 +173,11 @@ int main(int argc, char** argv) { file_util::write_text_file(file_util::combine_path(out_folder, "all-syms.gc"), db.dts.dump_symbol_types()); + // write art groups + if (config.process_art_groups) { + db.dump_art_info(out_folder); + } + if (config.hexdump_code || config.hexdump_data) { db.write_object_file_words(out_folder, config.hexdump_data, config.hexdump_code); } diff --git a/decompiler/util/DecompilerTypeSystem.h b/decompiler/util/DecompilerTypeSystem.h index 619a8da4e0..1d762dc7d1 100644 --- a/decompiler/util/DecompilerTypeSystem.h +++ b/decompiler/util/DecompilerTypeSystem.h @@ -20,6 +20,7 @@ class DecompilerTypeSystem { std::unordered_map bad_format_strings; std::unordered_map>> format_ops_with_dynamic_string_by_func_name; + std::unordered_map> art_group_info; void add_symbol(const std::string& name) { if (symbols.find(name) == symbols.end()) { diff --git a/decompiler/util/data_decompile.cpp b/decompiler/util/data_decompile.cpp index 8205e2eb3c..f120832994 100644 --- a/decompiler/util/data_decompile.cpp +++ b/decompiler/util/data_decompile.cpp @@ -1274,16 +1274,8 @@ goos::Object decompile_value(const TypeSpec& type, s64 value; memcpy(&value, bytes.data(), 8); - // only rewrite if exact. - s64 seconds_int = value / (s64)TICKS_PER_SECOND; - if (seconds_int * (s64)TICKS_PER_SECOND == value) { - return pretty_print::to_symbol(fmt::format("(seconds {})", seconds_int)); - } - double seconds = (double)value / TICKS_PER_SECOND; - if (seconds * TICKS_PER_SECOND == value) { - return pretty_print::to_symbol(fmt::format("(seconds {})", float_to_string(seconds, false))); - } - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); + return pretty_print::to_symbol( + fmt::format("(seconds {})", fixed_point_to_string(value, TICKS_PER_SECOND))); } else if (ts.tc(TypeSpec("uint64"), type)) { ASSERT(bytes.size() == 8); u64 value; diff --git a/goal_src/build/all_imports.gc b/goal_src/build/all_imports.gc new file mode 100644 index 0000000000..c7ef107900 --- /dev/null +++ b/goal_src/build/all_imports.gc @@ -0,0 +1,371 @@ +(defglobalconstant all-import-files + ( + "goal_src/import/fuel-cell-ag.gc" + "goal_src/import/money-ag.gc" + "goal_src/import/buzzer-ag.gc" + "goal_src/import/ecovalve-ag.gc" + "goal_src/import/crate-ag.gc" + "goal_src/import/speaker-ag.gc" + "goal_src/import/fuelcell-naked-ag.gc" + "goal_src/import/eichar-ag.gc" + "goal_src/import/sidekick-ag.gc" + "goal_src/import/deathcam-ag.gc" + "goal_src/import/babak-ag.gc" + "goal_src/import/barrel-ag.gc" + "goal_src/import/beachcam-ag.gc" + "goal_src/import/bird-lady-ag.gc" + "goal_src/import/bird-lady-beach-ag.gc" + "goal_src/import/bladeassm-ag.gc" + "goal_src/import/ecoventrock-ag.gc" + "goal_src/import/flutflut-ag.gc" + "goal_src/import/flutflutegg-ag.gc" + "goal_src/import/grottopole-ag.gc" + "goal_src/import/harvester-ag.gc" + "goal_src/import/kickrock-ag.gc" + "goal_src/import/lrocklrg-ag.gc" + "goal_src/import/lurkercrab-ag.gc" + "goal_src/import/lurkerpuppy-ag.gc" + "goal_src/import/lurkerworm-ag.gc" + "goal_src/import/mayor-ag.gc" + "goal_src/import/mistycannon-ag.gc" + "goal_src/import/orb-cache-top-ag.gc" + "goal_src/import/pelican-ag.gc" + "goal_src/import/sack-ag.gc" + "goal_src/import/sculptor-ag.gc" + "goal_src/import/sculptor-muse-ag.gc" + "goal_src/import/seagull-ag.gc" + "goal_src/import/sharkey-ag.gc" + "goal_src/import/windmill-one-ag.gc" + "goal_src/import/assistant-lavatube-end-ag.gc" + "goal_src/import/bluesage-ag.gc" + "goal_src/import/citadelcam-ag.gc" + "goal_src/import/citb-arm-ag.gc" + "goal_src/import/citb-arm-shoulder-ag.gc" + "goal_src/import/citb-bunny-ag.gc" + "goal_src/import/citb-button-ag.gc" + "goal_src/import/citb-chain-plat-ag.gc" + "goal_src/import/citb-chains-ag.gc" + "goal_src/import/citb-coil-ag.gc" + "goal_src/import/citb-disc-ag.gc" + "goal_src/import/citb-donut-ag.gc" + "goal_src/import/citb-drop-plat-ag.gc" + "goal_src/import/citb-exit-plat-ag.gc" + "goal_src/import/citb-firehose-ag.gc" + "goal_src/import/citb-generator-ag.gc" + "goal_src/import/citb-hose-ag.gc" + "goal_src/import/citb-iris-door-ag.gc" + "goal_src/import/citb-launcher-ag.gc" + "goal_src/import/citb-robotboss-ag.gc" + "goal_src/import/citb-rotatebox-ag.gc" + "goal_src/import/citb-sagecage-ag.gc" + "goal_src/import/citb-stopbox-ag.gc" + "goal_src/import/evilbro-citadel-ag.gc" + "goal_src/import/evilsis-citadel-ag.gc" + "goal_src/import/green-sagecage-ag.gc" + "goal_src/import/plat-citb-ag.gc" + "goal_src/import/plat-eco-citb-ag.gc" + "goal_src/import/redsage-ag.gc" + "goal_src/import/warp-gate-switch-ag.gc" + "goal_src/import/warpgate-ag.gc" + "goal_src/import/yellowsage-ag.gc" + "goal_src/import/baby-spider-ag.gc" + "goal_src/import/cavecrystal-ag.gc" + "goal_src/import/caveelevator-ag.gc" + "goal_src/import/cavespatula-darkcave-ag.gc" + "goal_src/import/cavetrapdoor-ag.gc" + "goal_src/import/dark-crystal-ag.gc" + "goal_src/import/mother-spider-ag.gc" + "goal_src/import/spider-egg-ag.gc" + "goal_src/import/water-anim-darkcave-ag.gc" + "goal_src/import/darkecobomb-ag.gc" + "goal_src/import/ecoclaw-ag.gc" + "goal_src/import/finalbosscam-ag.gc" + "goal_src/import/green-eco-lurker-ag.gc" + "goal_src/import/greenshot-ag.gc" + "goal_src/import/jak-white-ag.gc" + "goal_src/import/light-eco-ag.gc" + "goal_src/import/plat-eco-finalboss-ag.gc" + "goal_src/import/power-left-ag.gc" + "goal_src/import/power-right-ag.gc" + "goal_src/import/powercellalt-ag.gc" + "goal_src/import/redring-ag.gc" + "goal_src/import/robotboss-ag.gc" + "goal_src/import/robotboss-blueeco-ag.gc" + "goal_src/import/robotboss-cinematic-ag.gc" + "goal_src/import/robotboss-redeco-ag.gc" + "goal_src/import/robotboss-yelloweco-ag.gc" + "goal_src/import/silodoor-ag.gc" + "goal_src/import/water-anim-finalboss-ag.gc" + "goal_src/import/evilbro-ag.gc" + "goal_src/import/evilsis-ag.gc" + "goal_src/import/plant-boss-main+0-ag.gc" + "goal_src/import/aphid-lurker-ag.gc" + "goal_src/import/darkvine-ag.gc" + "goal_src/import/eggtop-ag.gc" + "goal_src/import/jng-iris-door-ag.gc" + "goal_src/import/plant-boss-ag.gc" + "goal_src/import/plat-flip-ag.gc" + "goal_src/import/plat-jungleb-ag.gc" + "goal_src/import/eichar-fish+0-ag.gc" + "goal_src/import/accordian-ag.gc" + "goal_src/import/bounceytarp-ag.gc" + "goal_src/import/catch-fisha-ag.gc" + "goal_src/import/catch-fishb-ag.gc" + "goal_src/import/catch-fishc-ag.gc" + "goal_src/import/fish-net-ag.gc" + "goal_src/import/fisher-ag.gc" + "goal_src/import/hopper-ag.gc" + "goal_src/import/junglecam-ag.gc" + "goal_src/import/junglefish-ag.gc" + "goal_src/import/junglesnake-ag.gc" + "goal_src/import/launcherdoor-ag.gc" + "goal_src/import/logtrap-ag.gc" + "goal_src/import/lurkerm-piston-ag.gc" + "goal_src/import/lurkerm-tall-sail-ag.gc" + "goal_src/import/maindoor-ag.gc" + "goal_src/import/medres-firecanyon-ag.gc" + "goal_src/import/periscope-ag.gc" + "goal_src/import/plat-button-ag.gc" + "goal_src/import/plat-eco-ag.gc" + "goal_src/import/precurbridge-ag.gc" + "goal_src/import/reflector-mirror-ag.gc" + "goal_src/import/ropebridge-52-ag.gc" + "goal_src/import/ropebridge-70-ag.gc" + "goal_src/import/sidedoor-ag.gc" + "goal_src/import/towertop-ag.gc" + "goal_src/import/water-anim-jungle-ag.gc" + "goal_src/import/eichar-racer+0-ag.gc" + "goal_src/import/eichar-flut+0-ag.gc" + "goal_src/import/eichar-tube+0-ag.gc" + "goal_src/import/eichar-pole+0-ag.gc" + "goal_src/import/eichar-ice+0-ag.gc" + "goal_src/import/assistant-firecanyon-ag.gc" + "goal_src/import/balloon-ag.gc" + "goal_src/import/crate-darkeco-cluster-ag.gc" + "goal_src/import/ef-plane-ag.gc" + "goal_src/import/racer-ag.gc" + "goal_src/import/spike-ag.gc" + "goal_src/import/assistant-lavatube-start-ag.gc" + "goal_src/import/chainmine-ag.gc" + "goal_src/import/darkecobarrel-ag.gc" + "goal_src/import/energyarm-ag.gc" + "goal_src/import/energyball-ag.gc" + "goal_src/import/energybase-ag.gc" + "goal_src/import/energydoor-ag.gc" + "goal_src/import/energyhub-ag.gc" + "goal_src/import/lavaballoon-ag.gc" + "goal_src/import/lavabase-ag.gc" + "goal_src/import/lavafall-ag.gc" + "goal_src/import/lavafallsewera-ag.gc" + "goal_src/import/lavafallsewerb-ag.gc" + "goal_src/import/lavashortcut-ag.gc" + "goal_src/import/lavayellowtarp-ag.gc" + "goal_src/import/water-anim-lavatube-ag.gc" + "goal_src/import/driller-lurker-ag.gc" + "goal_src/import/gnawer-ag.gc" + "goal_src/import/launcherdoor-maincave-ag.gc" + "goal_src/import/maincavecam-ag.gc" + "goal_src/import/plat-ag.gc" + "goal_src/import/spiderwebs-ag.gc" + "goal_src/import/water-anim-maincave-ag.gc" + "goal_src/import/water-anim-maincave-water-ag.gc" + "goal_src/import/balloonlurker-ag.gc" + "goal_src/import/boatpaddle-ag.gc" + "goal_src/import/bonelurker-ag.gc" + "goal_src/import/breakaway-left-ag.gc" + "goal_src/import/breakaway-mid-ag.gc" + "goal_src/import/breakaway-right-ag.gc" + "goal_src/import/darkecocan-ag.gc" + "goal_src/import/keg-ag.gc" + "goal_src/import/keg-conveyor-ag.gc" + "goal_src/import/keg-conveyor-paddle-ag.gc" + "goal_src/import/mis-bone-bridge-ag.gc" + "goal_src/import/mis-bone-platform-ag.gc" + "goal_src/import/mistycam-ag.gc" + "goal_src/import/muse-ag.gc" + "goal_src/import/quicksandlurker-ag.gc" + "goal_src/import/ropebridge-36-ag.gc" + "goal_src/import/rounddoor-ag.gc" + "goal_src/import/sidekick-human-ag.gc" + "goal_src/import/silostep-ag.gc" + "goal_src/import/teetertotter-ag.gc" + "goal_src/import/water-anim-misty-ag.gc" + "goal_src/import/wheel-ag.gc" + "goal_src/import/windturbine-ag.gc" + "goal_src/import/flying-lurker-ag.gc" + "goal_src/import/medres-snow-ag.gc" + "goal_src/import/ogre-bridge-ag.gc" + "goal_src/import/ogre-bridgeend-ag.gc" + "goal_src/import/ogre-isle-ag.gc" + "goal_src/import/ogre-step-ag.gc" + "goal_src/import/ogreboss-ag.gc" + "goal_src/import/ogrecam-ag.gc" + "goal_src/import/plunger-lurker-ag.gc" + "goal_src/import/shortcut-boulder-ag.gc" + "goal_src/import/tntbarrel-ag.gc" + "goal_src/import/water-anim-ogre-ag.gc" + "goal_src/import/cavecrusher-ag.gc" + "goal_src/import/cavespatulatwo-ag.gc" + "goal_src/import/water-anim-robocave-ag.gc" + "goal_src/import/dark-plant-ag.gc" + "goal_src/import/happy-plant-ag.gc" + "goal_src/import/lightning-mole-ag.gc" + "goal_src/import/pusher-ag.gc" + "goal_src/import/race-ring-ag.gc" + "goal_src/import/robber-ag.gc" + "goal_src/import/rolling-start-ag.gc" + "goal_src/import/rollingcam-ag.gc" + "goal_src/import/water-anim-rolling-ag.gc" + "goal_src/import/flut-saddle-ag.gc" + "goal_src/import/flutflut-plat-large-ag.gc" + "goal_src/import/flutflut-plat-med-ag.gc" + "goal_src/import/flutflut-plat-small-ag.gc" + "goal_src/import/ice-cube-ag.gc" + "goal_src/import/ice-cube-break-ag.gc" + "goal_src/import/ram-ag.gc" + "goal_src/import/ram-boss-ag.gc" + "goal_src/import/snow-ball-ag.gc" + "goal_src/import/snow-bridge-36-ag.gc" + "goal_src/import/snow-bumper-ag.gc" + "goal_src/import/snow-bunny-ag.gc" + "goal_src/import/snow-button-ag.gc" + "goal_src/import/snow-eggtop-ag.gc" + "goal_src/import/snow-fort-gate-ag.gc" + "goal_src/import/snow-gears-ag.gc" + "goal_src/import/snow-log-ag.gc" + "goal_src/import/snow-spatula-ag.gc" + "goal_src/import/snow-switch-ag.gc" + "goal_src/import/snowcam-ag.gc" + "goal_src/import/snowpusher-ag.gc" + "goal_src/import/yeti-ag.gc" + "goal_src/import/blue-eco-charger-ag.gc" + "goal_src/import/blue-eco-charger-orb-ag.gc" + "goal_src/import/bully-ag.gc" + "goal_src/import/floating-launcher-ag.gc" + "goal_src/import/helix-button-ag.gc" + "goal_src/import/helix-slide-door-ag.gc" + "goal_src/import/shover-ag.gc" + "goal_src/import/steam-cap-ag.gc" + "goal_src/import/sunkencam-ag.gc" + "goal_src/import/sunkenfisha-ag.gc" + "goal_src/import/wall-plat-ag.gc" + "goal_src/import/water-anim-sunken-ag.gc" + "goal_src/import/water-anim-sunken-dark-eco-ag.gc" + "goal_src/import/double-lurker-ag.gc" + "goal_src/import/double-lurker-top-ag.gc" + "goal_src/import/exit-chamber-ag.gc" + "goal_src/import/generic-button-ag.gc" + "goal_src/import/orbit-plat-ag.gc" + "goal_src/import/orbit-plat-bottom-ag.gc" + "goal_src/import/plat-sunken-ag.gc" + "goal_src/import/puffer-ag.gc" + "goal_src/import/qbert-plat-ag.gc" + "goal_src/import/qbert-plat-on-ag.gc" + "goal_src/import/seaweed-ag.gc" + "goal_src/import/side-to-side-plat-ag.gc" + "goal_src/import/square-platform-ag.gc" + "goal_src/import/sun-iris-door-ag.gc" + "goal_src/import/wedge-plat-ag.gc" + "goal_src/import/wedge-plat-outer-ag.gc" + "goal_src/import/whirlpool-ag.gc" + "goal_src/import/balance-plat-ag.gc" + "goal_src/import/billy-ag.gc" + "goal_src/import/billy-sidekick-ag.gc" + "goal_src/import/farthy-snack-ag.gc" + "goal_src/import/kermit-ag.gc" + "goal_src/import/swamp-bat-ag.gc" + "goal_src/import/swamp-rat-ag.gc" + "goal_src/import/swamp-rat-nest-ag.gc" + "goal_src/import/swamp-rock-ag.gc" + "goal_src/import/swamp-spike-ag.gc" + "goal_src/import/swampcam-ag.gc" + "goal_src/import/tar-plat-ag.gc" + "goal_src/import/logo-ag.gc" + "goal_src/import/logo-black-ag.gc" + "goal_src/import/logo-cam-ag.gc" + "goal_src/import/logo-volumes-ag.gc" + "goal_src/import/ndi-ag.gc" + "goal_src/import/ndi-cam-ag.gc" + "goal_src/import/ndi-volumes-ag.gc" + "goal_src/import/pontoonfive-ag.gc" + "goal_src/import/scarecrow-a-ag.gc" + "goal_src/import/scarecrow-b-ag.gc" + "goal_src/import/trainingcam-ag.gc" + "goal_src/import/water-anim-training-ag.gc" + "goal_src/import/assistant-ag.gc" + "goal_src/import/evilplant-ag.gc" + "goal_src/import/explorer-ag.gc" + "goal_src/import/farmer-ag.gc" + "goal_src/import/fishermans-boat-ag.gc" + "goal_src/import/hutlamp-ag.gc" + "goal_src/import/mayorgears-ag.gc" + "goal_src/import/medres-beach-ag.gc" + "goal_src/import/medres-beach1-ag.gc" + "goal_src/import/medres-beach2-ag.gc" + "goal_src/import/medres-beach3-ag.gc" + "goal_src/import/medres-jungle-ag.gc" + "goal_src/import/medres-jungle1-ag.gc" + "goal_src/import/medres-jungle2-ag.gc" + "goal_src/import/medres-misty-ag.gc" + "goal_src/import/medres-training-ag.gc" + "goal_src/import/medres-village11-ag.gc" + "goal_src/import/medres-village12-ag.gc" + "goal_src/import/medres-village13-ag.gc" + "goal_src/import/oracle-ag.gc" + "goal_src/import/reflector-middle-ag.gc" + "goal_src/import/revcycle-ag.gc" + "goal_src/import/revcycleprop-ag.gc" + "goal_src/import/ropebridge-32-ag.gc" + "goal_src/import/sage-ag.gc" + "goal_src/import/sagesail-ag.gc" + "goal_src/import/villa-starfish-ag.gc" + "goal_src/import/village-cam-ag.gc" + "goal_src/import/village1cam-ag.gc" + "goal_src/import/water-anim-village1-ag.gc" + "goal_src/import/windmill-sail-ag.gc" + "goal_src/import/windspinner-ag.gc" + "goal_src/import/yakow-ag.gc" + "goal_src/import/allpontoons-ag.gc" + "goal_src/import/assistant-village2-ag.gc" + "goal_src/import/ceilingflag-ag.gc" + "goal_src/import/exit-chamber-dummy-ag.gc" + "goal_src/import/fireboulder-ag.gc" + "goal_src/import/flutflut-bluehut-ag.gc" + "goal_src/import/gambler-ag.gc" + "goal_src/import/geologist-ag.gc" + "goal_src/import/jaws-ag.gc" + "goal_src/import/medres-rolling-ag.gc" + "goal_src/import/medres-rolling1-ag.gc" + "goal_src/import/medres-village2-ag.gc" + "goal_src/import/ogreboss-village2-ag.gc" + "goal_src/import/pontoonten-ag.gc" + "goal_src/import/precursor-arm-ag.gc" + "goal_src/import/sage-bluehut-ag.gc" + "goal_src/import/sunken-elevator-ag.gc" + "goal_src/import/swamp-blimp-ag.gc" + "goal_src/import/swamp-rope-ag.gc" + "goal_src/import/swamp-tetherrock-ag.gc" + "goal_src/import/swamp-tetherrock-explode-ag.gc" + "goal_src/import/village2cam-ag.gc" + "goal_src/import/warrior-ag.gc" + "goal_src/import/water-anim-village2-ag.gc" + "goal_src/import/assistant-village3-ag.gc" + "goal_src/import/cavegem-ag.gc" + "goal_src/import/evilbro-village3-ag.gc" + "goal_src/import/evilsis-village3-ag.gc" + "goal_src/import/gondola-ag.gc" + "goal_src/import/gondolacables-ag.gc" + "goal_src/import/lavaspoutdrip-ag.gc" + "goal_src/import/medres-finalboss-ag.gc" + "goal_src/import/medres-ogre-ag.gc" + "goal_src/import/medres-ogre2-ag.gc" + "goal_src/import/medres-ogre3-ag.gc" + "goal_src/import/minecartsteel-ag.gc" + "goal_src/import/minershort-ag.gc" + "goal_src/import/minertall-ag.gc" + "goal_src/import/pistons-ag.gc" + "goal_src/import/sage-village3-ag.gc" + "goal_src/import/vil3-bridge-36-ag.gc" + "goal_src/import/water-anim-village3-ag.gc" + ) + ) diff --git a/goal_src/engine/anim/joint.gc b/goal_src/engine/anim/joint.gc index 941b5b21f9..4633058d1e 100644 --- a/goal_src/engine/anim/joint.gc +++ b/goal_src/engine/anim/joint.gc @@ -572,19 +572,17 @@ (defun joint-control-channel-eval ((arg0 joint-control-channel)) "Run the joint control num-func callback, remember the current time" - (let ((f0-2 ((-> arg0 num-func) arg0 (-> arg0 param 0) (-> arg0 param 1)))) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) - f0-2 - ) + ((-> arg0 num-func) arg0 (-> arg0 param 0) (-> arg0 param 1)) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + (none) ) (defun joint-control-channel-eval! ((arg0 joint-control-channel) (arg1 (function joint-control-channel float float float))) "Set the joint control num-func, and evaluate it." (set! (-> arg0 num-func) arg1) - (let ((f0-2 (arg1 arg0 (-> arg0 param 0) (-> arg0 param 1)))) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) - f0-2 - ) + (arg1 arg0 (-> arg0 param 0) (-> arg0 param 1)) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + (none) ) (defun joint-control-channel-group-eval! ((arg0 joint-control-channel) (arg1 art-joint-anim) (arg2 (function joint-control-channel float float float))) diff --git a/goal_src/engine/camera/cam-combiner.gc b/goal_src/engine/camera/cam-combiner.gc index adcd4c3dab..d298d4dd95 100644 --- a/goal_src/engine/camera/cam-combiner.gc +++ b/goal_src/engine/camera/cam-combiner.gc @@ -178,7 +178,7 @@ :code (behavior () (local-vars (sv-160 cam-rotation-tracker)) - (while #t + (loop (when (and (zero? (logand (-> *camera* master-options) 2)) (!= (-> self tracking-status) 0)) (set! (-> self tracking-status) (the-as uint 0)) 0 diff --git a/goal_src/engine/camera/cam-layout.gc b/goal_src/engine/camera/cam-layout.gc index b8ad9ca93d..5c196389cc 100644 --- a/goal_src/engine/camera/cam-layout.gc +++ b/goal_src/engine/camera/cam-layout.gc @@ -215,7 +215,7 @@ (sv-288 int) ) (let ((s4-0 0)) - (while #t + (loop (set! sv-16 (new 'static 'res-tag)) (let ((s3-0 (the-as (inline-array vector) ((method-of-type res-lump get-property-data) arg0 @@ -3761,7 +3761,7 @@ (defstate cam-layout-active (cam-layout) :code (behavior () - (while #t + (loop (cam-layout-entity-info (the-as entity-actor (-> self cam-entity))) (cam-layout-entity-volume-info) (cam-layout-do-menu *clm*) diff --git a/goal_src/engine/camera/cam-master.gc b/goal_src/engine/camera/cam-master.gc index 55a3870087..1648d89d47 100644 --- a/goal_src/engine/camera/cam-master.gc +++ b/goal_src/engine/camera/cam-master.gc @@ -526,7 +526,7 @@ (defun in-cam-entity-volume? ((arg0 vector) (arg1 entity) (arg2 float) (arg3 symbol)) (local-vars (sv-16 res-tag)) (let ((s2-0 0)) - (while #t + (loop (set! sv-16 (new 'static 'res-tag)) (let ((v1-1 (the-as object ((method-of-type res-lump get-property-data) arg1 @@ -1621,7 +1621,7 @@ ) :code (behavior () - (while #t + (loop (if (and *dproc* *debug-segment*) (add-frame (-> *display* frames (-> *display* on-screen) frame profile-bar 0) @@ -1686,7 +1686,7 @@ (defstate list-keeper-active (camera-master) :code (behavior () - (while #t + (loop (change-to-last-brother self) (suspend) ) diff --git a/goal_src/engine/camera/cam-states-dbg.gc b/goal_src/engine/camera/cam-states-dbg.gc index 499297e830..608a793d45 100644 --- a/goal_src/engine/camera/cam-states-dbg.gc +++ b/goal_src/engine/camera/cam-states-dbg.gc @@ -42,7 +42,7 @@ ) :code (behavior () - (while #t + (loop (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) @@ -415,7 +415,7 @@ ) :code (behavior () - (while #t + (loop (let ((a2-0 (-> *camera* local-down))) (if (logtest? (-> self options) 8) (set! a2-0 (the-as vector #f)) @@ -508,7 +508,7 @@ ) :code (behavior () - (while #t + (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 0ab9737523..32460ddebd 100644 --- a/goal_src/engine/camera/cam-states.gc +++ b/goal_src/engine/camera/cam-states.gc @@ -32,7 +32,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> self trans quad) (-> self saved-pt quad)) @@ -87,7 +87,7 @@ ) :code (behavior () - (while #t + (loop (format *stdcon* "ERROR : stayed in cam-fixed-read-entity~%") (suspend) ) @@ -125,7 +125,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (vector<-cspace! (-> self trans) @@ -207,7 +207,7 @@ ) (vector-normalize-copy! s5-0 (-> v1-11 vector 2) (the-as float 1.0)) ) - (while #t + (loop (when (not (paused?)) (let ((s0-0 (-> (the-as pov-camera (-> *camera* pov-handle process 0)) @@ -286,7 +286,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (vector<-cspace! (-> self trans) @@ -357,7 +357,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) (cam-standoff-calc-trans) @@ -409,7 +409,7 @@ ) :code (behavior () - (while #t + (loop (format *stdcon* "ERROR : stayed in cam-standoff-read-entity~%") (suspend) ) @@ -479,7 +479,7 @@ :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (when (not (paused?)) (let ((s4-0 (vector-reset! (new-stack-vector0))) (s5-0 (new-stack-matrix0)) @@ -649,7 +649,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (let ((s5-0 (vector-reset! (new-stack-vector0))) (s4-0 (vector-reset! (new-stack-vector0))) @@ -822,7 +822,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) (new 'stack 'curve) @@ -856,7 +856,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) @@ -925,7 +925,7 @@ (init! gp-0 s4-0 (the-as float 81.92) (fmax 819.2 (vector-length s5-0)) (the-as float 0.75)) (set! (-> gp-0 vel quad) (-> s5-0 quad)) ) - (while #t + (loop (when (not (paused?)) (set! (-> gp-0 target x) (-> (target-pos 0) x)) (set! (-> gp-0 target z) (-> (target-pos 0) z)) @@ -1224,7 +1224,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (cam-circular-code) ) @@ -1254,7 +1254,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1286,7 +1286,7 @@ ) (vector--float*! s5-0 s5-0 (-> *camera* local-down) (-> *CAMERA-bank* default-string-min-y)) (set! (-> arg0 quad) (-> s5-0 quad)) - (while #t + (loop (vector--float*! s4-0 arg0 (-> *camera* local-down) (-> *camera* target-height)) (if (< (fill-and-probe-using-line-sphere *collide-cache* @@ -2979,7 +2979,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (set-string-parms) (cam-string-code) @@ -3215,7 +3215,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (cam-stick-code) ) @@ -3382,7 +3382,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (cam-bike-code) ) diff --git a/goal_src/engine/camera/pov-camera.gc b/goal_src/engine/camera/pov-camera.gc index 99b9401165..004ac02874 100644 --- a/goal_src/engine/camera/pov-camera.gc +++ b/goal_src/engine/camera/pov-camera.gc @@ -73,40 +73,16 @@ (defbehavior pov-camera-play-and-reposition pov-camera ((arg0 art-joint-anim) (arg1 vector) (arg2 float)) (let ((s4-0 #f)) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) arg0) - (set! (-> v1-2 param 0) (the float (+ (-> arg0 data 0 length) -1))) - (set! (-> v1-2 param 1) arg2) - (set! (-> v1-2 frame-num) 0.0) - (joint-control-channel-group! v1-2 arg0 num-func-seek!) - ) + (ja-no-eval :group! arg0 :num! (seek! max arg2) :frame-num 0.0) (until (ja-done? 0) - (let ((v1-4 (and (not s4-0) (< (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -4 - ) - ) - (ja-frame-num 0) - ) - ) - ) - ) + (let ((v1-4 (and (not s4-0) (< (the float (+ (-> (ja-group) data 0 length) -4)) (ja-frame-num 0))))) (when v1-4 (set! s4-0 #t) (send-event *camera* 'teleport-to-vector-start-string arg1) ) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) arg2) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg2)) ) ) 0 @@ -151,40 +127,11 @@ (push-setting! *setting-control* self 'sfx-volume 'rel (-> self sfx-volume-movie) 0) (cond ((= (-> self anim-name type) string) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (check-for-abort self) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= (-> self anim-name type) spool-anim) @@ -218,7 +165,7 @@ ) :code (behavior () - (set-blackout-frames (seconds 0.033333335)) + (set-blackout-frames (seconds 0.035)) (suspend) (suspend) (go-virtual pov-camera-done-playing) diff --git a/goal_src/engine/data/art-h.gc b/goal_src/engine/data/art-h.gc index 2794501746..f11cb0ec17 100644 --- a/goal_src/engine/data/art-h.gc +++ b/goal_src/engine/data/art-h.gc @@ -238,7 +238,7 @@ ;; the "skeleton group" is defined in code and tells the engine ;; how to actually use the art from the level data for this object. (deftype skeleton-group (basic) - ((art-group-name basic :offset-assert 4) + ((art-group-name string :offset-assert 4) (jgeo int32 :offset-assert 8) (janim int32 :offset-assert 12) (bounds vector :inline :offset-assert 16) @@ -384,11 +384,26 @@ (-> obj skeleton bones 0 position) ) +(desfun art-elt->index (ag-name elt-name) + (if (number? elt-name) + elt-name + (let ((ag-info (assoc ag-name *art-info*))) + (if (null? ag-info) + -1 + (let ((elt-info (assoc elt-name (cdr ag-info)))) + (if (null? elt-info) + -1 + (cadr elt-info)) + ) + ) + ) + ) + ) (defmacro defskelgroup (name art-name joint-geom joint-anim lods &key (shadow 0) &key bounds - &key longest-edge + &key (longest-edge 0.0) &key (texture-level 0) &key (sort 0) &key (version 6) ;; do NOT use this! @@ -402,18 +417,18 @@ :longest-edge ,longest-edge :version ,version :max-lod ,(- (length lods) 1) - :shadow ,shadow + :shadow ,(art-elt->index (string->symbol-format "{}-ag" art-name) shadow) :texture-level ,texture-level :sort ,sort ))) ;; set joint geometry and joint bones - (set! (-> skel jgeo) ,joint-geom) - (set! (-> skel janim) ,joint-anim) + (set! (-> skel jgeo) ,(art-elt->index (string->symbol-format "{}-ag" art-name) joint-geom)) + (set! (-> skel janim) ,(art-elt->index (string->symbol-format "{}-ag" art-name) joint-anim)) ;; set lods ,@(apply-i (lambda (x i) `(begin - (set! (-> skel mgeo ,i) ,(car x)) + (set! (-> skel mgeo ,i) ,(art-elt->index (string->symbol-format "{}-ag" art-name) (car x))) (set! (-> skel lod-dist ,i) ,(cadr x)) ) ) lods) diff --git a/goal_src/engine/debug/anim-tester.gc b/goal_src/engine/debug/anim-tester.gc index f11cb715b0..5444389a59 100644 --- a/goal_src/engine/debug/anim-tester.gc +++ b/goal_src/engine/debug/anim-tester.gc @@ -235,7 +235,7 @@ (let ((v1-88 (-> arg0 the-node))) "is this node the start of the list. #t = start" (when (not (not (-> v1-88 prev))) - (while #t + (loop (let ((v1-92 (-> arg0 the-node))) "return the previous node in the list" (let ((v1-93 (-> v1-92 prev))) @@ -272,7 +272,7 @@ (let ((v1-107 (-> arg0 the-node))) "is this node the end of the list. #t = end" (when (not (not (-> v1-107 next))) - (while #t + (loop (let ((v1-111 (-> arg0 the-node))) "return the next node in the list" (let ((v1-112 (-> v1-111 next))) @@ -429,10 +429,10 @@ (defun anim-tester-num-print ((arg0 basic) (arg1 float)) (cond - ((= arg1 (-> (new 'static 'array float 1 -2.0) 0)) + ((= arg1 -2.0) (format arg0 "max") ) - ((= arg1 (-> (new 'static 'array float 1 -1.0) 0)) + ((= arg1 -1.0) (format arg0 "min") ) (else @@ -565,8 +565,8 @@ (set! (-> (the-as anim-test-seq-item v0-0) privname) arg1) (set! (-> (the-as anim-test-seq-item v0-0) speed) 100) (set! (-> (the-as anim-test-seq-item v0-0) blend) 0) - (set! (-> (the-as anim-test-seq-item v0-0) first-frame) (-> (new 'static 'array float 1 -1.0) 0)) - (set! (-> (the-as anim-test-seq-item v0-0) last-frame) (-> (new 'static 'array float 1 -2.0) 0)) + (set! (-> (the-as anim-test-seq-item v0-0) first-frame) -1.0) + (set! (-> (the-as anim-test-seq-item v0-0) last-frame) -2.0) (the-as anim-test-seq-item v0-0) ) ) @@ -722,10 +722,8 @@ (defbehavior anim-tester-update-anim-info anim-tester ((arg0 anim-test-seq-item)) (set! (-> self anim-first) (-> arg0 first-frame)) (set! (-> self anim-last) (-> arg0 last-frame)) - (set! (-> self anim-gspeed) (* (-> (new 'static 'array float 1 0.01) 0) (the float (-> self speed)))) - (set! (-> self anim-speed) - (* (-> (new 'static 'array float 1 0.01) 0) (-> self anim-gspeed) (the float (-> arg0 speed))) - ) + (set! (-> self anim-gspeed) (* 0.01 (the float (-> self speed)))) + (set! (-> self anim-speed) (* 0.01 (-> self anim-gspeed) (the float (-> arg0 speed)))) (when (< (-> self anim-speed) 0.0) (set! (-> self anim-first) (-> arg0 last-frame)) (set! (-> self anim-last) (-> arg0 first-frame)) @@ -774,8 +772,8 @@ (set! (-> self draw sink-group) (-> *level* level-default foreground-sink-group 1)) (set! (-> self draw lod-set lod 0 geo) a1-4) ) - (set! (-> self draw lod-set lod 0 dist) (-> (new 'static 'array float 1 4095996000.0) 0)) - (set! (-> self draw bounds w) (-> (new 'static 'array float 1 40960.0) 0)) + (set! (-> self draw lod-set lod 0 dist) 4095996000.0) + (set! (-> self draw bounds w) 40960.0) (set! (-> self draw data-format) (the-as uint 1)) (let ((v1-16 (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))) (set! (-> self draw color-mult quad) v1-16) @@ -812,13 +810,13 @@ (gp-0 (-> s3-0 base)) ) (cond - ((= arg1 (-> (new 'static 'array float 1 -1.0) 0)) + ((= arg1 -1.0) (let ((s2-1 draw-string-adv)) (format (clear *temp-string*) "~Smin" arg0) (s2-1 *temp-string* s3-0 arg3) ) ) - ((= arg1 (-> (new 'static 'array float 1 -2.0) 0)) + ((= arg1 -2.0) (let ((s2-2 draw-string-adv)) (format (clear *temp-string*) "~Smax" arg0) (s2-2 *temp-string* s3-0 arg3) @@ -1087,7 +1085,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-15 tailpred) v1-15)) (let ((v1-17 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the previous node in the list" (set! v1-17 (-> (the-as anim-test-obj v1-17) prev)) (let ((a0-23 (the-as anim-test-obj v1-17))) @@ -1111,7 +1109,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-21 tailpred) v1-21)) (let ((v1-23 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the next node in the list" (set! v1-23 (-> (the-as anim-test-obj v1-23) next)) (let ((a0-40 (the-as anim-test-obj v1-23))) @@ -1263,7 +1261,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-17 tailpred) v1-17)) (let ((v1-19 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the previous node in the list" (set! v1-19 (-> (the-as anim-test-sequence v1-19) prev)) (let ((a0-24 (the-as anim-test-sequence v1-19))) @@ -1287,7 +1285,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-23 tailpred) v1-23)) (let ((v1-25 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the next node in the list" (set! v1-25 (-> (the-as anim-test-sequence v1-25) next)) (let ((a0-42 (the-as anim-test-sequence v1-25))) @@ -1392,32 +1390,32 @@ (cond ((cpad-hold? 0 down) (cond - ((= arg0 (-> (new 'static 'array float 1 -2.0) 0)) - (set! arg0 (+ (-> (new 'static 'array float 1 -1.0) 0) arg1)) + ((= arg0 -2.0) + (set! arg0 (+ -1.0 arg1)) ) - ((!= arg0 (-> (new 'static 'array float 1 -1.0) 0)) - (set! arg0 (+ (-> (new 'static 'array float 1 -1.0) 0) arg0)) + ((!= arg0 -1.0) + (set! arg0 (+ -1.0 arg0)) (if (< arg0 0.0) - (set! arg0 (-> (new 'static 'array float 1 -1.0) 0)) + (set! arg0 (the-as float -1.0)) ) ) ) ) ((cpad-hold? 0 up) (cond - ((= arg0 (-> (new 'static 'array float 1 -1.0) 0)) - (set! arg0 (-> (new 'static 'array float 1 0.0) 0)) + ((= arg0 -1.0) + (set! arg0 (the-as float 0.0)) ) - ((!= arg0 (-> (new 'static 'array float 1 -2.0) 0)) - (set! arg0 (+ (-> (new 'static 'array float 1 1.0) 0) arg0)) + ((!= arg0 -2.0) + (set! arg0 (+ 1.0 arg0)) (if (>= arg0 arg1) - (set! arg0 (-> (new 'static 'array float 1 -2.0) 0)) + (set! arg0 (the-as float -2.0)) ) ) ) ) ) - arg0 + (the-as float arg0) ) (defun anim-tester-pick-item-setup ((arg0 anim-test-seq-item) (arg1 anim-test-sequence)) @@ -1501,7 +1499,7 @@ *font-default-matrix* (-> arg1 xpos) (-> arg1 ypos) - (-> (new 'static 'array float 1 0.0) 0) + (the-as float 0.0) (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) 15 12 @@ -2209,7 +2207,7 @@ (s4-0 (-> arg0 playing-item)) ) (when (logtest? (-> v0-0 flags) 5) - (while #t + (loop (+! s4-0 1) (if (>= s4-0 (glst-num-elements (-> arg0 item-list))) (set! s4-0 0) @@ -2256,7 +2254,7 @@ :code (behavior () (local-vars (s4-0 glst-node) (s5-1 anim-test-seq-item) (gp-2 anim-test-sequence)) - (while #t + (loop (logclear! (-> self flags) (anim-tester-flags fanimt0)) (let ((v1-2 (-> self obj-list))) "is the list empty, #t = empty" @@ -2334,40 +2332,25 @@ (s4-1 (logior! (-> self flags) (anim-tester-flags fanimt0)) (if (nonzero? (-> s5-1 blend)) - (ja-channel-push! 1 (the int (* (the float (-> s5-1 blend)) (-> self anim-gspeed)))) + (ja-channel-push! 1 (the-as time-frame (the int (* (the float (-> s5-1 blend)) (-> self anim-gspeed))))) (ja-channel-set! 1) ) (cond - ((= (-> self anim-first) (-> (new 'static 'array float 1 -1.0) 0)) - (let ((s3-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-0 s4-1 num-func-identity) - (set! (-> s3-0 frame-num) 0.0) - ) + ((= (-> self anim-first) -1.0) + (ja :group! s4-1 :num! min) ) - ((= (-> self anim-first) (-> (new 'static 'array float 1 -2.0) 0)) - (let ((s3-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-1 s4-1 num-func-identity) - (set! (-> s3-1 frame-num) (the float (+ (-> s4-1 data 0 length) -1))) - ) + ((= (-> self anim-first) -2.0) + (ja :group! s4-1 :num! max) ) (else - (let ((s3-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-2 s4-1 num-func-identity) - (set! (-> s3-2 frame-num) (-> self anim-first)) - ) + (ja :group! s4-1 :num! (identity (-> self anim-first))) ) ) (when (nonzero? (-> s5-1 blend)) (while (and (!= (-> self skel root-channel 0) (-> self skel channel)) (logtest? (-> s5-1 flags) 2)) (when (logtest? (-> self flags) (anim-tester-flags fanimt5)) (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 31 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) + (TODO-RENAME-10 (-> self align) 31 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) ) (suspend) ) @@ -2375,49 +2358,23 @@ (until (ja-done? 0) (when (logtest? (-> self flags) (anim-tester-flags fanimt5)) (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 31 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) + (TODO-RENAME-10 (-> self align) 31 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) ) (suspend) (anim-tester-update-anim-info s5-1) - (let ((v1-73 (= (-> self anim-last) (-> (new 'static 'array float 1 -2.0) 0)))) + (let ((v1-73 (= (-> self anim-last) -2.0))) (cond ((or v1-73 (>= (-> self anim-last) (-> self anim-first))) - (cond - ((= (-> self anim-last) (-> (new 'static 'array float 1 -2.0) 0)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 param 0) (the float (+ (-> a0-42 frame-group data 0 length) -1))) - (set! (-> a0-42 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-42 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (-> self anim-last)) - (set! (-> a0-43 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (if (= (-> self anim-last) -2.0) + (ja :num! (seek! max (-> self anim-speed))) + (ja :num! (seek! (-> self anim-last) (-> self anim-speed))) ) - ) ) - ((= (-> self anim-last) (-> (new 'static 'array float 1 -1.0) 0)) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 param 0) 0.0) - (set! (-> a0-44 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-44 (the-as art-joint-anim #f) num-func-seek!) - ) + ((= (-> self anim-last) -1.0) + (ja :num! (seek! 0.0 (-> self anim-speed))) ) (else - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (-> self anim-last)) - (set! (-> a0-45 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (-> self anim-last) (-> self anim-speed))) ) ) ) @@ -2463,11 +2420,7 @@ (set! (-> self list-con list-owner) (the-as uint self)) (quaternion-identity! (-> self root quat)) (vector-identity! (-> self root scale)) - (position-in-front-of-camera! - (-> self root trans) - (-> (new 'static 'array float 1 40960.0) 0) - (-> (new 'static 'array float 1 4096.0) 0) - ) + (position-in-front-of-camera! (-> self root trans) (the-as float 40960.0) (the-as float 4096.0)) (set! (-> self event-hook) anim-tester-standard-event-handler) (anim-tester-reset) (go anim-tester-process) diff --git a/goal_src/engine/debug/default-menu.gc b/goal_src/engine/debug/default-menu.gc index 3d0926e7a8..c9d680d389 100644 --- a/goal_src/engine/debug/default-menu.gc +++ b/goal_src/engine/debug/default-menu.gc @@ -4055,7 +4055,7 @@ (new-dm-func (symbol->string (the-as symbol (car iter))) (-> (the-as symbol (car iter)) value) (lambda ((info level-load-info)) - (let ((tf (new 'stack 'transformq))) + (let ((tf (new 'stack-no-clear 'transformq))) (set! (-> tf trans x) (-> info bsphere x)) (set! (-> tf trans y) (-> info bsphere y)) (set! (-> tf trans z) (-> info bsphere z)) @@ -4492,16 +4492,6 @@ (flag "uk-english" 6 dm-subtitle-language) ) (flag "Discord RPC" #t ,(dm-lambda-boolean-flag (-> *pc-settings* discord-rpc?))) - (menu "Game fixes" - (flag "sagecage crash" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes crash-sagecage))) - ;(flag "memory crash" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes crash-dma))) - ;(flag "light eco crash" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes crash-light-eco))) - ;(flag "softlock pelican" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes lockout-pelican))) - ;(flag "softlock pipegame" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes lockout-pipegame))) - ;(flag "softlock gambler" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes lockout-gambler))) - ;(flag "fix movies" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes fix-movies))) - ;(flag "fix credits" #f ,(dm-lambda-boolean-flag (-> *pc-settings* fixes fix-credits))) - ) (menu "PS2 settings" ;(flag "PS2 Load speed" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-read-speed?))) (flag "PS2 Particles" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-parts?))) diff --git a/goal_src/engine/debug/part-tester.gc b/goal_src/engine/debug/part-tester.gc index d1d9f7789e..9a3292092c 100644 --- a/goal_src/engine/debug/part-tester.gc +++ b/goal_src/engine/debug/part-tester.gc @@ -41,7 +41,7 @@ (defstate part-tester-idle (part-tester) :code (behavior () - (while #t + (loop (let ((gp-0 (entity-by-name *part-tester-name*))) (when gp-0 (let ((s5-0 (-> gp-0 extra process))) diff --git a/goal_src/engine/debug/viewer.gc b/goal_src/engine/debug/viewer.gc index 3a3678cf2c..7b2d4fadad 100644 --- a/goal_src/engine/debug/viewer.gc +++ b/goal_src/engine/debug/viewer.gc @@ -31,23 +31,17 @@ (defstate viewer-process (viewer) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (-> self janim)) - (set! (-> a0-0 param 0) (the float (+ (-> self janim data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (-> self janim) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self janim) + :num! + (seek! (the float (+ (-> self janim data 0 length) -1))) + :frame-num 0.0 + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 31 1.0 1.0 1.0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/engine/draw/process-drawable-h.gc b/goal_src/engine/draw/process-drawable-h.gc index dca21307da..68b1cda420 100644 --- a/goal_src/engine/draw/process-drawable-h.gc +++ b/goal_src/engine/draw/process-drawable-h.gc @@ -49,12 +49,7 @@ (defun num-func-+! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) "Increment the frame number, taking into account the animation speed and current game rate." - (let ((f0-1 - (+ (-> arg0 frame-num) - (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio))) - ) - ) - ) + (let ((f0-1 (+ (-> arg0 frame-num) (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio)))))) (set! (-> arg0 frame-num) f0-1) f0-1 ) @@ -62,12 +57,7 @@ (defun num-func--! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) "Decrement the frame number, taking into account the animation speed and current game rate." - (let ((f0-1 - (- (-> arg0 frame-num) - (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio))) - ) - ) - ) + (let ((f0-1 (- (-> arg0 frame-num) (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio)))))) (set! (-> arg0 frame-num) f0-1) f0-1 ) @@ -79,25 +69,21 @@ ;; get the duration from the joint-animation-compressed. (let* ((duration (the float (+ (-> chan frame-group data 0 length) -1))) ;; increment (also add a full duration to it, I guess to avoid issues if inc is negative and we're near the start.) - (after-inc (+ (+ (-> chan frame-num) duration) - (* inc (* (-> chan frame-group speed) (-> *display* time-adjust-ratio))) - ) + (after-inc + (+ (-> chan frame-num) duration (* inc (* (-> chan frame-group speed) (-> *display* time-adjust-ratio)))) ) ;; wrap. (wrapped (- after-inc (* (the float (the int (/ after-inc duration))) duration))) ) - (set! (-> chan frame-num) wrapped) - wrapped - ) + (set! (-> chan frame-num) wrapped) + wrapped + ) ) (defun num-func-seek! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) "Seek toward arg1 by at most arg2 (taking into account speed etc)" - (let ((f0-3 (seek - (-> arg0 frame-num) - arg1 - (* arg2 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio))) - ) + (let ((f0-3 + (seek (-> arg0 frame-num) arg1 (* arg2 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio)))) ) ) ;; set it twice, just to make sure. @@ -109,9 +95,7 @@ (defun num-func-blend-in! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) "Seek frame-interp toward 1. Once its there, do a joint-control-reset." - (let* ((v0-0 (seek (-> arg0 frame-interp) 1.0 (* arg1 (-> *display* time-adjust-ratio)))) - (f30-0 (the-as float v0-0)) - ) + (let ((f30-0 (seek (-> arg0 frame-interp) 1.0 (* arg1 (-> *display* time-adjust-ratio))))) (set! (-> arg0 frame-interp) f30-0) (set! (-> arg0 frame-interp) f30-0) (if (= f30-0 1.0) diff --git a/goal_src/engine/draw/process-drawable.gc b/goal_src/engine/draw/process-drawable.gc index 07d4dd7e3e..56851b75f2 100644 --- a/goal_src/engine/draw/process-drawable.gc +++ b/goal_src/engine/draw/process-drawable.gc @@ -476,7 +476,7 @@ ) (let ((s4-0 (load-to-heap-by-name (-> s1-0 art-group) - (the-as string (-> arg0 art-group-name)) + (-> arg0 art-group-name) #f global (-> arg0 version) @@ -700,6 +700,18 @@ ) ) + +(defmacro ja-group (&key (chan 0)) + "get the frame group for self. default channel is 0, the base channel. returns #f if no frame group." + `(if (> (-> self skel active-channels) ,chan) + (-> self skel root-channel ,chan frame-group)) + ) + +(defmacro ja-group? (group &key (chan 0)) + "is self in this frame group on this channel? default is channel 0, which is the base channel." + `(= (ja-group) ,group) + ) + (defbehavior ja-num-frames process-drawable ((arg0 int)) (+ (-> self skel root-channel arg0 frame-group data 0 length) -1) ) @@ -765,7 +777,7 @@ arg0 ) -(defbehavior ja-channel-push! process-drawable ((arg0 int) (arg1 int)) +(defbehavior ja-channel-push! process-drawable ((arg0 int) (arg1 time-frame)) (cond ((or (zero? (-> self skel active-channels)) (zero? arg1) @@ -875,6 +887,128 @@ ) ) +(defmacro ja (&key (chan 0) + &key (group! #f) + &key (num! #f) + &key (param0 #f) + &key (param1 #f) + &key (num-func #f) + &key (frame-num #f) + &key (frame-interp #f) + &key (dist #f) + &key (eval? #t) + ) + "set various joint anim parameters for self and eval them. + you can use this for playing animations! + + chan = the channel to modify. defaults to 0 (base channel). this is usually what you want. + group! = when not #f, set this as the new frame-group. defaults to #f + num! = set the frame playback function. this is what determines what frame an animation is at. funcs below. + #f = no func will be set, and there wont be a frame eval. + num-func = sets the num-func field for the channel. this lets you change the function with eval'ing. + param0 = 1st parameter for the playback function. ONLY USE THESE WITH num-func !! + param1 = 2nd parameter for the playback function. ONLY USE THESE WITH num-func !! + frame-num = set the frame-num field. + frame-interp = set the frame-interp field. + dist = set the dist field. + + available num! functions: + - (+!) = advance anim. + - (-!) = reverse anim. + - (identity num) = play 'num' frame. + - (seek! target speed) = animate towards frame target at a speed. + speed is optional and defaults to 1.0 when not provided. + target is optional and defaults to the last frame of the animation. + if you want to set the speed, you therefore must also set the target. + target can be max (no quote), which is just the same as the default value. + - (loop! speed) = loop animation at a speed. default speed is 1.0 when not provided. + - (chan channel) = copy frame from another channel. + - min = the start of the animation. + - max = the end of the animation. + " + + (let* ((num-args (if (pair? num!) (cdr num!) '())) + (num! (if (pair? num!) (car num!) num!)) + (nf (cond + ((or (eq? num! 'identity) + (eq? num! 'min) + (eq? num! 'max) + ) + 'num-func-identity) + ((eq? num! 'none) 'num-func-none) + ((eq? num! '+!) 'num-func-+!) + ((eq? num! '-!) 'num-func--!) + ((eq? num! 'seek!) 'num-func-seek!) + ((eq? num! 'loop!) 'num-func-loop!) + ((eq? num! 'blend-in!) 'num-func-blend-in!) + ((eq? num! 'chan) 'num-func-chan) + )) + (p0 (if param0 param0 + (cond + ((eq? num! 'chan) `(the float ,(car num-args))) + ((eq? num! '+!) (if (null? num-args) 1.0 (car num-args))) + ((eq? num! '-!) (if (null? num-args) 1.0 (car num-args))) + ((eq? num! 'loop!) (if (null? num-args) 1.0 (if (eq? 'max (car num-args)) + (if group! + `(the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + `(the float (1- (-> ja-ch frame-group data 0 length))) + ) + (car num-args)))) + ((eq? num! 'seek!) (if (or (null? num-args) (eq? (car num-args) 'max)) + (if group! + `(the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + `(the float (1- (-> ja-ch frame-group data 0 length))) + ) + (car num-args))) + ))) + (p1 (if param1 param1 + (cond + ((eq? num! 'seek!) (if (or (null? num-args) (null? (cdr num-args))) 1.0 (cadr num-args))) + ))) + (frame-num (if (eq? 'max frame-num) (if group! + `(the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + `(the float (1- (-> ja-ch frame-group data 0 length))) + ) + frame-num)) + (frame-group (if (or p0 p1 frame-num (not nf)) group! #f)) + ) + `(let ((ja-ch (-> self skel root-channel ,chan))) + ,(if frame-interp `(set! (-> ja-ch frame-interp) ,frame-interp) `(none)) + ,(if dist `(set! (-> ja-ch dist) ,dist) `(none)) + ,(if frame-group `(set! (-> ja-ch frame-group) (the art-joint-anim ,frame-group)) `(none)) + ,(if p0 `(set! (-> ja-ch param 0) ,p0) `(none)) + ,(if p1 `(set! (-> ja-ch param 1) ,p1) `(none)) + ,(if num-func `(set! (-> ja-ch num-func) ,num-func) `(none)) + ,(if frame-num `(set! (-> ja-ch frame-num) ,frame-num) `(none)) + ,(if nf + `(,(if eval? 'joint-control-channel-group-eval! 'joint-control-channel-group!) + ja-ch (the art-joint-anim ,group!) ,nf) + `(none)) + ,(cond + ((eq? num! 'min) `(set! (-> ja-ch frame-num) 0.0)) + ((eq? num! 'max) (if group! + `(set! (-> ja-ch frame-num) (the float (1- (-> (the art-joint-anim ,group!) data 0 length)))) + `(set! (-> ja-ch frame-num) (the float (1- (-> ja-ch frame-group data 0 length)))) + )) + ((eq? num! 'identity) `(set! (-> ja-ch frame-num) ,(car num-args))) + (#t `(none)) + ) + )) + ) + +(defmacro ja-no-eval (&key (chan 0) + &key (group! #f) + &key (num! #f) + &key (param0 #f) + &key (param1 #f) + &key (num-func #f) + &key (frame-num #f) + &key (frame-interp #f) + &key (dist #f) + ) + `(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) + ) + (defbehavior ja-eval process-drawable () (let ((gp-0 (-> self skel root-channel 0)) (s5-0 (-> self skel channel (-> self skel active-channels))) diff --git a/goal_src/engine/game/collectables.gc b/goal_src/engine/game/collectables.gc index 7677529ab2..054665c9f1 100644 --- a/goal_src/engine/game/collectables.gc +++ b/goal_src/engine/game/collectables.gc @@ -425,12 +425,9 @@ (transform-post) (animate self) (suspend) - (when (nonzero? (-> self skel)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) 0.5) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop! 0.5)) ) - ) ) ) (set! (-> self root-override trans quad) (-> self jump-pos quad)) @@ -587,7 +584,7 @@ ) :code (behavior () - (while #t + (loop (let ((gp-0 (-> self part)) (s5-0 (-> self root-override root-prim prim-core)) ) @@ -676,7 +673,7 @@ ) :code (behavior ((arg0 handle)) - (while #t + (loop (set! (-> self root-override trans quad) (-> self base quad)) (add-blue-motion #t #f #t #f) (update-transforms! (-> self root-override)) @@ -1109,23 +1106,17 @@ obj ) -(defskelgroup *money-sg* money - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 0.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *money-sg* money money-lod0-jg money-idle-ja + ((money-lod0-mg (meters 20)) (money-lod1-mg (meters 40)) (money-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 0.6) + :texture-level 2 + ) -(defskelgroup *fuel-cell-sg* fuel-cell - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *fuel-cell-sg* fuel-cell fuel-cell-lod0-jg fuel-cell-idle-ja + ((fuel-cell-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) (deftype money (eco-collectable) () @@ -1165,7 +1156,7 @@ :virtual #t :code (behavior () - (while #t + (loop (quaternion-rotate-y! (-> self root-override quat) (-> self root-override quat) @@ -1203,7 +1194,7 @@ :virtual #t :code (behavior ((arg0 handle)) - (while #t + (loop (quaternion-rotate-y! (-> self root-override quat) (-> self root-override quat) @@ -1548,10 +1539,8 @@ (behavior () 0.5 (let ((f28-0 0.0)) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (while #t + (ja :group! (-> self draw art-group data 2)) + (loop (let ((f30-0 (vector-vector-distance (-> self base) (target-pos 0)))) (set! f28-0 (if (and (< f30-0 (-> *FACT-bank* suck-suck-dist)) (zero? (logand (-> self flags) (collectable-flags anim)))) @@ -1567,10 +1556,7 @@ (transform-post) (fuel-cell-animate) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) f30-1) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-1)) ) ) ) @@ -2166,9 +2152,7 @@ (set! (-> self root-override trans quad) (-> self draw origin quad)) (set! (-> self base quad) (-> self root-override trans quad)) (ja-channel-set! 1) - (let ((v1-20 (-> self skel root-channel 0))) - (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) + (ja :group! (-> self draw art-group data 2)) (logclear! (-> self draw status) (draw-status hidden)) (vector-reset! (-> self draw origin)) (go-virtual wait) @@ -2211,14 +2195,11 @@ (none) ) -(defskelgroup *buzzer-sg* buzzer - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *buzzer-sg* buzzer buzzer-lod0-jg buzzer-idle-ja + ((buzzer-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) (deftype buzzer (eco-collectable) ((victory-anim spool-anim :offset-assert 404) @@ -2264,7 +2245,7 @@ (go-virtual pickup #t (the-as handle #f)) ) ) - (while #t + (loop (transform-post) (animate self) (suspend) @@ -2806,14 +2787,11 @@ ) -(defskelgroup *ecovalve-sg* ecovalve - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *ecovalve-sg* ecovalve ecovalve-geo-jg ecovalve-idle-ja + ((ecovalve-geo-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) (defstate ecovalve-idle (ecovalve) :code @@ -2821,7 +2799,7 @@ (transform-post) (suspend) (transform-post) - (while #t + (loop (if (not ((-> self block-func) (the-as vent (ppointer->process (-> self parent))))) (set-vector! (-> self offset-target) 0.0 0.0 0.0 1.0) ) @@ -3034,7 +3012,7 @@ ) :code (behavior () - (while #t + (loop (let ((a0-0 (-> self part)) (a1-0 (-> self root-override trans)) (gp-0 (-> self sound)) @@ -3063,7 +3041,7 @@ ) :code (behavior () - (while #t + (loop (if (not ((-> self block-func) self)) (go vent-wait-for-touch) ) diff --git a/goal_src/engine/game/crates.gc b/goal_src/engine/game/crates.gc index 65b60e1e47..34bb04dfd3 100644 --- a/goal_src/engine/game/crates.gc +++ b/goal_src/engine/game/crates.gc @@ -10,59 +10,44 @@ ;; DECOMP BEGINS -(defskelgroup *crate-barrel-sg* crate - 17 - 21 - ((18 (meters 20)) (19 (meters 40)) (20 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-barrel-sg* crate crate-barrel-lod0-jg crate-barrel-idle-ja + ((crate-barrel-lod0-mg (meters 20)) (crate-barrel-lod1-mg (meters 40)) (crate-barrel-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) -(defskelgroup *crate-bucket-sg* crate - 22 - 24 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-bucket-sg* crate crate-bucket-lod0-jg crate-bucket-idle-ja + ((crate-bucket-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :texture-level 2 + ) -(defskelgroup *crate-wood-sg* crate - 0 - 16 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-wood-sg* crate crate-wood-lod0-jg crate-idle-ja + ((crate-wood-lod0-mg (meters 20)) (crate-wood-lod1-mg (meters 40)) (crate-wood-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) -(defskelgroup *crate-iron-sg* crate - 4 - 16 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-iron-sg* crate crate-iron-lod0-jg crate-idle-ja + ((crate-iron-lod0-mg (meters 20)) (crate-iron-lod1-mg (meters 40)) (crate-iron-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) -(defskelgroup *crate-steel-sg* crate - 8 - 16 - ((9 (meters 20)) (10 (meters 40)) (11 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-steel-sg* crate crate-steel-lod0-jg crate-idle-ja + ((crate-steel-lod0-mg (meters 20)) (crate-steel-lod1-mg (meters 40)) (crate-steel-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) -(defskelgroup *crate-darkeco-sg* crate - 12 - 16 - ((13 (meters 20)) (14 (meters 40)) (15 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-darkeco-sg* crate crate-darkeco-lod0-jg crate-idle-ja + ((crate-darkeco-lod0-mg (meters 20)) + (crate-darkeco-lod1-mg (meters 40)) + (crate-darkeco-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) (deftype crate-bank (basic) ((COLLIDE_YOFF float :offset-assert 4) @@ -730,7 +715,7 @@ (suspend) (update-transforms! (-> self root-override)) (logior! (-> self mask) (process-mask sleep)) - (while #t + (loop (suspend) ) (none) @@ -784,7 +769,7 @@ :code (behavior ((arg0 handle)) (set! (-> self target) arg0) - (while #t + (loop (let* ((gp-0 (handle->process (-> self target))) (v1-4 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) gp-0 @@ -1409,7 +1394,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (suspend) (update-transforms! (-> self root-override)) - (while #t + (loop (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-post) (logior! (-> self mask) (process-mask sleep-code)) @@ -1484,7 +1469,7 @@ :virtual #t :code (behavior () - (while #t + (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/generic-obs.gc b/goal_src/engine/game/generic-obs.gc index a82a41f2f8..7c21d54782 100644 --- a/goal_src/engine/game/generic-obs.gc +++ b/goal_src/engine/game/generic-obs.gc @@ -104,7 +104,7 @@ (defstate swingpole-stance (swingpole) :code (behavior () - (while #t + (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)) @@ -369,17 +369,7 @@ (('done) (case (-> self anim-mode) (('play1 'play) - (>= (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -2 - ) - ) - ) + (>= (ja-frame-num 0) (the float (+ (-> (ja-group) data 0 length) -2))) ) ) ) @@ -413,19 +403,10 @@ ) (when (and (-> self new-joint-anim) (nonzero? (-> self skel)) - (and (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self new-joint-anim) - ) - (!= (-> self anim-mode) 'clone-anim) - ) + (and (!= (ja-group) (-> self new-joint-anim)) (!= (-> self anim-mode) 'clone-anim)) ) - (ja-channel-push! 1 (the-as int (-> self new-joint-anim-blend))) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! gp-0 (-> self new-joint-anim) num-func-identity) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (the-as time-frame (-> self new-joint-anim-blend))) + (ja :group! (-> self new-joint-anim) :num! min) ) (let ((v1-20 (handle->process (-> self cur-grab-handle)))) (when v1-20 @@ -451,7 +432,7 @@ :code (behavior () (logclear! (-> self mask) (process-mask heap-shrunk)) - (while #t + (loop ((-> self cur-post-hook)) (if (!= (-> self anim-mode) 'clone-anim) (ja-post) @@ -459,25 +440,16 @@ (suspend) (case (-> self anim-mode) (('loop) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (('play) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (('copy-parent) - (let ((v1-18 (-> self skel root-channel 0))) - (set! (-> v1-18 num-func) num-func-identity) - (set! (-> v1-18 frame-num) - (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) - ) - ) + (ja :num-func num-func-identity + :frame-num + (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) + ) ) (('clone-parent) (let ((gp-0 (ppointer->process (-> self parent)))) @@ -509,11 +481,7 @@ (('still) ) (('play1) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) - (set! (-> a0-33 param 1) 1.0) - (joint-control-channel-group-eval! a0-33 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (if (ja-done? 0) (deactivate self) ) @@ -579,10 +547,7 @@ (set! (-> self draw?) #t) (cond ((nonzero? (-> self skel)) - (set! (-> self new-joint-anim) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set! (-> self new-joint-anim) (ja-group)) (set! (-> self anim-mode) 'loop) ) (else @@ -1267,19 +1232,16 @@ (vf17 :class vf) ) (init-vf0-vector) - (while #t + (loop (let ((a0-1 (level-get *level* (-> self level))) (v1-3 (-> *game-info* current-continue level)) ) (cond ((and a0-1 (or (= (-> a0-1 display?) 'special) (= (-> a0-1 display?) 'special-vis))) (logclear! (-> self draw status) (draw-status hidden)) - (when (nonzero? (-> self skel)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop!)) ) - ) ) ((or (and a0-1 (= (-> a0-1 status) 'active)) (= v1-3 'firecanyon)) (logior! (-> self draw status) (draw-status hidden)) @@ -1292,12 +1254,9 @@ (if (nonzero? (-> self part)) (spawn (-> self part) (-> self root trans)) ) - (when (nonzero? (-> self skel)) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop!)) ) - ) ) ) ) @@ -1417,7 +1376,7 @@ ) :code (behavior () - (while #t + (loop (when (-> self enable) (spawn (-> self part) (-> self root trans)) (if (nonzero? (-> self sound)) @@ -1826,7 +1785,7 @@ :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (when (not (paused?)) (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) (send-event *camera* 'teleport) @@ -1895,7 +1854,7 @@ :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (when (not (paused?)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) diff --git a/goal_src/engine/game/powerups.gc b/goal_src/engine/game/powerups.gc index b2a457ec41..6bbd2c9802 100644 --- a/goal_src/engine/game/powerups.gc +++ b/goal_src/engine/game/powerups.gc @@ -46,7 +46,7 @@ ) (cond ((zero? arg5) - (while #t + (loop (suspend) ) ) @@ -614,12 +614,7 @@ ) ) (let ((f0-8 (lerp-scale 60.0 90.0 (-> self control unknown-float01) 0.0 81920.0))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 104) - ) - ) + (if (not (ja-group? (-> self draw art-group data 104))) (set! f0-8 (* 0.75 f0-8)) ) (seek! (-> self control unknown-float141) f0-8 (* 100.0 (-> *display* seconds-per-frame))) diff --git a/goal_src/engine/game/task/process-taskable.gc b/goal_src/engine/game/task/process-taskable.gc index d3643f4645..68d5eb84f4 100644 --- a/goal_src/engine/game/task/process-taskable.gc +++ b/goal_src/engine/game/task/process-taskable.gc @@ -272,22 +272,13 @@ ) (defbehavior process-taskable-anim-loop process-taskable () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (get-art-elem self)) ) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (if (= (-> self next-state name) 'idle) (TODO-RENAME-43 self) ) @@ -424,7 +415,7 @@ (if (nonzero? *camera-look-through-other*) (set! *camera-look-through-other* 2) ) - (set-letterbox-frames (seconds 0.016666668)) + (set-letterbox-frames (seconds 0.017)) (draw-npc-shadow self) (none) ) @@ -504,10 +495,7 @@ (else (when (not arg1) (format #t "ERROR: ~S ~S got #f from anim picker~%" (-> self name) (-> self state name)) - (set! arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set! arg1 (ja-group)) ) (when (not (type-type? (-> arg1 type) art-joint-anim)) (format @@ -516,58 +504,23 @@ (-> self name) (-> self state name) ) - (set! arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set! arg1 (ja-group)) ) (format #t "~S ~S anim ~S~%" (-> self name) (-> self state name) (-> (the-as art-joint-anim arg1) name)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim arg1)) (when (< (ja-num-frames 0) 3) (suspend) (suspend) 0 ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-30 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (when (and *debug-segment* (= (get-response (-> self query)) 'no)) - (let ((v1-106 (-> self skel root-channel 0))) - (set! (-> v1-106 num-func) num-func-identity) - (set! (-> v1-106 frame-num) (the float (+ (-> v1-106 frame-group data 0 length) -1))) + (if (and *debug-segment* (= (get-response (-> self query)) 'no)) + (ja :num-func num-func-identity :frame-num max) ) - ) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) @@ -780,9 +733,7 @@ ) (else (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (ja :group! (get-art-elem self)) (restore-collide-with-as (-> self root-override)) (process-entity-status! self (entity-perm-status bit-3) #t) (let ((v1-7 (-> self draw shadow-ctrl))) @@ -1343,7 +1294,7 @@ ) :code (behavior () - (while #t + (loop (let ((s2-0 (-> self hand process 0))) (when (not s2-0) (format #t "ERROR: othercam parent invalid~%") diff --git a/goal_src/engine/game/voicebox.gc b/goal_src/engine/game/voicebox.gc index 9a9ce4eb31..b2b8efca3a 100644 --- a/goal_src/engine/game/voicebox.gc +++ b/goal_src/engine/game/voicebox.gc @@ -47,13 +47,10 @@ (the-as (function none :behavior process) nothing) ) -(defskelgroup *voicebox-sg* speaker - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *voicebox-sg* speaker speaker-lod0-jg speaker-idle-ja + ((speaker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defbehavior voicebox-track voicebox () (let ((gp-0 (new 'stack-no-clear 'vector)) @@ -174,12 +171,9 @@ voicebox-track :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) diff --git a/goal_src/engine/gfx/eye-h.gc b/goal_src/engine/gfx/eye-h.gc index 408211d829..c7a3bfb7a7 100644 --- a/goal_src/engine/gfx/eye-h.gc +++ b/goal_src/engine/gfx/eye-h.gc @@ -12,13 +12,13 @@ ;; DECOMP BEGINS (deftype eye (structure) - ((data vector 2 :inline :offset-assert 0) - (x float :offset 0) - (y float :offset 4) - (lid float :offset 8) - (iris-scale float :offset 16) - (pupil-scale float :offset 20) - (lid-scale float :offset 24) + ((data vector 2 :inline :offset-assert 0) + (x float :offset 0) + (y float :offset 4) + (lid float :offset 8) + (iris-scale float :offset 16) + (pupil-scale float :offset 20) + (lid-scale float :offset 24) ) :method-count-assert 9 :size-assert #x20 diff --git a/goal_src/engine/load/loader.gc b/goal_src/engine/load/loader.gc index c546c1da4e..1c1fe2c813 100644 --- a/goal_src/engine/load/loader.gc +++ b/goal_src/engine/load/loader.gc @@ -863,7 +863,7 @@ ) (defun-extern level-hint-surpress! none) ;; ? TODO -(define-extern ja-channel-push! (function int int int :behavior process-drawable)) +(define-extern ja-channel-push! (function int time-frame int :behavior process-drawable)) (define-extern ja-channel-set! (function int int :behavior process-drawable)) (define-extern joint-control-channel-group-eval! (function joint-control-channel art-joint-anim (function joint-control-channel float float float) int)) (define-extern joint-control-channel-group! (function joint-control-channel art-joint-anim (function joint-control-channel float float float) int)) @@ -905,7 +905,7 @@ ) arg1 ) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) (let ((s2-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! s2-0 arg1 num-func-identity) (set! (-> s2-0 frame-num) 0.0) @@ -1066,7 +1066,7 @@ (clear-pending-settings-from-process *setting-control* self 'spooling) (cond ((and arg1 (>= arg2 0)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (set! (-> self skel root-channel 0 frame-group) arg1) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (spool-push *art-control* (-> arg0 name) arg2 self -20.0) diff --git a/goal_src/engine/target/sidekick.gc b/goal_src/engine/target/sidekick.gc index 6864fb5754..eb0c63ef34 100644 --- a/goal_src/engine/target/sidekick.gc +++ b/goal_src/engine/target/sidekick.gc @@ -5,7 +5,7 @@ ;; name in dgo: sidekick ;; dgos: GAME, ENGINE -(define-extern *sidekick-sg* skeleton-group) +(load-art-import sidekick) ;; DECOMP BEGINS @@ -203,7 +203,7 @@ ) ) (set! (-> self draw shadow) (the-as shadow-geo (if (and (movie?) (-> self shadow-in-movie?)) - (-> self draw art-group data 2) + sidekick-shadow-mg ) ) ) @@ -222,16 +222,14 @@ ) ) -(defskelgroup *sidekick-sg* sidekick - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 1) - :shadow 2 - :texture-level 2 - :sort 1 - ) +(defskelgroup *sidekick-sg* sidekick sidekick-lod0-jg -1 + ((sidekick-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :longest-edge (meters 1) + :shadow sidekick-shadow-mg + :texture-level 2 + :sort 1 + ) (defbehavior init-sidekick sidekick () (logior! (-> self mask) (process-mask sidekick)) diff --git a/goal_src/engine/target/target-death.gc b/goal_src/engine/target/target-death.gc index 428b53517b..f130b2225d 100644 --- a/goal_src/engine/target/target-death.gc +++ b/goal_src/engine/target/target-death.gc @@ -7,14 +7,11 @@ ;; DECOMP BEGINS -(defskelgroup *deathcam-sg* deathcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *deathcam-sg* deathcam deathcam-lod0-jg deathcam-idle-ja + ((deathcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :texture-level 2 + ) (define *auto-continue* #f) @@ -469,9 +466,7 @@ ) ) (ja-channel-set! 1) - (let ((v1-264 (-> self skel root-channel 0))) - (set! (-> v1-264 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! eichar-stance-loop-ja) (suspend) (logior! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (go target-stance) @@ -745,19 +740,10 @@ (defbehavior target-hit-setup-anim target ((arg0 attack-info)) (case (-> arg0 angle) (('back) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 74) - ) - ) - (ja-channel-push! 1 22) + (when (not (ja-group? eichar-hit-from-back-ja)) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 74)) - num-func-identity - ) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim eichar-hit-from-back-ja) num-func-identity) (let ((f0-0 0.0)) (set! (-> gp-1 frame-num) f0-0) f0-0 @@ -766,19 +752,10 @@ ) ) (('up 'up-forward) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 75) - ) - ) - (ja-channel-push! 1 22) + (when (not (ja-group? eichar-hit-up-ja)) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 75)) - num-func-identity - ) + (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim eichar-hit-up-ja) num-func-identity) (let ((f0-1 0.0)) (set! (-> gp-2 frame-num) f0-1) f0-1 @@ -787,16 +764,8 @@ ) ) (('air 'jump) - (ja-channel-push! 1 15) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num 0.0) (when (= (-> arg0 angle) 'air) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) (dummy-10 (-> self skel effect) 'group-smack-surface (the-as float 0.0) 5) @@ -804,32 +773,15 @@ ) ) (('shove) - (ja-channel-push! 1 15) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 78))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 78)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 78)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! eichar-smack-surface-ja :num! (seek!) :frame-num 0.0) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 73) - ) - ) - (ja-channel-push! 1 22) + (when (not (ja-group? eichar-hit-from-front-ja)) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-5 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 73)) - num-func-identity - ) + (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim eichar-hit-from-front-ja) num-func-identity) (let ((f0-10 0.0)) (set! (-> gp-5 frame-num) f0-10) f0-10 @@ -866,31 +818,12 @@ ) (set-quaternion! (-> self control) (-> self control dir-targ)) #t - (let ((f28-1 (* 1.05 (/ (* -60.0 arg3) (* (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - (ja-step 0) - ) - ) - ) - ) - ) + (let ((f28-1 (* 1.05 (/ (* -60.0 arg3) (* (the float (+ (-> (ja-group) data 0 length) -1)) (ja-step 0)))))) (until v1-40 (+! f30-1 (* (-> arg0 shove-back) f28-1 (-> *display* seconds-per-frame))) (set! s2-1 (target-hit-push s3-1 s1-1 f30-1 (* (-> arg0 shove-back) f28-1) arg0)) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-40 (or (ja-done? 0) (and arg1 (logtest? (-> self control status) (cshape-moving-flags onsurf))))) ) (while (and (or (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) s2-1) (!= s2-1 'stuck)) @@ -1121,16 +1054,8 @@ (defbehavior target-death-anim target ((arg0 spool-anim)) (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 76))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 76)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 76)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-deatha-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if arg0 (spool-push *art-control* (-> arg0 name) 0 self (the-as float -99.0)) @@ -1144,11 +1069,7 @@ ) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) 0 (none) @@ -1246,16 +1167,16 @@ (set! (-> self control unknown-surface00) *dive-mods*) (set! (-> self control dynam gravity-max) 6144.0) (set! (-> self control dynam gravity-length) 6144.0) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 0.7) (gp-3 (-> self skel root-channel 0)) ) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 93))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim eichar-swim-walk-to-down-ja)) (set! (-> gp-3 param 0) (ja-aframe (the-as float 73.0) 0)) (let ((f30-1 (seek f30-0 (the-as float 0.05) (* 1.5 (-> *display* seconds-per-frame))))) (set! (-> gp-3 param 1) f30-1) (set! (-> gp-3 frame-num) 0.0) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 93)) num-func-seek!) + (joint-control-channel-group! gp-3 (the-as art-joint-anim eichar-swim-walk-to-down-ja) num-func-seek!) (until (ja-done? 0) (suspend) (let ((gp-4 (-> self skel root-channel 0))) @@ -1366,25 +1287,12 @@ (none) ) ) - (target-falling-anim (seconds 0.1) 99) - (ja-channel-push! 1 90) - (let ((a0-75 (-> self skel root-channel 0))) - (set! (-> a0-75 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-75 param 0) 0.5) - (set! (-> a0-75 frame-num) 0.0) - (joint-control-channel-group! a0-75 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-loop!) - ) + (target-falling-anim (seconds 0.1) (seconds 0.33)) + (ja-channel-push! 1 (seconds 0.3)) + (ja-no-eval :group! eichar-launch-jump-loop-ja :num! (loop! 0.5) :frame-num 0.0) (let ((gp-12 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-12) (seconds 0.8)) - (let ((a0-76 (-> self skel root-channel 0))) - (set! (-> a0-76 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-76 param 0) 0.5) - (joint-control-channel-group-eval! - a0-76 - (the-as art-joint-anim (-> self draw art-group data 43)) - num-func-loop! - ) - ) + (ja :group! eichar-launch-jump-loop-ja :num! (loop! 0.5)) (suspend) ) ) @@ -1392,23 +1300,11 @@ ) (('target-hit-ground-hard) (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((a0-81 (-> self skel root-channel 0))) - (set! (-> a0-81 frame-group) (the-as art-joint-anim (-> self draw art-group data 77))) - (set! (-> a0-81 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 77)) data 0 length) -1)) - ) - (set! (-> a0-81 param 1) 1.0) - (set! (-> a0-81 frame-num) 0.0) - (joint-control-channel-group! a0-81 (the-as art-joint-anim (-> self draw art-group data 77)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-death-painful-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (('sharkey) diff --git a/goal_src/engine/target/target-util.gc b/goal_src/engine/target/target-util.gc index 3674dad862..685baef1d8 100644 --- a/goal_src/engine/target/target-util.gc +++ b/goal_src/engine/target/target-util.gc @@ -9,16 +9,14 @@ ;; DECOMP BEGINS -(defskelgroup *jchar-sg* eichar - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 3) - :longest-edge (meters 1) - :shadow 2 - :texture-level 2 - :sort 1 - ) +(defskelgroup *jchar-sg* eichar eichar-lod0-jg -1 + ((eichar-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3) + :longest-edge (meters 1) + :shadow eichar-shadow-mg + :texture-level 2 + :sort 1 + ) (define *target-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -768,11 +766,7 @@ (when (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-15 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-15 (ja-group))) (or (not (or (= v1-15 (-> self draw art-group data 59)) (= v1-15 (-> self draw art-group data 60)) (= v1-15 (-> self draw art-group data 61)) @@ -1094,11 +1088,7 @@ (set! (-> arg0 group 4) arg6) (dotimes (s3-0 3) (set! (-> arg0 chan s3-0) (+ arg1 s3-0)) - (let ((s2-0 (-> self skel root-channel (-> arg0 chan s3-0)))) - (set! (-> s2-0 frame-interp) (fabs (-> arg0 blend s3-0))) - (joint-control-channel-group-eval! s2-0 (the-as art-joint-anim arg2) num-func-identity) - (set! (-> s2-0 frame-num) 0.0) - ) + (ja :chan (-> arg0 chan s3-0) :group! arg2 :num! min :frame-interp (fabs (-> arg0 blend s3-0))) ) arg0 ) @@ -1114,34 +1104,14 @@ (set! (-> arg0 blend 2) (seek (the-as float (-> arg0 blend 2)) f30-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-7))))) ) ) - (cond - ((>= (-> arg0 blend 1) 0.0) - (let ((v1-4 (-> self skel root-channel (-> arg0 chan 1)))) - (set! (-> v1-4 frame-interp) (fabs (-> arg0 blend 1))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> arg0 group 1))) - ) - ) - (else - (let ((v1-7 (-> self skel root-channel (-> arg0 chan 1)))) - (set! (-> v1-7 frame-interp) (fabs (-> arg0 blend 1))) - (set! (-> v1-7 frame-group) (the-as art-joint-anim (-> arg0 group 2))) - ) + (if (>= (-> arg0 blend 1) 0.0) + (ja :chan (-> arg0 chan 1) :group! (-> arg0 group 1) :frame-interp (fabs (-> arg0 blend 1))) + (ja :chan (-> arg0 chan 1) :group! (-> arg0 group 2) :frame-interp (fabs (-> arg0 blend 1))) ) - ) - (cond - ((>= (-> arg0 blend 2) 0.0) - (let ((v1-10 (-> self skel root-channel (-> arg0 chan 2)))) - (set! (-> v1-10 frame-interp) (fabs (-> arg0 blend 2))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> arg0 group 4))) - ) - ) - (else - (let ((v1-13 (-> self skel root-channel (-> arg0 chan 2)))) - (set! (-> v1-13 frame-interp) (fabs (-> arg0 blend 2))) - (set! (-> v1-13 frame-group) (the-as art-joint-anim (-> arg0 group 3))) - ) + (if (>= (-> arg0 blend 2) 0.0) + (ja :chan (-> arg0 chan 2) :group! (-> arg0 group 4) :frame-interp (fabs (-> arg0 blend 2))) + (ja :chan (-> arg0 chan 2) :group! (-> arg0 group 3) :frame-interp (fabs (-> arg0 blend 2))) ) - ) 0 (none) ) diff --git a/goal_src/engine/target/target.gc b/goal_src/engine/target/target.gc index ce4c2937f6..049eb8e862 100644 --- a/goal_src/engine/target/target.gc +++ b/goal_src/engine/target/target.gc @@ -21,165 +21,73 @@ ;; DECOMP BEGINS -(defbehavior target-falling-anim target ((arg0 time-frame) (arg1 int)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) +(defbehavior target-falling-anim target ((arg0 time-frame) (arg1 time-frame)) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 38)) (= v1-2 (-> self draw art-group data 62))) + ((or (= v1-2 eichar-jump-loop-ja) (= v1-2 eichar-attack-uppercut-ja)) ) - ((let ((v1-8 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-8 (-> self draw art-group data 44)) (= v1-8 (-> self draw art-group data 45))) - ) - (ja-channel-push! 1 45) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) + ((let ((v1-8 (ja-group))) + (or (= v1-8 eichar-edge-grab-stance0-ja) (= v1-8 eichar-edge-grab-stance1-ja)) ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-edge-grab-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 50) - ) + ((ja-group? eichar-edge-grab-off-ja) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 86) - ) - (ja-channel-push! 1 45) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> s5-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe (the-as float 20.0) 0)) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + ((ja-group? eichar-yellow-jumping-blast-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 20.0) 0)) (until (ja-done? 0) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) - (set! (-> a0-33 param 1) 1.0) - (joint-control-channel-group-eval! a0-33 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (suspend) ) ) (else (ja-channel-push! 1 arg1) - (let ((v1-82 (-> self skel root-channel 0))) - (set! (-> v1-82 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - ) + (ja :group! eichar-jump-loop-ja) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) ) ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-42 param 0) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) (let ((s5-1 (-> *display* base-frame-counter))) (while (or (= arg0 -1) (< (- (-> *display* base-frame-counter) s5-1) arg0)) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-43 param 0) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) ) #f ) (defbehavior target-falling-anim-trans target () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (b! - (or (= v1-2 (-> self draw art-group data 38)) (= v1-2 (-> self draw art-group data 35))) - cfg-7 - ) - ) - (ja-channel-push! 1 99) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (let ((v1-2 (ja-group))) + (b! (or (= v1-2 eichar-jump-loop-ja) (= v1-2 eichar-jump-land-ja)) cfg-7 :delay (empty-form)) ) + (ja-channel-push! 1 (seconds 0.33)) + (ja :group! eichar-jump-loop-ja) (b! #t cfg-23 :delay (nop!)) (label cfg-7) (cond - ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) - ) - (ja-channel-push! 1 6) - (let ((v1-21 (-> self skel root-channel 0))) - (set! (-> v1-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - ) + ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) (not (ja-group? eichar-jump-land-ja))) + (ja-channel-push! 1 (seconds 0.02)) + (ja :group! eichar-jump-land-ja) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) + ((ja-group? eichar-jump-loop-ja) + (ja :num! (loop!)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? eichar-jump-land-ja) + (ja :num! (seek!)) ) ) (label cfg-23) @@ -227,16 +135,12 @@ ) (defbehavior target-hit-ground-anim target ((arg0 symbol)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 63)) - (= v1-2 (-> self draw art-group data 64)) - (= v1-2 (-> self draw art-group data 66)) - (= v1-2 (-> self draw art-group data 67)) + ((or (= v1-2 eichar-flop-down-ja) + (= v1-2 eichar-flop-down-loop-ja) + (= v1-2 eichar-moving-flop-down-ja) + (= v1-2 eichar-moving-flop-down-loop-ja) ) (let ((gp-0 (or (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (< (-> self control unknown-float01) 61440.0) @@ -252,14 +156,14 @@ (ja-channel-set! 1) (let ((s5-0 (-> self skel root-channel 0))) (set! (-> s5-0 frame-group) (the-as art-joint-anim (if gp-0 - (-> self draw art-group data 65) - (-> self draw art-group data 68) + eichar-flop-down-land-ja + eichar-moving-flop-down-land-ja ) ) ) (set! (-> s5-0 param 0) (the float (+ (-> (the-as art-joint-anim (if gp-0 - (-> self draw art-group data 65) - (-> self draw art-group data 68) + eichar-flop-down-land-ja + eichar-moving-flop-down-land-ja ) ) data @@ -276,8 +180,8 @@ (joint-control-channel-group! s5-0 (the-as art-joint-anim (if gp-0 - (-> self draw art-group data 65) - (-> self draw art-group data 68) + eichar-flop-down-land-ja + eichar-moving-flop-down-land-ja ) ) num-func-seek! @@ -331,233 +235,94 @@ ) #f ) - ((let ((v1-95 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (or (= v1-95 (-> self draw art-group data 38)) - (= v1-95 (-> self draw art-group data 42)) - (= v1-95 (-> self draw art-group data 43)) - ) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (>= (ja-aframe-num 0) 38.0) - ) + ((let ((v1-95 (ja-group))) + (or (or (= v1-95 eichar-jump-loop-ja) (= v1-95 eichar-launch-jump-ja) (= v1-95 eichar-launch-jump-loop-ja)) + (and (ja-group? eichar-jump-ja) (>= (ja-aframe-num 0) 38.0)) ) ) - (ja-channel-push! 1 6) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.02)) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (>= (ja-aframe-num 0) 35.0) - ) + ((and (ja-group? eichar-jump-ja) (>= (ja-aframe-num 0) 35.0)) (ja-channel-set! 1) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) - (set! (-> a0-44 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) - ) - (set! (-> a0-44 param 1) 1.0) - (set! (-> a0-44 frame-num) 0.0) - (joint-control-channel-group! a0-44 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-short-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (the float (+ (-> a0-45 frame-group data 0 length) -1))) - (set! (-> a0-45 param 1) 1.0) - (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 50.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-187 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-187 (-> self draw art-group data 34)) (= v1-187 (-> self draw art-group data 41))) + ((let ((v1-187 (ja-group))) + (or (= v1-187 eichar-jump-ja) (= v1-187 eichar-duck-high-jump-ja)) ) (ja-channel-set! 1) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 38.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-short-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 38.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-61 (-> self skel root-channel 0))) - (set! (-> a0-61 param 0) (the float (+ (-> a0-61 frame-group data 0 length) -1))) - (set! (-> a0-61 param 1) 1.0) - (joint-control-channel-group-eval! a0-61 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 50.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-65 (-> self skel root-channel 0))) - (set! (-> a0-65 param 0) (the float (+ (-> a0-65 frame-group data 0 length) -1))) - (set! (-> a0-65 param 1) 1.0) - (joint-control-channel-group-eval! a0-65 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-242 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-242 (-> self draw art-group data 73)) (= v1-242 (-> self draw art-group data 74))) + ((let ((v1-242 (ja-group))) + (or (= v1-242 eichar-hit-from-front-ja) (= v1-242 eichar-hit-from-back-ja)) ) - (let ((f30-2 (the-as float (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 74) - ) + (let ((f30-2 (the-as float (if (ja-group? eichar-hit-from-back-ja) 24576.0 -24576.0 ) ) ) ) - (ja-channel-push! 1 12) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) - (set! (-> gp-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) - ) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 38.0) 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-jump-short-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 38.0) 0)) (until (ja-done? 0) (set-forward-vel f30-2) (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 50.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-86 (-> self skel root-channel 0))) - (set! (-> a0-86 param 0) (the float (+ (-> a0-86 frame-group data 0 length) -1))) - (set! (-> a0-86 param 1) 1.0) - (joint-control-channel-group-eval! a0-86 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-305 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-305 (-> self draw art-group data 34)) - (= v1-305 (-> self draw art-group data 56)) - (= v1-305 (-> self draw art-group data 57)) - (= v1-305 (-> self draw art-group data 58)) - (= v1-305 (-> self draw art-group data 68)) - (= v1-305 (-> self draw art-group data 65)) - (= v1-305 (-> self draw art-group data 62)) + ((let ((v1-305 (ja-group))) + (or (= v1-305 eichar-jump-ja) + (= v1-305 eichar-attack-from-jump-ja) + (= v1-305 eichar-attack-from-jump-loop-ja) + (= v1-305 eichar-attack-from-jump-end-ja) + (= v1-305 eichar-moving-flop-down-land-ja) + (= v1-305 eichar-flop-down-land-ja) + (= v1-305 eichar-attack-uppercut-ja) ) ) - (ja-channel-push! 1 12) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe (the-as float 42.0) 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 42.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-113 (-> self skel root-channel 0))) - (set! (-> a0-113 param 0) (the float (+ (-> a0-113 frame-group data 0 length) -1))) - (set! (-> a0-113 param 1) 1.0) - (joint-control-channel-group-eval! a0-113 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-119 (-> self skel root-channel 0))) - (set! (-> a0-119 param 0) (the float (+ (-> a0-119 frame-group data 0 length) -1))) - (set! (-> a0-119 param 1) 1.0) - (joint-control-channel-group! a0-119 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? eichar-jump-land-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -652,235 +417,93 @@ (let ((s5-0 22) (gp-0 (new 'stack 'ground-tween-info)) ) - (let ((v1-3 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-3 (ja-group))) (cond - ((or (= v1-3 (-> self draw art-group data 89)) (= v1-3 (-> self draw art-group data 90))) + ((or (= v1-3 eichar-wade-shallow-walk-ja) (= v1-3 eichar-wade-deep-walk-ja)) (set! s5-0 45) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 71) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 72))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 72)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 72)) num-func-seek!) - ) + ((ja-group? eichar-wheel-flip-ja) + (ja-no-eval :group! eichar-wheel-flip-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) + ((ja-group? eichar-attack-from-stance-ja) (cond ((rand-vu-percent? (the-as float 0.3)) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 53)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-alt-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 52)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 79))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 79)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 79)) num-func-seek!) - ) + ((ja-group? eichar-smack-surface-ja) + (ja-no-eval :group! eichar-smack-surface-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 84) - ) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 85))) - (set! (-> a0-37 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 85)) data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 85)) num-func-seek!) - ) + ((ja-group? eichar-yellow-running-blast-ja) + (ja-no-eval :group! eichar-yellow-running-blast-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! s5-0 0) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) + ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - ) - (set! (-> s4-0 param 0) (the float (+ (-> (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! - s4-0 - (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) + (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 ) - num-func-seek! - ) - ) (until (ja-done? 0) (seek! (-> self control unknown-float81) (the-as float 0.0) (-> *display* seconds-per-frame)) (suspend) - (let ((a0-50 (-> self skel root-channel 0))) - (set! (-> a0-50 param 0) (the float (+ (-> a0-50 frame-group data 0 length) -1))) - (set! (-> a0-50 param 1) 1.0) - (joint-control-channel-group-eval! a0-50 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (rot->dir-targ! (-> self control)) ) - ((let ((v1-206 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-206 (-> self draw art-group data 31)) (= v1-206 (-> self draw art-group data 32))) - ) - (ja-channel-push! 1 12) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - (set! (-> a0-62 param 0) 0.0) - (set! (-> a0-62 param 1) 1.2) - (set! (-> a0-62 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-62 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) + ((let ((v1-206 (ja-group))) + (or (= v1-206 eichar-duck-stance-ja) (= v1-206 eichar-duck-walk-ja)) ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-stance-to-duck-ja :num! (seek! 0.0 1.2) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) 0.0) - (set! (-> a0-63 param 1) 1.2) - (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 1.2)) ) (set! s5-0 12) ) - ((or (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (begin (set! s5-0 45) (< 0.5 (-> self skel root-channel 6 frame-interp))) - ) - (let ((v1-243 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-243 (-> self draw art-group data 28)) - (= v1-243 (-> self draw art-group data 29)) - (= v1-243 (-> self draw art-group data 54)) - (= v1-243 (-> self draw art-group data 55)) + ((or (and (ja-group? eichar-walk-ja) (begin (set! s5-0 45) (< 0.5 (-> self skel root-channel 6 frame-interp)))) + (let ((v1-243 (ja-group))) + (or (= v1-243 eichar-run-squash-ja) + (= v1-243 eichar-run-squash-weak-ja) + (= v1-243 eichar-attack-from-stance-run-end-ja) + (= v1-243 eichar-attack-from-stance-run-alt-end-ja) ) ) ) (let ((f30-1 (the-as float (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) + ((ja-group? eichar-walk-ja) (let ((f0-57 (+ 50.0 (* 0.8333333 (+ -25.0 (ja-aframe-num 0)))))) (- f0-57 (* (the float (the int (/ f0-57 50.0))) 50.0)) ) @@ -893,124 +516,70 @@ ) ) (set! s5-0 45) - (ja-channel-push! 3 s5-0) + (ja-channel-push! 3 (the-as time-frame s5-0)) (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 4)) - (the-as uint (-> self draw art-group data 13)) - (the-as uint (-> self draw art-group data 16)) - (the-as uint (-> self draw art-group data 7)) - (the-as uint (-> self draw art-group data 10)) - ) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 num-func) num-func-identity) - (set! (-> s4-1 frame-num) (ja-aframe f30-1 0)) + (the-as uint eichar-run-to-stance-loop-ja) + (the-as uint eichar-run-to-stance-loop-up-ja) + (the-as uint eichar-run-to-stance-loop-down-ja) + (the-as uint eichar-run-to-stance-loop-left-ja) + (the-as uint eichar-run-to-stance-loop-right-ja) ) + (ja :num-func num-func-identity :frame-num (ja-aframe f30-1 0)) ) - (let ((a0-89 (-> self skel root-channel 1))) - (set! (-> a0-89 param 0) 0.0) - (joint-control-channel-group-eval! a0-89 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-90 (-> self skel root-channel 2))) - (set! (-> a0-90 param 0) 0.0) - (joint-control-channel-group-eval! a0-90 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) (dotimes (s4-2 3) (until (ja-done? 0) (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-92 (-> self skel root-channel 0))) - (set! (-> a0-92 param 0) (the float (+ (-> a0-92 frame-group data 0 length) -1))) - (set! (-> a0-92 param 1) 1.0) - (joint-control-channel-group-eval! a0-92 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-93 (-> self skel root-channel 1))) - (set! (-> a0-93 param 0) 0.0) - (joint-control-channel-group-eval! a0-93 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-94 (-> self skel root-channel 2))) - (set! (-> a0-94 param 0) 0.0) - (joint-control-channel-group-eval! a0-94 (the-as art-joint-anim #f) num-func-chan) - ) - ) - (let ((v1-298 (-> self skel root-channel 0))) - (set! (-> v1-298 num-func) num-func-identity) - (set! (-> v1-298 frame-num) 0.0) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) ) + (ja :num-func num-func-identity :frame-num 0.0) ) (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 3)) - (the-as uint (-> self draw art-group data 12)) - (the-as uint (-> self draw art-group data 15)) - (the-as uint (-> self draw art-group data 6)) - (the-as uint (-> self draw art-group data 9)) + (the-as uint eichar-run-to-stance-ja) + (the-as uint eichar-run-to-stance-up-ja) + (the-as uint eichar-run-to-stance-down-ja) + (the-as uint eichar-run-to-stance-left-ja) + (the-as uint eichar-run-to-stance-right-ja) ) (until (ja-done? 0) (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-99 (-> self skel root-channel 0))) - (set! (-> a0-99 param 0) (the float (+ (-> a0-99 frame-group data 0 length) -1))) - (set! (-> a0-99 param 1) 1.0) - (joint-control-channel-group-eval! a0-99 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-100 (-> self skel root-channel 1))) - (set! (-> a0-100 param 0) 0.0) - (joint-control-channel-group-eval! a0-100 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-101 (-> self skel root-channel 2))) - (set! (-> a0-101 param 0) 0.0) - (joint-control-channel-group-eval! a0-101 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) ) ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (>= (-> self control unknown-float01) 5734.4) - ) + ((and (ja-group? eichar-walk-ja) (>= (-> self control unknown-float01) 5734.4)) (set! s5-0 45) ) ) ) - (if (not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (ja-group-size) 3) - ) - ) - (ja-channel-push! 3 s5-0) + (if (not (and (ja-group? eichar-stance-loop-ja) (= (ja-group-size) 3))) + (ja-channel-push! 3 (the-as time-frame s5-0)) ) (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 5)) - (the-as uint (-> self draw art-group data 14)) - (the-as uint (-> self draw art-group data 17)) - (the-as uint (-> self draw art-group data 8)) - (the-as uint (-> self draw art-group data 11)) + (the-as uint eichar-stance-loop-ja) + (the-as uint eichar-stance-loop-up-ja) + (the-as uint eichar-stance-loop-down-ja) + (the-as uint eichar-stance-loop-left-ja) + (the-as uint eichar-stance-loop-right-ja) ) - (while #t + (loop (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-115 (-> self skel root-channel 0))) - (set! (-> a0-115 param 0) 1.0) - (joint-control-channel-group-eval! a0-115 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-116 (-> self skel root-channel 1))) - (set! (-> a0-116 param 0) 0.0) - (joint-control-channel-group-eval! a0-116 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-117 (-> self skel root-channel 2))) - (set! (-> a0-117 param 0) 0.0) - (joint-control-channel-group-eval! a0-117 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) (if (can-play-stance-amibent?) (go target-stance-ambient) ) @@ -1111,289 +680,170 @@ (gp-0 #f) ) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 33) - ) + ((ja-group? eichar-turn-around-ja) (set! f30-0 1.0) - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - (ja-channel-push! 7 22) + ((ja-group? eichar-duck-roll-ja) + (ja-channel-push! 7 (seconds 0.075)) (set! f30-0 1.0) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) + ((ja-group? eichar-attack-from-stance-ja) (let ((f30-1 (fmax 0.8 (fmin 1.0 (* 0.000048828126 (-> self control unknown-float01)))))) (cond ((and (rand-vu-percent? (the-as float 0.3)) (< 20480.0 (-> self control unknown-float01))) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-0 param 1) f30-1) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-alt-end-ja + :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-1 param 1) f30-1) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 55))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 55)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) f30-1) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 55)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1)) ) + (ja-no-eval :group! eichar-attack-from-stance-run-alt-end-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) f30-1) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-1)) ) ) (else - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-2 param 1) f30-1) - (set! (-> s5-2 frame-num) 0.0) - (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-end-ja + :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-3 param 1) f30-1) - (joint-control-channel-group-eval! s5-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 54))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 54)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) f30-1) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 54)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1)) ) + (ja-no-eval :group! eichar-attack-from-stance-run-end-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) f30-1) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-1)) ) ) ) ) - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) (set! f30-0 1.0) (set! f28-0 30.0) ) (else - (let ((v1-108 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-108 (ja-group))) (cond - ((or (= v1-108 (-> self draw art-group data 59)) (= v1-108 (-> self draw art-group data 60))) + ((or (= v1-108 eichar-attack-punch-ja) (= v1-108 eichar-attack-punch-end-ja)) (set! f30-0 1.0) (set! f28-0 30.0) - (ja-channel-push! 7 45) + (ja-channel-push! 7 (seconds 0.15)) ) - ((let ((v1-116 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-116 (-> self draw art-group data 84)) (= v1-116 (-> self draw art-group data 85))) + ((let ((v1-116 (ja-group))) + (or (= v1-116 eichar-yellow-running-blast-ja) (= v1-116 eichar-yellow-running-blast-end-ja)) ) (set! f30-0 1.0) (set! f28-0 26.0) - (ja-channel-push! 7 30) + (ja-channel-push! 7 (seconds 0.1)) ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + ((and (ja-group? eichar-walk-ja) (= (-> self skel root-channel 0) (-> self skel channel))) (set! f28-0 (ja-aframe-num 0)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 102) - ) + ((ja-group? (-> self draw art-group data 102)) (set! f28-0 (ja-aframe-num 0)) - (ja-channel-push! 7 30) + (ja-channel-push! 7 (seconds 0.1)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 89) - ) + ((ja-group? eichar-wade-shallow-walk-ja) (set! f28-0 (ja-aframe-num 0)) - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) ) - ((let ((v1-146 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and (or (or (= v1-146 (-> self draw art-group data 38)) - (= v1-146 (-> self draw art-group data 71)) - (= v1-146 (-> self draw art-group data 58)) - (= v1-146 (-> self draw art-group data 62)) - (= v1-146 (-> self draw art-group data 65)) - (= v1-146 (-> self draw art-group data 68)) + ((let ((v1-146 (ja-group))) + (and (or (or (= v1-146 eichar-jump-loop-ja) + (= v1-146 eichar-wheel-flip-ja) + (= v1-146 eichar-attack-from-jump-end-ja) + (= v1-146 eichar-attack-uppercut-ja) + (= v1-146 eichar-flop-down-land-ja) + (= v1-146 eichar-moving-flop-down-land-ja) ) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (< 30.0 (ja-aframe-num 0)) - ) + (and (ja-group? eichar-jump-ja) (< 30.0 (ja-aframe-num 0))) ) (< 12288.0 (-> self control unknown-float01)) ) ) - (let ((s5-4 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (let ((s5-4 (ja-group)) (f30-2 (-> self control ground-impact-vel)) ) - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (((-> self draw art-group data 71) (-> self draw art-group data 58)) - (ja-channel-push! 1 15) + (case (ja-group) + ((eichar-wheel-flip-ja eichar-attack-from-jump-end-ja) + (ja-channel-push! 1 (seconds 0.05)) ) (else (ja-channel-set! 1) ) ) (cond - ((< (the-as float (if (= s5-4 (-> self draw art-group data 34)) + ((< (the-as float (if (= s5-4 eichar-jump-ja) 77824.0 102400.0 ) ) f30-2 ) - (let ((s5-5 (-> self skel root-channel 0))) - (set! (-> s5-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - (set! (-> s5-5 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-5 param 1) 1.00001) - (set! (-> s5-5 frame-num) 0.0) - (joint-control-channel-group! s5-5 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) - ) + (ja-no-eval :group! eichar-run-squash-ja + :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-6 (-> self skel root-channel 0))) - (set! (-> s5-6 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-6 param 1) 1.00001) - (joint-control-channel-group-eval! s5-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001)) ) ) - ((< (the-as float (if (= s5-4 (-> self draw art-group data 34)) + ((< (the-as float (if (= s5-4 eichar-jump-ja) 61440.0 102400.0 ) ) f30-2 ) - (let ((s5-7 (-> self skel root-channel 0))) - (set! (-> s5-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - (set! (-> s5-7 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-7 param 1) 1.00001) - (set! (-> s5-7 frame-num) (ja-aframe (the-as float -1.0) 0)) - (joint-control-channel-group! s5-7 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) - ) + (ja-no-eval :group! eichar-run-squash-ja + :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001) + :frame-num (ja-aframe (the-as float -1.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((s5-8 (-> self skel root-channel 0))) - (set! (-> s5-8 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-8 param 1) 1.00001) - (joint-control-channel-group-eval! s5-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001)) ) ) (else - (let ((s5-9 (-> self skel root-channel 0))) - (set! (-> s5-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) - (set! (-> s5-9 param 0) (ja-aframe (the-as float 4.0) 0)) - (set! (-> s5-9 param 1) 1.00001) - (set! (-> s5-9 frame-num) 0.0) - (joint-control-channel-group! s5-9 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) - ) + (ja-no-eval :group! eichar-run-squash-weak-ja + :num! (seek! (ja-aframe (the-as float 4.0) 0) 1.00001) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-10 (-> self skel root-channel 0))) - (set! (-> s5-10 param 0) (ja-aframe (the-as float 4.0) 0)) - (set! (-> s5-10 param 1) 1.00001) - (joint-control-channel-group-eval! s5-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 4.0) 0) 1.00001)) ) ) ) ) (until (ja-done? 0) (suspend) - (let ((a0-116 (-> self skel root-channel 0))) - (set! (-> a0-116 param 0) (the float (+ (-> a0-116 frame-group data 0 length) -1))) - (set! (-> a0-116 param 1) - (/ (* (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)) + ) ) - ) - (joint-control-channel-group-eval! a0-116 (the-as art-joint-anim #f) num-func-seek!) - ) + ) ) (set! f28-0 30.0) (set! f30-0 1.0) (ja-channel-set! 7) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (ja-channel-push! 7 15) + ((ja-group? eichar-jump-ja) + (ja-channel-push! 7 (seconds 0.05)) (set! gp-0 #t) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (ja-channel-push! 7 45) + ((ja-group? eichar-smack-surface-ja) + (ja-channel-push! 7 (seconds 0.15)) ) (else - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) ) ) ) @@ -1401,75 +851,44 @@ ) (set! (-> self skel root-channel 3 command) 'push) (set! (-> self skel root-channel 6 command) 'stack) - (let ((v1-265 (-> self skel root-channel 0))) - (set! (-> v1-265 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - ) + (ja :group! eichar-walk-ja) (let ((f28-1 (ja-aframe f28-0 0))) - (let ((s5-11 (-> self skel root-channel 0))) - (set! (-> s5-11 frame-interp) 0.0) - (set! (-> s5-11 dist) (-> *TARGET-bank* walk-cycle-dist)) - (joint-control-channel-group-eval! - s5-11 - (the-as art-joint-anim (-> self draw art-group data 23)) - num-func-identity + (ja :group! eichar-walk-ja :num! (identity f28-1) :frame-interp 0.0 :dist (-> *TARGET-bank* walk-cycle-dist)) + (ja :chan 1 + :group! eichar-walk-down-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-down-cycle-dist) ) - (set! (-> s5-11 frame-num) f28-1) - ) - (let ((s5-12 (-> self skel root-channel 1))) - (set! (-> s5-12 frame-interp) 0.0) - (set! (-> s5-12 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (joint-control-channel-group-eval! - s5-12 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity + (ja :chan 2 + :group! eichar-walk-left-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-side-cycle-dist) ) - (set! (-> s5-12 frame-num) f28-1) - ) - (let ((s5-13 (-> self skel root-channel 2))) - (set! (-> s5-13 frame-interp) 0.0) - (set! (-> s5-13 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (joint-control-channel-group-eval! - s5-13 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity + (ja :chan 4 + :group! eichar-run-down-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* run-down-cycle-dist) ) - (set! (-> s5-13 frame-num) f28-1) - ) - (let ((s5-14 (-> self skel root-channel 4))) - (set! (-> s5-14 frame-interp) 0.0) - (set! (-> s5-14 dist) (-> *TARGET-bank* run-down-cycle-dist)) - (joint-control-channel-group-eval! - s5-14 - (the-as art-joint-anim (-> self draw art-group data 20)) - num-func-identity + (ja :chan 5 + :group! eichar-run-left-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* run-side-cycle-dist) ) - (set! (-> s5-14 frame-num) f28-1) - ) - (let ((s5-15 (-> self skel root-channel 5))) - (set! (-> s5-15 frame-interp) 0.0) - (set! (-> s5-15 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (joint-control-channel-group-eval! - s5-15 - (the-as art-joint-anim (-> self draw art-group data 22)) - num-func-identity + (ja :chan 3 + :group! eichar-run-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* run-cycle-dist) ) - (set! (-> s5-15 frame-num) f28-1) - ) - (let ((s5-16 (-> self skel root-channel 3))) - (set! (-> s5-16 frame-interp) 0.0) - (set! (-> s5-16 dist) (-> *TARGET-bank* run-cycle-dist)) - (joint-control-channel-group-eval! - s5-16 - (the-as art-joint-anim (-> self draw art-group data 18)) - num-func-identity - ) - (set! (-> s5-16 frame-num) f28-1) - ) ) (let ((f28-2 0.0) (f26-1 0.0) ) - (while #t + (loop (let ((f22-0 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control unknown-float61))))) (f24-0 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control unknown-float62))))) ) @@ -1496,84 +915,59 @@ ) (cond ((>= f28-2 0.0) - (let ((v1-329 (-> self skel root-channel 1))) - (set! (-> v1-329 frame-interp) (fabs f28-2)) - (set! (-> v1-329 dist) (-> *TARGET-bank* walk-up-cycle-dist)) - (set! (-> v1-329 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - ) - (let ((v1-332 (-> self skel root-channel 4))) - (set! (-> v1-332 frame-interp) (fabs f28-2)) - (set! (-> v1-332 dist) (-> *TARGET-bank* run-up-cycle-dist)) - (set! (-> v1-332 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) - ) + (ja :chan 1 :group! eichar-walk-up-ja :frame-interp (fabs f28-2) :dist (-> *TARGET-bank* walk-up-cycle-dist)) + (ja :chan 4 :group! eichar-run-up-ja :frame-interp (fabs f28-2) :dist (-> *TARGET-bank* run-up-cycle-dist)) ) (else - (let ((v1-335 (-> self skel root-channel 1))) - (set! (-> v1-335 frame-interp) (fabs f28-2)) - (set! (-> v1-335 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! (-> v1-335 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) - (let ((v1-338 (-> self skel root-channel 4))) - (set! (-> v1-338 frame-interp) (fabs f28-2)) - (set! (-> v1-338 dist) (-> *TARGET-bank* run-down-cycle-dist)) - (set! (-> v1-338 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - ) + (ja :chan 1 + :group! eichar-walk-down-ja + :frame-interp (fabs f28-2) + :dist (-> *TARGET-bank* walk-down-cycle-dist) + ) + (ja :chan 4 + :group! eichar-run-down-ja + :frame-interp (fabs f28-2) + :dist (-> *TARGET-bank* run-down-cycle-dist) + ) ) ) (cond ((>= f26-1 0.0) - (let ((v1-341 (-> self skel root-channel 2))) - (set! (-> v1-341 frame-interp) (fabs f26-1)) - (set! (-> v1-341 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-341 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - (let ((v1-344 (-> self skel root-channel 5))) - (set! (-> v1-344 frame-interp) (fabs f26-1)) - (set! (-> v1-344 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (set! (-> v1-344 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) + (ja :chan 2 + :group! eichar-walk-right-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) + (ja :chan 5 + :group! eichar-run-right-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* run-side-cycle-dist) + ) ) (else - (let ((v1-347 (-> self skel root-channel 2))) - (set! (-> v1-347 frame-interp) (fabs f26-1)) - (set! (-> v1-347 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-347 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - ) - (let ((v1-350 (-> self skel root-channel 5))) - (set! (-> v1-350 frame-interp) (fabs f26-1)) - (set! (-> v1-350 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (set! (-> v1-350 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - ) + (ja :chan 2 + :group! eichar-walk-left-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) + (ja :chan 5 + :group! eichar-run-left-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* run-side-cycle-dist) + ) ) ) (set! (-> self skel root-channel 6 frame-interp) f30-0) (let* ((f1-19 (dummy-9 (-> self skel))) (f0-92 (/ (-> self control unknown-float01) (* 60.0 (/ f1-19 (-> *TARGET-bank* run-cycle-length))))) - (a0-182 (-> self skel root-channel 0)) ) - (set! (-> a0-182 param 0) f0-92) - (joint-control-channel-group-eval! a0-182 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-183 (-> self skel root-channel 1))) - (set! (-> a0-183 param 0) 0.0) - (joint-control-channel-group-eval! a0-183 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-184 (-> self skel root-channel 2))) - (set! (-> a0-184 param 0) 0.0) - (joint-control-channel-group-eval! a0-184 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-185 (-> self skel root-channel 3))) - (set! (-> a0-185 param 0) 0.0) - (joint-control-channel-group-eval! a0-185 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-186 (-> self skel root-channel 4))) - (set! (-> a0-186 param 0) 0.0) - (joint-control-channel-group-eval! a0-186 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-187 (-> self skel root-channel 5))) - (set! (-> a0-187 param 0) 0.0) - (joint-control-channel-group-eval! a0-187 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (loop! f0-92)) ) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) + (ja :chan 3 :num! (chan 0)) + (ja :chan 4 :num! (chan 0)) + (ja :chan 5 :num! (chan 0)) (if (and gp-0 (!= (-> self skel root-channel 0) (-> self skel channel))) (ja-blend-eval) ) @@ -1636,24 +1030,13 @@ ) :code (behavior () - (ja-channel-push! 1 12) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 33)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (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)) (TODO-RENAME-9 (-> self align)) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 2.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 16 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) ) @@ -1696,31 +1079,14 @@ ) :code (behavior () - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - ) - (ja-channel-push! 1 30) - ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 31)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) + (if (not (ja-group? eichar-duck-stance-ja)) + (ja-channel-push! 1 (seconds 0.1)) ) + (loop + (ja-no-eval :group! eichar-duck-stance-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1843,31 +1209,8 @@ ) ) 0 - (when (and arg1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (and (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - extra - ) - #t - ) - ) - (let ((v1-57 (res-lump-struct - (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - extra - ) - 'collide-offset - vector - :time - (ja-frame-num 0) - ) - ) - ) + (when (and arg1 (ja-group) (and (-> (ja-group) extra) #t)) + (let ((v1-57 (res-lump-struct (-> (ja-group) extra) 'collide-offset vector :time (ja-frame-num 0)))) (cond (v1-57 (set! v0-2 (-> self control unknown-vector13)) @@ -1915,14 +1258,8 @@ ) (logtest? (-> self state-flags) (state-flags sf13)) ) - (let ((v1-13 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and (not (or (= v1-13 (-> self draw art-group data 70)) (= v1-13 (-> self draw art-group data 69)))) - (can-exit-duck?) - ) + (let ((v1-13 (ja-group))) + (and (not (or (= v1-13 eichar-duck-roll-end-ja) (= v1-13 eichar-duck-roll-ja))) (can-exit-duck?)) ) ) (go target-stance) @@ -1958,82 +1295,32 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 70))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 70)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 70)) num-func-seek!) - ) + ((ja-group? eichar-duck-roll-ja) + (ja-no-eval :group! eichar-duck-roll-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + ((and (ja-group? eichar-duck-stance-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 32) - ) - (ja-channel-push! 1 30) + ((ja-group? eichar-duck-walk-ja) + (ja-channel-push! 1 (seconds 0.1)) ) (else - (ja-channel-push! 1 12) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-stance-to-duck-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (while #t - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 31)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-duck-stance-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2049,12 +1336,7 @@ (behavior () (set! (-> self control unknown-float81) 1.0) (target-collide-set! 'duck (the-as float 1.0)) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - ) + (if (not (ja-group? eichar-duck-roll-ja)) (set! (-> self control unknown-surface00) *duck-mods*) ) (none) @@ -2106,54 +1388,28 @@ :code (behavior () (cond - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 32) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + ((and (ja-group? eichar-duck-walk-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (ja-channel-push! 1 135) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 32)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + ((ja-group? eichar-duck-stance-ja) + (ja-channel-push! 1 (seconds 0.45)) + (ja :group! eichar-duck-walk-ja :num! min) ) (else - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 32)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! eichar-duck-walk-ja :num! min) ) ) - (while #t + (loop (if (= (-> self skel root-channel 0) (-> self skel channel)) (set! (-> self control unknown-surface00) *duck-mods*) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) - (fmin 1.0 (/ (-> self control unknown-float01) - (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) - ) - ) - ) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-loop!) - ) + (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) @@ -2242,11 +1498,7 @@ (* 0.003921569 (the float (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton 6))) ) ) - (target-falling-trans #f (the-as time-frame (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 ) @@ -2293,41 +1545,12 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) - (ja-channel-push! 2 15) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) + (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)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-+!) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) + (ja :group! eichar-jump-ja :num! (+!)) + (ja :chan 1 :group! eichar-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -2348,14 +1571,10 @@ ) (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) ) - (let ((a0-10 (-> self skel root-channel 1))) - (set! (-> a0-10 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-10 param 0) 0.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) ) - (target-falling-anim -1 60) + (target-falling-anim -1 (seconds 0.2)) (none) ) :post @@ -2378,41 +1597,16 @@ :code (behavior ((arg0 float) (arg1 float)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 3.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 3.0) 0)) (until (ja-done? 0) (set! (-> self control unknown-dword70) 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-6 param 0) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) (none) ) @@ -2445,11 +1639,7 @@ target-exit :trans (behavior () - (target-falling-trans #f (the-as time-frame (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 ) @@ -2488,40 +1678,16 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 2 15) + (ja-channel-push! 2 (seconds 0.05)) (dummy-10 (-> self skel effect) 'jump-double (the-as float -1.0) -1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 5.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 5.0) 0)) + (ja :chan 1 :group! eichar-jump-forward-ja :num! (chan 0)) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) ) - (target-falling-anim -1 60) + (target-falling-anim -1 (seconds 0.2)) (none) ) :post @@ -2572,11 +1738,7 @@ target-exit :trans (behavior () - (target-falling-trans #f (the-as time-frame (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 ) @@ -2637,49 +1799,22 @@ target-exit :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (if (not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - ) - (ja-channel-push! 1 12) + (if (not (and (ja-group? eichar-duck-stance-ja) (= (-> self skel root-channel 0) (-> self skel channel)))) + (ja-channel-push! 1 (seconds 0.04)) ) (case arg2 (('launch) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) - (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) 0.0) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 42)) num-func-seek!) - ) + (ja-no-eval :group! eichar-launch-jump-ja :num! (seek! (ja-aframe (the-as float 16.0) 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-1 param 1) 1.0) - (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 16.0) 0))) ) ) (else - (let ((s3-2 (-> self skel root-channel 0))) - (set! (-> s3-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> s3-2 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-2 param 1) 1.0) - (set! (-> s3-2 frame-num) 0.0) - (joint-control-channel-group! s3-2 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe (the-as float 16.0) 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s3-3 (-> self skel root-channel 0))) - (set! (-> s3-3 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-3 param 1) 1.0) - (joint-control-channel-group-eval! s3-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 16.0) 0))) ) ) ) @@ -2752,43 +1887,17 @@ ) (cond ((= arg2 'launch) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-7 param 0) f28-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! eichar-launch-jump-loop-ja :num! (loop! f28-0) :frame-num 0.0) + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-8 param 0) f28-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 43)) - num-func-loop! - ) - ) + (ja :group! eichar-launch-jump-loop-ja :num! (loop! f28-0)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) ) ) @@ -2824,7 +1933,7 @@ ) :code (behavior ((arg0 symbol)) - (target-falling-anim -1 99) + (target-falling-anim -1 (seconds 0.33)) (none) ) :post @@ -2839,12 +1948,8 @@ (cond ((= arg0 'stuck) ) - ((let ((v1-4 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-4 (-> self draw art-group data 42)) (= v1-4 (-> self draw art-group data 43))) + ((let ((v1-4 (ja-group))) + (or (= v1-4 eichar-launch-jump-ja) (= v1-4 eichar-launch-jump-loop-ja)) ) (dummy-10 (-> self skel effect) 'group-blue-hit-ground-effect (the-as float 0.0) -1) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.3)) @@ -2960,16 +2065,12 @@ ) :code (behavior () - (ja-channel-push! 1 15) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 51))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 51)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) (-> self control unknown-surface01 align-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 51)) num-func-seek!) - ) + (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)) + :frame-num 0.0 + ) (until (ja-done? 0) (when (and (= (-> self fact-info-target eco-type) (pickup-type eco-red)) (>= (-> self fact-info-target eco-level) 1.0) @@ -2996,11 +2097,7 @@ (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self control unknown-surface01 align-speed))) ) (go target-stance) (none) @@ -3197,15 +2294,8 @@ (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) ) - (ja-channel-push! 1 6) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 59)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.02)) + (ja :group! eichar-attack-punch-ja :num! min) (set! (-> self control dynam gravity-max) 368640.0) (set! (-> self control dynam gravity-length) 368640.0) (let ((f28-0 0.0) @@ -3220,14 +2310,10 @@ (and (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-39 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (not (or (= v1-39 (-> self draw art-group data 59)) - (= v1-39 (-> self draw art-group data 60)) - (= v1-39 (-> self draw art-group data 61)) + (let ((v1-39 (ja-group))) + (or (not (or (= v1-39 eichar-attack-punch-ja) + (= v1-39 eichar-attack-punch-end-ja) + (= v1-39 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -3276,11 +2362,7 @@ (vector-matrix*! (-> self control unknown-vector120) s5-1 (-> self control unknown-matrix01)) ) (suspend) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 param 0) (the float (+ (-> a0-44 frame-group data 0 length) -1))) - (set! (-> a0-44 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! a0-44 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self control unknown-surface01 align-speed))) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> *run-attack-mods* turnvv) 0.0) ) @@ -3293,14 +2375,10 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-121 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (not (or (= v1-121 (-> self draw art-group data 59)) - (= v1-121 (-> self draw art-group data 60)) - (= v1-121 (-> self draw art-group data 61)) + (let ((v1-121 (ja-group))) + (or (not (or (= v1-121 eichar-attack-punch-ja) + (= v1-121 eichar-attack-punch-end-ja) + (= v1-121 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -3362,11 +2440,7 @@ (let* ((f1-5 (/ f0-1 (* (-> self control dynam gravity-length) (-> *display* seconds-per-frame)))) (f30-0 (* 0.5 f1-5 (-> *display* seconds-per-frame) f0-1)) ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 62) - ) + (if (ja-group? eichar-attack-uppercut-ja) (set! f30-0 (fmax 0.0 @@ -3448,34 +2522,15 @@ ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 56))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 56)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 56)) num-func-seek!) - ) + (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) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 16 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 57)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (ja :num! (seek!)) ) + (ja :group! eichar-attack-from-jump-loop-ja :num! min) (let ((f30-0 393216.0)) (let ((f0-8 (target-height-above-ground)) (f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -3490,23 +2545,12 @@ (* f30-0 (-> *display* seconds-per-frame)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! f0-8 (target-height-above-ground)) (set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 58))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 58)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 58)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-jump-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cond ((< (ja-aframe-num 0) 32.0) @@ -3533,11 +2577,7 @@ ) ) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go target-falling #f) @@ -3562,32 +2602,20 @@ target-exit :code (behavior ((arg0 float) (arg1 float)) - (let ((s3-0 (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - ) - (s4-0 (-> self skel root-channel 0)) - ) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 62))) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 7.0) 0)) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) (the-as float (if s3-0 - (ja-aframe (the-as float 5.0) 0) - 0.0 - ) - ) - ) - (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 62)) num-func-seek!) + (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 + (ja-aframe (the-as float 5.0) 0) + 0.0 + ) + ) + ) ) (until (ja-done? 0) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 7.0) 0)) - (set! (-> s4-1 param 1) 1.0) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 7.0) 0))) ) (go target-attack-uppercut-jump arg0 arg1) (none) @@ -3646,11 +2674,7 @@ ) (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) circle) (can-feet?) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 62) - ) + (ja-group? eichar-attack-uppercut-ja) (>= (ja-aframe-num 0) 12.0) ) (go target-attack-air 'uppercut) @@ -3675,11 +2699,7 @@ (TODO-RENAME-9 (-> self align)) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.9) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.9)) (TODO-RENAME-9 (-> self align)) (let* ((gp-0 (-> self align)) (s5-0 (method-of-object gp-0 TODO-RENAME-10)) @@ -3790,12 +2810,8 @@ (behavior () (delete-back-vel) (let ((gp-1 (logtest? (-> self control status) (cshape-moving-flags onsurf)))) - (when (and (not gp-1) (let ((v1-6 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-6 (-> self draw art-group data 64)) (= v1-6 (-> self draw art-group data 66))) + (when (and (not gp-1) (let ((v1-6 (ja-group))) + (or (= v1-6 eichar-flop-down-loop-ja) (= v1-6 eichar-moving-flop-down-ja)) ) ) (when (and (or (< (target-move-dist (seconds 0.1)) 1638.4) @@ -3860,14 +2876,7 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) ) - (when (and (not (-> self control unknown-symbol30)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 63) - ) - (>= (ja-aframe-num 0) 8.0) - ) + (when (and (not (-> self control unknown-symbol30)) (ja-group? eichar-flop-down-ja) (>= (ja-aframe-num 0) 8.0)) (target-start-attack) (target-danger-set! 'flop #f) ) @@ -3876,65 +2885,25 @@ :code (behavior ((arg0 float) (arg1 float) (arg2 float)) (ja-channel-set! 2) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 63))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 63)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 63)) num-func-seek!) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 66))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 66)) - num-func-chan - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! (-> gp-0 frame-interp) (lerp-scale - (the-as float 0.0) - (the-as float 1.0) - (-> self control unknown-float01) - (the-as float 0.0) - (the-as float 40960.0) - ) - ) - (set! (-> gp-0 param 0) (the float (+ (-> gp-0 frame-group data 0 length) -1))) - (set! (-> gp-0 param 1) 1.0) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (seek!) :frame-interp (lerp-scale + (the-as float 0.0) + (the-as float 1.0) + (-> self control unknown-float01) + (the-as float 0.0) + (the-as float 40960.0) + ) + ) ) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) (target-danger-set! 'flop-down #f) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 64)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 67)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja :group! eichar-flop-down-loop-ja :num! min) + (ja :chan 1 :group! eichar-moving-flop-down-loop-ja :num! min) (let ((f30-0 1.0)) (let ((gp-3 (new-stack-vector0))) (let ((f0-18 (vector-dot (-> self control dynam gravity-normal) (-> self control unknown-vector120)))) @@ -3973,24 +2942,17 @@ ) ) (suspend) - (while #t + (loop (+! (-> self control unknown-uint20) 1) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-+!) - ) - (let ((gp-5 (-> self skel root-channel 1))) - (set! (-> gp-5 frame-interp) (lerp-scale - (the-as float 0.0) - (the-as float 1.0) - (-> self control unknown-float01) - (the-as float 0.0) - (the-as float 40960.0) - ) - ) - (set! (-> gp-5 param 0) 0.0) - (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (+!)) + (ja :chan 1 :num! (chan 0) :frame-interp (lerp-scale + (the-as float 0.0) + (the-as float 1.0) + (-> self control unknown-float01) + (the-as float 0.0) + (the-as float 40960.0) + ) + ) (set! f30-0 (* f30-0 (fmin 1.0 (-> self control unknown-float140)))) (let ((gp-6 (new-stack-vector0)) (f28-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -4084,12 +3046,8 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) ) - (let ((v1-33 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (if (and (or (= v1-33 (-> self draw art-group data 65)) (= v1-33 (-> self draw art-group data 68))) + (let ((v1-33 (ja-group))) + (if (and (or (= v1-33 eichar-flop-down-land-ja) (= v1-33 eichar-moving-flop-down-land-ja)) (>= (ja-aframe-num 0) 28.0) ) (logior! (-> *flop-land-mods* flags) (surface-flags surf10)) @@ -4150,15 +3108,8 @@ (let ((s5-0 0) (f30-0 1.0) ) - (ja-channel-push! 1 12) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 69)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja :group! eichar-duck-roll-ja :num! min) (until (ja-done? 0) (if (cpad-pressed? (-> self control unknown-cpad-info00 number) x) (set! gp-0 (the-as int (-> *display* base-frame-counter))) @@ -4198,11 +3149,7 @@ ) ) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! f30-0 (* f30-0 (fmin 1.0 (-> self control unknown-float140)))) ) ) @@ -4272,13 +3219,7 @@ ) (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) circle) (can-feet?) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + (and (ja-group? eichar-jump-loop-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) (go target-attack-air #f) ) @@ -4286,15 +3227,8 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 12) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 71)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja :group! eichar-wheel-flip-ja :num! min) (let ((f30-0 1.0)) (until (or (ja-max? 0) (and (>= (ja-aframe-num 0) 4.0) (logtest? (-> self control status) (cshape-moving-flags onsurf))) @@ -4327,32 +3261,16 @@ (vector-matrix*! (-> self control unknown-vector120) s4-1 (-> self control unknown-matrix01)) ) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! f30-0 (* f30-0 (fmin 1.0 (-> self control unknown-float140)))) ) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.01)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - ) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? eichar-jump-loop-ja)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! eichar-jump-loop-ja :num! min) ) ) (let ((gp-2 (new-stack-vector0)) @@ -4372,24 +3290,10 @@ ) ) (suspend) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (else - (let ((v1-85 (-> self skel root-channel 0))) - (set! (-> v1-85 num-func) num-func-identity) - (set! (-> v1-85 frame-num) (the float (+ (-> v1-85 frame-group data 0 length) -1))) - ) + (if (ja-group? eichar-jump-loop-ja) + (ja :num! (loop!)) + (ja :num-func num-func-identity :frame-num max) ) - ) ) (target-land-effect) (set! (-> self state-hook-time) (-> *display* base-frame-counter)) @@ -4417,11 +3321,7 @@ (none) ) ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (if (ja-group? eichar-jump-loop-ja) (go target-hit-ground #f) (go target-stance) ) diff --git a/goal_src/engine/target/target2.gc b/goal_src/engine/target/target2.gc index fa6d9e6329..4f3a3fac36 100644 --- a/goal_src/engine/target/target2.gc +++ b/goal_src/engine/target/target2.gc @@ -31,72 +31,32 @@ (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)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 112))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 112)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 112)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-trip-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (send-event *camera* 'joystick (-> (new 'static 'array int32 1 0) 0) (-> (new 'static 'array int32 1 0) 0)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.3)) (suspend) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 19.0) 0)) - (set! (-> s5-0 param 1) 0.05) - (joint-control-channel-group-eval! s5-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 19.0) 0) 0.05)) (suspend) ) ) - (ja-channel-push! 1 90) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 36))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 36)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 40.0) 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 36)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.3)) + (ja-no-eval :group! eichar-painful-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 40.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 37))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 37)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 37)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-painful-land-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go target-stance) @@ -155,14 +115,7 @@ (when a0-0 (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! eichar-stance-loop-ja :num! min) ) ) ((-> target-stance exit)) @@ -185,23 +138,14 @@ (not (or (= v1-13 'locked) (= v1-13 'active))) ) (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-1 (-> self skel root-channel 1))) - (set! (-> a0-1 param 0) 0.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-2 (-> self skel root-channel 2))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) ) (ja-play-spooled-anim (-> self control unknown-spoolanim00) - (the-as art-joint-anim (-> self draw art-group data 5)) - (the-as art-joint-anim (-> self draw art-group data 5)) + (the-as art-joint-anim eichar-stance-loop-ja) + (the-as art-joint-anim eichar-stance-loop-ja) (the-as (function process-drawable symbol) (lambda () (!= (-> *cpad-list* cpads 0 stick0-speed) 0.0))) ) (set! (-> self control unknown-uint20) (the-as uint #f)) @@ -358,7 +302,7 @@ ) :code (behavior () - (while #t + (loop (dotimes (gp-0 (-> self nb-of-particles)) (if (= (-> self particles gp-0 part matrix) -1) (set! (-> self particles gp-0 part matrix) (sprite-allocate-user-hvdf)) @@ -378,7 +322,7 @@ (-> hud-waiting event) :code (behavior () - (while #t + (loop (seekl! (-> self in-out-position) 0 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (zero? (-> self in-out-position)) (go hud-normal) @@ -399,7 +343,7 @@ (-> hud-waiting event) :code (behavior () - (while #t + (loop (if (or (not *progress-process*) (= (-> *progress-process* 0 next-state name) 'progress-going-out) (= (-> *progress-process* 0 next-state name) 'progress-gone) @@ -416,7 +360,7 @@ (defstate hud-going-out (first-person-hud) :code (behavior () - (while #t + (loop (seekl! (-> self in-out-position) 4096 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (= (-> self in-out-position) 4096) (deactivate self) @@ -515,7 +459,7 @@ (set! (-> a1-0 num-params) 0) (set! (-> a1-0 message) 'dist-from-interp-src) (and (< (send-event-function *camera* a1-0) 4915.2) - (< (- (-> *display* base-frame-counter) (-> self state-time)) (the-as time-frame 21)) + (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.07)) (zero? (ja-group-size)) ) ) @@ -707,7 +651,7 @@ ) (ja-channel-set! 0) (set! (-> self control transv quad) (the-as uint128 0)) - (while #t + (loop (if (!= (-> self cam-user-mode) 'look-around) (go target-stance-look-around) ) @@ -935,16 +879,12 @@ (+! gp-0 (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter))) (suspend) ) - (if (or (> gp-0 0) (let ((v1-11 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-11 (-> self draw art-group data 34)) - (= v1-11 (-> self draw art-group data 38)) - (= v1-11 (-> self draw art-group data 42)) - (= v1-11 (-> self draw art-group data 43)) - (= v1-11 (-> self draw art-group data 41)) + (if (or (> gp-0 0) (let ((v1-11 (ja-group))) + (or (= v1-11 eichar-jump-ja) + (= v1-11 eichar-jump-loop-ja) + (= v1-11 eichar-launch-jump-ja) + (= v1-11 eichar-launch-jump-loop-ja) + (= v1-11 eichar-duck-high-jump-ja) ) ) ) @@ -952,142 +892,69 @@ ) ) (-> self control unknown-spoolanim00) - (while #t + (loop (let ((gp-1 (-> self control unknown-spoolanim00))) (case gp-1 (('stance) (cond - ((or (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (< 0.5 (-> self skel root-channel 6 frame-interp)) - ) - (let ((v1-32 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-32 (-> self draw art-group data 28)) - (= v1-32 (-> self draw art-group data 29)) - (= v1-32 (-> self draw art-group data 54)) - (= v1-32 (-> self draw art-group data 55)) + ((or (and (ja-group? eichar-walk-ja) (< 0.5 (-> self skel root-channel 6 frame-interp))) + (let ((v1-32 (ja-group))) + (or (= v1-32 eichar-run-squash-ja) + (= v1-32 eichar-run-squash-weak-ja) + (= v1-32 eichar-attack-from-stance-run-end-ja) + (= v1-32 eichar-attack-from-stance-run-alt-end-ja) ) ) ) - (ja-channel-push! 1 45) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-39 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-run-to-stance-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-42 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-run-to-stance-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) - ((let ((v1-87 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and (or (= v1-87 (-> self draw art-group data 39)) (= v1-87 (-> self draw art-group data 35))) - (not (ja-max? 0)) - ) - ) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) (the float (+ (-> a0-54 frame-group data 0 length) -1))) - (set! (-> a0-54 param 1) 1.0) - (joint-control-channel-group! a0-54 (the-as art-joint-anim #f) num-func-seek!) + ((let ((v1-87 (ja-group))) + (and (or (= v1-87 eichar-jump-short-land-ja) (= v1-87 eichar-jump-land-ja)) (not (ja-max? 0))) ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) ) - ((not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (ja-group-size) 1) - ) - ) - (ja-channel-push! 1 22) + ((not (and (ja-group? eichar-stance-loop-ja) (= (ja-group-size) 1))) + (ja-channel-push! 1 (seconds 0.075)) ) ) - (while #t - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-63 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-63 param 1) 1.0) - (set! (-> a0-63 frame-num) 0.0) - (joint-control-channel-group! a0-63 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-stance-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (('shock-in) - (ja-channel-push! 1 60) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 18.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! eichar-shocked-ja :num! (seek! (ja-aframe (the-as float 18.0) 0)) :frame-num 0.0) (until (ja-done? 0) (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 18.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 18.0) 0))) ) - (while #t + (loop (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) @@ -1095,33 +962,16 @@ ) ) (('shock-out) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 88) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? eichar-shocked-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) - (set! (-> s5-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 88)) data 0 length) -1)) - ) - (set! (-> s5-2 param 1) 1.0) - (set! (-> s5-2 frame-num) (ja-aframe (the-as float 18.0) 0)) - (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) - ) + (ja-no-eval :group! eichar-shocked-ja :num! (seek!) :frame-num (ja-aframe (the-as float 18.0) 0)) (until (ja-done? 0) (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-uint20) (the-as uint 'stance)) ) @@ -1227,72 +1077,37 @@ ) ) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 83) - ) + ((ja-group? (-> self draw art-group data 83)) (while (not (-> self control unknown-int21)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (suspend) ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 37.0) 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe (the-as float 37.0) 0)) ) (else (while (not (-> self control unknown-int21)) (suspend) ) (suspend) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 80))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 80)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 80)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 80) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (set! (-> self anim-seed) (the-as uint (if (rand-vu-percent? (the-as float 0.1)) 0 1 ) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 80))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 80)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 80)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 80) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1308,22 +1123,14 @@ (-> target-pole-cycle exit) :code (behavior ((arg0 object) (arg1 object) (arg2 float)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 81))) - (set! (-> s3-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 81)) data 0 length) -1)) - ) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0)) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 81)) num-func-seek!) - ) + (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) + ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set-forward-vel arg2) (go target-pole-flip-up-jump (the-as float arg0) (the-as float arg1)) @@ -1350,45 +1157,22 @@ (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) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 83)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 83) :num! min) (let ((f0-1 (target-height-above-ground)) (f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) (while (not (and (< (fabs (/ f0-1 (* 0.0033333334 f1-1))) 40.0) (and (< f1-1 0.0) (ja-min? 0)))) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! f0-1 (target-height-above-ground)) (set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) ) - (ja-channel-push! 1 75) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) (none) ) @@ -1403,20 +1187,13 @@ (-> target-pole-cycle exit) :code (behavior ((arg0 float) (arg1 float) (arg2 float)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 82))) - (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (ja-aframe-num 0)) 0)) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 82)) num-func-seek!) - ) + (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) + ) (until (ja-done? 0) (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-1 param 1) 1.0) - (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 16.0) 0))) ) (set-forward-vel arg2) (go target-pole-flip-forward-jump arg0 arg1) @@ -1448,11 +1225,7 @@ (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ((the-as (function none :behavior target) (-> target-pole-flip-up-jump code))) (none) @@ -1544,101 +1317,40 @@ ) ) (while (< 0.0 (-> self control unknown-float110)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - ) - (ja-channel-push! 1 45) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? eichar-jump-loop-ja)) + (ja-channel-push! 1 (seconds 0.15)) + (ja :group! eichar-jump-loop-ja :num! min) ) (suspend) ) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (cond ((< (the-as float (-> self control unknown-uint20)) -0.3) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 48)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja :group! eichar-edge-grab-swing-right-ja :num! min) ) ((< 0.3 (the-as float (-> self control unknown-uint20))) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 47)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) - ) + (ja :group! eichar-edge-grab-swing-left-ja :num! min) ) (else - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 46)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) + (ja :group! eichar-falling-to-edge-grab-ja :num! min) ) ) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ja-channel-set! 1) - (while #t - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-edge-grab-stance0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (+! (-> self anim-seed) 1) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 45))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 45)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 45)) num-func-seek!) - ) + (ja-no-eval :group! eichar-edge-grab-stance1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1668,15 +1380,7 @@ (logclear! (-> self control root-prim prim-core action) (collide-action ca-3 ca-7)) (set! (-> self control transv quad) (the-as uint128 0)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 49))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 49)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 49)) num-func-seek!) - ) + (ja-no-eval :group! eichar-edge-grab-to-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (target-compute-edge-rider) (TODO-RENAME-9 (-> self align)) @@ -1685,11 +1389,7 @@ (move-by-vector! (-> self control) s4-0) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (set! (-> self control transv quad) (the-as uint128 0)) @@ -1714,13 +1414,7 @@ (set-quaternion! (-> self control) (-> self control dir-targ)) (send-event *camera* 'damp-up) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 191.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) - ) + (ja-no-eval :group! eichar-edge-grab-off-ja :num! (seek! (ja-aframe (the-as float 191.0) 0)) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (when (zero? (logand (-> self align flags) (align-flags algf00))) @@ -1728,11 +1422,7 @@ (move-by-vector! (-> self control) gp-0) ) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 191.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 191.0) 0))) ) ) (set! (-> self control transv quad) (the-as uint128 0)) @@ -1798,7 +1488,7 @@ :code (behavior () (let ((gp-0 (the-as handle #f))) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (level-hint-spawn (game-text-id daxter-you-can-shoot-with-yellow-eco) "sksp0145" @@ -1817,23 +1507,16 @@ ) ) ) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 84))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 9.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 84)) num-func-seek!) - ) + (ja-no-eval :group! eichar-yellow-running-blast-ja + :num! (seek! (ja-aframe (the-as float 9.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> *run-attack-mods* turnvv) 0.0) ) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 9.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 9.0) 0))) ) (let ((s5-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)))) (set! (-> s5-2 y) 0.0) @@ -1867,15 +1550,7 @@ (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) ) ) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 84))) - (set! (-> s5-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 84)) data 0 length) -1)) - ) - (set! (-> s5-3 param 1) 1.0) - (set! (-> s5-3 frame-num) (ja-aframe (the-as float 9.0) 0)) - (joint-control-channel-group! s5-3 (the-as art-joint-anim (-> self draw art-group data 84)) num-func-seek!) - ) + (ja-no-eval :group! eichar-yellow-running-blast-ja :num! (seek!) :frame-num (ja-aframe (the-as float 9.0) 0)) (until (ja-done? 0) (if (or (< (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint30)))) (the-as uint 30) @@ -1885,11 +1560,7 @@ (send-event (handle->process gp-0) 'die) ) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) @@ -1959,21 +1630,14 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 86))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 86)) num-func-seek!) - ) + (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)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 15.0) 0))) ) (suspend) (let ((gp-2 (new-stack-vector0))) @@ -1992,11 +1656,7 @@ ) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (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))) @@ -2027,22 +1687,10 @@ (suspend) ) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 86))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 86)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-frame-num 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 86)) num-func-seek!) - ) + (ja-no-eval :group! eichar-yellow-jumping-blast-ja :num! (seek!) :frame-num (ja-frame-num 0)) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-stance) @@ -2072,29 +1720,25 @@ (set! (-> self control unknown-surface00) *double-jump-mods*) (set! (-> self control unknown-surface00) *walk-mods*) ) - (ja-channel-push! 1 15) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 87))) - (set! (-> s5-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 87)) data 0 length) -1)) - ) - (set! (-> s5-0 param 1) (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 3.0 - ) - ) - ) - (set! (-> s5-0 frame-num) (ja-aframe - (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - (-> (new 'static 'array int32 1 0) 0) - 6.0 - ) - ) - 0 - ) - ) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 87)) num-func-seek!) - ) + (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)) + 2.0 + 3.0 + ) + ) + ) + :frame-num + (ja-aframe + (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + (-> (new 'static 'array int32 1 0) 0) + 6.0 + ) + ) + 0 + ) + ) (until (ja-done? 0) (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) @@ -2132,16 +1776,13 @@ (the-as float 1.0) ) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) - (set! (-> a0-30 param 1) (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 3.0 - ) - ) - ) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + 2.0 + 3.0 + ) + ) + ) + ) ) (go target-falling 'target-eco-powerup) (none) @@ -2264,92 +1905,54 @@ (let ((gp-0 105) (f30-0 0.0) ) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 23)) (= v1-2 (-> self draw art-group data 18))) + ((or (= v1-2 eichar-walk-ja) (= v1-2 eichar-run-ja)) (set! gp-0 15) (set! f30-0 (ja-frame-num 0)) ) - ((let ((v1-9 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-9 (-> self draw art-group data 34)) (= v1-9 (-> self draw art-group data 38))) + ((let ((v1-9 (ja-group))) + (or (= v1-9 eichar-jump-ja) (= v1-9 eichar-jump-loop-ja)) ) (set! gp-0 30) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 92) - ) + ((ja-group? eichar-swim-walk-ja) (set! gp-0 120) ) ) ) (cond - ((and (= (ja-group-size) 6) (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 89) - ) - ) + ((and (= (ja-group-size) 6) (ja-group? eichar-wade-shallow-walk-ja)) ) (else - (ja-channel-push! 6 gp-0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 dist) (-> *TARGET-bank* wade-shallow-walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 89)) - num-func-identity + (ja-channel-push! 6 (the-as time-frame gp-0)) + (ja :group! eichar-wade-shallow-walk-ja + :num! (identity f30-0) + :dist (-> *TARGET-bank* wade-shallow-walk-cycle-dist) ) - (set! (-> gp-1 frame-num) f30-0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 dist) (-> *TARGET-bank* wade-deep-walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 90)) - num-func-identity + (ja :chan 1 + :group! eichar-wade-deep-walk-ja + :num! (identity f30-0) + :dist (-> *TARGET-bank* wade-deep-walk-cycle-dist) ) - (set! (-> gp-2 frame-num) f30-0) - ) - (let ((gp-3 (-> self skel root-channel 2))) - (set! (-> gp-3 frame-interp) 0.0) - (set! (-> gp-3 dist) (-> *TARGET-bank* walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 23)) - num-func-identity + (ja :chan 2 + :group! eichar-walk-ja + :num! (identity f30-0) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-cycle-dist) ) - (set! (-> gp-3 frame-num) f30-0) - ) - (let ((gp-4 (-> self skel root-channel 3))) - (set! (-> gp-4 frame-interp) 0.0) - (set! (-> gp-4 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity + (ja :chan 3 + :group! eichar-walk-down-ja + :num! (identity f30-0) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-down-cycle-dist) ) - (set! (-> gp-4 frame-num) f30-0) - ) - (let ((gp-5 (-> self skel root-channel 4))) - (set! (-> gp-5 frame-interp) 0.0) - (set! (-> gp-5 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity + (ja :chan 4 + :group! eichar-walk-left-ja + :num! (identity f30-0) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-side-cycle-dist) ) - (set! (-> gp-5 frame-num) f30-0) - ) ) ) ) @@ -2367,7 +1970,7 @@ ) (gp-6 0) ) - (while #t + (loop (let ((f0-10 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control unknown-float61))))) (f24-0 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control unknown-float62))))) ) @@ -2378,42 +1981,27 @@ (set! f28-0 (seek f28-0 f24-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-14))))) ) ) - (let ((v1-84 (-> self skel root-channel 3))) - (set! (-> v1-84 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! (-> v1-84 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) - (cond - ((>= f30-1 0.0) - (let ((v1-87 (-> self skel root-channel 3))) - (set! (-> v1-87 frame-interp) (fabs f30-1)) - (set! (-> v1-87 dist) (-> *TARGET-bank* walk-up-cycle-dist)) - (set! (-> v1-87 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - ) - ) - (else - (let ((v1-90 (-> self skel root-channel 3))) - (set! (-> v1-90 frame-interp) (fabs f30-1)) - (set! (-> v1-90 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! (-> v1-90 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) + (ja :chan 3 :group! eichar-walk-down-ja :dist (-> *TARGET-bank* walk-down-cycle-dist)) + (if (>= f30-1 0.0) + (ja :chan 3 :group! eichar-walk-up-ja :frame-interp (fabs f30-1) :dist (-> *TARGET-bank* walk-up-cycle-dist)) + (ja :chan 3 + :group! eichar-walk-down-ja + :frame-interp (fabs f30-1) + :dist (-> *TARGET-bank* walk-down-cycle-dist) + ) ) - ) - (cond - ((>= f28-0 0.0) - (let ((v1-93 (-> self skel root-channel 4))) - (set! (-> v1-93 frame-interp) (fabs f28-0)) - (set! (-> v1-93 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - ) - (else - (let ((v1-96 (-> self skel root-channel 4))) - (set! (-> v1-96 frame-interp) (fabs f28-0)) - (set! (-> v1-96 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-96 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - ) + (if (>= f28-0 0.0) + (ja :chan 4 + :group! eichar-walk-right-ja + :frame-interp (fabs f28-0) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) + (ja :chan 4 + :group! eichar-walk-left-ja + :frame-interp (fabs f28-0) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) ) - ) (let* ((f0-30 (- (-> self water height) (-> self control trans y))) (f24-1 (lerp-scale (the-as float (-> (new 'static 'array int32 1 0) 0)) @@ -2445,33 +2033,17 @@ ) ) (set! (-> self skel root-channel 1 frame-interp) f24-1) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 param 0) (/ (-> self control unknown-float01) - (* 60.0 (/ (dummy-9 (-> self skel)) (-> *TARGET-bank* run-cycle-length))) - ) - ) - (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((s5-3 (-> self skel root-channel 5))) - (set! (-> s5-3 frame-interp) (lerp f26-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) f24-1)) - ) - ) - (let ((a0-66 (-> self skel root-channel 1))) - (set! (-> a0-66 param 0) 0.0) - (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-67 (-> self skel root-channel 2))) - (set! (-> a0-67 param 0) 0.0) - (joint-control-channel-group-eval! a0-67 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-68 (-> self skel root-channel 3))) - (set! (-> a0-68 param 0) 0.0) - (joint-control-channel-group-eval! a0-68 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-69 (-> self skel root-channel 4))) - (set! (-> a0-69 param 0) 0.0) - (joint-control-channel-group-eval! a0-69 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (loop! (/ (-> self control unknown-float01) + (* 60.0 (/ (dummy-9 (-> self skel)) (-> *TARGET-bank* run-cycle-length))) + ) + ) + ) + (ja :chan 5 :frame-interp (lerp f26-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) f24-1)) ) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) + (ja :chan 3 :num! (chan 0)) + (ja :chan 4 :num! (chan 0)) (when (and (>= (- (-> *display* base-frame-counter) (the-as time-frame gp-6)) (seconds 0.2)) (< (- (-> self water height) (-> self control trans y)) 4096.0) ) @@ -2614,13 +2186,9 @@ (go target-swim-down) ) (if (and (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) - (let ((gp-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((gp-0 (ja-group))) (ja-aframe-num 0) - (if (or (and (= gp-0 (-> self draw art-group data 96)) #t) (and (= gp-0 (-> self draw art-group data 95)) #t)) + (if (or (and (= gp-0 eichar-swim-up-ja) #t) (and (= gp-0 eichar-swim-down-to-up-ja) #t)) #f #t ) @@ -2638,29 +2206,22 @@ ) :code (behavior () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 96)) (= v1-2 (-> self draw art-group data 95))) - (ja-channel-push! 1 22) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 97))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 97)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) - (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) - 1.0 - 2.0 - ) - ) - ) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 97)) num-func-seek!) - ) + ((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! + max + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + 1.0 + 2.0 + ) + ) + ) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) (let ((a0-9 (-> self skel root-channel 0))) @@ -2677,36 +2238,21 @@ ) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 92) - ) - (ja-channel-push! 1 249) + ((ja-group? eichar-swim-walk-ja) + (ja-channel-push! 1 (seconds 0.83)) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 91)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (loop + (ja :group! eichar-swim-stance-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek!)) ) - ) ) ) (none) @@ -2788,33 +2334,14 @@ ) :code (behavior () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) - (= v1-2 (-> self draw art-group data 97)) - ) - (ja-channel-push! 1 90) + ((or (= v1-2 eichar-swim-up-ja) (= v1-2 eichar-swim-down-to-up-ja) (= v1-2 eichar-swim-up-to-stance-ja)) + (ja-channel-push! 1 (seconds 0.3)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 97) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 92))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 92)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 19.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 92)) num-func-seek!) - ) + ((ja-group? eichar-swim-up-to-stance-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-swim-walk-ja :num! (seek!) :frame-num (ja-aframe (the-as float 19.0) 0)) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (if (zero? (logand (-> self align flags) (align-flags algf00))) @@ -2823,28 +2350,16 @@ ) ) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) ) - (while #t - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 92))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 92)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 92)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-swim-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (if (zero? (logand (-> self align flags) (align-flags algf00))) @@ -2853,11 +2368,7 @@ ) ) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2952,29 +2463,17 @@ (s5-0 3000) (f30-0 0.0) ) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (set! f30-0 (cond - ((or (= v1-2 (-> self draw art-group data 91)) - (= v1-2 (-> self draw art-group data 92)) - (= v1-2 (-> self draw art-group data 97)) - (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) + ((or (= v1-2 eichar-swim-stance-ja) + (= v1-2 eichar-swim-walk-ja) + (= v1-2 eichar-swim-up-to-stance-ja) + (= v1-2 eichar-swim-up-ja) + (= v1-2 eichar-swim-down-to-up-ja) ) - (ja-channel-push! 1 22) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 93))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 93)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 93)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! eichar-swim-walk-to-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) @@ -2982,53 +2481,22 @@ (dummy-13 (-> self water) (the-as float 0.7) (-> self control trans) 1 *null-vector*) ) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) + (ja :num! (seek!)) ) + (ja :group! eichar-swim-down-ja :num! min) f30-0 ) (else - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (((-> self draw art-group data 63) - (-> self draw art-group data 66) - (-> self draw art-group data 64) - (-> self draw art-group data 67) - ) - (ja-channel-push! 1 22) + (case (ja-group) + ((eichar-flop-down-ja eichar-moving-flop-down-ja eichar-flop-down-loop-ja eichar-moving-flop-down-loop-ja) + (ja-channel-push! 1 (seconds 0.075)) (set! gp-0 120) - (let ((s4-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! (-> s4-1 frame-num) (ja-aframe (the-as float 124.0) 0)) - ) + (ja :group! eichar-swim-down-ja :num! (identity (ja-aframe (the-as float 124.0) 0))) -16384.0 ) (else - (ja-channel-push! 1 22) - (let ((s4-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! (-> s4-2 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! eichar-swim-down-ja :num! min) f30-0 ) ) @@ -3036,7 +2504,7 @@ ) ) ) - (while #t + (loop (if (and (or (zero? (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons square) ) @@ -3076,17 +2544,15 @@ ) ) (suspend) - (let ((s4-4 (-> self skel root-channel 0))) - (set! (-> s4-4 param 0) (lerp-scale - (the-as float 0.4) - (the-as float 1.0) - (vector-length (-> self control transv)) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 16384.0) - ) - ) - (joint-control-channel-group-eval! s4-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (lerp-scale + (the-as float 0.4) + (the-as float 1.0) + (vector-length (-> self control transv)) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 16384.0) + ) + ) + ) ) ) (none) @@ -3135,18 +2601,10 @@ ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 1.0)) (let ((gp-0 #t)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 95))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 95)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 95)) num-func-seek!) - ) + (ja-no-eval :group! eichar-swim-down-to-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (target-swim-tilt (the-as float (if (< 8192.0 (-> self water swim-depth)) @@ -3176,22 +2634,11 @@ (TODO-RENAME-10 (-> self align) 2 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 96)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (while #t + (ja :group! eichar-swim-up-ja :num! min) + (loop (target-swim-tilt (the-as float (if (< 8192.0 (-> self water swim-depth)) 0.3 @@ -3214,10 +2661,7 @@ (set! (-> self control transv y) (+ 8192.0 (* 8192.0 f30-0))) ) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) (set! f30-0 (seek f30-0 (the-as float 1.0) (-> *display* seconds-per-frame))) ) ) @@ -3276,28 +2720,17 @@ :code (behavior ((arg0 float) (arg1 float)) (die-on-next-update! (-> self water bob)) - (ja-channel-push! 1 15) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 98)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! eichar-swim-jump-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (TODO-RENAME-9 (-> self align)) (if (zero? (logand (-> self align flags) (align-flags algf00))) (+! (-> self water align-offset) (* 0.6 (-> self align delta trans y))) ) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 2.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek! max 2.0)) ) - ) ) (let ((f30-0 (fmax 0.0 (- (-> self water bob-offset))))) (let ((s4-1 (new-stack-vector0))) @@ -3359,41 +2792,19 @@ (else (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.1)) (ja-channel-push! 1 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 36)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! eichar-painful-land-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek!)) ) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 37)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) ) + (ja :group! eichar-painful-land-end-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek!)) ) - ) ) (go target-stance) ) @@ -3416,22 +2827,12 @@ (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 45) + (ja-channel-push! 1 (seconds 0.15)) (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) - (let ((s2-0 (-> self skel root-channel 0))) - (set! (-> s2-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - (set! (-> s2-0 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> s2-0 param 1) 3.0) - (set! (-> s2-0 frame-num) 0.0) - (joint-control-channel-group! s2-0 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) - ) + (ja-no-eval :group! eichar-duck-stance-ja :num! (seek! (ja-aframe (the-as float 15.0) 0) 3.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s2-1 (-> self skel root-channel 0))) - (set! (-> s2-1 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> s2-1 param 1) 3.0) - (joint-control-channel-group-eval! s2-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 15.0) 0) 3.0)) ) (if arg1 (send-event *camera* 'change-state arg1 180) @@ -3565,44 +2966,20 @@ ) ) (set! (-> self control unknown-uint20) (the-as uint #t)) - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 101))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 101)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 101)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-periscope-grab-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process arg0) 'change-mode) (while (-> self control unknown-spoolanim00) (suspend) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 101))) - (set! (-> a0-16 param 0) 0.0) - (set! (-> a0-16 param 1) 2.0) - (set! (-> a0-16 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 101)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 101)) num-func-seek!) - ) + (ja-no-eval :group! eichar-periscope-grab-ja :num! (seek! 0.0 2.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 0.0) - (set! (-> a0-17 param 1) 2.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 2.0)) ) (go target-stance) (none) @@ -3640,20 +3017,10 @@ (when gp-0 (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) (ja-channel-set! 1) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) gp-0) - (set! (-> a0-4 param 0) (the float (+ (-> gp-0 data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 gp-0 num-func-seek!) - ) + (ja-no-eval :group! gp-0 :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) ) diff --git a/goal_src/engine/ui/hud-classes.gc b/goal_src/engine/ui/hud-classes.gc index ac56f23766..82e5541c1c 100644 --- a/goal_src/engine/ui/hud-classes.gc +++ b/goal_src/engine/ui/hud-classes.gc @@ -927,14 +927,11 @@ -0.011 ) -(defskelgroup *fuelcell-naked-sg* fuelcell-naked - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *fuelcell-naked-sg* fuelcell-naked fuelcell-naked-lod0-jg fuelcell-naked-idle-ja + ((fuelcell-naked-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) (defpart 313 :init-specs diff --git a/goal_src/engine/ui/hud.gc b/goal_src/engine/ui/hud.gc index 0498b27a43..1cc372d31a 100644 --- a/goal_src/engine/ui/hud.gc +++ b/goal_src/engine/ui/hud.gc @@ -275,7 +275,7 @@ :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) - (while #t + (loop (suspend) ) (none) @@ -352,7 +352,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (seekl! (-> self offset) 0 (the int (* 15.0 (-> *display* time-adjust-ratio)))) ) @@ -414,7 +414,7 @@ (-> hud-arriving event) :code (behavior ((arg0 int)) - (while #t + (loop (if (not (paused?)) (seekl! (-> self offset) 128 (the int (* (the float arg0) (-> *display* time-adjust-ratio)))) ) @@ -496,7 +496,7 @@ (f24-0 (-> self root-override scale y)) (f22-0 (-> self root-override scale z)) ) - (while #t + (loop (let ((f0-7 (* f30-0 (-> *display* seconds-per-frame)))) (+! f26-0 f0-7) (when (< 1.0 f26-0) diff --git a/goal_src/goal-lib.gc b/goal_src/goal-lib.gc index ec1ae8e810..aaad21bc07 100644 --- a/goal_src/goal-lib.gc +++ b/goal_src/goal-lib.gc @@ -5,6 +5,9 @@ ;; OTHER STUFF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; get list of all goal import files +(asm-file "goal_src/build/all_imports.gc") + ;; tell compiler about stuff defined/implemented in the runtime. (asm-file "goal_src/kernel-defs.gc") @@ -34,6 +37,19 @@ `(asm-file ,file :color :write) ) +(desfun run-frontend-command (file) + `(asm-file ,file :no-code) + ) + + +(defmacro load-art-import (name) + `(asm-file ,(string-append "goal_src/import/" (symbol->string name) "-ag.gc") :no-code :no-throw)) + +(defmacro load-imports () + `(begin + ,@(apply run-frontend-command all-import-files) + ) + ) (defmacro build-kernel () "Build kernel and create the KERNEL CGO" @@ -45,15 +61,6 @@ `(make-group "all-code") ) -(defmacro build-data () - "Build all game data" - `(begin - (asm-data-file game-text "assets/game_text.txt") - (asm-data-file game-count "assets/game_count.txt") - (asm-data-file dir-tpages "assets/tpage-dir.txt") - ) - ) - (defmacro blg () "Build engine and kernel CGOs (code only, no data for now) and load them in the listener Uses the blocking dgo-load." @@ -517,11 +524,11 @@ ) (defmacro 1+! (place) - `(set! ,place (+ 1 ,place)) + `(+! ,place 1) ) (defmacro 1- (var) - `(- ,var 1) + `(+ ,var -1) ) (defmacro dec (val) @@ -533,7 +540,7 @@ ) (defmacro 1-! (place) - `(set! ,place (+ -1 ,place)) + `(-! ,place 1) ) (defmacro *! (place amount) @@ -974,9 +981,6 @@ `(sqrtf-no-fabs (fabs ,x)) ) -;; load the default project -(load-project "goal_src/game.gp") - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; user stuf @@ -997,5 +1001,44 @@ ) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; art stuf +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(defmacro def-art-elt (group name idx) + "define a new art element. adds it to a global map stored in goos." + + ;; grab data about the art group + (let ((ag-info (assoc group *art-info*))) + ;; no art group was found, make a new one and add it. + (when (null? ag-info) + (set! ag-info (cons group '())) + (cons! *art-info* ag-info) + ) + ;; lookup art element in our art group + (let ((elt-info (assoc name (cdr ag-info))) + (elt-new (list name idx))) ;; this is the format of the individual entries + ;; found, check if valid + (if (and (not (null? elt-info)) (not (eq? elt-info elt-new))) + (fmt #t "error redefining art element. data mismatch: {}" elt-info elt-new) + #f) + ;; not found. add to the art-group. + (when (null? elt-info) + (set! elt-info elt-new) + (set-cdr! ag-info (cons elt-info (cdr ag-info))) + ) + ) + ) + ;; define a constant for it! + `(defconstant ,name (-> self draw art-group data ,idx)) + ) + + + +;; load the default project +(load-project "goal_src/game.gp") +(seval (fmt #t "Loading imports...\n")) +(load-imports) +(seval (fmt #t "Loaded imports. Have a nice day.\n")) diff --git a/goal_src/goos-lib.gs b/goal_src/goos-lib.gs index febd230ca8..3c0c06dba7 100644 --- a/goal_src/goos-lib.gs +++ b/goal_src/goos-lib.gs @@ -35,6 +35,17 @@ `(if (not ,clause) (begin ,@body) #f) ) +(defsmacro aif (condition true false) + "Anaphoric if, similar to Common Lisp" + + `(let ((it ,condition)) + (if it + ,true + ,false + ) + ) + ) + (desfun factorial (x) (if (= x 1) 1 @@ -290,6 +301,8 @@ `(or (float? ,x) (integer? ,x)) ) +(defsmacro neq? (a b) `(not (eq? ,a ,b))) + (defsmacro != (a b) `(not (= ,a ,b))) (defsmacro zero? (x) `(= ,x 0)) (defsmacro nonzero? (x) `(!= ,x 0)) @@ -425,3 +438,11 @@ ) +;;;;;;;;;;;;;;;;;;;;;;;; +;; GAME STUFF!!! ;; +;;;;;;;;;;;;;;;;;;;;;;;; + +;; a map for art definitions used by art loading code. +(define *art-info* '()) + + diff --git a/goal_src/import/accordian-ag.gc b/goal_src/import/accordian-ag.gc new file mode 100644 index 0000000000..8016fbe5ca --- /dev/null +++ b/goal_src/import/accordian-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; accordian-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt accordian-ag accordian-lod0-jg 0) +(def-art-elt accordian-ag accordian-lod0-mg 1) +(def-art-elt accordian-ag accordian-lod1-mg 2) +(def-art-elt accordian-ag accordian-idle-ja 3) + + diff --git a/goal_src/import/allpontoons-ag.gc b/goal_src/import/allpontoons-ag.gc new file mode 100644 index 0000000000..a016158d94 --- /dev/null +++ b/goal_src/import/allpontoons-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; allpontoons-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt allpontoons-ag allpontoons-lod0-jg 0) +(def-art-elt allpontoons-ag allpontoons-lod0-mg 1) +(def-art-elt allpontoons-ag allpontoons-idle-ja 2) + + diff --git a/goal_src/import/aphid-lurker-ag.gc b/goal_src/import/aphid-lurker-ag.gc new file mode 100644 index 0000000000..547a723a6d --- /dev/null +++ b/goal_src/import/aphid-lurker-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; aphid-lurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt aphid-lurker-ag aphid-lurker-lod0-jg 0) +(def-art-elt aphid-lurker-ag aphid-lurker-lod0-mg 1) +(def-art-elt aphid-lurker-ag aphid-lurker-shadow-mg 2) +(def-art-elt aphid-lurker-ag aphid-lurker-idle-ja 3) +(def-art-elt aphid-lurker-ag aphid-lurker-walk-ja 4) +(def-art-elt aphid-lurker-ag aphid-lurker-walk-deadly-ja 5) +(def-art-elt aphid-lurker-ag aphid-lurker-spike-out-ja 6) +(def-art-elt aphid-lurker-ag aphid-lurker-give-up-ja 7) +(def-art-elt aphid-lurker-ag aphid-lurker-give-up-hop-ja 8) +(def-art-elt aphid-lurker-ag aphid-lurker-turn-ja 9) +(def-art-elt aphid-lurker-ag aphid-lurker-win-ja 10) +(def-art-elt aphid-lurker-ag aphid-lurker-die-ja 11) + + diff --git a/goal_src/import/assistant-ag.gc b/goal_src/import/assistant-ag.gc new file mode 100644 index 0000000000..d82b9d584f --- /dev/null +++ b/goal_src/import/assistant-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; assistant-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt assistant-ag assistant-lod0-jg 0) +(def-art-elt assistant-ag assistant-lod0-mg 1) +(def-art-elt assistant-ag assistant-shadow-mg 2) +(def-art-elt assistant-ag assistant-idle-leaning-right-ja 3) +(def-art-elt assistant-ag assistant-idle-transition-right-to-left-ja 4) +(def-art-elt assistant-ag assistant-idle-leaning-left-ja 5) +(def-art-elt assistant-ag assistant-idle-transition-left-to-right-ja 6) +(def-art-elt assistant-ag assistant-idle-wiping-brow-ja 7) +(def-art-elt assistant-ag assistant-idle-transition-to-welding-ja 8) +(def-art-elt assistant-ag assistant-idle-welding-ja 9) + + diff --git a/goal_src/import/assistant-firecanyon-ag.gc b/goal_src/import/assistant-firecanyon-ag.gc new file mode 100644 index 0000000000..42700304c0 --- /dev/null +++ b/goal_src/import/assistant-firecanyon-ag.gc @@ -0,0 +1,21 @@ +;;-*-Lisp-*- +(in-package goal) + +;; assistant-firecanyon-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-lod0-jg 0) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-lod0-mg 1) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-shadow-mg 2) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-twist-ja 3) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-down-ja 4) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-examine-ja 5) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-up-ja 6) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-fiddle-ja 7) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-a-ja 8) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-to-b-ja 9) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-b-ja 10) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-to-a-ja 11) +(def-art-elt assistant-firecanyon-ag assistant-firecanyon-idle-wipe-brow-ja 12) + + diff --git a/goal_src/import/assistant-lavatube-end-ag.gc b/goal_src/import/assistant-lavatube-end-ag.gc new file mode 100644 index 0000000000..f3ce89a8f2 --- /dev/null +++ b/goal_src/import/assistant-lavatube-end-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; assistant-lavatube-end-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt assistant-lavatube-end-ag assistant-lavatube-end-lod0-jg 0) +(def-art-elt assistant-lavatube-end-ag assistant-lavatube-end-lod0-mg 1) +(def-art-elt assistant-lavatube-end-ag assistant-lavatube-end-shadow-mg 2) +(def-art-elt assistant-lavatube-end-ag assistant-lavatube-end-idle-ja 3) + + diff --git a/goal_src/import/assistant-lavatube-start-ag.gc b/goal_src/import/assistant-lavatube-start-ag.gc new file mode 100644 index 0000000000..1ecc3f1307 --- /dev/null +++ b/goal_src/import/assistant-lavatube-start-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; assistant-lavatube-start-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt assistant-lavatube-start-ag assistant-lavatube-start-lod0-jg 0) +(def-art-elt assistant-lavatube-start-ag assistant-lavatube-start-lod0-mg 1) +(def-art-elt assistant-lavatube-start-ag assistant-lavatube-start-shadow-mg 2) +(def-art-elt assistant-lavatube-start-ag assistant-lavatube-start-idle-ja 3) +(def-art-elt assistant-lavatube-start-ag assistant-lavatube-start-idle-b-ja 4) + + diff --git a/goal_src/import/assistant-village2-ag.gc b/goal_src/import/assistant-village2-ag.gc new file mode 100644 index 0000000000..eb53f4a7d6 --- /dev/null +++ b/goal_src/import/assistant-village2-ag.gc @@ -0,0 +1,23 @@ +;;-*-Lisp-*- +(in-package goal) + +;; assistant-village2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt assistant-village2-ag assistant-village2-lod0-jg 0) +(def-art-elt assistant-village2-ag assistant-village2-lod0-mg 1) +(def-art-elt assistant-village2-ag assistant-village2-lod1-mg 2) +(def-art-elt assistant-village2-ag assistant-village2-lod2-mg 3) +(def-art-elt assistant-village2-ag assistant-village2-shadow-mg 4) +(def-art-elt assistant-village2-ag assistant-village2-idle-a-ja 5) +(def-art-elt assistant-village2-ag assistant-village2-idle-to-b-ja 6) +(def-art-elt assistant-village2-ag assistant-village2-idle-b-ja 7) +(def-art-elt assistant-village2-ag assistant-village2-idle-to-a-ja 8) +(def-art-elt assistant-village2-ag assistant-village2-idle-after-ja 9) +(def-art-elt assistant-village2-ag assistant-village2-idle-hut-breath-ja 10) +(def-art-elt assistant-village2-ag assistant-village2-idle-hut-look-right-ja 11) +(def-art-elt assistant-village2-ag assistant-village2-idle-hut-start-welding-ja 12) +(def-art-elt assistant-village2-ag assistant-village2-idle-hut-welding-ja 13) +(def-art-elt assistant-village2-ag assistant-village2-idle-hut-stop-welding-ja 14) + + diff --git a/goal_src/import/assistant-village3-ag.gc b/goal_src/import/assistant-village3-ag.gc new file mode 100644 index 0000000000..2cb24ea6e8 --- /dev/null +++ b/goal_src/import/assistant-village3-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; assistant-village3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt assistant-village3-ag assistant-village3-lod0-jg 0) +(def-art-elt assistant-village3-ag assistant-village3-lod0-mg 1) +(def-art-elt assistant-village3-ag assistant-village3-shadow-mg 2) +(def-art-elt assistant-village3-ag assistant-village3-idle-ja 3) + + diff --git a/goal_src/import/babak-ag.gc b/goal_src/import/babak-ag.gc new file mode 100644 index 0000000000..1d0f1b78c9 --- /dev/null +++ b/goal_src/import/babak-ag.gc @@ -0,0 +1,27 @@ +;;-*-Lisp-*- +(in-package goal) + +;; babak-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt babak-ag babak-lod0-jg 0) +(def-art-elt babak-ag babak-lod0-mg 1) +(def-art-elt babak-ag babak-lod1-mg 2) +(def-art-elt babak-ag babak-lod2-mg 3) +(def-art-elt babak-ag babak-shadow-mg 4) +(def-art-elt babak-ag babak-idle-ja 5) +(def-art-elt babak-ag babak-walk-ja 6) +(def-art-elt babak-ag babak-spot-ja 7) +(def-art-elt babak-ag babak-charge-ja 8) +(def-art-elt babak-ag babak-give-up-ja 9) +(def-art-elt babak-ag babak-give-up-hop-ja 10) +(def-art-elt babak-ag babak-win-ja 11) +(def-art-elt babak-ag babak-death-ja 12) +(def-art-elt babak-ag babak-jump-ja 13) +(def-art-elt babak-ag babak-jump-land-ja 14) +(def-art-elt babak-ag babak-taunt-ja 15) +(def-art-elt babak-ag babak-turn-ja 16) +(def-art-elt babak-ag babak-look-ja 17) +(def-art-elt babak-ag babak-stop-look-ja 18) + + diff --git a/goal_src/import/baby-spider-ag.gc b/goal_src/import/baby-spider-ag.gc new file mode 100644 index 0000000000..513a2bd30d --- /dev/null +++ b/goal_src/import/baby-spider-ag.gc @@ -0,0 +1,22 @@ +;;-*-Lisp-*- +(in-package goal) + +;; baby-spider-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt baby-spider-ag baby-spider-lod0-jg 0) +(def-art-elt baby-spider-ag baby-spider-lod0-mg 1) +(def-art-elt baby-spider-ag baby-spider-lod1-mg 2) +(def-art-elt baby-spider-ag baby-spider-lod2-mg 3) +(def-art-elt baby-spider-ag baby-spider-shadow-mg 4) +(def-art-elt baby-spider-ag baby-spider-birth-ja 5) +(def-art-elt baby-spider-ag baby-spider-idle-ja 6) +(def-art-elt baby-spider-ag baby-spider-run-ja 7) +(def-art-elt baby-spider-ag baby-spider-walk-ja 8) +(def-art-elt baby-spider-ag baby-spider-jump-up-ja 9) +(def-art-elt baby-spider-ag baby-spider-jump-land-ja 10) +(def-art-elt baby-spider-ag baby-spider-notice-ja 11) +(def-art-elt baby-spider-ag baby-spider-celebrate-ja 12) +(def-art-elt baby-spider-ag baby-spider-die-ja 13) + + diff --git a/goal_src/import/balance-plat-ag.gc b/goal_src/import/balance-plat-ag.gc new file mode 100644 index 0000000000..8053d5a291 --- /dev/null +++ b/goal_src/import/balance-plat-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; balance-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt balance-plat-ag balance-plat-lod0-jg 0) +(def-art-elt balance-plat-ag balance-plat-lod0-mg 1) +(def-art-elt balance-plat-ag balance-plat-lod1-mg 2) +(def-art-elt balance-plat-ag balance-plat-lod2-mg 3) +(def-art-elt balance-plat-ag balance-plat-idle-ja 4) + + diff --git a/goal_src/import/balloon-ag.gc b/goal_src/import/balloon-ag.gc new file mode 100644 index 0000000000..030be281e3 --- /dev/null +++ b/goal_src/import/balloon-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; balloon-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt balloon-ag balloon-lod0-jg 0) +(def-art-elt balloon-ag balloon-lod0-mg 1) +(def-art-elt balloon-ag balloon-lod1-mg 2) +(def-art-elt balloon-ag balloon-idle-ja 3) + + diff --git a/goal_src/import/balloonlurker-ag.gc b/goal_src/import/balloonlurker-ag.gc new file mode 100644 index 0000000000..1d469288bf --- /dev/null +++ b/goal_src/import/balloonlurker-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; balloonlurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt balloonlurker-ag balloonlurker-lod0-jg 0) +(def-art-elt balloonlurker-ag balloonlurker-lod0-mg 1) +(def-art-elt balloonlurker-ag balloonlurker-lod1-mg 2) +(def-art-elt balloonlurker-ag balloonlurker-lod2-mg 3) +(def-art-elt balloonlurker-ag balloonlurker-idle-ja 4) +(def-art-elt balloonlurker-ag balloonlurker-death-ja 5) +(def-art-elt balloonlurker-ag balloonlurker-pilot-lod0-jg 6) +(def-art-elt balloonlurker-ag balloonlurker-pilot-lod0-mg 7) +(def-art-elt balloonlurker-ag balloonlurker-pilot-lod1-mg 8) +(def-art-elt balloonlurker-ag balloonlurker-pilot-lod2-mg 9) +(def-art-elt balloonlurker-ag balloonlurker-pilot-idle-ja 10) +(def-art-elt balloonlurker-ag balloonlurker-pilot-death-ja 11) + + diff --git a/goal_src/import/barrel-ag.gc b/goal_src/import/barrel-ag.gc new file mode 100644 index 0000000000..17812e2c96 --- /dev/null +++ b/goal_src/import/barrel-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; barrel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt barrel-ag barrel-lod0-jg 0) +(def-art-elt barrel-ag barrel-lod0-mg 1) +(def-art-elt barrel-ag barrel-idle-ja 2) + + diff --git a/goal_src/import/beachcam-ag.gc b/goal_src/import/beachcam-ag.gc new file mode 100644 index 0000000000..b4bd5e1f53 --- /dev/null +++ b/goal_src/import/beachcam-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; beachcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt beachcam-ag beachcam-lod0-jg 0) +(def-art-elt beachcam-ag beachcam-ecoventrock-7-ja 8) +(def-art-elt beachcam-ag beachcam-lod0-mg 1) +(def-art-elt beachcam-ag beachcam-anim-ja 2) +(def-art-elt beachcam-ag beachcam-ecoventrock-4-ja 4) +(def-art-elt beachcam-ag beachcam-ecoventrock-5-ja 5) +(def-art-elt beachcam-ag beachcam-ecoventrock-6-ja 6) +(def-art-elt beachcam-ag beachcam-ecoventrock-3-ja 7) + + diff --git a/goal_src/import/billy-ag.gc b/goal_src/import/billy-ag.gc new file mode 100644 index 0000000000..e82d1eec6e --- /dev/null +++ b/goal_src/import/billy-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; billy-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt billy-ag billy-lod0-jg 0) +(def-art-elt billy-ag billy-lod0-mg 1) +(def-art-elt billy-ag billy-shadow-mg 2) +(def-art-elt billy-ag billy-billy-after-ja 10) +(def-art-elt billy-ag billy-idle-breath-ja 3) +(def-art-elt billy-ag billy-idle-shoo-ja 4) + + diff --git a/goal_src/import/billy-sidekick-ag.gc b/goal_src/import/billy-sidekick-ag.gc new file mode 100644 index 0000000000..8c96d74718 --- /dev/null +++ b/goal_src/import/billy-sidekick-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; billy-sidekick-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt billy-sidekick-ag billy-sidekick-lod0-jg 0) +(def-art-elt billy-sidekick-ag billy-sidekick-lod0-mg 1) +(def-art-elt billy-sidekick-ag billy-sidekick-idle-ja 2) +(def-art-elt billy-sidekick-ag billy-sidekick-billy-after-ja 3) + + diff --git a/goal_src/import/bird-lady-ag.gc b/goal_src/import/bird-lady-ag.gc new file mode 100644 index 0000000000..3681c83908 --- /dev/null +++ b/goal_src/import/bird-lady-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bird-lady-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bird-lady-ag bird-lady-lod0-jg 0) +(def-art-elt bird-lady-ag bird-lady-lod0-mg 1) +(def-art-elt bird-lady-ag bird-lady-shadow-mg 2) +(def-art-elt bird-lady-ag bird-lady-idle-ja 3) + + diff --git a/goal_src/import/bird-lady-beach-ag.gc b/goal_src/import/bird-lady-beach-ag.gc new file mode 100644 index 0000000000..cd4240d747 --- /dev/null +++ b/goal_src/import/bird-lady-beach-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bird-lady-beach-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bird-lady-beach-ag bird-lady-beach-lod0-jg 0) +(def-art-elt bird-lady-beach-ag bird-lady-beach-lod0-mg 1) +(def-art-elt bird-lady-beach-ag bird-lady-beach-shadow-mg 2) +(def-art-elt bird-lady-beach-ag bird-lady-beach-idle-ja 3) + + diff --git a/goal_src/import/bladeassm-ag.gc b/goal_src/import/bladeassm-ag.gc new file mode 100644 index 0000000000..6bec4c68c1 --- /dev/null +++ b/goal_src/import/bladeassm-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bladeassm-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bladeassm-ag bladeassm-lod0-jg 0) +(def-art-elt bladeassm-ag bladeassm-lod0-mg 1) +(def-art-elt bladeassm-ag bladeassm-lod1-mg 2) +(def-art-elt bladeassm-ag bladeassm-lod2-mg 3) +(def-art-elt bladeassm-ag bladeassm-idle-ja 4) + + diff --git a/goal_src/import/blue-eco-charger-ag.gc b/goal_src/import/blue-eco-charger-ag.gc new file mode 100644 index 0000000000..1f5d61da6e --- /dev/null +++ b/goal_src/import/blue-eco-charger-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; blue-eco-charger-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt blue-eco-charger-ag blue-eco-charger-lod0-jg 0) +(def-art-elt blue-eco-charger-ag blue-eco-charger-lod0-mg 1) +(def-art-elt blue-eco-charger-ag blue-eco-charger-open-ja 2) + + diff --git a/goal_src/import/blue-eco-charger-orb-ag.gc b/goal_src/import/blue-eco-charger-orb-ag.gc new file mode 100644 index 0000000000..ee156005ad --- /dev/null +++ b/goal_src/import/blue-eco-charger-orb-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; blue-eco-charger-orb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt blue-eco-charger-orb-ag blue-eco-charger-orb-lod0-jg 0) +(def-art-elt blue-eco-charger-orb-ag blue-eco-charger-orb-lod0-mg 1) +(def-art-elt blue-eco-charger-orb-ag blue-eco-charger-orb-idle-ja 2) + + diff --git a/goal_src/import/bluesage-ag.gc b/goal_src/import/bluesage-ag.gc new file mode 100644 index 0000000000..555b3f64ca --- /dev/null +++ b/goal_src/import/bluesage-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bluesage-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bluesage-ag bluesage-lod0-jg 0) +(def-art-elt bluesage-ag bluesage-lod0-mg 1) +(def-art-elt bluesage-ag bluesage-lod1-mg 2) +(def-art-elt bluesage-ag bluesage-shadow-mg 3) +(def-art-elt bluesage-ag bluesage-bluesage-idle-ja 4) +(def-art-elt bluesage-ag bluesage-bluesage-attack-start-ja 5) +(def-art-elt bluesage-ag bluesage-bluesage-attack-loop-ja 6) + + diff --git a/goal_src/import/boatpaddle-ag.gc b/goal_src/import/boatpaddle-ag.gc new file mode 100644 index 0000000000..3dad650c0a --- /dev/null +++ b/goal_src/import/boatpaddle-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; boatpaddle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt boatpaddle-ag boatpaddle-lod0-jg 0) +(def-art-elt boatpaddle-ag boatpaddle-lod0-mg 1) +(def-art-elt boatpaddle-ag boatpaddle-lod1-mg 2) +(def-art-elt boatpaddle-ag boatpaddle-idle-ja 3) + + diff --git a/goal_src/import/bonelurker-ag.gc b/goal_src/import/bonelurker-ag.gc new file mode 100644 index 0000000000..ed37b67ac2 --- /dev/null +++ b/goal_src/import/bonelurker-ag.gc @@ -0,0 +1,27 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bonelurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bonelurker-ag bonelurker-lod0-jg 0) +(def-art-elt bonelurker-ag bonelurker-lod0-mg 1) +(def-art-elt bonelurker-ag bonelurker-lod1-mg 2) +(def-art-elt bonelurker-ag bonelurker-lod2-mg 3) +(def-art-elt bonelurker-ag bonelurker-shadow-mg 4) +(def-art-elt bonelurker-ag bonelurker-idle-ja 5) +(def-art-elt bonelurker-ag bonelurker-walk-ja 6) +(def-art-elt bonelurker-ag bonelurker-spot-ja 7) +(def-art-elt bonelurker-ag bonelurker-charge-ja 8) +(def-art-elt bonelurker-ag bonelurker-charge-left-ja 9) +(def-art-elt bonelurker-ag bonelurker-charge-right-ja 10) +(def-art-elt bonelurker-ag bonelurker-give-up-ja 11) +(def-art-elt bonelurker-ag bonelurker-give-up-hop-ja 12) +(def-art-elt bonelurker-ag bonelurker-win-ja 13) +(def-art-elt bonelurker-ag bonelurker-death-ja 14) +(def-art-elt bonelurker-ag bonelurker-stun-ja 15) +(def-art-elt bonelurker-ag bonelurker-turn-ja 16) +(def-art-elt bonelurker-ag bonelurker-jump-ja 17) +(def-art-elt bonelurker-ag bonelurker-jump-land-ja 18) + + diff --git a/goal_src/import/bounceytarp-ag.gc b/goal_src/import/bounceytarp-ag.gc new file mode 100644 index 0000000000..26241c7c65 --- /dev/null +++ b/goal_src/import/bounceytarp-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bounceytarp-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bounceytarp-ag bounceytarp-lod0-jg 0) +(def-art-elt bounceytarp-ag bounceytarp-lod0-mg 1) +(def-art-elt bounceytarp-ag bounceytarp-idle-ja 2) + + diff --git a/goal_src/import/breakaway-left-ag.gc b/goal_src/import/breakaway-left-ag.gc new file mode 100644 index 0000000000..e934f3934e --- /dev/null +++ b/goal_src/import/breakaway-left-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; breakaway-left-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt breakaway-left-ag breakaway-left-lod0-jg 0) +(def-art-elt breakaway-left-ag breakaway-left-lod0-mg 1) +(def-art-elt breakaway-left-ag breakaway-left-idle-ja 2) + + diff --git a/goal_src/import/breakaway-mid-ag.gc b/goal_src/import/breakaway-mid-ag.gc new file mode 100644 index 0000000000..9fe8b63071 --- /dev/null +++ b/goal_src/import/breakaway-mid-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; breakaway-mid-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt breakaway-mid-ag breakaway-mid-lod0-jg 0) +(def-art-elt breakaway-mid-ag breakaway-mid-lod0-mg 1) +(def-art-elt breakaway-mid-ag breakaway-mid-idle-ja 2) + + diff --git a/goal_src/import/breakaway-right-ag.gc b/goal_src/import/breakaway-right-ag.gc new file mode 100644 index 0000000000..a1d77dd321 --- /dev/null +++ b/goal_src/import/breakaway-right-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; breakaway-right-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt breakaway-right-ag breakaway-right-lod0-jg 0) +(def-art-elt breakaway-right-ag breakaway-right-lod0-mg 1) +(def-art-elt breakaway-right-ag breakaway-right-idle-ja 2) + + diff --git a/goal_src/import/bully-ag.gc b/goal_src/import/bully-ag.gc new file mode 100644 index 0000000000..eb0c7cc59d --- /dev/null +++ b/goal_src/import/bully-ag.gc @@ -0,0 +1,25 @@ +;;-*-Lisp-*- +(in-package goal) + +;; bully-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt bully-ag bully-lod0-jg 0) +(def-art-elt bully-ag bully-lod0-mg 1) +(def-art-elt bully-ag bully-lod1-mg 2) +(def-art-elt bully-ag bully-lod2-mg 3) +(def-art-elt bully-ag bully-shadow-mg 4) +(def-art-elt bully-ag bully-idle-ja 5) +(def-art-elt bully-ag bully-notice-jump-up-ja 6) +(def-art-elt bully-ag bully-notice-land-ja 7) +(def-art-elt bully-ag bully-start-spin-ja 8) +(def-art-elt bully-ag bully-spin-ja 9) +(def-art-elt bully-ag bully-die-ja 10) +(def-art-elt bully-ag bully-idle-bounced-ja 11) +(def-art-elt bully-ag bully-spin-bounced-ja 12) +(def-art-elt bully-ag bully-dizzy-ja 13) +(def-art-elt bully-ag bully-broken-cage-lod0-jg 14) +(def-art-elt bully-ag bully-broken-cage-lod0-mg 15) +(def-art-elt bully-ag bully-broken-cage-explode-ja 16) + + diff --git a/goal_src/import/buzzer-ag.gc b/goal_src/import/buzzer-ag.gc new file mode 100644 index 0000000000..e41b85107b --- /dev/null +++ b/goal_src/import/buzzer-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; buzzer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt buzzer-ag buzzer-lod0-jg 0) +(def-art-elt buzzer-ag buzzer-lod0-mg 1) +(def-art-elt buzzer-ag buzzer-idle-ja 2) + + diff --git a/goal_src/import/catch-fisha-ag.gc b/goal_src/import/catch-fisha-ag.gc new file mode 100644 index 0000000000..32571c3909 --- /dev/null +++ b/goal_src/import/catch-fisha-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; catch-fisha-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt catch-fisha-ag catch-fisha-lod0-jg 0) +(def-art-elt catch-fisha-ag catch-fisha-lod0-mg 1) +(def-art-elt catch-fisha-ag catch-fisha-idle-ja 2) + + diff --git a/goal_src/import/catch-fishb-ag.gc b/goal_src/import/catch-fishb-ag.gc new file mode 100644 index 0000000000..f7ecd87eb1 --- /dev/null +++ b/goal_src/import/catch-fishb-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; catch-fishb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt catch-fishb-ag catch-fishb-lod0-jg 0) +(def-art-elt catch-fishb-ag catch-fishb-lod0-mg 1) +(def-art-elt catch-fishb-ag catch-fishb-idle-ja 2) + + diff --git a/goal_src/import/catch-fishc-ag.gc b/goal_src/import/catch-fishc-ag.gc new file mode 100644 index 0000000000..267c52369b --- /dev/null +++ b/goal_src/import/catch-fishc-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; catch-fishc-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt catch-fishc-ag catch-fishc-lod0-jg 0) +(def-art-elt catch-fishc-ag catch-fishc-lod0-mg 1) +(def-art-elt catch-fishc-ag catch-fishc-idle-ja 2) + + diff --git a/goal_src/import/cavecrusher-ag.gc b/goal_src/import/cavecrusher-ag.gc new file mode 100644 index 0000000000..fde0eea08b --- /dev/null +++ b/goal_src/import/cavecrusher-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; cavecrusher-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt cavecrusher-ag cavecrusher-lod0-jg 0) +(def-art-elt cavecrusher-ag cavecrusher-lod0-mg 1) +(def-art-elt cavecrusher-ag cavecrusher-lod1-mg 2) +(def-art-elt cavecrusher-ag cavecrusher-lod2-mg 3) +(def-art-elt cavecrusher-ag cavecrusher-idle-ja 4) + + diff --git a/goal_src/import/cavecrystal-ag.gc b/goal_src/import/cavecrystal-ag.gc new file mode 100644 index 0000000000..bfec6d2088 --- /dev/null +++ b/goal_src/import/cavecrystal-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; cavecrystal-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt cavecrystal-ag cavecrystal-lod0-jg 0) +(def-art-elt cavecrystal-ag cavecrystal-lod0-mg 1) +(def-art-elt cavecrystal-ag cavecrystal-lod1-mg 2) +(def-art-elt cavecrystal-ag cavecrystal-idle-ja 3) + + diff --git a/goal_src/import/caveelevator-ag.gc b/goal_src/import/caveelevator-ag.gc new file mode 100644 index 0000000000..e86431f4d2 --- /dev/null +++ b/goal_src/import/caveelevator-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; caveelevator-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt caveelevator-ag caveelevator-lod0-jg 0) +(def-art-elt caveelevator-ag caveelevator-lod0-mg 1) +(def-art-elt caveelevator-ag caveelevator-cycle-12m-ja 2) +(def-art-elt caveelevator-ag caveelevator-one-way-58m-ja 3) +(def-art-elt caveelevator-ag caveelevator-one-way-58m-reverse-ja 4) +(def-art-elt caveelevator-ag caveelevator-cycle-3-floors-36m-ja 5) + + diff --git a/goal_src/import/cavegem-ag.gc b/goal_src/import/cavegem-ag.gc new file mode 100644 index 0000000000..849e6349e3 --- /dev/null +++ b/goal_src/import/cavegem-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; cavegem-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt cavegem-ag cavegem-lod0-jg 0) +(def-art-elt cavegem-ag cavegem-lod0-mg 1) +(def-art-elt cavegem-ag cavegem-idle-ja 2) + + diff --git a/goal_src/import/cavespatula-darkcave-ag.gc b/goal_src/import/cavespatula-darkcave-ag.gc new file mode 100644 index 0000000000..b12a5b39f6 --- /dev/null +++ b/goal_src/import/cavespatula-darkcave-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; cavespatula-darkcave-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt cavespatula-darkcave-ag cavespatula-darkcave-lod0-jg 0) +(def-art-elt cavespatula-darkcave-ag cavespatula-darkcave-lod0-mg 1) +(def-art-elt cavespatula-darkcave-ag cavespatula-darkcave-lod1-mg 2) +(def-art-elt cavespatula-darkcave-ag cavespatula-darkcave-idle-ja 3) + + diff --git a/goal_src/import/cavespatulatwo-ag.gc b/goal_src/import/cavespatulatwo-ag.gc new file mode 100644 index 0000000000..970f9162df --- /dev/null +++ b/goal_src/import/cavespatulatwo-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; cavespatulatwo-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt cavespatulatwo-ag cavespatulatwo-lod0-jg 0) +(def-art-elt cavespatulatwo-ag cavespatulatwo-lod0-mg 1) +(def-art-elt cavespatulatwo-ag cavespatulatwo-lod1-mg 2) +(def-art-elt cavespatulatwo-ag cavespatulatwo-idle-ja 3) + + diff --git a/goal_src/import/cavetrapdoor-ag.gc b/goal_src/import/cavetrapdoor-ag.gc new file mode 100644 index 0000000000..eac98bd46a --- /dev/null +++ b/goal_src/import/cavetrapdoor-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; cavetrapdoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt cavetrapdoor-ag cavetrapdoor-lod0-jg 0) +(def-art-elt cavetrapdoor-ag cavetrapdoor-lod0-mg 1) +(def-art-elt cavetrapdoor-ag cavetrapdoor-lod1-mg 2) +(def-art-elt cavetrapdoor-ag cavetrapdoor-lod2-mg 3) +(def-art-elt cavetrapdoor-ag cavetrapdoor-idle-ja 4) +(def-art-elt cavetrapdoor-ag cavetrapdoor-bob-ja 5) +(def-art-elt cavetrapdoor-ag cavetrapdoor-swing-ja 6) +(def-art-elt cavetrapdoor-ag cavetrapdoor-idle-down-ja 7) +(def-art-elt cavetrapdoor-ag cavetrapdoor-reset-ja 8) + + diff --git a/goal_src/import/ceilingflag-ag.gc b/goal_src/import/ceilingflag-ag.gc new file mode 100644 index 0000000000..76330a6d3e --- /dev/null +++ b/goal_src/import/ceilingflag-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ceilingflag-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ceilingflag-ag ceilingflag-geo-jg 0) +(def-art-elt ceilingflag-ag ceilingflag-geo-mg 1) +(def-art-elt ceilingflag-ag ceilingflag-idle-ja 2) + + diff --git a/goal_src/import/chainmine-ag.gc b/goal_src/import/chainmine-ag.gc new file mode 100644 index 0000000000..17e71d0cdf --- /dev/null +++ b/goal_src/import/chainmine-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; chainmine-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt chainmine-ag chainmine-lod0-jg 0) +(def-art-elt chainmine-ag chainmine-lod0-mg 1) +(def-art-elt chainmine-ag chainmine-idle-ja 2) + + diff --git a/goal_src/import/citadelcam-ag.gc b/goal_src/import/citadelcam-ag.gc new file mode 100644 index 0000000000..048ef8e111 --- /dev/null +++ b/goal_src/import/citadelcam-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citadelcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citadelcam-ag citadelcam-lod0-jg 0) +(def-art-elt citadelcam-ag citadelcam-lod0-mg 1) +(def-art-elt citadelcam-ag citadelcam-idle-ja 2) +(def-art-elt citadelcam-ag citadelcam-stair-plats-ja 3) +(def-art-elt citadelcam-ag citadelcam-citadel-bunnies-ja 4) + + diff --git a/goal_src/import/citb-arm-ag.gc b/goal_src/import/citb-arm-ag.gc new file mode 100644 index 0000000000..1fcf2e337b --- /dev/null +++ b/goal_src/import/citb-arm-ag.gc @@ -0,0 +1,24 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-arm-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-arm-ag citb-arm-a-lod0-jg 0) +(def-art-elt citb-arm-ag citb-arm-a-lod0-mg 1) +(def-art-elt citb-arm-ag citb-arm-a-lod1-mg 2) +(def-art-elt citb-arm-ag citb-arm-a-idle-ja 3) +(def-art-elt citb-arm-ag citb-arm-b-lod0-jg 4) +(def-art-elt citb-arm-ag citb-arm-b-lod0-mg 5) +(def-art-elt citb-arm-ag citb-arm-b-lod1-mg 6) +(def-art-elt citb-arm-ag citb-arm-b-idle-ja 7) +(def-art-elt citb-arm-ag citb-arm-c-lod0-jg 8) +(def-art-elt citb-arm-ag citb-arm-c-lod0-mg 9) +(def-art-elt citb-arm-ag citb-arm-c-lod1-mg 10) +(def-art-elt citb-arm-ag citb-arm-c-idle-ja 11) +(def-art-elt citb-arm-ag citb-arm-d-lod0-jg 12) +(def-art-elt citb-arm-ag citb-arm-d-lod0-mg 13) +(def-art-elt citb-arm-ag citb-arm-d-lod1-mg 14) +(def-art-elt citb-arm-ag citb-arm-d-idle-ja 15) + + diff --git a/goal_src/import/citb-arm-shoulder-ag.gc b/goal_src/import/citb-arm-shoulder-ag.gc new file mode 100644 index 0000000000..db1bdcf566 --- /dev/null +++ b/goal_src/import/citb-arm-shoulder-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-arm-shoulder-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-arm-shoulder-ag citb-arm-shoulder-a-lod0-jg 0) +(def-art-elt citb-arm-shoulder-ag citb-arm-shoulder-a-lod0-mg 1) +(def-art-elt citb-arm-shoulder-ag citb-arm-shoulder-a-idle-ja 2) +(def-art-elt citb-arm-shoulder-ag citb-arm-shoulder-b-lod0-jg 3) +(def-art-elt citb-arm-shoulder-ag citb-arm-shoulder-b-lod0-mg 4) +(def-art-elt citb-arm-shoulder-ag citb-arm-shoulder-b-idle-ja 5) + + diff --git a/goal_src/import/citb-bunny-ag.gc b/goal_src/import/citb-bunny-ag.gc new file mode 100644 index 0000000000..20c7b2853e --- /dev/null +++ b/goal_src/import/citb-bunny-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-bunny-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-bunny-ag citb-bunny-lod0-jg 0) +(def-art-elt citb-bunny-ag citb-bunny-lod0-mg 1) +(def-art-elt citb-bunny-ag citb-bunny-shadow-mg 2) +(def-art-elt citb-bunny-ag citb-bunny-idle-ja 3) +(def-art-elt citb-bunny-ag citb-bunny-attack-ja 4) +(def-art-elt citb-bunny-ag citb-bunny-big-hop-ja 5) +(def-art-elt citb-bunny-ag citb-bunny-small-hop-ja 6) +(def-art-elt citb-bunny-ag citb-bunny-sees-player-ja 7) +(def-art-elt citb-bunny-ag citb-bunny-sees-player-land-ja 8) +(def-art-elt citb-bunny-ag citb-bunny-die-ja 9) + + diff --git a/goal_src/import/citb-button-ag.gc b/goal_src/import/citb-button-ag.gc new file mode 100644 index 0000000000..f91f164e32 --- /dev/null +++ b/goal_src/import/citb-button-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-button-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-button-ag citb-button-lod0-jg 0) +(def-art-elt citb-button-ag citb-button-lod0-mg 1) +(def-art-elt citb-button-ag citb-button-idle-ja 2) + + diff --git a/goal_src/import/citb-chain-plat-ag.gc b/goal_src/import/citb-chain-plat-ag.gc new file mode 100644 index 0000000000..e6edcc6b56 --- /dev/null +++ b/goal_src/import/citb-chain-plat-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-chain-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-chain-plat-ag citb-chain-plat-lod0-jg 0) +(def-art-elt citb-chain-plat-ag citb-chain-plat-lod0-mg 1) +(def-art-elt citb-chain-plat-ag citb-chain-plat-lod1-mg 2) +(def-art-elt citb-chain-plat-ag citb-chain-plat-idle-ja 3) + + diff --git a/goal_src/import/citb-chains-ag.gc b/goal_src/import/citb-chains-ag.gc new file mode 100644 index 0000000000..66cc35be5b --- /dev/null +++ b/goal_src/import/citb-chains-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-chains-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-chains-ag citb-chains-lod0-jg 0) +(def-art-elt citb-chains-ag citb-chains-lod0-mg 1) +(def-art-elt citb-chains-ag citb-chains-lod1-mg 2) +(def-art-elt citb-chains-ag citb-chains-lod2-mg 3) +(def-art-elt citb-chains-ag citb-chains-idle-ja 4) + + diff --git a/goal_src/import/citb-coil-ag.gc b/goal_src/import/citb-coil-ag.gc new file mode 100644 index 0000000000..6b5969455a --- /dev/null +++ b/goal_src/import/citb-coil-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-coil-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-coil-ag citb-coil-lod0-jg 0) +(def-art-elt citb-coil-ag citb-coil-lod0-mg 1) +(def-art-elt citb-coil-ag citb-coil-lod1-mg 2) +(def-art-elt citb-coil-ag citb-coil-idle-ja 3) +(def-art-elt citb-coil-ag citb-coil-die-ja 4) +(def-art-elt citb-coil-ag citb-coil-dead-ja 5) + + diff --git a/goal_src/import/citb-disc-ag.gc b/goal_src/import/citb-disc-ag.gc new file mode 100644 index 0000000000..3fbb22fbf1 --- /dev/null +++ b/goal_src/import/citb-disc-ag.gc @@ -0,0 +1,28 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-disc-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-disc-ag citb-disc-a-lod0-jg 0) +(def-art-elt citb-disc-ag citb-disc-a-lod0-mg 1) +(def-art-elt citb-disc-ag citb-disc-a-lod1-mg 2) +(def-art-elt citb-disc-ag citb-disc-a-lod2-mg 3) +(def-art-elt citb-disc-ag citb-disc-a-idle-ja 4) +(def-art-elt citb-disc-ag citb-disc-b-lod0-jg 5) +(def-art-elt citb-disc-ag citb-disc-b-lod0-mg 6) +(def-art-elt citb-disc-ag citb-disc-b-lod1-mg 7) +(def-art-elt citb-disc-ag citb-disc-b-lod2-mg 8) +(def-art-elt citb-disc-ag citb-disc-b-idle-ja 9) +(def-art-elt citb-disc-ag citb-disc-c-lod0-jg 10) +(def-art-elt citb-disc-ag citb-disc-c-lod0-mg 11) +(def-art-elt citb-disc-ag citb-disc-c-lod1-mg 12) +(def-art-elt citb-disc-ag citb-disc-c-lod2-mg 13) +(def-art-elt citb-disc-ag citb-disc-c-idle-ja 14) +(def-art-elt citb-disc-ag citb-disc-d-lod0-jg 15) +(def-art-elt citb-disc-ag citb-disc-d-lod0-mg 16) +(def-art-elt citb-disc-ag citb-disc-d-lod1-mg 17) +(def-art-elt citb-disc-ag citb-disc-d-lod2-mg 18) +(def-art-elt citb-disc-ag citb-disc-d-idle-ja 19) + + diff --git a/goal_src/import/citb-donut-ag.gc b/goal_src/import/citb-donut-ag.gc new file mode 100644 index 0000000000..44fd49b2f8 --- /dev/null +++ b/goal_src/import/citb-donut-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-donut-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-donut-ag citb-donut-lod0-jg 0) +(def-art-elt citb-donut-ag citb-donut-lod0-mg 1) +(def-art-elt citb-donut-ag citb-donut-lod1-mg 2) +(def-art-elt citb-donut-ag citb-donut-idle-ja 3) + + diff --git a/goal_src/import/citb-drop-plat-ag.gc b/goal_src/import/citb-drop-plat-ag.gc new file mode 100644 index 0000000000..29a1a9c655 --- /dev/null +++ b/goal_src/import/citb-drop-plat-ag.gc @@ -0,0 +1,28 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-drop-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-drop-plat-ag citb-drop-plat-lod0-jg 0) +(def-art-elt citb-drop-plat-ag citb-drop-plat-lod0-mg 1) +(def-art-elt citb-drop-plat-ag citb-drop-plat-lod1-mg 2) +(def-art-elt citb-drop-plat-ag citb-drop-plat-idle-ja 3) +(def-art-elt citb-drop-plat-ag citb-drop-plat-red-lod0-jg 4) +(def-art-elt citb-drop-plat-ag citb-drop-plat-red-lod0-mg 5) +(def-art-elt citb-drop-plat-ag citb-drop-plat-red-lod1-mg 6) +(def-art-elt citb-drop-plat-ag citb-drop-plat-red-idle-ja 7) +(def-art-elt citb-drop-plat-ag citb-drop-plat-green-lod0-jg 8) +(def-art-elt citb-drop-plat-ag citb-drop-plat-green-lod0-mg 9) +(def-art-elt citb-drop-plat-ag citb-drop-plat-green-lod1-mg 10) +(def-art-elt citb-drop-plat-ag citb-drop-plat-green-idle-ja 11) +(def-art-elt citb-drop-plat-ag citb-drop-plat-blue-lod0-jg 12) +(def-art-elt citb-drop-plat-ag citb-drop-plat-blue-lod0-mg 13) +(def-art-elt citb-drop-plat-ag citb-drop-plat-blue-lod1-mg 14) +(def-art-elt citb-drop-plat-ag citb-drop-plat-blue-idle-ja 15) +(def-art-elt citb-drop-plat-ag citb-drop-plat-yellow-lod0-jg 16) +(def-art-elt citb-drop-plat-ag citb-drop-plat-yellow-lod0-mg 17) +(def-art-elt citb-drop-plat-ag citb-drop-plat-yellow-lod1-mg 18) +(def-art-elt citb-drop-plat-ag citb-drop-plat-yellow-idle-ja 19) + + diff --git a/goal_src/import/citb-exit-plat-ag.gc b/goal_src/import/citb-exit-plat-ag.gc new file mode 100644 index 0000000000..aedf016725 --- /dev/null +++ b/goal_src/import/citb-exit-plat-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-exit-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-exit-plat-ag citb-exit-plat-lod0-jg 0) +(def-art-elt citb-exit-plat-ag citb-exit-plat-lod0-mg 1) +(def-art-elt citb-exit-plat-ag citb-exit-plat-idle-ja 2) + + diff --git a/goal_src/import/citb-firehose-ag.gc b/goal_src/import/citb-firehose-ag.gc new file mode 100644 index 0000000000..22e2393057 --- /dev/null +++ b/goal_src/import/citb-firehose-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-firehose-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-firehose-ag citb-firehose-lod0-jg 0) +(def-art-elt citb-firehose-ag citb-firehose-lod0-mg 1) +(def-art-elt citb-firehose-ag citb-firehose-idle-ja 2) +(def-art-elt citb-firehose-ag citb-firehose-start-ja 3) +(def-art-elt citb-firehose-ag citb-firehose-loopflame-ja 4) +(def-art-elt citb-firehose-ag citb-firehose-end-ja 5) + + diff --git a/goal_src/import/citb-generator-ag.gc b/goal_src/import/citb-generator-ag.gc new file mode 100644 index 0000000000..e2aeed03c7 --- /dev/null +++ b/goal_src/import/citb-generator-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-generator-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-generator-ag citb-generator-lod0-jg 0) +(def-art-elt citb-generator-ag citb-generator-lod0-mg 1) +(def-art-elt citb-generator-ag citb-generator-broken-lod0-jg 2) +(def-art-elt citb-generator-ag citb-generator-broken-lod0-mg 3) +(def-art-elt citb-generator-ag citb-generator-idle-ja 4) + + diff --git a/goal_src/import/citb-hose-ag.gc b/goal_src/import/citb-hose-ag.gc new file mode 100644 index 0000000000..0a9d0dcf8b --- /dev/null +++ b/goal_src/import/citb-hose-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-hose-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-hose-ag citb-hose-lod0-jg 0) +(def-art-elt citb-hose-ag citb-hose-lod0-mg 1) +(def-art-elt citb-hose-ag citb-hose-lod1-mg 2) +(def-art-elt citb-hose-ag citb-hose-idle-ja 3) +(def-art-elt citb-hose-ag citb-hose-spit-ja 4) +(def-art-elt citb-hose-ag citb-hose-die-ja 5) + + diff --git a/goal_src/import/citb-iris-door-ag.gc b/goal_src/import/citb-iris-door-ag.gc new file mode 100644 index 0000000000..9cbfab6aec --- /dev/null +++ b/goal_src/import/citb-iris-door-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-iris-door-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-iris-door-ag citb-iris-door-lod0-jg 0) +(def-art-elt citb-iris-door-ag citb-iris-door-lod0-mg 1) +(def-art-elt citb-iris-door-ag citb-iris-door-lod1-mg 2) +(def-art-elt citb-iris-door-ag citb-iris-door-idle-ja 3) + + diff --git a/goal_src/import/citb-launcher-ag.gc b/goal_src/import/citb-launcher-ag.gc new file mode 100644 index 0000000000..7511f3f451 --- /dev/null +++ b/goal_src/import/citb-launcher-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-launcher-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-launcher-ag citb-launcher-lod0-jg 0) +(def-art-elt citb-launcher-ag citb-launcher-lod0-mg 1) +(def-art-elt citb-launcher-ag citb-launcher-idle-ja 2) + + diff --git a/goal_src/import/citb-robotboss-ag.gc b/goal_src/import/citb-robotboss-ag.gc new file mode 100644 index 0000000000..3a84c00311 --- /dev/null +++ b/goal_src/import/citb-robotboss-ag.gc @@ -0,0 +1,35 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-robotboss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-robotboss-ag citb-robotboss-lod0-jg 0) +(def-art-elt citb-robotboss-ag citb-robotboss-lod0-mg 1) +(def-art-elt citb-robotboss-ag citb-robotboss-idle-ja 2) +(def-art-elt citb-robotboss-ag citb-robotboss-nose-lod0-jg 3) +(def-art-elt citb-robotboss-ag citb-robotboss-nose-lod0-mg 4) +(def-art-elt citb-robotboss-ag citb-robotboss-nose-idle-ja 5) +(def-art-elt citb-robotboss-ag citb-robotboss-head-lod0-jg 6) +(def-art-elt citb-robotboss-ag citb-robotboss-head-lod0-mg 7) +(def-art-elt citb-robotboss-ag citb-robotboss-head-idle-ja 8) +(def-art-elt citb-robotboss-ag citb-robotboss-gun-lod0-jg 9) +(def-art-elt citb-robotboss-ag citb-robotboss-gun-lod0-mg 10) +(def-art-elt citb-robotboss-ag citb-robotboss-gun-idle-ja 11) +(def-art-elt citb-robotboss-ag citb-robotboss-leftshoulder-lod0-jg 12) +(def-art-elt citb-robotboss-ag citb-robotboss-leftshoulder-lod0-mg 13) +(def-art-elt citb-robotboss-ag citb-robotboss-leftshoulder-idle-ja 14) +(def-art-elt citb-robotboss-ag citb-robotboss-rightshoulder-lod0-jg 15) +(def-art-elt citb-robotboss-ag citb-robotboss-rightshoulder-lod0-mg 16) +(def-art-elt citb-robotboss-ag citb-robotboss-rightshoulder-idle-ja 17) +(def-art-elt citb-robotboss-ag citb-robotboss-leftarm-lod0-jg 18) +(def-art-elt citb-robotboss-ag citb-robotboss-leftarm-lod0-mg 19) +(def-art-elt citb-robotboss-ag citb-robotboss-leftarm-idle-ja 20) +(def-art-elt citb-robotboss-ag citb-robotboss-rightarm-lod0-jg 21) +(def-art-elt citb-robotboss-ag citb-robotboss-rightarm-lod0-mg 22) +(def-art-elt citb-robotboss-ag citb-robotboss-rightarm-idle-ja 23) +(def-art-elt citb-robotboss-ag citb-robotboss-belly-lod0-jg 24) +(def-art-elt citb-robotboss-ag citb-robotboss-belly-lod0-mg 25) +(def-art-elt citb-robotboss-ag citb-robotboss-belly-idle-ja 26) + + diff --git a/goal_src/import/citb-rotatebox-ag.gc b/goal_src/import/citb-rotatebox-ag.gc new file mode 100644 index 0000000000..fddf6d842a --- /dev/null +++ b/goal_src/import/citb-rotatebox-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-rotatebox-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-rotatebox-ag citb-rotatebox-lod0-jg 0) +(def-art-elt citb-rotatebox-ag citb-rotatebox-lod0-mg 1) +(def-art-elt citb-rotatebox-ag citb-rotatebox-idle-ja 2) + + diff --git a/goal_src/import/citb-sagecage-ag.gc b/goal_src/import/citb-sagecage-ag.gc new file mode 100644 index 0000000000..bb9d85221b --- /dev/null +++ b/goal_src/import/citb-sagecage-ag.gc @@ -0,0 +1,22 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-sagecage-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-sagecage-ag citb-sagecage-bluesage-idle-ja 8) +(def-art-elt citb-sagecage-ag citb-sagecage-lod0-jg 0) +(def-art-elt citb-sagecage-ag citb-sagecage-lod0-mg 1) +(def-art-elt citb-sagecage-ag citb-sagecage-lod1-mg 2) +(def-art-elt citb-sagecage-ag citb-sagecage-idle-ja 3) +(def-art-elt citb-sagecage-ag citb-sagecage-redsage-idle-ja 4) +(def-art-elt citb-sagecage-ag citb-sagecage-redsage-attack-start-ja 5) +(def-art-elt citb-sagecage-ag citb-sagecage-redsage-attack-loop-ja 6) +(def-art-elt citb-sagecage-ag citb-sagecage-bluesage-attack-start-ja 9) +(def-art-elt citb-sagecage-ag citb-sagecage-bluesage-attack-loop-ja 10) +(def-art-elt citb-sagecage-ag citb-sagecage-yellowsage-idle-ja 12) +(def-art-elt citb-sagecage-ag citb-sagecage-yellowsage-attack-start-ja 13) +(def-art-elt citb-sagecage-ag citb-sagecage-yellowsage-attack-loop-ja 14) +(def-art-elt citb-sagecage-ag citb-sagecage-green-sagecage-idle-ja 16) + + diff --git a/goal_src/import/citb-stopbox-ag.gc b/goal_src/import/citb-stopbox-ag.gc new file mode 100644 index 0000000000..8b1c8ff800 --- /dev/null +++ b/goal_src/import/citb-stopbox-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; citb-stopbox-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt citb-stopbox-ag citb-stopbox-lod0-jg 0) +(def-art-elt citb-stopbox-ag citb-stopbox-lod0-mg 1) +(def-art-elt citb-stopbox-ag citb-stopbox-lod1-mg 2) +(def-art-elt citb-stopbox-ag citb-stopbox-idle-ja 3) + + diff --git a/goal_src/import/crate-ag.gc b/goal_src/import/crate-ag.gc new file mode 100644 index 0000000000..861b0b17c4 --- /dev/null +++ b/goal_src/import/crate-ag.gc @@ -0,0 +1,33 @@ +;;-*-Lisp-*- +(in-package goal) + +;; crate-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt crate-ag crate-wood-lod0-jg 0) +(def-art-elt crate-ag crate-wood-lod0-mg 1) +(def-art-elt crate-ag crate-wood-lod1-mg 2) +(def-art-elt crate-ag crate-wood-lod2-mg 3) +(def-art-elt crate-ag crate-iron-lod0-jg 4) +(def-art-elt crate-ag crate-iron-lod0-mg 5) +(def-art-elt crate-ag crate-iron-lod1-mg 6) +(def-art-elt crate-ag crate-iron-lod2-mg 7) +(def-art-elt crate-ag crate-steel-lod0-jg 8) +(def-art-elt crate-ag crate-steel-lod0-mg 9) +(def-art-elt crate-ag crate-steel-lod1-mg 10) +(def-art-elt crate-ag crate-steel-lod2-mg 11) +(def-art-elt crate-ag crate-darkeco-lod0-jg 12) +(def-art-elt crate-ag crate-darkeco-lod0-mg 13) +(def-art-elt crate-ag crate-darkeco-lod1-mg 14) +(def-art-elt crate-ag crate-darkeco-lod2-mg 15) +(def-art-elt crate-ag crate-idle-ja 16) +(def-art-elt crate-ag crate-barrel-lod0-jg 17) +(def-art-elt crate-ag crate-barrel-lod0-mg 18) +(def-art-elt crate-ag crate-barrel-lod1-mg 19) +(def-art-elt crate-ag crate-barrel-lod2-mg 20) +(def-art-elt crate-ag crate-barrel-idle-ja 21) +(def-art-elt crate-ag crate-bucket-lod0-jg 22) +(def-art-elt crate-ag crate-bucket-lod0-mg 23) +(def-art-elt crate-ag crate-bucket-idle-ja 24) + + diff --git a/goal_src/import/crate-darkeco-cluster-ag.gc b/goal_src/import/crate-darkeco-cluster-ag.gc new file mode 100644 index 0000000000..b5fc610de2 --- /dev/null +++ b/goal_src/import/crate-darkeco-cluster-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; crate-darkeco-cluster-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt crate-darkeco-cluster-ag crate-darkeco-cluster-lod0-jg 0) +(def-art-elt crate-darkeco-cluster-ag crate-darkeco-cluster-lod0-mg 1) +(def-art-elt crate-darkeco-cluster-ag crate-darkeco-cluster-lod1-mg 2) +(def-art-elt crate-darkeco-cluster-ag crate-darkeco-cluster-idle-ja 3) + + diff --git a/goal_src/import/dark-crystal-ag.gc b/goal_src/import/dark-crystal-ag.gc new file mode 100644 index 0000000000..4fc82fd53a --- /dev/null +++ b/goal_src/import/dark-crystal-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; dark-crystal-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt dark-crystal-ag dark-crystal-lod0-jg 0) +(def-art-elt dark-crystal-ag dark-crystal-lod0-mg 1) +(def-art-elt dark-crystal-ag dark-crystal-idle-ja 2) +(def-art-elt dark-crystal-ag dark-crystal-explode-lod0-jg 3) +(def-art-elt dark-crystal-ag dark-crystal-explode-lod0-mg 4) +(def-art-elt dark-crystal-ag dark-crystal-explode-idle-ja 5) + + diff --git a/goal_src/import/dark-plant-ag.gc b/goal_src/import/dark-plant-ag.gc new file mode 100644 index 0000000000..70b9b6e55a --- /dev/null +++ b/goal_src/import/dark-plant-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; dark-plant-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt dark-plant-ag dark-plant-lod0-jg 0) +(def-art-elt dark-plant-ag dark-plant-lod0-mg 1) +(def-art-elt dark-plant-ag dark-plant-idle-ja 2) +(def-art-elt dark-plant-ag dark-plant-death-ja 3) +(def-art-elt dark-plant-ag dark-plant-sprout-ja 4) + + diff --git a/goal_src/import/darkecobarrel-ag.gc b/goal_src/import/darkecobarrel-ag.gc new file mode 100644 index 0000000000..6e0c863c09 --- /dev/null +++ b/goal_src/import/darkecobarrel-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; darkecobarrel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt darkecobarrel-ag darkecobarrel-lod0-jg 0) +(def-art-elt darkecobarrel-ag darkecobarrel-lod0-mg 1) +(def-art-elt darkecobarrel-ag darkecobarrel-idle-ja 2) + + diff --git a/goal_src/import/darkecobomb-ag.gc b/goal_src/import/darkecobomb-ag.gc new file mode 100644 index 0000000000..9131f21c35 --- /dev/null +++ b/goal_src/import/darkecobomb-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; darkecobomb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt darkecobomb-ag darkecobomb-lod0-jg 0) +(def-art-elt darkecobomb-ag darkecobomb-lod0-mg 1) +(def-art-elt darkecobomb-ag darkecobomb-idle-ja 2) +(def-art-elt darkecobomb-ag darkecobomb-blast-ja 3) +(def-art-elt darkecobomb-ag darkecobomb-open-ja 4) +(def-art-elt darkecobomb-ag darkecobomb-spin-cycle-ja 5) + + diff --git a/goal_src/import/darkecocan-ag.gc b/goal_src/import/darkecocan-ag.gc new file mode 100644 index 0000000000..cb0d901c52 --- /dev/null +++ b/goal_src/import/darkecocan-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; darkecocan-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt darkecocan-ag darkecocan-lod0-jg 0) +(def-art-elt darkecocan-ag darkecocan-lod0-mg 1) +(def-art-elt darkecocan-ag darkecocan-glow-lod0-jg 2) +(def-art-elt darkecocan-ag darkecocan-glow-lod0-mg 3) +(def-art-elt darkecocan-ag darkecocan-idle-ja 4) + + diff --git a/goal_src/import/darkvine-ag.gc b/goal_src/import/darkvine-ag.gc new file mode 100644 index 0000000000..4990f08417 --- /dev/null +++ b/goal_src/import/darkvine-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; darkvine-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt darkvine-ag darkvine-lod0-jg 0) +(def-art-elt darkvine-ag darkvine-lod0-mg 1) +(def-art-elt darkvine-ag darkvine-lod1-mg 2) +(def-art-elt darkvine-ag darkvine-idle-ja 3) +(def-art-elt darkvine-ag darkvine-retreat-ja 4) +(def-art-elt darkvine-ag darkvine-pushup-ja 5) +(def-art-elt darkvine-ag darkvine-dead-ja 6) + + diff --git a/goal_src/import/deathcam-ag.gc b/goal_src/import/deathcam-ag.gc new file mode 100644 index 0000000000..1ce4c05ac7 --- /dev/null +++ b/goal_src/import/deathcam-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; deathcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt deathcam-ag deathcam-lod0-jg 0) +(def-art-elt deathcam-ag deathcam-lod0-mg 1) +(def-art-elt deathcam-ag deathcam-idle-ja 2) + + diff --git a/goal_src/import/double-lurker-ag.gc b/goal_src/import/double-lurker-ag.gc new file mode 100644 index 0000000000..a1430c9959 --- /dev/null +++ b/goal_src/import/double-lurker-ag.gc @@ -0,0 +1,27 @@ +;;-*-Lisp-*- +(in-package goal) + +;; double-lurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt double-lurker-ag double-lurker-lod0-jg 0) +(def-art-elt double-lurker-ag double-lurker-lod0-mg 1) +(def-art-elt double-lurker-ag double-lurker-lod1-mg 2) +(def-art-elt double-lurker-ag double-lurker-lod2-mg 3) +(def-art-elt double-lurker-ag double-lurker-shadow-mg 4) +(def-art-elt double-lurker-ag double-lurker-both-idle-ja 5) +(def-art-elt double-lurker-ag double-lurker-both-patrol-ja 6) +(def-art-elt double-lurker-ag double-lurker-both-spot-ja 7) +(def-art-elt double-lurker-ag double-lurker-both-charge-ja 8) +(def-art-elt double-lurker-ag double-lurker-both-celebrate-ja 9) +(def-art-elt double-lurker-ag double-lurker-both-break-apart-ja 10) +(def-art-elt double-lurker-ag double-lurker-both-take-hit-ja 11) +(def-art-elt double-lurker-ag double-lurker-idle-ja 12) +(def-art-elt double-lurker-ag double-lurker-patrol-ja 13) +(def-art-elt double-lurker-ag double-lurker-spot-ja 14) +(def-art-elt double-lurker-ag double-lurker-charge-ja 15) +(def-art-elt double-lurker-ag double-lurker-celebrate-ja 16) +(def-art-elt double-lurker-ag double-lurker-die-ja 17) +(def-art-elt double-lurker-ag double-lurker-bottom-take-hit-ja 18) + + diff --git a/goal_src/import/double-lurker-top-ag.gc b/goal_src/import/double-lurker-top-ag.gc new file mode 100644 index 0000000000..8509ca4c00 --- /dev/null +++ b/goal_src/import/double-lurker-top-ag.gc @@ -0,0 +1,27 @@ +;;-*-Lisp-*- +(in-package goal) + +;; double-lurker-top-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt double-lurker-top-ag double-lurker-top-lod0-jg 0) +(def-art-elt double-lurker-top-ag double-lurker-top-lod0-mg 1) +(def-art-elt double-lurker-top-ag double-lurker-top-lod1-mg 2) +(def-art-elt double-lurker-top-ag double-lurker-top-lod2-mg 3) +(def-art-elt double-lurker-top-ag double-lurker-top-shadow-mg 4) +(def-art-elt double-lurker-top-ag double-lurker-top-both-idle-ja 5) +(def-art-elt double-lurker-top-ag double-lurker-top-both-patrol-ja 6) +(def-art-elt double-lurker-top-ag double-lurker-top-both-spot-ja 7) +(def-art-elt double-lurker-top-ag double-lurker-top-both-charge-ja 8) +(def-art-elt double-lurker-top-ag double-lurker-top-both-celebrate-ja 9) +(def-art-elt double-lurker-top-ag double-lurker-top-both-break-apart-ja 10) +(def-art-elt double-lurker-top-ag double-lurker-top-both-take-hit-ja 11) +(def-art-elt double-lurker-top-ag double-lurker-top-idle-ja 12) +(def-art-elt double-lurker-top-ag double-lurker-top-patrol-ja 13) +(def-art-elt double-lurker-top-ag double-lurker-top-spot-ja 14) +(def-art-elt double-lurker-top-ag double-lurker-top-charge-ja 15) +(def-art-elt double-lurker-top-ag double-lurker-top-celebrate-ja 16) +(def-art-elt double-lurker-top-ag double-lurker-top-die-ja 17) +(def-art-elt double-lurker-top-ag double-lurker-top-on-shoulders-die-ja 18) + + diff --git a/goal_src/import/driller-lurker-ag.gc b/goal_src/import/driller-lurker-ag.gc new file mode 100644 index 0000000000..ee9b6c0757 --- /dev/null +++ b/goal_src/import/driller-lurker-ag.gc @@ -0,0 +1,25 @@ +;;-*-Lisp-*- +(in-package goal) + +;; driller-lurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt driller-lurker-ag driller-lurker-lod0-jg 0) +(def-art-elt driller-lurker-ag driller-lurker-lod0-mg 1) +(def-art-elt driller-lurker-ag driller-lurker-lod1-mg 2) +(def-art-elt driller-lurker-ag driller-lurker-lod2-mg 3) +(def-art-elt driller-lurker-ag driller-lurker-shadow-mg 4) +(def-art-elt driller-lurker-ag driller-lurker-idle-ja 5) +(def-art-elt driller-lurker-ag driller-lurker-idle-look-left-ja 6) +(def-art-elt driller-lurker-ag driller-lurker-idle-look-right-ja 7) +(def-art-elt driller-lurker-ag driller-lurker-walk-ja 8) +(def-art-elt driller-lurker-ag driller-lurker-walk-up-ja 9) +(def-art-elt driller-lurker-ag driller-lurker-drill-jams-ja 10) +(def-art-elt driller-lurker-ag driller-lurker-run-ja 11) +(def-art-elt driller-lurker-ag driller-lurker-run-up-ja 12) +(def-art-elt driller-lurker-ag driller-lurker-attack-ja 13) +(def-art-elt driller-lurker-ag driller-lurker-attack-up-ja 14) +(def-art-elt driller-lurker-ag driller-lurker-idle-drilling-ja 15) +(def-art-elt driller-lurker-ag driller-lurker-die-ja 16) + + diff --git a/goal_src/import/ecoclaw-ag.gc b/goal_src/import/ecoclaw-ag.gc new file mode 100644 index 0000000000..90e6a87381 --- /dev/null +++ b/goal_src/import/ecoclaw-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ecoclaw-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ecoclaw-ag ecoclaw-lod0-jg 0) +(def-art-elt ecoclaw-ag ecoclaw-lod0-mg 1) +(def-art-elt ecoclaw-ag ecoclaw-idle-ja 2) + + diff --git a/goal_src/import/ecovalve-ag.gc b/goal_src/import/ecovalve-ag.gc new file mode 100644 index 0000000000..d69cac5452 --- /dev/null +++ b/goal_src/import/ecovalve-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ecovalve-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ecovalve-ag ecovalve-geo-jg 0) +(def-art-elt ecovalve-ag ecovalve-geo-mg 1) +(def-art-elt ecovalve-ag ecovalve-idle-ja 2) + + diff --git a/goal_src/import/ecoventrock-ag.gc b/goal_src/import/ecoventrock-ag.gc new file mode 100644 index 0000000000..eef17178b9 --- /dev/null +++ b/goal_src/import/ecoventrock-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ecoventrock-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ecoventrock-ag ecoventrock-lod0-jg 0) +(def-art-elt ecoventrock-ag ecoventrock-lod0-mg 1) +(def-art-elt ecoventrock-ag ecoventrock-lod1-mg 2) +(def-art-elt ecoventrock-ag ecoventrock-idle-ja 3) + + diff --git a/goal_src/import/ef-plane-ag.gc b/goal_src/import/ef-plane-ag.gc new file mode 100644 index 0000000000..328c24356d --- /dev/null +++ b/goal_src/import/ef-plane-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ef-plane-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ef-plane-ag ef-plane-lod0-jg 0) +(def-art-elt ef-plane-ag ef-plane-lod0-mg 1) +(def-art-elt ef-plane-ag ef-plane-idle-ja 2) + + diff --git a/goal_src/import/eggtop-ag.gc b/goal_src/import/eggtop-ag.gc new file mode 100644 index 0000000000..ab93e16ada --- /dev/null +++ b/goal_src/import/eggtop-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eggtop-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eggtop-ag eggtop-lod0-jg 0) +(def-art-elt eggtop-ag eggtop-lod0-mg 1) +(def-art-elt eggtop-ag eggtop-idle-ja 2) + + diff --git a/goal_src/import/eichar-ag.gc b/goal_src/import/eichar-ag.gc new file mode 100644 index 0000000000..3013311c71 --- /dev/null +++ b/goal_src/import/eichar-ag.gc @@ -0,0 +1,106 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-ag eichar-lod0-jg 0) +(def-art-elt eichar-ag eichar-lod0-mg 1) +(def-art-elt eichar-ag eichar-shadow-mg 2) +(def-art-elt eichar-ag eichar-run-to-stance-ja 3) +(def-art-elt eichar-ag eichar-run-to-stance-loop-ja 4) +(def-art-elt eichar-ag eichar-stance-loop-ja 5) +(def-art-elt eichar-ag eichar-run-to-stance-left-ja 6) +(def-art-elt eichar-ag eichar-run-to-stance-loop-left-ja 7) +(def-art-elt eichar-ag eichar-stance-loop-left-ja 8) +(def-art-elt eichar-ag eichar-run-to-stance-right-ja 9) +(def-art-elt eichar-ag eichar-run-to-stance-loop-right-ja 10) +(def-art-elt eichar-ag eichar-stance-loop-right-ja 11) +(def-art-elt eichar-ag eichar-run-to-stance-up-ja 12) +(def-art-elt eichar-ag eichar-run-to-stance-loop-up-ja 13) +(def-art-elt eichar-ag eichar-stance-loop-up-ja 14) +(def-art-elt eichar-ag eichar-run-to-stance-down-ja 15) +(def-art-elt eichar-ag eichar-run-to-stance-loop-down-ja 16) +(def-art-elt eichar-ag eichar-stance-loop-down-ja 17) +(def-art-elt eichar-ag eichar-run-ja 18) +(def-art-elt eichar-ag eichar-run-up-ja 19) +(def-art-elt eichar-ag eichar-run-down-ja 20) +(def-art-elt eichar-ag eichar-run-right-ja 21) +(def-art-elt eichar-ag eichar-run-left-ja 22) +(def-art-elt eichar-ag eichar-walk-ja 23) +(def-art-elt eichar-ag eichar-walk-up-ja 24) +(def-art-elt eichar-ag eichar-walk-down-ja 25) +(def-art-elt eichar-ag eichar-walk-right-ja 26) +(def-art-elt eichar-ag eichar-walk-left-ja 27) +(def-art-elt eichar-ag eichar-run-squash-ja 28) +(def-art-elt eichar-ag eichar-run-squash-weak-ja 29) +(def-art-elt eichar-ag eichar-stance-to-duck-ja 30) +(def-art-elt eichar-ag eichar-duck-stance-ja 31) +(def-art-elt eichar-ag eichar-duck-walk-ja 32) +(def-art-elt eichar-ag eichar-turn-around-ja 33) +(def-art-elt eichar-ag eichar-jump-ja 34) +(def-art-elt eichar-ag eichar-jump-land-ja 35) +(def-art-elt eichar-ag eichar-painful-land-ja 36) +(def-art-elt eichar-ag eichar-painful-land-end-ja 37) +(def-art-elt eichar-ag eichar-jump-loop-ja 38) +(def-art-elt eichar-ag eichar-jump-short-land-ja 39) +(def-art-elt eichar-ag eichar-jump-forward-ja 40) +(def-art-elt eichar-ag eichar-duck-high-jump-ja 41) +(def-art-elt eichar-ag eichar-launch-jump-ja 42) +(def-art-elt eichar-ag eichar-launch-jump-loop-ja 43) +(def-art-elt eichar-ag eichar-edge-grab-stance0-ja 44) +(def-art-elt eichar-ag eichar-edge-grab-stance1-ja 45) +(def-art-elt eichar-ag eichar-falling-to-edge-grab-ja 46) +(def-art-elt eichar-ag eichar-edge-grab-swing-left-ja 47) +(def-art-elt eichar-ag eichar-edge-grab-swing-right-ja 48) +(def-art-elt eichar-ag eichar-edge-grab-to-jump-ja 49) +(def-art-elt eichar-ag eichar-edge-grab-off-ja 50) +(def-art-elt eichar-ag eichar-attack-from-stance-ja 51) +(def-art-elt eichar-ag eichar-attack-from-stance-end-ja 52) +(def-art-elt eichar-ag eichar-attack-from-stance-alt-end-ja 53) +(def-art-elt eichar-ag eichar-attack-from-stance-run-end-ja 54) +(def-art-elt eichar-ag eichar-attack-from-stance-run-alt-end-ja 55) +(def-art-elt eichar-ag eichar-attack-from-jump-ja 56) +(def-art-elt eichar-ag eichar-attack-from-jump-loop-ja 57) +(def-art-elt eichar-ag eichar-attack-from-jump-end-ja 58) +(def-art-elt eichar-ag eichar-attack-punch-ja 59) +(def-art-elt eichar-ag eichar-attack-punch-end-ja 60) +(def-art-elt eichar-ag eichar-attack-punch-alt-end-ja 61) +(def-art-elt eichar-ag eichar-attack-uppercut-ja 62) +(def-art-elt eichar-ag eichar-flop-down-ja 63) +(def-art-elt eichar-ag eichar-flop-down-loop-ja 64) +(def-art-elt eichar-ag eichar-flop-down-land-ja 65) +(def-art-elt eichar-ag eichar-moving-flop-down-ja 66) +(def-art-elt eichar-ag eichar-moving-flop-down-loop-ja 67) +(def-art-elt eichar-ag eichar-moving-flop-down-land-ja 68) +(def-art-elt eichar-ag eichar-duck-roll-ja 69) +(def-art-elt eichar-ag eichar-duck-roll-end-ja 70) +(def-art-elt eichar-ag eichar-wheel-flip-ja 71) +(def-art-elt eichar-ag eichar-wheel-flip-land-ja 72) +(def-art-elt eichar-ag eichar-hit-from-front-ja 73) +(def-art-elt eichar-ag eichar-hit-from-back-ja 74) +(def-art-elt eichar-ag eichar-hit-up-ja 75) +(def-art-elt eichar-ag eichar-deatha-ja 76) +(def-art-elt eichar-ag eichar-death-painful-land-ja 77) +(def-art-elt eichar-ag eichar-smack-surface-ja 78) +(def-art-elt eichar-ag eichar-smack-surface-end-ja 79) +(def-art-elt eichar-ag eichar-yellow-running-blast-ja 84) +(def-art-elt eichar-ag eichar-yellow-running-blast-end-ja 85) +(def-art-elt eichar-ag eichar-yellow-jumping-blast-ja 86) +(def-art-elt eichar-ag eichar-powerup-ja 87) +(def-art-elt eichar-ag eichar-shocked-ja 88) +(def-art-elt eichar-ag eichar-wade-shallow-walk-ja 89) +(def-art-elt eichar-ag eichar-wade-deep-walk-ja 90) +(def-art-elt eichar-ag eichar-swim-stance-ja 91) +(def-art-elt eichar-ag eichar-swim-walk-ja 92) +(def-art-elt eichar-ag eichar-swim-walk-to-down-ja 93) +(def-art-elt eichar-ag eichar-swim-down-ja 94) +(def-art-elt eichar-ag eichar-swim-down-to-up-ja 95) +(def-art-elt eichar-ag eichar-swim-up-ja 96) +(def-art-elt eichar-ag eichar-swim-up-to-stance-ja 97) +(def-art-elt eichar-ag eichar-swim-jump-ja 98) +(def-art-elt eichar-ag eichar-periscope-grab-ja 101) +(def-art-elt eichar-ag eichar-trip-ja 112) +(def-art-elt eichar-ag eichar-fuel-cell-victory-9-ja 121) + + diff --git a/goal_src/import/eichar-fish+0-ag.gc b/goal_src/import/eichar-fish+0-ag.gc new file mode 100644 index 0000000000..c96f83f034 --- /dev/null +++ b/goal_src/import/eichar-fish+0-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-fish+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-fish+0-ag eichar-fishing-ja 0) +(def-art-elt eichar-fish+0-ag eichar-fishing-lose-ja 1) +(def-art-elt eichar-fish+0-ag sidekick-fishing-ja 2) +(def-art-elt eichar-fish+0-ag sidekick-fishing-lose-ja 3) + + diff --git a/goal_src/import/eichar-flut+0-ag.gc b/goal_src/import/eichar-flut+0-ag.gc new file mode 100644 index 0000000000..91a9b015af --- /dev/null +++ b/goal_src/import/eichar-flut+0-ag.gc @@ -0,0 +1,74 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-flut+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-flut+0-ag eichar-flut-idle-ja 0) +(def-art-elt eichar-flut+0-ag eichar-flut-walk-ja 1) +(def-art-elt eichar-flut+0-ag eichar-flut-run-ja 2) +(def-art-elt eichar-flut+0-ag eichar-flut-jump-ja 3) +(def-art-elt eichar-flut+0-ag eichar-flut-jump-loop-ja 4) +(def-art-elt eichar-flut+0-ag eichar-flut-jump-land-ja 5) +(def-art-elt eichar-flut+0-ag eichar-flut-jump-forward-ja 6) +(def-art-elt eichar-flut+0-ag eichar-flut-jump-forward-loop-ja 7) +(def-art-elt eichar-flut+0-ag eichar-flut-jump-forward-land-ja 8) +(def-art-elt eichar-flut+0-ag eichar-flut-double-jump-ja 9) +(def-art-elt eichar-flut+0-ag eichar-flut-running-attack-ja 10) +(def-art-elt eichar-flut+0-ag eichar-flut-running-attack-end-ja 11) +(def-art-elt eichar-flut+0-ag eichar-flut-air-attack-ja 12) +(def-art-elt eichar-flut+0-ag eichar-flut-air-attack-loop-ja 13) +(def-art-elt eichar-flut+0-ag eichar-flut-air-attack-land-ja 14) +(def-art-elt eichar-flut+0-ag eichar-flut-get-on-ja 15) +(def-art-elt eichar-flut+0-ag eichar-flut-get-off-ja 16) +(def-art-elt eichar-flut+0-ag eichar-flut-hit-back-ja 17) +(def-art-elt eichar-flut+0-ag eichar-flut-smack-surface-ja 18) +(def-art-elt eichar-flut+0-ag eichar-flut-smack-surface-end-ja 19) +(def-art-elt eichar-flut+0-ag eichar-flut-deatha-ja 20) +(def-art-elt eichar-flut+0-ag eichar-flut-squash-run-ja 21) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-idle-ja 22) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-walk-ja 23) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-run-ja 24) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-jump-ja 25) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-jump-loop-ja 26) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-jump-land-ja 27) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-jump-forward-ja 28) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-jump-forward-loop-ja 29) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-jump-forward-land-ja 30) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-double-jump-ja 31) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-running-attack-ja 32) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-running-attack-end-ja 33) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-air-attack-ja 34) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-air-attack-loop-ja 35) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-air-attack-land-ja 36) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-get-on-ja 37) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-get-off-ja 38) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-hit-back-ja 39) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-smack-surface-ja 40) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-smack-surface-end-ja 41) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-deatha-ja 42) +(def-art-elt eichar-flut+0-ag flut-saddle-flut-squash-run-ja 43) +(def-art-elt eichar-flut+0-ag sidekick-flut-idle-ja 44) +(def-art-elt eichar-flut+0-ag sidekick-flut-walk-ja 45) +(def-art-elt eichar-flut+0-ag sidekick-flut-run-ja 46) +(def-art-elt eichar-flut+0-ag sidekick-flut-jump-ja 47) +(def-art-elt eichar-flut+0-ag sidekick-flut-jump-loop-ja 48) +(def-art-elt eichar-flut+0-ag sidekick-flut-jump-land-ja 49) +(def-art-elt eichar-flut+0-ag sidekick-flut-jump-forward-ja 50) +(def-art-elt eichar-flut+0-ag sidekick-flut-jump-forward-loop-ja 51) +(def-art-elt eichar-flut+0-ag sidekick-flut-jump-forward-land-ja 52) +(def-art-elt eichar-flut+0-ag sidekick-flut-double-jump-ja 53) +(def-art-elt eichar-flut+0-ag sidekick-flut-running-attack-ja 54) +(def-art-elt eichar-flut+0-ag sidekick-flut-running-attack-end-ja 55) +(def-art-elt eichar-flut+0-ag sidekick-flut-air-attack-ja 56) +(def-art-elt eichar-flut+0-ag sidekick-flut-air-attack-loop-ja 57) +(def-art-elt eichar-flut+0-ag sidekick-flut-air-attack-land-ja 58) +(def-art-elt eichar-flut+0-ag sidekick-flut-get-on-ja 59) +(def-art-elt eichar-flut+0-ag sidekick-flut-get-off-ja 60) +(def-art-elt eichar-flut+0-ag sidekick-flut-hit-back-ja 61) +(def-art-elt eichar-flut+0-ag sidekick-flut-smack-surface-ja 62) +(def-art-elt eichar-flut+0-ag sidekick-flut-smack-surface-end-ja 63) +(def-art-elt eichar-flut+0-ag sidekick-flut-deatha-ja 64) +(def-art-elt eichar-flut+0-ag sidekick-flut-squash-run-ja 65) + + diff --git a/goal_src/import/eichar-ice+0-ag.gc b/goal_src/import/eichar-ice+0-ag.gc new file mode 100644 index 0000000000..07d80ab639 --- /dev/null +++ b/goal_src/import/eichar-ice+0-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-ice+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-ice+0-ag eichar-ice-skate-ja 0) +(def-art-elt eichar-ice+0-ag eichar-ice-slide-ja 1) +(def-art-elt eichar-ice+0-ag eichar-ice-stance-ja 2) +(def-art-elt eichar-ice+0-ag sidekick-ice-skate-ja 3) +(def-art-elt eichar-ice+0-ag sidekick-ice-slide-ja 4) +(def-art-elt eichar-ice+0-ag sidekick-ice-stance-ja 5) + + diff --git a/goal_src/import/eichar-pole+0-ag.gc b/goal_src/import/eichar-pole+0-ag.gc new file mode 100644 index 0000000000..25dadefaa7 --- /dev/null +++ b/goal_src/import/eichar-pole+0-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-pole+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-pole+0-ag eichar-pole-cycle-ja 0) +(def-art-elt eichar-pole+0-ag eichar-pole-flip-up-ja 1) +(def-art-elt eichar-pole+0-ag eichar-pole-flip-forward-ja 2) +(def-art-elt eichar-pole+0-ag eichar-pole-jump-loop-ja 3) +(def-art-elt eichar-pole+0-ag sidekick-pole-cycle-ja 4) +(def-art-elt eichar-pole+0-ag sidekick-pole-cycle2-ja 5) +(def-art-elt eichar-pole+0-ag sidekick-pole-flip-up-ja 6) +(def-art-elt eichar-pole+0-ag sidekick-pole-flip-forward-ja 7) +(def-art-elt eichar-pole+0-ag sidekick-pole-jump-loop-ja 8) + + diff --git a/goal_src/import/eichar-racer+0-ag.gc b/goal_src/import/eichar-racer+0-ag.gc new file mode 100644 index 0000000000..4d7492c606 --- /dev/null +++ b/goal_src/import/eichar-racer+0-ag.gc @@ -0,0 +1,62 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-racer+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-racer+0-ag eichar-racer-idle-ja 0) +(def-art-elt eichar-racer+0-ag eichar-racer-turn-ja 1) +(def-art-elt eichar-racer+0-ag eichar-racer-turn2-ja 2) +(def-art-elt eichar-racer+0-ag eichar-racer-dig-ja 3) +(def-art-elt eichar-racer+0-ag eichar-racer-dig2-ja 4) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-ja 5) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-loop-ja 6) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-land-ja 7) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-small-ja 8) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-small-loop-ja 9) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-small-land-ja 10) +(def-art-elt eichar-racer+0-ag eichar-racer-stance-ja 11) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-high-loop-ja 12) +(def-art-elt eichar-racer+0-ag eichar-racer-jump-high-land-ja 13) +(def-art-elt eichar-racer+0-ag eichar-racer-smack-ja 14) +(def-art-elt eichar-racer+0-ag eichar-racer-get-off-ja 15) +(def-art-elt eichar-racer+0-ag eichar-racer-get-on-ja 16) +(def-art-elt eichar-racer+0-ag eichar-racer-death-explode-ja 17) +(def-art-elt eichar-racer+0-ag racer-racer-idle-ja 18) +(def-art-elt eichar-racer+0-ag racer-racer-turn-ja 19) +(def-art-elt eichar-racer+0-ag racer-racer-turn2-ja 20) +(def-art-elt eichar-racer+0-ag racer-racer-dig-ja 21) +(def-art-elt eichar-racer+0-ag racer-racer-dig2-ja 22) +(def-art-elt eichar-racer+0-ag racer-racer-jump-ja 23) +(def-art-elt eichar-racer+0-ag racer-racer-jump-loop-ja 24) +(def-art-elt eichar-racer+0-ag racer-racer-jump-land-ja 25) +(def-art-elt eichar-racer+0-ag racer-racer-jump-small-ja 26) +(def-art-elt eichar-racer+0-ag racer-racer-jump-small-loop-ja 27) +(def-art-elt eichar-racer+0-ag racer-racer-jump-small-land-ja 28) +(def-art-elt eichar-racer+0-ag racer-racer-stance-ja 29) +(def-art-elt eichar-racer+0-ag racer-racer-jump-high-loop-ja 30) +(def-art-elt eichar-racer+0-ag racer-racer-jump-high-land-ja 31) +(def-art-elt eichar-racer+0-ag racer-racer-smack-ja 32) +(def-art-elt eichar-racer+0-ag racer-racer-get-off-ja 33) +(def-art-elt eichar-racer+0-ag racer-racer-get-on-ja 34) +(def-art-elt eichar-racer+0-ag racer-racer-death-explode-ja 35) +(def-art-elt eichar-racer+0-ag sidekick-racer-idle-ja 36) +(def-art-elt eichar-racer+0-ag sidekick-racer-turn-ja 37) +(def-art-elt eichar-racer+0-ag sidekick-racer-turn2-ja 38) +(def-art-elt eichar-racer+0-ag sidekick-racer-dig-ja 39) +(def-art-elt eichar-racer+0-ag sidekick-racer-dig2-ja 40) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-ja 41) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-loop-ja 42) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-land-ja 43) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-small-ja 44) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-small-loop-ja 45) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-small-land-ja 46) +(def-art-elt eichar-racer+0-ag sidekick-racer-stance-ja 47) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-high-loop-ja 48) +(def-art-elt eichar-racer+0-ag sidekick-racer-jump-high-land-ja 49) +(def-art-elt eichar-racer+0-ag sidekick-racer-smack-ja 50) +(def-art-elt eichar-racer+0-ag sidekick-racer-get-off-ja 51) +(def-art-elt eichar-racer+0-ag sidekick-racer-get-on-ja 52) +(def-art-elt eichar-racer+0-ag sidekick-racer-death-explode-ja 53) + + diff --git a/goal_src/import/eichar-tube+0-ag.gc b/goal_src/import/eichar-tube+0-ag.gc new file mode 100644 index 0000000000..28f952689a --- /dev/null +++ b/goal_src/import/eichar-tube+0-ag.gc @@ -0,0 +1,22 @@ +;;-*-Lisp-*- +(in-package goal) + +;; eichar-tube+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt eichar-tube+0-ag eichar-tube-turn-ja 0) +(def-art-elt eichar-tube+0-ag eichar-tube-jump-land-ja 1) +(def-art-elt eichar-tube+0-ag eichar-tube-dummy2-ja 2) +(def-art-elt eichar-tube+0-ag eichar-tube-dummy3-ja 3) +(def-art-elt eichar-tube+0-ag eichar-tube-dummy4-ja 4) +(def-art-elt eichar-tube+0-ag eichar-tube-dummy5-ja 5) +(def-art-elt eichar-tube+0-ag eichar-tube-dummy6-ja 6) +(def-art-elt eichar-tube+0-ag sidekick-tube-turn-ja 7) +(def-art-elt eichar-tube+0-ag sidekick-tube-jump-land-ja 8) +(def-art-elt eichar-tube+0-ag sidekick-tube-dummy2-ja 9) +(def-art-elt eichar-tube+0-ag sidekick-tube-dummy3-ja 10) +(def-art-elt eichar-tube+0-ag sidekick-tube-dummy4-ja 11) +(def-art-elt eichar-tube+0-ag sidekick-tube-dummy5-ja 12) +(def-art-elt eichar-tube+0-ag sidekick-tube-dummy6-ja 13) + + diff --git a/goal_src/import/energyarm-ag.gc b/goal_src/import/energyarm-ag.gc new file mode 100644 index 0000000000..b8c1d29d7b --- /dev/null +++ b/goal_src/import/energyarm-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; energyarm-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt energyarm-ag energyarm-lod0-jg 0) +(def-art-elt energyarm-ag energyarm-lod0-mg 1) +(def-art-elt energyarm-ag energyarm-lod1-mg 2) +(def-art-elt energyarm-ag energyarm-idle-ja 3) + + diff --git a/goal_src/import/energyball-ag.gc b/goal_src/import/energyball-ag.gc new file mode 100644 index 0000000000..3392602bac --- /dev/null +++ b/goal_src/import/energyball-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; energyball-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt energyball-ag energyball-lod0-jg 0) +(def-art-elt energyball-ag energyball-lod0-mg 1) +(def-art-elt energyball-ag energyball-idle-ja 2) + + diff --git a/goal_src/import/energybase-ag.gc b/goal_src/import/energybase-ag.gc new file mode 100644 index 0000000000..67b038a7ff --- /dev/null +++ b/goal_src/import/energybase-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; energybase-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt energybase-ag energybase-lod0-jg 0) +(def-art-elt energybase-ag energybase-lod0-mg 1) +(def-art-elt energybase-ag energybase-idle-ja 2) + + diff --git a/goal_src/import/energydoor-ag.gc b/goal_src/import/energydoor-ag.gc new file mode 100644 index 0000000000..7aee5239fa --- /dev/null +++ b/goal_src/import/energydoor-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; energydoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt energydoor-ag energydoor-lod0-jg 0) +(def-art-elt energydoor-ag energydoor-lod0-mg 1) +(def-art-elt energydoor-ag energydoor-idle-ja 2) + + diff --git a/goal_src/import/energyhub-ag.gc b/goal_src/import/energyhub-ag.gc new file mode 100644 index 0000000000..16708185d3 --- /dev/null +++ b/goal_src/import/energyhub-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; energyhub-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt energyhub-ag energyhub-lod0-jg 0) +(def-art-elt energyhub-ag energyhub-lod0-mg 1) +(def-art-elt energyhub-ag energyhub-idle-ja 2) + + diff --git a/goal_src/import/evilbro-ag.gc b/goal_src/import/evilbro-ag.gc new file mode 100644 index 0000000000..e0a4a54170 --- /dev/null +++ b/goal_src/import/evilbro-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilbro-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilbro-ag evilbro-lod0-jg 0) +(def-art-elt evilbro-ag evilbro-lod0-mg 1) +(def-art-elt evilbro-ag evilbro-shadow-mg 2) +(def-art-elt evilbro-ag evilbro-idle-ja 3) + + diff --git a/goal_src/import/evilbro-citadel-ag.gc b/goal_src/import/evilbro-citadel-ag.gc new file mode 100644 index 0000000000..615de3fa58 --- /dev/null +++ b/goal_src/import/evilbro-citadel-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilbro-citadel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilbro-citadel-ag evilbro-citadel-lod0-jg 0) +(def-art-elt evilbro-citadel-ag evilbro-citadel-lod0-mg 1) +(def-art-elt evilbro-citadel-ag evilbro-citadel-shadow-mg 2) +(def-art-elt evilbro-citadel-ag evilbro-citadel-idle-ja 3) + + diff --git a/goal_src/import/evilbro-village3-ag.gc b/goal_src/import/evilbro-village3-ag.gc new file mode 100644 index 0000000000..31f998f61c --- /dev/null +++ b/goal_src/import/evilbro-village3-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilbro-village3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilbro-village3-ag evilbro-village3-lod0-jg 0) +(def-art-elt evilbro-village3-ag evilbro-village3-lod0-mg 1) +(def-art-elt evilbro-village3-ag evilbro-village3-shadow-mg 2) +(def-art-elt evilbro-village3-ag evilbro-village3-idle-ja 3) + + diff --git a/goal_src/import/evilplant-ag.gc b/goal_src/import/evilplant-ag.gc new file mode 100644 index 0000000000..eb6bebfce3 --- /dev/null +++ b/goal_src/import/evilplant-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilplant-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilplant-ag evilplant-lod0-jg 0) +(def-art-elt evilplant-ag evilplant-lod0-mg 1) +(def-art-elt evilplant-ag evilplant-idle-ja 2) + + diff --git a/goal_src/import/evilsis-ag.gc b/goal_src/import/evilsis-ag.gc new file mode 100644 index 0000000000..d3a3700943 --- /dev/null +++ b/goal_src/import/evilsis-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilsis-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilsis-ag evilsis-lod0-jg 0) +(def-art-elt evilsis-ag evilsis-lod0-mg 1) +(def-art-elt evilsis-ag evilsis-shadow-mg 2) +(def-art-elt evilsis-ag evilsis-idle-ja 3) + + diff --git a/goal_src/import/evilsis-citadel-ag.gc b/goal_src/import/evilsis-citadel-ag.gc new file mode 100644 index 0000000000..be905d8651 --- /dev/null +++ b/goal_src/import/evilsis-citadel-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilsis-citadel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilsis-citadel-ag evilsis-citadel-lod0-jg 0) +(def-art-elt evilsis-citadel-ag evilsis-citadel-lod0-mg 1) +(def-art-elt evilsis-citadel-ag evilsis-citadel-shadow-mg 2) +(def-art-elt evilsis-citadel-ag evilsis-citadel-idle-ja 3) + + diff --git a/goal_src/import/evilsis-village3-ag.gc b/goal_src/import/evilsis-village3-ag.gc new file mode 100644 index 0000000000..cbd4cfcc5c --- /dev/null +++ b/goal_src/import/evilsis-village3-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; evilsis-village3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt evilsis-village3-ag evilsis-village3-lod0-jg 0) +(def-art-elt evilsis-village3-ag evilsis-village3-lod0-mg 1) +(def-art-elt evilsis-village3-ag evilsis-village3-shadow-mg 2) +(def-art-elt evilsis-village3-ag evilsis-village3-idle-ja 3) + + diff --git a/goal_src/import/exit-chamber-ag.gc b/goal_src/import/exit-chamber-ag.gc new file mode 100644 index 0000000000..c12a77ef97 --- /dev/null +++ b/goal_src/import/exit-chamber-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; exit-chamber-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt exit-chamber-ag exit-chamber-lod0-jg 0) +(def-art-elt exit-chamber-ag exit-chamber-lod0-mg 1) +(def-art-elt exit-chamber-ag exit-chamber-idle-ja 2) +(def-art-elt exit-chamber-ag exit-chamber-start-door-shut-ja 3) +(def-art-elt exit-chamber-ag exit-chamber-start-in-room-ja 4) +(def-art-elt exit-chamber-ag exit-chamber-middle-in-water-ja 5) +(def-art-elt exit-chamber-ag exit-chamber-end-out-of-water-ja 6) +(def-art-elt exit-chamber-ag exit-chamber-dive-start-ja 7) +(def-art-elt exit-chamber-ag exit-chamber-dive-middle-ja 8) +(def-art-elt exit-chamber-ag exit-chamber-dive-end-ja 9) + + diff --git a/goal_src/import/exit-chamber-dummy-ag.gc b/goal_src/import/exit-chamber-dummy-ag.gc new file mode 100644 index 0000000000..241e782407 --- /dev/null +++ b/goal_src/import/exit-chamber-dummy-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; exit-chamber-dummy-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt exit-chamber-dummy-ag exit-chamber-dummy-lod0-jg 0) +(def-art-elt exit-chamber-dummy-ag exit-chamber-dummy-lod0-mg 1) +(def-art-elt exit-chamber-dummy-ag exit-chamber-dummy-idle-ja 2) + + diff --git a/goal_src/import/explorer-ag.gc b/goal_src/import/explorer-ag.gc new file mode 100644 index 0000000000..308e0c16d1 --- /dev/null +++ b/goal_src/import/explorer-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; explorer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt explorer-ag explorer-lod0-jg 0) +(def-art-elt explorer-ag explorer-lod0-mg 1) +(def-art-elt explorer-ag explorer-shadow-mg 2) +(def-art-elt explorer-ag explorer-idle-ja 3) +(def-art-elt explorer-ag explorer-idle2-look-at-map-ja 4) +(def-art-elt explorer-ag explorer-idle2-look-right-map-ja 5) +(def-art-elt explorer-ag explorer-idle3-step-right-ja 6) +(def-art-elt explorer-ag explorer-idle3-looking-ja 7) +(def-art-elt explorer-ag explorer-idle3-step-left-ja 8) + + diff --git a/goal_src/import/farmer-ag.gc b/goal_src/import/farmer-ag.gc new file mode 100644 index 0000000000..aecdde60b1 --- /dev/null +++ b/goal_src/import/farmer-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; farmer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt farmer-ag farmer-lod0-jg 0) +(def-art-elt farmer-ag farmer-lod0-mg 1) +(def-art-elt farmer-ag farmer-lod1-mg 2) +(def-art-elt farmer-ag farmer-shadow-mg 3) +(def-art-elt farmer-ag farmer-sitting-cycle-ja 4) +(def-art-elt farmer-ag farmer-standing-cycle-ja 5) + + diff --git a/goal_src/import/farthy-snack-ag.gc b/goal_src/import/farthy-snack-ag.gc new file mode 100644 index 0000000000..0bf658b9bd --- /dev/null +++ b/goal_src/import/farthy-snack-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; farthy-snack-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt farthy-snack-ag farthy-snack-lod0-jg 0) +(def-art-elt farthy-snack-ag farthy-snack-lod0-mg 1) +(def-art-elt farthy-snack-ag farthy-snack-idle-ja 2) +(def-art-elt farthy-snack-ag farthy-snack-eat-ja 3) + + diff --git a/goal_src/import/finalbosscam-ag.gc b/goal_src/import/finalbosscam-ag.gc new file mode 100644 index 0000000000..0da0d480d7 --- /dev/null +++ b/goal_src/import/finalbosscam-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; finalbosscam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt finalbosscam-ag finalbosscam-lod0-jg 0) +(def-art-elt finalbosscam-ag finalbosscam-lod0-mg 1) +(def-art-elt finalbosscam-ag finalbosscam-idle-ja 2) + + diff --git a/goal_src/import/fireboulder-ag.gc b/goal_src/import/fireboulder-ag.gc new file mode 100644 index 0000000000..626d908aa2 --- /dev/null +++ b/goal_src/import/fireboulder-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; fireboulder-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt fireboulder-ag fireboulder-lod0-jg 0) +(def-art-elt fireboulder-ag fireboulder-lod0-mg 1) +(def-art-elt fireboulder-ag fireboulder-idle-ja 2) +(def-art-elt fireboulder-ag fireboulder-hover-ja 3) +(def-art-elt fireboulder-ag fireboulder-boulder1-ja 4) +(def-art-elt fireboulder-ag fireboulder-boulder2-ja 5) +(def-art-elt fireboulder-ag fireboulder-boulder3-ja 6) +(def-art-elt fireboulder-ag fireboulder-boulder3b-ja 7) +(def-art-elt fireboulder-ag fireboulder-boulder4-ja 8) +(def-art-elt fireboulder-ag fireboulder-pre-throw-ja 10) + + diff --git a/goal_src/import/fish-net-ag.gc b/goal_src/import/fish-net-ag.gc new file mode 100644 index 0000000000..78a0964b8e --- /dev/null +++ b/goal_src/import/fish-net-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; fish-net-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt fish-net-ag fish-net-lod0-jg 0) +(def-art-elt fish-net-ag fish-net-lod0-mg 1) +(def-art-elt fish-net-ag fish-net-fishing-ja 2) + + diff --git a/goal_src/import/fisher-ag.gc b/goal_src/import/fisher-ag.gc new file mode 100644 index 0000000000..341b9e9b6a --- /dev/null +++ b/goal_src/import/fisher-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; fisher-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt fisher-ag fisher-lod0-jg 0) +(def-art-elt fisher-ag fisher-lod0-mg 1) +(def-art-elt fisher-ag fisher-lod1-mg 2) +(def-art-elt fisher-ag fisher-lod2-mg 3) +(def-art-elt fisher-ag fisher-shadow-mg 4) +(def-art-elt fisher-ag fisher-idle-less-often-ja 5) +(def-art-elt fisher-ag fisher-idle-more-often-ja 6) +(def-art-elt fisher-ag fisher-idle-win-ja 7) + + diff --git a/goal_src/import/fishermans-boat-ag.gc b/goal_src/import/fishermans-boat-ag.gc new file mode 100644 index 0000000000..086788adb4 --- /dev/null +++ b/goal_src/import/fishermans-boat-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; fishermans-boat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt fishermans-boat-ag fishermans-boat-lod0-jg 0) +(def-art-elt fishermans-boat-ag fishermans-boat-lod0-mg 1) +(def-art-elt fishermans-boat-ag fishermans-boat-lod1-mg 2) +(def-art-elt fishermans-boat-ag fishermans-boat-idle-ja 3) + + diff --git a/goal_src/import/floating-launcher-ag.gc b/goal_src/import/floating-launcher-ag.gc new file mode 100644 index 0000000000..e789d2d899 --- /dev/null +++ b/goal_src/import/floating-launcher-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; floating-launcher-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt floating-launcher-ag floating-launcher-lod0-jg 0) +(def-art-elt floating-launcher-ag floating-launcher-lod0-mg 1) +(def-art-elt floating-launcher-ag floating-launcher-idle-ja 2) + + diff --git a/goal_src/import/flut-saddle-ag.gc b/goal_src/import/flut-saddle-ag.gc new file mode 100644 index 0000000000..5820aa9a27 --- /dev/null +++ b/goal_src/import/flut-saddle-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flut-saddle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flut-saddle-ag flut-saddle-lod0-jg 0) +(def-art-elt flut-saddle-ag flut-saddle-lod0-mg 1) +(def-art-elt flut-saddle-ag flut-saddle-shadow-mg 2) + + diff --git a/goal_src/import/flutflut-ag.gc b/goal_src/import/flutflut-ag.gc new file mode 100644 index 0000000000..06bb73ade8 --- /dev/null +++ b/goal_src/import/flutflut-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flutflut-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flutflut-ag flutflut-lod0-jg 0) +(def-art-elt flutflut-ag flutflut-lod0-mg 1) +(def-art-elt flutflut-ag flutflut-flutflut-idle-ja 2) + + diff --git a/goal_src/import/flutflut-bluehut-ag.gc b/goal_src/import/flutflut-bluehut-ag.gc new file mode 100644 index 0000000000..0a04bd89dc --- /dev/null +++ b/goal_src/import/flutflut-bluehut-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flutflut-bluehut-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flutflut-bluehut-ag flutflut-bluehut-lod0-jg 0) +(def-art-elt flutflut-bluehut-ag flutflut-bluehut-lod0-mg 1) +(def-art-elt flutflut-bluehut-ag flutflut-bluehut-idle-breathe-ja 2) +(def-art-elt flutflut-bluehut-ag flutflut-bluehut-idle-start-scratch-ja 3) +(def-art-elt flutflut-bluehut-ag flutflut-bluehut-idle-scratch-ja 4) + + diff --git a/goal_src/import/flutflut-plat-large-ag.gc b/goal_src/import/flutflut-plat-large-ag.gc new file mode 100644 index 0000000000..ebd9c5ce37 --- /dev/null +++ b/goal_src/import/flutflut-plat-large-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flutflut-plat-large-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flutflut-plat-large-ag flutflut-plat-large-lod0-jg 0) +(def-art-elt flutflut-plat-large-ag flutflut-plat-large-lod0-mg 1) +(def-art-elt flutflut-plat-large-ag flutflut-plat-large-idle-ja 2) + + diff --git a/goal_src/import/flutflut-plat-med-ag.gc b/goal_src/import/flutflut-plat-med-ag.gc new file mode 100644 index 0000000000..5409098bd7 --- /dev/null +++ b/goal_src/import/flutflut-plat-med-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flutflut-plat-med-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flutflut-plat-med-ag flutflut-plat-med-lod0-jg 0) +(def-art-elt flutflut-plat-med-ag flutflut-plat-med-lod0-mg 1) +(def-art-elt flutflut-plat-med-ag flutflut-plat-med-idle-ja 2) + + diff --git a/goal_src/import/flutflut-plat-small-ag.gc b/goal_src/import/flutflut-plat-small-ag.gc new file mode 100644 index 0000000000..3d929564cb --- /dev/null +++ b/goal_src/import/flutflut-plat-small-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flutflut-plat-small-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flutflut-plat-small-ag flutflut-plat-small-lod0-jg 0) +(def-art-elt flutflut-plat-small-ag flutflut-plat-small-lod0-mg 1) +(def-art-elt flutflut-plat-small-ag flutflut-plat-small-idle-ja 2) + + diff --git a/goal_src/import/flutflutegg-ag.gc b/goal_src/import/flutflutegg-ag.gc new file mode 100644 index 0000000000..3f50948717 --- /dev/null +++ b/goal_src/import/flutflutegg-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flutflutegg-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flutflutegg-ag flutflutegg-lod0-jg 0) +(def-art-elt flutflutegg-ag flutflutegg-lod0-mg 1) +(def-art-elt flutflutegg-ag flutflutegg-lod1-mg 2) +(def-art-elt flutflutegg-ag flutflutegg-lod2-mg 3) +(def-art-elt flutflutegg-ag flutflutegg-idle-ja 4) +(def-art-elt flutflutegg-ag flutflutegg-crack-ja 5) +(def-art-elt flutflutegg-ag flutflutegg-broke-ja 6) + + diff --git a/goal_src/import/flying-lurker-ag.gc b/goal_src/import/flying-lurker-ag.gc new file mode 100644 index 0000000000..ff1ec8a8fa --- /dev/null +++ b/goal_src/import/flying-lurker-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; flying-lurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt flying-lurker-ag flying-lurker-lod0-jg 0) +(def-art-elt flying-lurker-ag flying-lurker-lod0-mg 1) +(def-art-elt flying-lurker-ag flying-lurker-lod1-mg 2) +(def-art-elt flying-lurker-ag flying-lurker-lod2-mg 3) +(def-art-elt flying-lurker-ag flying-lurker-shadow-mg 4) +(def-art-elt flying-lurker-ag flying-lurker-fly-ja 5) +(def-art-elt flying-lurker-ag flying-lurker-look-ja 6) + + diff --git a/goal_src/import/fuel-cell-ag.gc b/goal_src/import/fuel-cell-ag.gc new file mode 100644 index 0000000000..6ba8fe3fd4 --- /dev/null +++ b/goal_src/import/fuel-cell-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; fuel-cell-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt fuel-cell-ag fuel-cell-lod0-jg 0) +(def-art-elt fuel-cell-ag fuel-cell-lod0-mg 1) +(def-art-elt fuel-cell-ag fuel-cell-idle-ja 2) +(def-art-elt fuel-cell-ag fuel-cell-fuel-cell-victory-9-ja 11) + + diff --git a/goal_src/import/fuelcell-naked-ag.gc b/goal_src/import/fuelcell-naked-ag.gc new file mode 100644 index 0000000000..9d47569ac8 --- /dev/null +++ b/goal_src/import/fuelcell-naked-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; fuelcell-naked-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt fuelcell-naked-ag fuelcell-naked-lod0-jg 0) +(def-art-elt fuelcell-naked-ag fuelcell-naked-lod0-mg 1) +(def-art-elt fuelcell-naked-ag fuelcell-naked-idle-ja 2) + + diff --git a/goal_src/import/gambler-ag.gc b/goal_src/import/gambler-ag.gc new file mode 100644 index 0000000000..b0379d8f50 --- /dev/null +++ b/goal_src/import/gambler-ag.gc @@ -0,0 +1,19 @@ +;;-*-Lisp-*- +(in-package goal) + +;; gambler-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt gambler-ag gambler-lod0-jg 0) +(def-art-elt gambler-ag gambler-lod0-mg 1) +(def-art-elt gambler-ag gambler-lod1-mg 2) +(def-art-elt gambler-ag gambler-lod2-mg 3) +(def-art-elt gambler-ag gambler-shadow-mg 4) +(def-art-elt gambler-ag gambler-idle-tiptoe-ja 5) +(def-art-elt gambler-ag gambler-idle-look-1-ja 6) +(def-art-elt gambler-ag gambler-idle-fidget-ja 7) +(def-art-elt gambler-ag gambler-idle-scratch-1-ja 8) +(def-art-elt gambler-ag gambler-idle-look-2-ja 9) +(def-art-elt gambler-ag gambler-idle-scratch-2-ja 10) + + diff --git a/goal_src/import/generic-button-ag.gc b/goal_src/import/generic-button-ag.gc new file mode 100644 index 0000000000..20aa0a5b35 --- /dev/null +++ b/goal_src/import/generic-button-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; generic-button-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt generic-button-ag generic-button-lod0-jg 0) +(def-art-elt generic-button-ag generic-button-lod0-mg 1) +(def-art-elt generic-button-ag generic-button-idle-ja 2) + + diff --git a/goal_src/import/geologist-ag.gc b/goal_src/import/geologist-ag.gc new file mode 100644 index 0000000000..d73866551c --- /dev/null +++ b/goal_src/import/geologist-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; geologist-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt geologist-ag geologist-lod0-jg 0) +(def-art-elt geologist-ag geologist-lod0-mg 1) +(def-art-elt geologist-ag geologist-lod1-mg 2) +(def-art-elt geologist-ag geologist-lod2-mg 3) +(def-art-elt geologist-ag geologist-shadow-mg 4) +(def-art-elt geologist-ag geologist-idle-ja 5) + + diff --git a/goal_src/import/gnawer-ag.gc b/goal_src/import/gnawer-ag.gc new file mode 100644 index 0000000000..eabaa263fd --- /dev/null +++ b/goal_src/import/gnawer-ag.gc @@ -0,0 +1,26 @@ +;;-*-Lisp-*- +(in-package goal) + +;; gnawer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt gnawer-ag gnawer-lod0-jg 0) +(def-art-elt gnawer-ag gnawer-lod0-mg 1) +(def-art-elt gnawer-ag gnawer-lod1-mg 2) +(def-art-elt gnawer-ag gnawer-lod2-mg 3) +(def-art-elt gnawer-ag gnawer-idle-ja 4) +(def-art-elt gnawer-ag gnawer-run-ja 5) +(def-art-elt gnawer-ag gnawer-takes-hit-ja 6) +(def-art-elt gnawer-ag gnawer-die-ja 7) +(def-art-elt gnawer-ag gnawer-tear-side-to-side-ja 8) +(def-art-elt gnawer-ag gnawer-tug-ja 9) +(def-art-elt gnawer-ag gnawer-up-to-chew-ja 10) +(def-art-elt gnawer-ag gnawer-chew-ja 11) +(def-art-elt gnawer-ag gnawer-notice-ja 12) +(def-art-elt gnawer-ag gnawer-down-from-chew-ja 13) +(def-art-elt gnawer-ag gnawer-segment-lod0-jg 14) +(def-art-elt gnawer-ag gnawer-segment-lod0-mg 15) +(def-art-elt gnawer-ag gnawer-segment-idle-ja 16) +(def-art-elt gnawer-ag gnawer-segment-die-ja 17) + + diff --git a/goal_src/import/gondola-ag.gc b/goal_src/import/gondola-ag.gc new file mode 100644 index 0000000000..24cc256e19 --- /dev/null +++ b/goal_src/import/gondola-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; gondola-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt gondola-ag gondola-lod0-jg 0) +(def-art-elt gondola-ag gondola-lod0-mg 1) +(def-art-elt gondola-ag gondola-shadow-mg 2) +(def-art-elt gondola-ag gondola-idle-down-ja 3) +(def-art-elt gondola-ag gondola-idle-up-ja 4) + + diff --git a/goal_src/import/gondolacables-ag.gc b/goal_src/import/gondolacables-ag.gc new file mode 100644 index 0000000000..663ef782a6 --- /dev/null +++ b/goal_src/import/gondolacables-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; gondolacables-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt gondolacables-ag gondolacables-lod0-jg 0) +(def-art-elt gondolacables-ag gondolacables-lod0-mg 1) +(def-art-elt gondolacables-ag gondolacables-idle-ja 2) + + diff --git a/goal_src/import/green-eco-lurker-ag.gc b/goal_src/import/green-eco-lurker-ag.gc new file mode 100644 index 0000000000..9f14522c83 --- /dev/null +++ b/goal_src/import/green-eco-lurker-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; green-eco-lurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt green-eco-lurker-ag green-eco-lurker-lod0-jg 0) +(def-art-elt green-eco-lurker-ag green-eco-lurker-lod0-mg 1) +(def-art-elt green-eco-lurker-ag green-eco-lurker-shadow-mg 2) +(def-art-elt green-eco-lurker-ag green-eco-lurker-idle-ja 3) +(def-art-elt green-eco-lurker-ag green-eco-lurker-charge-ja 4) +(def-art-elt green-eco-lurker-ag green-eco-lurker-win-ja 5) +(def-art-elt green-eco-lurker-ag green-eco-lurker-death-ja 6) +(def-art-elt green-eco-lurker-ag green-eco-lurker-jump-ja 7) +(def-art-elt green-eco-lurker-ag green-eco-lurker-jump-land-ja 8) +(def-art-elt green-eco-lurker-ag green-eco-lurker-spot-ja 9) +(def-art-elt green-eco-lurker-ag green-eco-lurker-turn-ja 10) +(def-art-elt green-eco-lurker-ag green-eco-lurker-jump-with-flip-ja 11) + + diff --git a/goal_src/import/green-sagecage-ag.gc b/goal_src/import/green-sagecage-ag.gc new file mode 100644 index 0000000000..f68d2d396c --- /dev/null +++ b/goal_src/import/green-sagecage-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; green-sagecage-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt green-sagecage-ag green-sagecage-lod0-jg 0) +(def-art-elt green-sagecage-ag green-sagecage-lod0-mg 1) +(def-art-elt green-sagecage-ag green-sagecage-lod1-mg 2) +(def-art-elt green-sagecage-ag green-sagecage-shadow-mg 3) +(def-art-elt green-sagecage-ag green-sagecage-green-sagecage-idle-ja 4) + + diff --git a/goal_src/import/greenshot-ag.gc b/goal_src/import/greenshot-ag.gc new file mode 100644 index 0000000000..30f6b37ca7 --- /dev/null +++ b/goal_src/import/greenshot-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; greenshot-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt greenshot-ag greenshot-lod0-jg 0) +(def-art-elt greenshot-ag greenshot-lod0-mg 1) +(def-art-elt greenshot-ag greenshot-idle-ja 2) + + diff --git a/goal_src/import/grottopole-ag.gc b/goal_src/import/grottopole-ag.gc new file mode 100644 index 0000000000..6d9f0fa6e3 --- /dev/null +++ b/goal_src/import/grottopole-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; grottopole-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt grottopole-ag grottopole-lod0-jg 0) +(def-art-elt grottopole-ag grottopole-lod0-mg 1) +(def-art-elt grottopole-ag grottopole-lod1-mg 2) +(def-art-elt grottopole-ag grottopole-idle-ja 3) + + diff --git a/goal_src/import/happy-plant-ag.gc b/goal_src/import/happy-plant-ag.gc new file mode 100644 index 0000000000..60983de695 --- /dev/null +++ b/goal_src/import/happy-plant-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; happy-plant-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt happy-plant-ag happy-plant-lod0-jg 0) +(def-art-elt happy-plant-ag happy-plant-lod0-mg 1) +(def-art-elt happy-plant-ag happy-plant-lod1-mg 2) +(def-art-elt happy-plant-ag happy-plant-init-ja 3) +(def-art-elt happy-plant-ag happy-plant-idle-ja 4) + + diff --git a/goal_src/import/harvester-ag.gc b/goal_src/import/harvester-ag.gc new file mode 100644 index 0000000000..fb0919ab48 --- /dev/null +++ b/goal_src/import/harvester-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; harvester-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt harvester-ag harvester-lod0-jg 0) +(def-art-elt harvester-ag harvester-lod0-mg 1) +(def-art-elt harvester-ag harvester-lod1-mg 2) +(def-art-elt harvester-ag harvester-lod2-mg 3) +(def-art-elt harvester-ag harvester-idle-ja 4) +(def-art-elt harvester-ag harvester-inflate-ja 5) + + diff --git a/goal_src/import/helix-button-ag.gc b/goal_src/import/helix-button-ag.gc new file mode 100644 index 0000000000..6a2a1b2bd1 --- /dev/null +++ b/goal_src/import/helix-button-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; helix-button-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt helix-button-ag helix-button-lod0-jg 0) +(def-art-elt helix-button-ag helix-button-lod0-mg 1) +(def-art-elt helix-button-ag helix-button-idle-ja 2) + + diff --git a/goal_src/import/helix-slide-door-ag.gc b/goal_src/import/helix-slide-door-ag.gc new file mode 100644 index 0000000000..774315feba --- /dev/null +++ b/goal_src/import/helix-slide-door-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; helix-slide-door-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt helix-slide-door-ag helix-slide-door-lod0-jg 0) +(def-art-elt helix-slide-door-ag helix-slide-door-lod0-mg 1) +(def-art-elt helix-slide-door-ag helix-slide-door-idle-ja 2) + + diff --git a/goal_src/import/hopper-ag.gc b/goal_src/import/hopper-ag.gc new file mode 100644 index 0000000000..422d13c1f4 --- /dev/null +++ b/goal_src/import/hopper-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; hopper-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt hopper-ag hopper-lod0-jg 0) +(def-art-elt hopper-ag hopper-lod0-mg 1) +(def-art-elt hopper-ag hopper-lod1-mg 2) +(def-art-elt hopper-ag hopper-lod2-mg 3) +(def-art-elt hopper-ag hopper-shadow-mg 4) +(def-art-elt hopper-ag hopper-idle-ja 5) +(def-art-elt hopper-ag hopper-burp-ja 6) +(def-art-elt hopper-ag hopper-jump-long-ja 7) +(def-art-elt hopper-ag hopper-jump-long-land-ja 8) +(def-art-elt hopper-ag hopper-jump-short-ja 9) +(def-art-elt hopper-ag hopper-jump-short-land-ja 10) +(def-art-elt hopper-ag hopper-death-ja 11) + + diff --git a/goal_src/import/hutlamp-ag.gc b/goal_src/import/hutlamp-ag.gc new file mode 100644 index 0000000000..3b912f2346 --- /dev/null +++ b/goal_src/import/hutlamp-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; hutlamp-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt hutlamp-ag hutlamp-lod0-jg 0) +(def-art-elt hutlamp-ag hutlamp-lod0-mg 1) +(def-art-elt hutlamp-ag hutlamp-idle-ja 2) + + diff --git a/goal_src/import/ice-cube-ag.gc b/goal_src/import/ice-cube-ag.gc new file mode 100644 index 0000000000..79b1967209 --- /dev/null +++ b/goal_src/import/ice-cube-ag.gc @@ -0,0 +1,26 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ice-cube-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ice-cube-ag ice-cube-lod0-jg 0) +(def-art-elt ice-cube-ag ice-cube-lod0-mg 1) +(def-art-elt ice-cube-ag ice-cube-lod1-mg 2) +(def-art-elt ice-cube-ag ice-cube-lod2-mg 3) +(def-art-elt ice-cube-ag ice-cube-shadow-mg 4) +(def-art-elt ice-cube-ag ice-cube-vuln-idle-ja 5) +(def-art-elt ice-cube-ag ice-cube-vuln-walk-ja 6) +(def-art-elt ice-cube-ag ice-cube-appear-jump-up-ja 7) +(def-art-elt ice-cube-ag ice-cube-appear-land-ja 8) +(def-art-elt ice-cube-ag ice-cube-extend-spikes-ja 9) +(def-art-elt ice-cube-ag ice-cube-turn-on-player-ja 10) +(def-art-elt ice-cube-ag ice-cube-turn-on-player-land-ja 11) +(def-art-elt ice-cube-ag ice-cube-invuln-run-ja 12) +(def-art-elt ice-cube-ag ice-cube-invuln-stopping-ja 13) +(def-art-elt ice-cube-ag ice-cube-retract-spikes-ja 14) +(def-art-elt ice-cube-ag ice-cube-breathing-ja 15) +(def-art-elt ice-cube-ag ice-cube-head-wipe-ja 16) +(def-art-elt ice-cube-ag ice-cube-invuln-stopping-upright-ja 17) + + diff --git a/goal_src/import/ice-cube-break-ag.gc b/goal_src/import/ice-cube-break-ag.gc new file mode 100644 index 0000000000..6a33c610c1 --- /dev/null +++ b/goal_src/import/ice-cube-break-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ice-cube-break-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ice-cube-break-ag ice-cube-break-lod0-jg 0) +(def-art-elt ice-cube-break-ag ice-cube-break-lod0-mg 1) +(def-art-elt ice-cube-break-ag ice-cube-break-idle-ja 2) + + diff --git a/goal_src/import/jak-white-ag.gc b/goal_src/import/jak-white-ag.gc new file mode 100644 index 0000000000..011725c0d3 --- /dev/null +++ b/goal_src/import/jak-white-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; jak-white-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt jak-white-ag jak-white-lod0-jg 0) +(def-art-elt jak-white-ag jak-white-lod0-mg 1) +(def-art-elt jak-white-ag jak-white-idle-ja 2) + + diff --git a/goal_src/import/jaws-ag.gc b/goal_src/import/jaws-ag.gc new file mode 100644 index 0000000000..4ab7596ffd --- /dev/null +++ b/goal_src/import/jaws-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; jaws-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt jaws-ag jaws-lod0-jg 0) +(def-art-elt jaws-ag jaws-lod0-mg 1) +(def-art-elt jaws-ag jaws-idle-ja 2) + + diff --git a/goal_src/import/jng-iris-door-ag.gc b/goal_src/import/jng-iris-door-ag.gc new file mode 100644 index 0000000000..7a02140deb --- /dev/null +++ b/goal_src/import/jng-iris-door-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; jng-iris-door-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt jng-iris-door-ag jng-iris-door-lod0-jg 0) +(def-art-elt jng-iris-door-ag jng-iris-door-lod0-mg 1) +(def-art-elt jng-iris-door-ag jng-iris-door-lod1-mg 2) +(def-art-elt jng-iris-door-ag jng-iris-door-idle-ja 3) + + diff --git a/goal_src/import/junglecam-ag.gc b/goal_src/import/junglecam-ag.gc new file mode 100644 index 0000000000..73624b005e --- /dev/null +++ b/goal_src/import/junglecam-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; junglecam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt junglecam-ag junglecam-lod0-jg 0) +(def-art-elt junglecam-ag junglecam-lod0-mg 1) +(def-art-elt junglecam-ag junglecam-beamcam-ja 2) +(def-art-elt junglecam-ag junglecam-tower1-ja 3) +(def-art-elt junglecam-ag junglecam-tower2-ja 4) +(def-art-elt junglecam-ag junglecam-tower3-ja 5) +(def-art-elt junglecam-ag junglecam-tower4-ja 6) +(def-art-elt junglecam-ag junglecam-tower5-ja 7) +(def-art-elt junglecam-ag junglecam-precurbridgecam-ja 8) + + diff --git a/goal_src/import/junglefish-ag.gc b/goal_src/import/junglefish-ag.gc new file mode 100644 index 0000000000..32fda5a53a --- /dev/null +++ b/goal_src/import/junglefish-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; junglefish-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt junglefish-ag junglefish-lod0-jg 0) +(def-art-elt junglefish-ag junglefish-lod0-mg 1) +(def-art-elt junglefish-ag junglefish-lod1-mg 2) +(def-art-elt junglefish-ag junglefish-lod2-mg 3) +(def-art-elt junglefish-ag junglefish-swim-ja 4) +(def-art-elt junglefish-ag junglefish-chomp-ja 5) +(def-art-elt junglefish-ag junglefish-death-ja 6) + + diff --git a/goal_src/import/junglesnake-ag.gc b/goal_src/import/junglesnake-ag.gc new file mode 100644 index 0000000000..c4014d4538 --- /dev/null +++ b/goal_src/import/junglesnake-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; junglesnake-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt junglesnake-ag junglesnake-lod0-jg 0) +(def-art-elt junglesnake-ag junglesnake-lod0-mg 1) +(def-art-elt junglesnake-ag junglesnake-idle-ja 2) +(def-art-elt junglesnake-ag junglesnake-strike-close-ja 3) +(def-art-elt junglesnake-ag junglesnake-strike-far-ja 4) +(def-art-elt junglesnake-ag junglesnake-drop-down-ja 5) +(def-art-elt junglesnake-ag junglesnake-death-ja 6) +(def-art-elt junglesnake-ag junglesnake-give-up-ja 7) + + diff --git a/goal_src/import/keg-ag.gc b/goal_src/import/keg-ag.gc new file mode 100644 index 0000000000..a87dfbf555 --- /dev/null +++ b/goal_src/import/keg-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; keg-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt keg-ag keg-lod0-jg 0) +(def-art-elt keg-ag keg-lod0-mg 1) +(def-art-elt keg-ag keg-lod1-mg 2) +(def-art-elt keg-ag keg-lod2-mg 3) +(def-art-elt keg-ag keg-shadow-mg 4) +(def-art-elt keg-ag keg-idle-ja 5) + + diff --git a/goal_src/import/keg-conveyor-ag.gc b/goal_src/import/keg-conveyor-ag.gc new file mode 100644 index 0000000000..39bda0722e --- /dev/null +++ b/goal_src/import/keg-conveyor-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; keg-conveyor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt keg-conveyor-ag keg-conveyor-lod0-jg 0) +(def-art-elt keg-conveyor-ag keg-conveyor-lod0-mg 1) +(def-art-elt keg-conveyor-ag keg-conveyor-idle-ja 2) + + diff --git a/goal_src/import/keg-conveyor-paddle-ag.gc b/goal_src/import/keg-conveyor-paddle-ag.gc new file mode 100644 index 0000000000..c23607d2d9 --- /dev/null +++ b/goal_src/import/keg-conveyor-paddle-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; keg-conveyor-paddle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt keg-conveyor-paddle-ag keg-conveyor-paddle-lod0-jg 0) +(def-art-elt keg-conveyor-paddle-ag keg-conveyor-paddle-lod0-mg 1) +(def-art-elt keg-conveyor-paddle-ag keg-conveyor-paddle-idle-ja 2) + + diff --git a/goal_src/import/kermit-ag.gc b/goal_src/import/kermit-ag.gc new file mode 100644 index 0000000000..ab40c16edc --- /dev/null +++ b/goal_src/import/kermit-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; kermit-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt kermit-ag kermit-lod0-jg 0) +(def-art-elt kermit-ag kermit-lod0-mg 1) +(def-art-elt kermit-ag kermit-lod1-mg 2) +(def-art-elt kermit-ag kermit-lod2-mg 3) +(def-art-elt kermit-ag kermit-idle-ja 4) +(def-art-elt kermit-ag kermit-hop-ja 5) +(def-art-elt kermit-ag kermit-longhop-ja 6) +(def-art-elt kermit-ag kermit-lash-ja 7) +(def-art-elt kermit-ag kermit-miss-ja 8) +(def-art-elt kermit-ag kermit-pull-ja 9) +(def-art-elt kermit-ag kermit-turn-ja 10) +(def-art-elt kermit-ag kermit-die-ja 11) + + diff --git a/goal_src/import/kickrock-ag.gc b/goal_src/import/kickrock-ag.gc new file mode 100644 index 0000000000..b0d930566a --- /dev/null +++ b/goal_src/import/kickrock-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; kickrock-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt kickrock-ag kickrock-lod0-jg 0) +(def-art-elt kickrock-ag kickrock-lod0-mg 1) +(def-art-elt kickrock-ag kickrock-idle-ja 2) + + diff --git a/goal_src/import/launcherdoor-ag.gc b/goal_src/import/launcherdoor-ag.gc new file mode 100644 index 0000000000..7aa33defc2 --- /dev/null +++ b/goal_src/import/launcherdoor-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; launcherdoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt launcherdoor-ag launcherdoor-geo-jg 0) +(def-art-elt launcherdoor-ag launcherdoor-geo-mg 1) +(def-art-elt launcherdoor-ag launcherdoor-lod1-mg 2) +(def-art-elt launcherdoor-ag launcherdoor-idle-ja 3) + + diff --git a/goal_src/import/launcherdoor-maincave-ag.gc b/goal_src/import/launcherdoor-maincave-ag.gc new file mode 100644 index 0000000000..ca182c73a1 --- /dev/null +++ b/goal_src/import/launcherdoor-maincave-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; launcherdoor-maincave-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt launcherdoor-maincave-ag launcherdoor-maincave-geo-jg 0) +(def-art-elt launcherdoor-maincave-ag launcherdoor-maincave-geo-mg 1) +(def-art-elt launcherdoor-maincave-ag launcherdoor-maincave-lod1-mg 2) +(def-art-elt launcherdoor-maincave-ag launcherdoor-maincave-idle-ja 3) + + diff --git a/goal_src/import/lavaballoon-ag.gc b/goal_src/import/lavaballoon-ag.gc new file mode 100644 index 0000000000..2e3465d184 --- /dev/null +++ b/goal_src/import/lavaballoon-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavaballoon-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavaballoon-ag lavaballoon-lod0-jg 0) +(def-art-elt lavaballoon-ag lavaballoon-lod0-mg 1) +(def-art-elt lavaballoon-ag lavaballoon-lod1-mg 2) +(def-art-elt lavaballoon-ag lavaballoon-idle-ja 3) + + diff --git a/goal_src/import/lavabase-ag.gc b/goal_src/import/lavabase-ag.gc new file mode 100644 index 0000000000..bed9ced92a --- /dev/null +++ b/goal_src/import/lavabase-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavabase-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavabase-ag lavabase-lod0-jg 0) +(def-art-elt lavabase-ag lavabase-lod0-mg 1) +(def-art-elt lavabase-ag lavabase-idle-ja 2) + + diff --git a/goal_src/import/lavafall-ag.gc b/goal_src/import/lavafall-ag.gc new file mode 100644 index 0000000000..c02c7a1406 --- /dev/null +++ b/goal_src/import/lavafall-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavafall-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavafall-ag lavafall-lod0-jg 0) +(def-art-elt lavafall-ag lavafall-lod0-mg 1) +(def-art-elt lavafall-ag lavafall-idle-ja 2) + + diff --git a/goal_src/import/lavafallsewera-ag.gc b/goal_src/import/lavafallsewera-ag.gc new file mode 100644 index 0000000000..3de1a61e17 --- /dev/null +++ b/goal_src/import/lavafallsewera-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavafallsewera-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavafallsewera-ag lavafallsewera-lod0-jg 0) +(def-art-elt lavafallsewera-ag lavafallsewera-lod0-mg 1) +(def-art-elt lavafallsewera-ag lavafallsewera-idle-ja 2) + + diff --git a/goal_src/import/lavafallsewerb-ag.gc b/goal_src/import/lavafallsewerb-ag.gc new file mode 100644 index 0000000000..53c7ede518 --- /dev/null +++ b/goal_src/import/lavafallsewerb-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavafallsewerb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavafallsewerb-ag lavafallsewerb-lod0-jg 0) +(def-art-elt lavafallsewerb-ag lavafallsewerb-lod0-mg 1) +(def-art-elt lavafallsewerb-ag lavafallsewerb-idle-ja 2) + + diff --git a/goal_src/import/lavashortcut-ag.gc b/goal_src/import/lavashortcut-ag.gc new file mode 100644 index 0000000000..a06461267e --- /dev/null +++ b/goal_src/import/lavashortcut-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavashortcut-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavashortcut-ag lavashortcut-lod0-jg 0) +(def-art-elt lavashortcut-ag lavashortcut-lod0-mg 1) +(def-art-elt lavashortcut-ag lavashortcut-idle-ja 2) + + diff --git a/goal_src/import/lavaspoutdrip-ag.gc b/goal_src/import/lavaspoutdrip-ag.gc new file mode 100644 index 0000000000..d3f4a09a1f --- /dev/null +++ b/goal_src/import/lavaspoutdrip-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavaspoutdrip-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavaspoutdrip-ag lavaspoutdrip-lod0-jg 0) +(def-art-elt lavaspoutdrip-ag lavaspoutdrip-lod0-mg 1) +(def-art-elt lavaspoutdrip-ag lavaspoutdrip-idle-ja 2) + + diff --git a/goal_src/import/lavayellowtarp-ag.gc b/goal_src/import/lavayellowtarp-ag.gc new file mode 100644 index 0000000000..7b153c7229 --- /dev/null +++ b/goal_src/import/lavayellowtarp-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lavayellowtarp-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lavayellowtarp-ag lavayellowtarp-lod0-jg 0) +(def-art-elt lavayellowtarp-ag lavayellowtarp-lod0-mg 1) +(def-art-elt lavayellowtarp-ag lavayellowtarp-idle-ja 2) + + diff --git a/goal_src/import/light-eco-ag.gc b/goal_src/import/light-eco-ag.gc new file mode 100644 index 0000000000..ec643d0128 --- /dev/null +++ b/goal_src/import/light-eco-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; light-eco-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt light-eco-ag light-eco-big-lod0-jg 0) +(def-art-elt light-eco-ag light-eco-big-lod0-mg 1) +(def-art-elt light-eco-ag light-eco-big-idle-ja 2) +(def-art-elt light-eco-ag light-eco-small-lod0-jg 3) +(def-art-elt light-eco-ag light-eco-small-lod0-mg 4) +(def-art-elt light-eco-ag light-eco-small-idle-ja 5) + + diff --git a/goal_src/import/lightning-mole-ag.gc b/goal_src/import/lightning-mole-ag.gc new file mode 100644 index 0000000000..cfb8515ac7 --- /dev/null +++ b/goal_src/import/lightning-mole-ag.gc @@ -0,0 +1,22 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lightning-mole-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lightning-mole-ag lightning-mole-lod0-jg 0) +(def-art-elt lightning-mole-ag lightning-mole-lod0-mg 1) +(def-art-elt lightning-mole-ag lightning-mole-lod1-mg 2) +(def-art-elt lightning-mole-ag lightning-mole-lod2-mg 3) +(def-art-elt lightning-mole-ag lightning-mole-shadow-mg 4) +(def-art-elt lightning-mole-ag lightning-mole-idle-ja 5) +(def-art-elt lightning-mole-ag lightning-mole-spots-ja 6) +(def-art-elt lightning-mole-ag lightning-mole-run-ja 7) +(def-art-elt lightning-mole-ag lightning-mole-run-right-ja 8) +(def-art-elt lightning-mole-ag lightning-mole-run-left-ja 9) +(def-art-elt lightning-mole-ag lightning-mole-yelp-ja 10) +(def-art-elt lightning-mole-ag lightning-mole-run-to-idle-ja 11) +(def-art-elt lightning-mole-ag lightning-mole-dive-ja 12) +(def-art-elt lightning-mole-ag lightning-mole-peep-ja 13) + + diff --git a/goal_src/import/logo-ag.gc b/goal_src/import/logo-ag.gc new file mode 100644 index 0000000000..52575b35df --- /dev/null +++ b/goal_src/import/logo-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; logo-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt logo-ag logo-english-lod0-jg 0) +(def-art-elt logo-ag logo-logo-loop-pre-ja 8) +(def-art-elt logo-ag logo-english-lod0-mg 1) +(def-art-elt logo-ag logo-japan-lod0-jg 2) +(def-art-elt logo-ag logo-japan-lod0-mg 3) +(def-art-elt logo-ag logo-idle-ja 4) +(def-art-elt logo-ag logo-logo-intro-2-pre-ja 6) + + diff --git a/goal_src/import/logo-black-ag.gc b/goal_src/import/logo-black-ag.gc new file mode 100644 index 0000000000..ff469681ad --- /dev/null +++ b/goal_src/import/logo-black-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; logo-black-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt logo-black-ag logo-black-lod0-jg 0) +(def-art-elt logo-black-ag logo-black-lod0-mg 1) +(def-art-elt logo-black-ag logo-black-idle-ja 2) + + diff --git a/goal_src/import/logo-cam-ag.gc b/goal_src/import/logo-cam-ag.gc new file mode 100644 index 0000000000..6ecbd25013 --- /dev/null +++ b/goal_src/import/logo-cam-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; logo-cam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt logo-cam-ag logo-cam-lod0-jg 0) +(def-art-elt logo-cam-ag logo-cam-lod0-mg 1) +(def-art-elt logo-cam-ag logo-cam-idle-ja 2) +(def-art-elt logo-cam-ag logo-cam-logo-intro-2-pre-ja 4) +(def-art-elt logo-cam-ag logo-cam-logo-loop-pre-ja 6) + + diff --git a/goal_src/import/logo-volumes-ag.gc b/goal_src/import/logo-volumes-ag.gc new file mode 100644 index 0000000000..046e4b25e1 --- /dev/null +++ b/goal_src/import/logo-volumes-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; logo-volumes-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt logo-volumes-ag logo-volumes-english-lod0-jg 0) +(def-art-elt logo-volumes-ag logo-volumes-english-lod0-mg 1) +(def-art-elt logo-volumes-ag logo-volumes-japan-lod0-jg 2) +(def-art-elt logo-volumes-ag logo-volumes-japan-lod0-mg 3) +(def-art-elt logo-volumes-ag logo-volumes-idle-ja 4) + + diff --git a/goal_src/import/logtrap-ag.gc b/goal_src/import/logtrap-ag.gc new file mode 100644 index 0000000000..a7476e6f7a --- /dev/null +++ b/goal_src/import/logtrap-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; logtrap-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt logtrap-ag logtrap-lod0-jg 0) +(def-art-elt logtrap-ag logtrap-lod0-mg 1) +(def-art-elt logtrap-ag logtrap-lod1-mg 2) +(def-art-elt logtrap-ag logtrap-shadow-mg 3) +(def-art-elt logtrap-ag logtrap-idle-ja 4) + + diff --git a/goal_src/import/lrocklrg-ag.gc b/goal_src/import/lrocklrg-ag.gc new file mode 100644 index 0000000000..1a676d4ea0 --- /dev/null +++ b/goal_src/import/lrocklrg-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lrocklrg-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lrocklrg-ag lrocklrg-lod0-jg 0) +(def-art-elt lrocklrg-ag lrocklrg-lod0-mg 1) +(def-art-elt lrocklrg-ag lrocklrg-idle-ja 2) +(def-art-elt lrocklrg-ag lrocklrg-fallen-ja 3) + + diff --git a/goal_src/import/lurkercrab-ag.gc b/goal_src/import/lurkercrab-ag.gc new file mode 100644 index 0000000000..8be7f662f8 --- /dev/null +++ b/goal_src/import/lurkercrab-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lurkercrab-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lurkercrab-ag lurkercrab-lod0-jg 0) +(def-art-elt lurkercrab-ag lurkercrab-lod0-mg 1) +(def-art-elt lurkercrab-ag lurkercrab-lod1-mg 2) +(def-art-elt lurkercrab-ag lurkercrab-lod2-mg 3) +(def-art-elt lurkercrab-ag lurkercrab-idle-ja 4) +(def-art-elt lurkercrab-ag lurkercrab-idle-to-walk-ja 5) +(def-art-elt lurkercrab-ag lurkercrab-walk-ja 6) +(def-art-elt lurkercrab-ag lurkercrab-peek-ja 7) +(def-art-elt lurkercrab-ag lurkercrab-peek-to-walk-ja 8) +(def-art-elt lurkercrab-ag lurkercrab-snip-ja 9) +(def-art-elt lurkercrab-ag lurkercrab-kickback-ja 10) +(def-art-elt lurkercrab-ag lurkercrab-die-ja 11) + + diff --git a/goal_src/import/lurkerm-piston-ag.gc b/goal_src/import/lurkerm-piston-ag.gc new file mode 100644 index 0000000000..66cbcdba4c --- /dev/null +++ b/goal_src/import/lurkerm-piston-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lurkerm-piston-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lurkerm-piston-ag lurkerm-piston-geo-jg 0) +(def-art-elt lurkerm-piston-ag lurkerm-piston-geo-mg 1) +(def-art-elt lurkerm-piston-ag lurkerm-piston-idle-ja 2) + + diff --git a/goal_src/import/lurkerm-tall-sail-ag.gc b/goal_src/import/lurkerm-tall-sail-ag.gc new file mode 100644 index 0000000000..b3e16248ab --- /dev/null +++ b/goal_src/import/lurkerm-tall-sail-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lurkerm-tall-sail-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lurkerm-tall-sail-ag lurkerm-tall-sail-lod0-jg 0) +(def-art-elt lurkerm-tall-sail-ag lurkerm-tall-sail-lod0-mg 1) +(def-art-elt lurkerm-tall-sail-ag lurkerm-tall-sail-lod1-mg 2) +(def-art-elt lurkerm-tall-sail-ag lurkerm-tall-sail-lod2-mg 3) +(def-art-elt lurkerm-tall-sail-ag lurkerm-tall-sail-idle-ja 4) + + diff --git a/goal_src/import/lurkerpuppy-ag.gc b/goal_src/import/lurkerpuppy-ag.gc new file mode 100644 index 0000000000..66cbec472b --- /dev/null +++ b/goal_src/import/lurkerpuppy-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lurkerpuppy-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lurkerpuppy-ag lurkerpuppy-lod0-jg 0) +(def-art-elt lurkerpuppy-ag lurkerpuppy-lod0-mg 1) +(def-art-elt lurkerpuppy-ag lurkerpuppy-lod1-mg 2) +(def-art-elt lurkerpuppy-ag lurkerpuppy-lod2-mg 3) +(def-art-elt lurkerpuppy-ag lurkerpuppy-shadow-mg 4) +(def-art-elt lurkerpuppy-ag lurkerpuppy-idle-ja 5) +(def-art-elt lurkerpuppy-ag lurkerpuppy-walk-ja 6) +(def-art-elt lurkerpuppy-ag lurkerpuppy-run-ja 7) +(def-art-elt lurkerpuppy-ag lurkerpuppy-celebrate-ja 8) +(def-art-elt lurkerpuppy-ag lurkerpuppy-jump-ja 9) +(def-art-elt lurkerpuppy-ag lurkerpuppy-jump-land-ja 10) +(def-art-elt lurkerpuppy-ag lurkerpuppy-die-ja 11) + + diff --git a/goal_src/import/lurkerworm-ag.gc b/goal_src/import/lurkerworm-ag.gc new file mode 100644 index 0000000000..9b3b958e98 --- /dev/null +++ b/goal_src/import/lurkerworm-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; lurkerworm-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt lurkerworm-ag lurkerworm-lod0-jg 0) +(def-art-elt lurkerworm-ag lurkerworm-lod0-mg 1) +(def-art-elt lurkerworm-ag lurkerworm-lod1-mg 2) +(def-art-elt lurkerworm-ag lurkerworm-idle-ja 3) +(def-art-elt lurkerworm-ag lurkerworm-rise-ja 4) +(def-art-elt lurkerworm-ag lurkerworm-sink-ja 5) +(def-art-elt lurkerworm-ag lurkerworm-chomp-ja 6) +(def-art-elt lurkerworm-ag lurkerworm-die-ja 7) + + diff --git a/goal_src/import/maincavecam-ag.gc b/goal_src/import/maincavecam-ag.gc new file mode 100644 index 0000000000..3c70feedcd --- /dev/null +++ b/goal_src/import/maincavecam-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; maincavecam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt maincavecam-ag maincavecam-lod0-jg 0) +(def-art-elt maincavecam-ag maincavecam-lod0-mg 1) +(def-art-elt maincavecam-ag maincavecam-dummy-ja 2) + + diff --git a/goal_src/import/maindoor-ag.gc b/goal_src/import/maindoor-ag.gc new file mode 100644 index 0000000000..83d90afa2a --- /dev/null +++ b/goal_src/import/maindoor-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; maindoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt maindoor-ag maindoor-lod0-jg 0) +(def-art-elt maindoor-ag maindoor-lod0-mg 1) +(def-art-elt maindoor-ag maindoor-lod1-mg 2) +(def-art-elt maindoor-ag maindoor-idle-ja 3) + + diff --git a/goal_src/import/mayor-ag.gc b/goal_src/import/mayor-ag.gc new file mode 100644 index 0000000000..429eadb66b --- /dev/null +++ b/goal_src/import/mayor-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mayor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mayor-ag mayor-lod0-jg 0) +(def-art-elt mayor-ag mayor-lod0-mg 1) +(def-art-elt mayor-ag mayor-shadow-mg 2) +(def-art-elt mayor-ag mayor-idle-ja 3) + + diff --git a/goal_src/import/mayorgears-ag.gc b/goal_src/import/mayorgears-ag.gc new file mode 100644 index 0000000000..c9ee21c264 --- /dev/null +++ b/goal_src/import/mayorgears-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mayorgears-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mayorgears-ag mayorgears-geo-jg 0) +(def-art-elt mayorgears-ag mayorgears-geo-mg 1) +(def-art-elt mayorgears-ag mayorgears-idle-ja 2) + + diff --git a/goal_src/import/medres-beach-ag.gc b/goal_src/import/medres-beach-ag.gc new file mode 100644 index 0000000000..8e146753da --- /dev/null +++ b/goal_src/import/medres-beach-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-beach-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-beach-ag medres-beach-lod0-jg 0) +(def-art-elt medres-beach-ag medres-beach-lod0-mg 1) +(def-art-elt medres-beach-ag medres-beach-idle-ja 2) + + diff --git a/goal_src/import/medres-beach1-ag.gc b/goal_src/import/medres-beach1-ag.gc new file mode 100644 index 0000000000..db5810a2b7 --- /dev/null +++ b/goal_src/import/medres-beach1-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-beach1-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-beach1-ag medres-beach1-lod0-jg 0) +(def-art-elt medres-beach1-ag medres-beach1-lod0-mg 1) +(def-art-elt medres-beach1-ag medres-beach1-idle-ja 2) + + diff --git a/goal_src/import/medres-beach2-ag.gc b/goal_src/import/medres-beach2-ag.gc new file mode 100644 index 0000000000..ea2c3a3c82 --- /dev/null +++ b/goal_src/import/medres-beach2-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-beach2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-beach2-ag medres-beach2-lod0-jg 0) +(def-art-elt medres-beach2-ag medres-beach2-lod0-mg 1) +(def-art-elt medres-beach2-ag medres-beach2-idle-ja 2) + + diff --git a/goal_src/import/medres-beach3-ag.gc b/goal_src/import/medres-beach3-ag.gc new file mode 100644 index 0000000000..762ad91baf --- /dev/null +++ b/goal_src/import/medres-beach3-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-beach3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-beach3-ag medres-beach3-lod0-jg 0) +(def-art-elt medres-beach3-ag medres-beach3-lod0-mg 1) +(def-art-elt medres-beach3-ag medres-beach3-idle-ja 2) + + diff --git a/goal_src/import/medres-finalboss-ag.gc b/goal_src/import/medres-finalboss-ag.gc new file mode 100644 index 0000000000..706f234adb --- /dev/null +++ b/goal_src/import/medres-finalboss-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-finalboss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-finalboss-ag medres-finalboss-lod0-jg 0) +(def-art-elt medres-finalboss-ag medres-finalboss-lod0-mg 1) +(def-art-elt medres-finalboss-ag medres-finalboss-idle-ja 2) + + diff --git a/goal_src/import/medres-firecanyon-ag.gc b/goal_src/import/medres-firecanyon-ag.gc new file mode 100644 index 0000000000..8a5c60fccc --- /dev/null +++ b/goal_src/import/medres-firecanyon-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-firecanyon-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-firecanyon-ag medres-firecanyon-lod0-jg 0) +(def-art-elt medres-firecanyon-ag medres-firecanyon-lod0-mg 1) +(def-art-elt medres-firecanyon-ag medres-firecanyon-idle-ja 2) + + diff --git a/goal_src/import/medres-jungle-ag.gc b/goal_src/import/medres-jungle-ag.gc new file mode 100644 index 0000000000..f431c8e117 --- /dev/null +++ b/goal_src/import/medres-jungle-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-jungle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-jungle-ag medres-jungle-lod0-jg 0) +(def-art-elt medres-jungle-ag medres-jungle-lod0-mg 1) +(def-art-elt medres-jungle-ag medres-jungle-idle-ja 2) + + diff --git a/goal_src/import/medres-jungle1-ag.gc b/goal_src/import/medres-jungle1-ag.gc new file mode 100644 index 0000000000..4726bf8d56 --- /dev/null +++ b/goal_src/import/medres-jungle1-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-jungle1-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-jungle1-ag medres-jungle1-lod0-jg 0) +(def-art-elt medres-jungle1-ag medres-jungle1-lod0-mg 1) +(def-art-elt medres-jungle1-ag medres-jungle1-idle-ja 2) + + diff --git a/goal_src/import/medres-jungle2-ag.gc b/goal_src/import/medres-jungle2-ag.gc new file mode 100644 index 0000000000..2989aaee07 --- /dev/null +++ b/goal_src/import/medres-jungle2-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-jungle2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-jungle2-ag medres-jungle2-lod0-jg 0) +(def-art-elt medres-jungle2-ag medres-jungle2-lod0-mg 1) +(def-art-elt medres-jungle2-ag medres-jungle2-idle-ja 2) + + diff --git a/goal_src/import/medres-misty-ag.gc b/goal_src/import/medres-misty-ag.gc new file mode 100644 index 0000000000..be8e20ef64 --- /dev/null +++ b/goal_src/import/medres-misty-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-misty-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-misty-ag medres-misty-lod0-jg 0) +(def-art-elt medres-misty-ag medres-misty-lod0-mg 1) +(def-art-elt medres-misty-ag medres-misty-idle-ja 2) + + diff --git a/goal_src/import/medres-ogre-ag.gc b/goal_src/import/medres-ogre-ag.gc new file mode 100644 index 0000000000..91e3ad5918 --- /dev/null +++ b/goal_src/import/medres-ogre-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-ogre-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-ogre-ag medres-ogre-lod0-jg 0) +(def-art-elt medres-ogre-ag medres-ogre-lod0-mg 1) +(def-art-elt medres-ogre-ag medres-ogre-idle-ja 2) + + diff --git a/goal_src/import/medres-ogre2-ag.gc b/goal_src/import/medres-ogre2-ag.gc new file mode 100644 index 0000000000..c666d6852d --- /dev/null +++ b/goal_src/import/medres-ogre2-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-ogre2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-ogre2-ag medres-ogre2-lod0-jg 0) +(def-art-elt medres-ogre2-ag medres-ogre2-lod0-mg 1) +(def-art-elt medres-ogre2-ag medres-ogre2-idle-ja 2) + + diff --git a/goal_src/import/medres-ogre3-ag.gc b/goal_src/import/medres-ogre3-ag.gc new file mode 100644 index 0000000000..78b27c2a7f --- /dev/null +++ b/goal_src/import/medres-ogre3-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-ogre3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-ogre3-ag medres-ogre3-lod0-jg 0) +(def-art-elt medres-ogre3-ag medres-ogre3-lod0-mg 1) +(def-art-elt medres-ogre3-ag medres-ogre3-idle-ja 2) + + diff --git a/goal_src/import/medres-rolling-ag.gc b/goal_src/import/medres-rolling-ag.gc new file mode 100644 index 0000000000..1627bc0f1d --- /dev/null +++ b/goal_src/import/medres-rolling-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-rolling-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-rolling-ag medres-rolling-lod0-jg 0) +(def-art-elt medres-rolling-ag medres-rolling-lod0-mg 1) +(def-art-elt medres-rolling-ag medres-rolling-idle-ja 2) + + diff --git a/goal_src/import/medres-rolling1-ag.gc b/goal_src/import/medres-rolling1-ag.gc new file mode 100644 index 0000000000..19f95f3135 --- /dev/null +++ b/goal_src/import/medres-rolling1-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-rolling1-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-rolling1-ag medres-rolling1-lod0-jg 0) +(def-art-elt medres-rolling1-ag medres-rolling1-lod0-mg 1) +(def-art-elt medres-rolling1-ag medres-rolling1-idle-ja 2) + + diff --git a/goal_src/import/medres-snow-ag.gc b/goal_src/import/medres-snow-ag.gc new file mode 100644 index 0000000000..96c115e6ae --- /dev/null +++ b/goal_src/import/medres-snow-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-snow-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-snow-ag medres-snow-lod0-jg 0) +(def-art-elt medres-snow-ag medres-snow-lod0-mg 1) +(def-art-elt medres-snow-ag medres-snow-idle-ja 2) + + diff --git a/goal_src/import/medres-training-ag.gc b/goal_src/import/medres-training-ag.gc new file mode 100644 index 0000000000..7141e66a79 --- /dev/null +++ b/goal_src/import/medres-training-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-training-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-training-ag medres-training-lod0-jg 0) +(def-art-elt medres-training-ag medres-training-lod0-mg 1) +(def-art-elt medres-training-ag medres-training-idle-ja 2) + + diff --git a/goal_src/import/medres-village11-ag.gc b/goal_src/import/medres-village11-ag.gc new file mode 100644 index 0000000000..7beae277dc --- /dev/null +++ b/goal_src/import/medres-village11-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-village11-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-village11-ag medres-village11-lod0-jg 0) +(def-art-elt medres-village11-ag medres-village11-lod0-mg 1) +(def-art-elt medres-village11-ag medres-village11-idle-ja 2) + + diff --git a/goal_src/import/medres-village12-ag.gc b/goal_src/import/medres-village12-ag.gc new file mode 100644 index 0000000000..f58ab4c022 --- /dev/null +++ b/goal_src/import/medres-village12-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-village12-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-village12-ag medres-village12-lod0-jg 0) +(def-art-elt medres-village12-ag medres-village12-lod0-mg 1) +(def-art-elt medres-village12-ag medres-village12-idle-ja 2) + + diff --git a/goal_src/import/medres-village13-ag.gc b/goal_src/import/medres-village13-ag.gc new file mode 100644 index 0000000000..4a538e900a --- /dev/null +++ b/goal_src/import/medres-village13-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-village13-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-village13-ag medres-village13-lod0-jg 0) +(def-art-elt medres-village13-ag medres-village13-lod0-mg 1) +(def-art-elt medres-village13-ag medres-village13-idle-ja 2) + + diff --git a/goal_src/import/medres-village2-ag.gc b/goal_src/import/medres-village2-ag.gc new file mode 100644 index 0000000000..9eba39af75 --- /dev/null +++ b/goal_src/import/medres-village2-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; medres-village2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt medres-village2-ag medres-village2-lod0-jg 0) +(def-art-elt medres-village2-ag medres-village2-lod0-mg 1) +(def-art-elt medres-village2-ag medres-village2-idle-ja 2) + + diff --git a/goal_src/import/minecartsteel-ag.gc b/goal_src/import/minecartsteel-ag.gc new file mode 100644 index 0000000000..7901c4e7ef --- /dev/null +++ b/goal_src/import/minecartsteel-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; minecartsteel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt minecartsteel-ag minecartsteel-lod0-jg 0) +(def-art-elt minecartsteel-ag minecartsteel-lod0-mg 1) +(def-art-elt minecartsteel-ag minecartsteel-lod1-mg 2) +(def-art-elt minecartsteel-ag minecartsteel-lod2-mg 3) +(def-art-elt minecartsteel-ag minecartsteel-idle-ja 4) +(def-art-elt minecartsteel-ag minecartsteel-rail0-ja 5) +(def-art-elt minecartsteel-ag minecartsteel-rail1-ja 6) +(def-art-elt minecartsteel-ag minecartsteel-rail2-ja 7) + + diff --git a/goal_src/import/minershort-ag.gc b/goal_src/import/minershort-ag.gc new file mode 100644 index 0000000000..0571b7a145 --- /dev/null +++ b/goal_src/import/minershort-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; minershort-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt minershort-ag minershort-lod0-jg 0) +(def-art-elt minershort-ag minershort-lod0-mg 1) +(def-art-elt minershort-ag minershort-shadow-mg 2) +(def-art-elt minershort-ag minershort-idle-ja 3) + + diff --git a/goal_src/import/minertall-ag.gc b/goal_src/import/minertall-ag.gc new file mode 100644 index 0000000000..94cd466831 --- /dev/null +++ b/goal_src/import/minertall-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; minertall-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt minertall-ag minertall-lod0-jg 0) +(def-art-elt minertall-ag minertall-lod0-mg 1) +(def-art-elt minertall-ag minertall-shadow-mg 2) +(def-art-elt minertall-ag minertall-idle-ja 3) + + diff --git a/goal_src/import/mis-bone-bridge-ag.gc b/goal_src/import/mis-bone-bridge-ag.gc new file mode 100644 index 0000000000..73281787cb --- /dev/null +++ b/goal_src/import/mis-bone-bridge-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mis-bone-bridge-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-lod0-jg 0) +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-lod0-mg 1) +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-idle-ja 2) +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-idle2-ja 3) +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-idle7-ja 4) +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-kicked-ja 5) +(def-art-elt mis-bone-bridge-ag mis-bone-bridge-bumped-ja 6) + + diff --git a/goal_src/import/mis-bone-platform-ag.gc b/goal_src/import/mis-bone-platform-ag.gc new file mode 100644 index 0000000000..3f33ba3077 --- /dev/null +++ b/goal_src/import/mis-bone-platform-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mis-bone-platform-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mis-bone-platform-ag mis-bone-platform-lod0-jg 0) +(def-art-elt mis-bone-platform-ag mis-bone-platform-lod0-mg 1) +(def-art-elt mis-bone-platform-ag mis-bone-platform-idle-ja 2) + + diff --git a/goal_src/import/mistycam-ag.gc b/goal_src/import/mistycam-ag.gc new file mode 100644 index 0000000000..1c07410dbb --- /dev/null +++ b/goal_src/import/mistycam-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mistycam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mistycam-ag mistycam-lod0-jg 0) +(def-art-elt mistycam-ag mistycam-lod0-mg 1) +(def-art-elt mistycam-ag mistycam-anim-ja 2) +(def-art-elt mistycam-ag mistycam-lurkerattack-ja 3) +(def-art-elt mistycam-ag mistycam-balloon-fuel-cell-ja 4) +(def-art-elt mistycam-ag mistycam-cannon-fuel-cell-ja 6) + + diff --git a/goal_src/import/mistycannon-ag.gc b/goal_src/import/mistycannon-ag.gc new file mode 100644 index 0000000000..4c8d7176f5 --- /dev/null +++ b/goal_src/import/mistycannon-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mistycannon-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mistycannon-ag mistycannon-lod0-jg 0) +(def-art-elt mistycannon-ag mistycannon-lod0-mg 1) +(def-art-elt mistycannon-ag mistycannon-lod1-mg 2) +(def-art-elt mistycannon-ag mistycannon-idle-ja 3) + + diff --git a/goal_src/import/money-ag.gc b/goal_src/import/money-ag.gc new file mode 100644 index 0000000000..5b390ed1f8 --- /dev/null +++ b/goal_src/import/money-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; money-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt money-ag money-lod0-jg 0) +(def-art-elt money-ag money-lod0-mg 1) +(def-art-elt money-ag money-lod1-mg 2) +(def-art-elt money-ag money-lod2-mg 3) +(def-art-elt money-ag money-idle-ja 4) + + diff --git a/goal_src/import/mother-spider-ag.gc b/goal_src/import/mother-spider-ag.gc new file mode 100644 index 0000000000..4c9f512f94 --- /dev/null +++ b/goal_src/import/mother-spider-ag.gc @@ -0,0 +1,25 @@ +;;-*-Lisp-*- +(in-package goal) + +;; mother-spider-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt mother-spider-ag mother-spider-lod0-jg 0) +(def-art-elt mother-spider-ag mother-spider-lod0-mg 1) +(def-art-elt mother-spider-ag mother-spider-lod1-mg 2) +(def-art-elt mother-spider-ag mother-spider-lod2-mg 3) +(def-art-elt mother-spider-ag mother-spider-shadow-mg 4) +(def-art-elt mother-spider-ag mother-spider-idle-ja 5) +(def-art-elt mother-spider-ag mother-spider-birth-ja 6) +(def-art-elt mother-spider-ag mother-spider-lowering-ja 7) +(def-art-elt mother-spider-ag mother-spider-stopped-lowering-ja 8) +(def-art-elt mother-spider-ag mother-spider-takes-hit-ja 9) +(def-art-elt mother-spider-ag mother-spider-spit-ja 10) +(def-art-elt mother-spider-ag mother-spider-die-ja 11) +(def-art-elt mother-spider-ag mother-spider-die-from-uppercut-ja 12) +(def-art-elt mother-spider-ag mother-spider-leg-lod0-jg 13) +(def-art-elt mother-spider-ag mother-spider-leg-lod0-mg 14) +(def-art-elt mother-spider-ag mother-spider-leg-twitching-ja 15) +(def-art-elt mother-spider-ag mother-spider-leg-die-ja 16) + + diff --git a/goal_src/import/muse-ag.gc b/goal_src/import/muse-ag.gc new file mode 100644 index 0000000000..14e4da3d1b --- /dev/null +++ b/goal_src/import/muse-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; muse-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt muse-ag muse-lod0-jg 0) +(def-art-elt muse-ag muse-lod0-mg 1) +(def-art-elt muse-ag muse-shadow-mg 2) +(def-art-elt muse-ag muse-idle-ja 3) +(def-art-elt muse-ag muse-run-ja 4) +(def-art-elt muse-ag muse-idle-to-run-ja 5) +(def-art-elt muse-ag muse-run-to-idle-ja 6) +(def-art-elt muse-ag muse-jump-ja 7) +(def-art-elt muse-ag muse-jump-land-ja 8) + + diff --git a/goal_src/import/ndi-ag.gc b/goal_src/import/ndi-ag.gc new file mode 100644 index 0000000000..5b6935be69 --- /dev/null +++ b/goal_src/import/ndi-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ndi-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ndi-ag ndi-lod0-jg 0) +(def-art-elt ndi-ag ndi-lod0-mg 1) +(def-art-elt ndi-ag ndi-idle-ja 2) + + diff --git a/goal_src/import/ndi-cam-ag.gc b/goal_src/import/ndi-cam-ag.gc new file mode 100644 index 0000000000..3c4a15654a --- /dev/null +++ b/goal_src/import/ndi-cam-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ndi-cam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ndi-cam-ag ndi-cam-lod0-jg 0) +(def-art-elt ndi-cam-ag ndi-cam-lod0-mg 1) +(def-art-elt ndi-cam-ag ndi-cam-idle-ja 2) + + diff --git a/goal_src/import/ndi-volumes-ag.gc b/goal_src/import/ndi-volumes-ag.gc new file mode 100644 index 0000000000..14e6ef3068 --- /dev/null +++ b/goal_src/import/ndi-volumes-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ndi-volumes-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ndi-volumes-ag ndi-volumes-lod0-jg 0) +(def-art-elt ndi-volumes-ag ndi-volumes-lod0-mg 1) +(def-art-elt ndi-volumes-ag ndi-volumes-idle-ja 2) + + diff --git a/goal_src/import/ogre-bridge-ag.gc b/goal_src/import/ogre-bridge-ag.gc new file mode 100644 index 0000000000..b85d7f7e67 --- /dev/null +++ b/goal_src/import/ogre-bridge-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogre-bridge-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogre-bridge-ag ogre-bridge-lod0-jg 0) +(def-art-elt ogre-bridge-ag ogre-bridge-lod0-mg 1) +(def-art-elt ogre-bridge-ag ogre-bridge-idle-ja 2) +(def-art-elt ogre-bridge-ag ogre-bridge-assemble-ja 3) +(def-art-elt ogre-bridge-ag ogre-bridge-break-ja 4) + + diff --git a/goal_src/import/ogre-bridgeend-ag.gc b/goal_src/import/ogre-bridgeend-ag.gc new file mode 100644 index 0000000000..68c440ee18 --- /dev/null +++ b/goal_src/import/ogre-bridgeend-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogre-bridgeend-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogre-bridgeend-ag ogre-bridgeend-lod0-jg 0) +(def-art-elt ogre-bridgeend-ag ogre-bridgeend-lod0-mg 1) +(def-art-elt ogre-bridgeend-ag ogre-bridgeend-idle-ja 2) + + diff --git a/goal_src/import/ogre-isle-ag.gc b/goal_src/import/ogre-isle-ag.gc new file mode 100644 index 0000000000..b7dca081bb --- /dev/null +++ b/goal_src/import/ogre-isle-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogre-isle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogre-isle-ag ogre-isle-a-lod0-jg 0) +(def-art-elt ogre-isle-ag ogre-isle-a-lod0-mg 1) +(def-art-elt ogre-isle-ag ogre-isle-a-idle-ja 2) +(def-art-elt ogre-isle-ag ogre-isle-b-lod0-jg 3) +(def-art-elt ogre-isle-ag ogre-isle-b-lod0-mg 4) +(def-art-elt ogre-isle-ag ogre-isle-b-idle-ja 5) +(def-art-elt ogre-isle-ag ogre-isle-c-lod0-jg 6) +(def-art-elt ogre-isle-ag ogre-isle-c-lod0-mg 7) +(def-art-elt ogre-isle-ag ogre-isle-c-idle-ja 8) +(def-art-elt ogre-isle-ag ogre-isle-d-lod0-jg 9) +(def-art-elt ogre-isle-ag ogre-isle-d-lod0-mg 10) +(def-art-elt ogre-isle-ag ogre-isle-d-idle-ja 11) + + diff --git a/goal_src/import/ogre-step-ag.gc b/goal_src/import/ogre-step-ag.gc new file mode 100644 index 0000000000..47bb549fbf --- /dev/null +++ b/goal_src/import/ogre-step-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogre-step-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogre-step-ag ogre-step-a-lod0-jg 0) +(def-art-elt ogre-step-ag ogre-step-a-lod0-mg 1) +(def-art-elt ogre-step-ag ogre-step-a-idle-ja 2) +(def-art-elt ogre-step-ag ogre-step-b-lod0-jg 3) +(def-art-elt ogre-step-ag ogre-step-b-lod0-mg 4) +(def-art-elt ogre-step-ag ogre-step-b-idle-ja 5) +(def-art-elt ogre-step-ag ogre-step-c-lod0-jg 6) +(def-art-elt ogre-step-ag ogre-step-c-lod0-mg 7) +(def-art-elt ogre-step-ag ogre-step-c-idle-ja 8) +(def-art-elt ogre-step-ag ogre-step-d-lod0-jg 9) +(def-art-elt ogre-step-ag ogre-step-d-lod0-mg 10) +(def-art-elt ogre-step-ag ogre-step-d-idle-ja 11) + + diff --git a/goal_src/import/ogreboss-ag.gc b/goal_src/import/ogreboss-ag.gc new file mode 100644 index 0000000000..bfba0a71b7 --- /dev/null +++ b/goal_src/import/ogreboss-ag.gc @@ -0,0 +1,57 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogreboss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogreboss-ag ogreboss-lod0-jg 0) +(def-art-elt ogreboss-ag ogreboss-lod0-mg 1) +(def-art-elt ogreboss-ag ogreboss-idle-ja 2) +(def-art-elt ogreboss-ag ogreboss-idle-bored-ja 3) +(def-art-elt ogreboss-ag ogreboss-idle-alt-ja 4) +(def-art-elt ogreboss-ag ogreboss-roar-ja 5) +(def-art-elt ogreboss-ag ogreboss-attack2-start-ja 6) +(def-art-elt ogreboss-ag ogreboss-attack2-loop-ja 7) +(def-art-elt ogreboss-ag ogreboss-attack2-last-ja 8) +(def-art-elt ogreboss-ag ogreboss-attack3-throw-ja 9) +(def-art-elt ogreboss-ag ogreboss-hit-chest-ja 10) +(def-art-elt ogreboss-ag ogreboss-hit-crotch-ja 11) +(def-art-elt ogreboss-ag ogreboss-hit-ja 12) +(def-art-elt ogreboss-ag ogreboss-dive-ja 13) +(def-art-elt ogreboss-ag ogreboss-rise-ja 14) +(def-art-elt ogreboss-ag ogreboss-recover-ja 15) +(def-art-elt ogreboss-ag ogreboss-victory-ja 16) +(def-art-elt ogreboss-ag ogreboss-shuffle-prepare-ja 17) +(def-art-elt ogreboss-ag ogreboss-shuffle-right-start-ja 18) +(def-art-elt ogreboss-ag ogreboss-shuffle-right-loop-ja 19) +(def-art-elt ogreboss-ag ogreboss-shuffle-right-stop-ja 20) +(def-art-elt ogreboss-ag ogreboss-shuffle-left-start-ja 21) +(def-art-elt ogreboss-ag ogreboss-shuffle-left-loop-ja 22) +(def-art-elt ogreboss-ag ogreboss-shuffle-left-stop-ja 23) +(def-art-elt ogreboss-ag ogreboss-intro-ja 24) +(def-art-elt ogreboss-ag ogreboss-cam-lod0-jg 25) +(def-art-elt ogreboss-ag ogreboss-cam-lod0-mg 26) +(def-art-elt ogreboss-ag ogreboss-cam-idle-ja 27) +(def-art-elt ogreboss-ag ogreboss-cam-intro-ja 28) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-lod0-jg 29) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-lod0-mg 30) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-shadow-mg 31) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-idle-ja 32) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-break-lod0-jg 33) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-break-lod0-mg 34) +(def-art-elt ogreboss-ag ogreboss-shoot-boulder-break-idle-ja 35) +(def-art-elt ogreboss-ag ogreboss-bounce-boulder-lod0-jg 36) +(def-art-elt ogreboss-ag ogreboss-bounce-boulder-lod0-mg 37) +(def-art-elt ogreboss-ag ogreboss-bounce-boulder-idle-ja 38) +(def-art-elt ogreboss-ag ogreboss-super-boulder-lod0-jg 39) +(def-art-elt ogreboss-ag ogreboss-super-boulder-lod0-mg 40) +(def-art-elt ogreboss-ag ogreboss-super-boulder-idle-ja 41) +(def-art-elt ogreboss-ag ogreboss-super-boulder-throw-ja 42) +(def-art-elt ogreboss-ag ogreboss-super-boulder-hit-ja 43) +(def-art-elt ogreboss-ag ogreboss-super-boulder-roll-ja 44) +(def-art-elt ogreboss-ag ogreboss-column-lod0-jg 45) +(def-art-elt ogreboss-ag ogreboss-column-lod0-mg 46) +(def-art-elt ogreboss-ag ogreboss-column-idle-ja 47) +(def-art-elt ogreboss-ag ogreboss-column-intro-ja 48) + + diff --git a/goal_src/import/ogreboss-village2-ag.gc b/goal_src/import/ogreboss-village2-ag.gc new file mode 100644 index 0000000000..b013381fb3 --- /dev/null +++ b/goal_src/import/ogreboss-village2-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogreboss-village2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogreboss-village2-ag ogreboss-village2-lod0-jg 0) +(def-art-elt ogreboss-village2-ag ogreboss-village2-lod0-mg 1) +(def-art-elt ogreboss-village2-ag ogreboss-village2-idle-ja 2) +(def-art-elt ogreboss-village2-ag ogreboss-village2-idle-bored-ja 3) +(def-art-elt ogreboss-village2-ag ogreboss-village2-idle-alt-ja 4) +(def-art-elt ogreboss-village2-ag ogreboss-village2-throw-ja 5) +(def-art-elt ogreboss-village2-ag ogreboss-village2-victory-ja 6) +(def-art-elt ogreboss-village2-ag ogreboss-village2-pre-throw-ja 7) + + diff --git a/goal_src/import/ogrecam-ag.gc b/goal_src/import/ogrecam-ag.gc new file mode 100644 index 0000000000..42465d41e0 --- /dev/null +++ b/goal_src/import/ogrecam-ag.gc @@ -0,0 +1,10 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ogrecam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ogrecam-ag ogrecam-lod0-jg 0) +(def-art-elt ogrecam-ag ogrecam-lod0-mg 1) + + diff --git a/goal_src/import/oracle-ag.gc b/goal_src/import/oracle-ag.gc new file mode 100644 index 0000000000..0da86acae9 --- /dev/null +++ b/goal_src/import/oracle-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; oracle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt oracle-ag oracle-lod0-jg 0) +(def-art-elt oracle-ag oracle-lod0-mg 1) +(def-art-elt oracle-ag oracle-idle-ja 2) + + diff --git a/goal_src/import/orb-cache-top-ag.gc b/goal_src/import/orb-cache-top-ag.gc new file mode 100644 index 0000000000..225c43e023 --- /dev/null +++ b/goal_src/import/orb-cache-top-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; orb-cache-top-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt orb-cache-top-ag orb-cache-top-lod0-jg 0) +(def-art-elt orb-cache-top-ag orb-cache-top-lod0-mg 1) +(def-art-elt orb-cache-top-ag orb-cache-top-lod1-mg 2) +(def-art-elt orb-cache-top-ag orb-cache-top-idle-ja 3) + + diff --git a/goal_src/import/orbit-plat-ag.gc b/goal_src/import/orbit-plat-ag.gc new file mode 100644 index 0000000000..fb458afab8 --- /dev/null +++ b/goal_src/import/orbit-plat-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; orbit-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt orbit-plat-ag orbit-plat-lod0-jg 0) +(def-art-elt orbit-plat-ag orbit-plat-lod0-mg 1) +(def-art-elt orbit-plat-ag orbit-plat-idle-ja 2) + + diff --git a/goal_src/import/orbit-plat-bottom-ag.gc b/goal_src/import/orbit-plat-bottom-ag.gc new file mode 100644 index 0000000000..e0d4ac04db --- /dev/null +++ b/goal_src/import/orbit-plat-bottom-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; orbit-plat-bottom-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt orbit-plat-bottom-ag orbit-plat-bottom-lod0-jg 0) +(def-art-elt orbit-plat-bottom-ag orbit-plat-bottom-lod0-mg 1) +(def-art-elt orbit-plat-bottom-ag orbit-plat-bottom-idle-ja 2) + + diff --git a/goal_src/import/pelican-ag.gc b/goal_src/import/pelican-ag.gc new file mode 100644 index 0000000000..28fa1d9592 --- /dev/null +++ b/goal_src/import/pelican-ag.gc @@ -0,0 +1,19 @@ +;;-*-Lisp-*- +(in-package goal) + +;; pelican-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt pelican-ag pelican-lod0-jg 0) +(def-art-elt pelican-ag pelican-lod0-mg 1) +(def-art-elt pelican-ag pelican-lod1-mg 2) +(def-art-elt pelican-ag pelican-lod2-mg 3) +(def-art-elt pelican-ag pelican-shadow-mg 4) +(def-art-elt pelican-ag pelican-fly-ja 5) +(def-art-elt pelican-ag pelican-glide-ja 6) +(def-art-elt pelican-ag pelican-swoop-ja 7) +(def-art-elt pelican-ag pelican-fly-down-ja 8) +(def-art-elt pelican-ag pelican-land-ja 9) +(def-art-elt pelican-ag pelican-sleep-ja 10) + + diff --git a/goal_src/import/periscope-ag.gc b/goal_src/import/periscope-ag.gc new file mode 100644 index 0000000000..b957cc18ab --- /dev/null +++ b/goal_src/import/periscope-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; periscope-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt periscope-ag periscope-base-lod0-jg 0) +(def-art-elt periscope-ag periscope-base-lod0-mg 1) +(def-art-elt periscope-ag periscope-base-lod1-mg 2) +(def-art-elt periscope-ag periscope-base-idle-ja 3) +(def-art-elt periscope-ag periscope-mirror-lod0-jg 4) +(def-art-elt periscope-ag periscope-mirror-lod0-mg 5) +(def-art-elt periscope-ag periscope-mirror-lod1-mg 6) +(def-art-elt periscope-ag periscope-mirror-idle-ja 7) + + diff --git a/goal_src/import/pistons-ag.gc b/goal_src/import/pistons-ag.gc new file mode 100644 index 0000000000..97b0d61317 --- /dev/null +++ b/goal_src/import/pistons-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; pistons-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt pistons-ag pistons-lod0-jg 0) +(def-art-elt pistons-ag pistons-lod0-mg 1) +(def-art-elt pistons-ag pistons-idle-ja 2) + + diff --git a/goal_src/import/plant-boss-ag.gc b/goal_src/import/plant-boss-ag.gc new file mode 100644 index 0000000000..863de122dc --- /dev/null +++ b/goal_src/import/plant-boss-ag.gc @@ -0,0 +1,62 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plant-boss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plant-boss-ag plant-boss-main-lod0-jg 0) +(def-art-elt plant-boss-ag plant-boss-main-lod0-mg 1) +(def-art-elt plant-boss-ag plant-boss-main-shadow-mg 2) +(def-art-elt plant-boss-ag plant-boss-main-idle-ja 3) +(def-art-elt plant-boss-ag plant-boss-main-idle-alt-ja 4) +(def-art-elt plant-boss-ag plant-boss-main-attack-ja 5) +(def-art-elt plant-boss-ag plant-boss-main-attack-close-ja 6) +(def-art-elt plant-boss-ag plant-boss-main-reset-ja 7) +(def-art-elt plant-boss-ag plant-boss-main-eat-ja 8) +(def-art-elt plant-boss-ag plant-boss-main-initial-ja 9) +(def-art-elt plant-boss-ag plant-boss-main-intro-ja 10) +(def-art-elt plant-boss-ag plant-boss-main-idle2vulnerable-ja 11) +(def-art-elt plant-boss-ag plant-boss-main-vulnerable-ja 12) +(def-art-elt plant-boss-ag plant-boss-main-vulnerable2idle-ja 13) +(def-art-elt plant-boss-ag plant-boss-main-hit-ja 14) +(def-art-elt plant-boss-ag plant-boss-main-hit-kick-ja 15) +(def-art-elt plant-boss-ag plant-boss-main-hit-jumpkick-ja 16) +(def-art-elt plant-boss-ag plant-boss-main-die-ja 17) +(def-art-elt plant-boss-ag plant-boss-main-swallow-ja 20) +(def-art-elt plant-boss-ag plant-boss-main-bounce-ja 21) +(def-art-elt plant-boss-ag plant-boss-arms-lod0-jg 22) +(def-art-elt plant-boss-ag plant-boss-arms-lod0-mg 23) +(def-art-elt plant-boss-ag plant-boss-arms-shadow-mg 24) +(def-art-elt plant-boss-ag plant-boss-arms-idle-ja 25) +(def-art-elt plant-boss-ag plant-boss-arms-still-ja 26) +(def-art-elt plant-boss-ag plant-boss-arms-die-ja 27) +(def-art-elt plant-boss-ag plant-boss-arms-die-right-ja 28) +(def-art-elt plant-boss-ag plant-boss-arms-hit-ja 29) +(def-art-elt plant-boss-ag plant-boss-back-arms-lod0-jg 30) +(def-art-elt plant-boss-ag plant-boss-back-arms-lod0-mg 31) +(def-art-elt plant-boss-ag plant-boss-back-arms-shadow-mg 32) +(def-art-elt plant-boss-ag plant-boss-back-arms-idle-ja 33) +(def-art-elt plant-boss-ag plant-boss-back-arms-die-ja 34) +(def-art-elt plant-boss-ag plant-boss-back-arms-hit-ja 35) +(def-art-elt plant-boss-ag plant-boss-back-arms-hit-kick-ja 36) +(def-art-elt plant-boss-ag plant-boss-leaf-lod0-jg 37) +(def-art-elt plant-boss-ag plant-boss-leaf-lod0-mg 38) +(def-art-elt plant-boss-ag plant-boss-leaf-shadow-mg 39) +(def-art-elt plant-boss-ag plant-boss-leaf-stubby-left-ja 40) +(def-art-elt plant-boss-ag plant-boss-leaf-grow-left-ja 41) +(def-art-elt plant-boss-ag plant-boss-leaf-idle-left-ja 42) +(def-art-elt plant-boss-ag plant-boss-leaf-stubby-right-ja 43) +(def-art-elt plant-boss-ag plant-boss-leaf-grow-right-ja 44) +(def-art-elt plant-boss-ag plant-boss-leaf-idle-right-ja 45) +(def-art-elt plant-boss-ag plant-boss-leaf-left-bounce-ja 46) +(def-art-elt plant-boss-ag plant-boss-leaf-right-bounce-ja 47) +(def-art-elt plant-boss-ag plant-boss-vine-lod0-jg 48) +(def-art-elt plant-boss-ag plant-boss-vine-lod0-mg 49) +(def-art-elt plant-boss-ag plant-boss-vine-idle-ja 50) +(def-art-elt plant-boss-ag plant-boss-vine-die-ja 51) +(def-art-elt plant-boss-ag plant-boss-vine-hit-ja 52) +(def-art-elt plant-boss-ag plant-boss-root-lod0-jg 53) +(def-art-elt plant-boss-ag plant-boss-root-lod0-mg 54) +(def-art-elt plant-boss-ag plant-boss-root-idle-ja 55) + + diff --git a/goal_src/import/plant-boss-main+0-ag.gc b/goal_src/import/plant-boss-main+0-ag.gc new file mode 100644 index 0000000000..a12eb95a90 --- /dev/null +++ b/goal_src/import/plant-boss-main+0-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plant-boss-main+0-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plant-boss-main+0-ag eichar-main-plant-boss-kill-ja 0) +(def-art-elt plant-boss-main+0-ag eichar-main-plant-boss-kill-close-ja 1) +(def-art-elt plant-boss-main+0-ag plant-boss-main-plant-boss-kill-ja 2) +(def-art-elt plant-boss-main+0-ag plant-boss-main-plant-boss-kill-close-ja 3) +(def-art-elt plant-boss-main+0-ag sidekick-main-plant-boss-kill-ja 4) +(def-art-elt plant-boss-main+0-ag sidekick-main-plant-boss-kill-close-ja 5) + + diff --git a/goal_src/import/plat-ag.gc b/goal_src/import/plat-ag.gc new file mode 100644 index 0000000000..61e41e2c1d --- /dev/null +++ b/goal_src/import/plat-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-ag plat-lod0-jg 0) +(def-art-elt plat-ag plat-lod0-mg 1) +(def-art-elt plat-ag plat-lod1-mg 2) +(def-art-elt plat-ag plat-lod2-mg 3) +(def-art-elt plat-ag plat-idle-ja 4) + + diff --git a/goal_src/import/plat-button-ag.gc b/goal_src/import/plat-button-ag.gc new file mode 100644 index 0000000000..262d31dc50 --- /dev/null +++ b/goal_src/import/plat-button-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-button-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-button-ag plat-button-geo-jg 0) +(def-art-elt plat-button-ag plat-button-geo-mg 1) +(def-art-elt plat-button-ag plat-button-pressed-ja 2) + + diff --git a/goal_src/import/plat-citb-ag.gc b/goal_src/import/plat-citb-ag.gc new file mode 100644 index 0000000000..aaae6ee1f7 --- /dev/null +++ b/goal_src/import/plat-citb-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-citb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-citb-ag plat-citb-lod0-jg 0) +(def-art-elt plat-citb-ag plat-citb-lod0-mg 1) +(def-art-elt plat-citb-ag plat-citb-lod1-mg 2) +(def-art-elt plat-citb-ag plat-citb-idle-ja 3) + + diff --git a/goal_src/import/plat-eco-ag.gc b/goal_src/import/plat-eco-ag.gc new file mode 100644 index 0000000000..ff991d1b43 --- /dev/null +++ b/goal_src/import/plat-eco-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-eco-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-eco-ag plat-eco-lod0-jg 0) +(def-art-elt plat-eco-ag plat-eco-lod0-mg 1) +(def-art-elt plat-eco-ag plat-eco-lod1-mg 2) +(def-art-elt plat-eco-ag plat-eco-lod2-mg 3) +(def-art-elt plat-eco-ag plat-eco-lit-lod0-jg 4) +(def-art-elt plat-eco-ag plat-eco-lit-lod0-mg 5) +(def-art-elt plat-eco-ag plat-eco-lit-lod1-mg 6) +(def-art-elt plat-eco-ag plat-eco-lit-lod2-mg 7) +(def-art-elt plat-eco-ag plat-eco-idle-ja 8) + + diff --git a/goal_src/import/plat-eco-citb-ag.gc b/goal_src/import/plat-eco-citb-ag.gc new file mode 100644 index 0000000000..54f9f6dae7 --- /dev/null +++ b/goal_src/import/plat-eco-citb-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-eco-citb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-eco-citb-ag plat-eco-citb-lod0-jg 0) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lod0-mg 1) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lod1-mg 2) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lod2-mg 3) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lit-lod0-jg 4) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lit-lod0-mg 5) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lit-lod1-mg 6) +(def-art-elt plat-eco-citb-ag plat-eco-citb-lit-lod2-mg 7) +(def-art-elt plat-eco-citb-ag plat-eco-citb-idle-ja 8) + + diff --git a/goal_src/import/plat-eco-finalboss-ag.gc b/goal_src/import/plat-eco-finalboss-ag.gc new file mode 100644 index 0000000000..21633d0179 --- /dev/null +++ b/goal_src/import/plat-eco-finalboss-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-eco-finalboss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lod0-jg 0) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lod0-mg 1) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lod1-mg 2) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lod2-mg 3) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lit-lod0-jg 4) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lit-lod0-mg 5) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lit-lod1-mg 6) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-lit-lod2-mg 7) +(def-art-elt plat-eco-finalboss-ag plat-eco-finalboss-idle-ja 8) + + diff --git a/goal_src/import/plat-flip-ag.gc b/goal_src/import/plat-flip-ag.gc new file mode 100644 index 0000000000..d052fa1fdb --- /dev/null +++ b/goal_src/import/plat-flip-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-flip-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-flip-ag plat-flip-geo-jg 0) +(def-art-elt plat-flip-ag plat-flip-geo-mg 1) +(def-art-elt plat-flip-ag plat-flip-turn-down-ja 2) +(def-art-elt plat-flip-ag plat-flip-turn-up-ja 3) + + diff --git a/goal_src/import/plat-jungleb-ag.gc b/goal_src/import/plat-jungleb-ag.gc new file mode 100644 index 0000000000..1b1f053d6f --- /dev/null +++ b/goal_src/import/plat-jungleb-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-jungleb-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-jungleb-ag plat-jungleb-lod0-jg 0) +(def-art-elt plat-jungleb-ag plat-jungleb-lod0-mg 1) +(def-art-elt plat-jungleb-ag plat-jungleb-lod1-mg 2) +(def-art-elt plat-jungleb-ag plat-jungleb-lod2-mg 3) +(def-art-elt plat-jungleb-ag plat-jungleb-idle-ja 4) + + diff --git a/goal_src/import/plat-sunken-ag.gc b/goal_src/import/plat-sunken-ag.gc new file mode 100644 index 0000000000..5dc05fffa1 --- /dev/null +++ b/goal_src/import/plat-sunken-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plat-sunken-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plat-sunken-ag plat-sunken-lod0-jg 0) +(def-art-elt plat-sunken-ag plat-sunken-lod0-mg 1) +(def-art-elt plat-sunken-ag plat-sunken-lod1-mg 2) +(def-art-elt plat-sunken-ag plat-sunken-lod2-mg 3) +(def-art-elt plat-sunken-ag plat-sunken-idle-ja 4) + + diff --git a/goal_src/import/plunger-lurker-ag.gc b/goal_src/import/plunger-lurker-ag.gc new file mode 100644 index 0000000000..eb53d40706 --- /dev/null +++ b/goal_src/import/plunger-lurker-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; plunger-lurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt plunger-lurker-ag plunger-lurker-lod0-jg 0) +(def-art-elt plunger-lurker-ag plunger-lurker-lod0-mg 1) +(def-art-elt plunger-lurker-ag plunger-lurker-lod1-mg 2) +(def-art-elt plunger-lurker-ag plunger-lurker-lod2-mg 3) +(def-art-elt plunger-lurker-ag plunger-lurker-idle-ja 4) +(def-art-elt plunger-lurker-ag plunger-lurker-notice-ja 5) +(def-art-elt plunger-lurker-ag plunger-lurker-death-ja 6) + + diff --git a/goal_src/import/pontoonfive-ag.gc b/goal_src/import/pontoonfive-ag.gc new file mode 100644 index 0000000000..b71cf3f51d --- /dev/null +++ b/goal_src/import/pontoonfive-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; pontoonfive-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt pontoonfive-ag pontoonfive-lod0-jg 0) +(def-art-elt pontoonfive-ag pontoonfive-lod0-mg 1) +(def-art-elt pontoonfive-ag pontoonfive-lod1-mg 2) +(def-art-elt pontoonfive-ag pontoonfive-lod2-mg 3) +(def-art-elt pontoonfive-ag pontoonfive-idle-ja 4) + + diff --git a/goal_src/import/pontoonten-ag.gc b/goal_src/import/pontoonten-ag.gc new file mode 100644 index 0000000000..364fbdf1a2 --- /dev/null +++ b/goal_src/import/pontoonten-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; pontoonten-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt pontoonten-ag pontoonten-lod0-jg 0) +(def-art-elt pontoonten-ag pontoonten-lod0-mg 1) +(def-art-elt pontoonten-ag pontoonten-lod1-mg 2) +(def-art-elt pontoonten-ag pontoonten-lod2-mg 3) +(def-art-elt pontoonten-ag pontoonten-idle-ja 4) + + diff --git a/goal_src/import/power-left-ag.gc b/goal_src/import/power-left-ag.gc new file mode 100644 index 0000000000..8c8ef05cda --- /dev/null +++ b/goal_src/import/power-left-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; power-left-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt power-left-ag power-left-lod0-jg 0) +(def-art-elt power-left-ag power-left-lod0-mg 1) +(def-art-elt power-left-ag power-left-idle-ja 2) + + diff --git a/goal_src/import/power-right-ag.gc b/goal_src/import/power-right-ag.gc new file mode 100644 index 0000000000..a692030d24 --- /dev/null +++ b/goal_src/import/power-right-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; power-right-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt power-right-ag power-right-lod0-jg 0) +(def-art-elt power-right-ag power-right-lod0-mg 1) +(def-art-elt power-right-ag power-right-idle-ja 2) + + diff --git a/goal_src/import/powercellalt-ag.gc b/goal_src/import/powercellalt-ag.gc new file mode 100644 index 0000000000..951b89d29a --- /dev/null +++ b/goal_src/import/powercellalt-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; powercellalt-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt powercellalt-ag powercellalt-lod0-jg 0) +(def-art-elt powercellalt-ag powercellalt-lod0-mg 1) +(def-art-elt powercellalt-ag powercellalt-idle-ja 2) + + diff --git a/goal_src/import/precurbridge-ag.gc b/goal_src/import/precurbridge-ag.gc new file mode 100644 index 0000000000..b54319f471 --- /dev/null +++ b/goal_src/import/precurbridge-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; precurbridge-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt precurbridge-ag precurbridge-geo-jg 0) +(def-art-elt precurbridge-ag precurbridge-geo-mg 1) +(def-art-elt precurbridge-ag precurbridge-lod1-mg 2) +(def-art-elt precurbridge-ag precurbridge-idle-ja 3) +(def-art-elt precurbridge-ag precurbridge-float-ja 4) +(def-art-elt precurbridge-ag precurbridge-static-ja 5) + + diff --git a/goal_src/import/precursor-arm-ag.gc b/goal_src/import/precursor-arm-ag.gc new file mode 100644 index 0000000000..3e2e152ea6 --- /dev/null +++ b/goal_src/import/precursor-arm-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; precursor-arm-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt precursor-arm-ag precursor-arm-lod0-jg 0) +(def-art-elt precursor-arm-ag precursor-arm-lod0-mg 1) +(def-art-elt precursor-arm-ag precursor-arm-idle-ja 2) + + diff --git a/goal_src/import/puffer-ag.gc b/goal_src/import/puffer-ag.gc new file mode 100644 index 0000000000..3b8d3ec53f --- /dev/null +++ b/goal_src/import/puffer-ag.gc @@ -0,0 +1,24 @@ +;;-*-Lisp-*- +(in-package goal) + +;; puffer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt puffer-ag puffer-main-lod0-jg 0) +(def-art-elt puffer-ag puffer-main-lod0-mg 1) +(def-art-elt puffer-ag puffer-main-lod1-mg 2) +(def-art-elt puffer-ag puffer-main-lod2-mg 3) +(def-art-elt puffer-ag puffer-main-shadow-mg 4) +(def-art-elt puffer-ag puffer-mean-lod0-jg 5) +(def-art-elt puffer-ag puffer-mean-lod0-mg 6) +(def-art-elt puffer-ag puffer-mean-lod1-mg 7) +(def-art-elt puffer-ag puffer-mean-lod2-mg 8) +(def-art-elt puffer-ag puffer-hover-unpuffed-ja 9) +(def-art-elt puffer-ag puffer-hover-puffed-ja 10) +(def-art-elt puffer-ag puffer-fly-unpuffed-ja 11) +(def-art-elt puffer-ag puffer-fly-puffed-ja 12) +(def-art-elt puffer-ag puffer-puff-up-ja 13) +(def-art-elt puffer-ag puffer-puff-down-ja 14) +(def-art-elt puffer-ag puffer-die-ja 15) + + diff --git a/goal_src/import/pusher-ag.gc b/goal_src/import/pusher-ag.gc new file mode 100644 index 0000000000..595081062c --- /dev/null +++ b/goal_src/import/pusher-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; pusher-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt pusher-ag pusher-lod0-jg 0) +(def-art-elt pusher-ag pusher-lod0-mg 1) +(def-art-elt pusher-ag pusher-idle-ja 2) + + diff --git a/goal_src/import/qbert-plat-ag.gc b/goal_src/import/qbert-plat-ag.gc new file mode 100644 index 0000000000..e3b510c0c4 --- /dev/null +++ b/goal_src/import/qbert-plat-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; qbert-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt qbert-plat-ag qbert-plat-lod0-jg 0) +(def-art-elt qbert-plat-ag qbert-plat-lod0-mg 1) +(def-art-elt qbert-plat-ag qbert-plat-idle-ja 2) + + diff --git a/goal_src/import/qbert-plat-on-ag.gc b/goal_src/import/qbert-plat-on-ag.gc new file mode 100644 index 0000000000..a5107f379b --- /dev/null +++ b/goal_src/import/qbert-plat-on-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; qbert-plat-on-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt qbert-plat-on-ag qbert-plat-on-lod0-jg 0) +(def-art-elt qbert-plat-on-ag qbert-plat-on-lod0-mg 1) +(def-art-elt qbert-plat-on-ag qbert-plat-on-idle-ja 2) + + diff --git a/goal_src/import/quicksandlurker-ag.gc b/goal_src/import/quicksandlurker-ag.gc new file mode 100644 index 0000000000..7af4ad6833 --- /dev/null +++ b/goal_src/import/quicksandlurker-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; quicksandlurker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt quicksandlurker-ag quicksandlurker-lod0-jg 0) +(def-art-elt quicksandlurker-ag quicksandlurker-lod0-mg 1) +(def-art-elt quicksandlurker-ag quicksandlurker-idle-ja 2) +(def-art-elt quicksandlurker-ag quicksandlurker-yawn-ja 3) +(def-art-elt quicksandlurker-ag quicksandlurker-spit-ja 4) +(def-art-elt quicksandlurker-ag quicksandlurker-hide-ja 5) +(def-art-elt quicksandlurker-ag quicksandlurker-victory-ja 6) +(def-art-elt quicksandlurker-ag quicksandlurker-victory2-ja 7) +(def-art-elt quicksandlurker-ag quicksandlurker-popup-ja 8) +(def-art-elt quicksandlurker-ag quicksandlurker-die-ja 9) + + diff --git a/goal_src/import/race-ring-ag.gc b/goal_src/import/race-ring-ag.gc new file mode 100644 index 0000000000..489fad286a --- /dev/null +++ b/goal_src/import/race-ring-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; race-ring-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt race-ring-ag race-ring-lod0-jg 0) +(def-art-elt race-ring-ag race-ring-lod0-mg 1) +(def-art-elt race-ring-ag race-ring-race-ring-idle-ja 2) + + diff --git a/goal_src/import/racer-ag.gc b/goal_src/import/racer-ag.gc new file mode 100644 index 0000000000..f059a558ae --- /dev/null +++ b/goal_src/import/racer-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; racer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt racer-ag racer-geo-jg 0) +(def-art-elt racer-ag racer-explode-idle-ja 24) +(def-art-elt racer-ag racer-geo-mg 1) +(def-art-elt racer-ag racer-shadow-mg 2) +(def-art-elt racer-ag racer-explode-lod0-jg 22) +(def-art-elt racer-ag racer-explode-lod0-mg 23) + + diff --git a/goal_src/import/ram-ag.gc b/goal_src/import/ram-ag.gc new file mode 100644 index 0000000000..bb9d121039 --- /dev/null +++ b/goal_src/import/ram-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ram-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ram-ag ram-lod0-jg 0) +(def-art-elt ram-ag ram-lod0-mg 1) +(def-art-elt ram-ag ram-lod1-mg 2) +(def-art-elt ram-ag ram-lod2-mg 3) +(def-art-elt ram-ag ram-cock-ja 4) +(def-art-elt ram-ag ram-release-ja 5) +(def-art-elt ram-ag ram-idle-ja 6) + + diff --git a/goal_src/import/ram-boss-ag.gc b/goal_src/import/ram-boss-ag.gc new file mode 100644 index 0000000000..5ce82a9414 --- /dev/null +++ b/goal_src/import/ram-boss-ag.gc @@ -0,0 +1,33 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ram-boss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ram-boss-ag ram-boss-lod0-jg 0) +(def-art-elt ram-boss-ag ram-boss-lod0-mg 1) +(def-art-elt ram-boss-ag ram-boss-lod1-mg 2) +(def-art-elt ram-boss-ag ram-boss-lod2-mg 3) +(def-art-elt ram-boss-ag ram-boss-cock-ja 4) +(def-art-elt ram-boss-ag ram-boss-release-ja 5) +(def-art-elt ram-boss-ag ram-boss-forward-defend-ja 6) +(def-art-elt ram-boss-ag ram-boss-forward-defend-tracking-ja 7) +(def-art-elt ram-boss-ag ram-boss-forward-defend-block-ja 8) +(def-art-elt ram-boss-ag ram-boss-up-defend-block-ja 9) +(def-art-elt ram-boss-ag ram-boss-throw-ja 10) +(def-art-elt ram-boss-ag ram-boss-run-ja 11) +(def-art-elt ram-boss-ag ram-boss-run-no-shield-ja 12) +(def-art-elt ram-boss-ag ram-boss-far-idle-ja 13) +(def-art-elt ram-boss-ag ram-boss-celebrate-ja 14) +(def-art-elt ram-boss-ag ram-boss-die-ja 15) +(def-art-elt ram-boss-ag ram-boss-dismount-start-ja 16) +(def-art-elt ram-boss-ag ram-boss-dismount-hit-ground-ja 17) +(def-art-elt ram-boss-ag ram-boss-lose-shield-ja 18) +(def-art-elt ram-boss-ag ram-boss-sees-player-ja 19) +(def-art-elt ram-boss-ag ram-boss-forward-defend-tracking-no-shield-ja 20) +(def-art-elt ram-boss-ag ram-boss-up-defend-ja 21) +(def-art-elt ram-boss-ag ram-boss-up-defend-tracking-ja 22) +(def-art-elt ram-boss-ag ram-boss-throw-no-shield-ja 23) +(def-art-elt ram-boss-ag ram-boss-forward-defend-no-shield-ja 24) + + diff --git a/goal_src/import/redring-ag.gc b/goal_src/import/redring-ag.gc new file mode 100644 index 0000000000..5e323d33ca --- /dev/null +++ b/goal_src/import/redring-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; redring-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt redring-ag redring-lod0-jg 0) +(def-art-elt redring-ag redring-lod0-mg 1) +(def-art-elt redring-ag redring-idle-ja 2) + + diff --git a/goal_src/import/redsage-ag.gc b/goal_src/import/redsage-ag.gc new file mode 100644 index 0000000000..6a805b841d --- /dev/null +++ b/goal_src/import/redsage-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; redsage-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt redsage-ag redsage-lod0-jg 0) +(def-art-elt redsage-ag redsage-lod0-mg 1) +(def-art-elt redsage-ag redsage-lod1-mg 2) +(def-art-elt redsage-ag redsage-shadow-mg 3) +(def-art-elt redsage-ag redsage-redsage-idle-ja 4) +(def-art-elt redsage-ag redsage-redsage-attack-start-ja 5) +(def-art-elt redsage-ag redsage-redsage-attack-loop-ja 6) + + diff --git a/goal_src/import/reflector-middle-ag.gc b/goal_src/import/reflector-middle-ag.gc new file mode 100644 index 0000000000..b72a9b152a --- /dev/null +++ b/goal_src/import/reflector-middle-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; reflector-middle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt reflector-middle-ag reflector-middle-geo-jg 0) +(def-art-elt reflector-middle-ag reflector-middle-geo-mg 1) +(def-art-elt reflector-middle-ag reflector-middle-idle-ja 2) + + diff --git a/goal_src/import/reflector-mirror-ag.gc b/goal_src/import/reflector-mirror-ag.gc new file mode 100644 index 0000000000..0ae9b60d88 --- /dev/null +++ b/goal_src/import/reflector-mirror-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; reflector-mirror-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt reflector-mirror-ag reflector-mirror-lod0-jg 0) +(def-art-elt reflector-mirror-ag reflector-mirror-lod0-mg 1) +(def-art-elt reflector-mirror-ag reflector-mirror-lod1-mg 2) +(def-art-elt reflector-mirror-ag reflector-mirror-idle-ja 3) +(def-art-elt reflector-mirror-ag reflector-mirror-break-lod0-jg 4) +(def-art-elt reflector-mirror-ag reflector-mirror-break-lod0-mg 5) +(def-art-elt reflector-mirror-ag reflector-mirror-break-break-ja 6) + + diff --git a/goal_src/import/revcycle-ag.gc b/goal_src/import/revcycle-ag.gc new file mode 100644 index 0000000000..20f4c342d4 --- /dev/null +++ b/goal_src/import/revcycle-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; revcycle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt revcycle-ag revcycle-geo-jg 0) +(def-art-elt revcycle-ag revcycle-geo-mg 1) +(def-art-elt revcycle-ag revcycle-idle-ja 2) + + diff --git a/goal_src/import/revcycleprop-ag.gc b/goal_src/import/revcycleprop-ag.gc new file mode 100644 index 0000000000..ab96ff1f23 --- /dev/null +++ b/goal_src/import/revcycleprop-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; revcycleprop-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt revcycleprop-ag revcycleprop-lod0-jg 0) +(def-art-elt revcycleprop-ag revcycleprop-lod0-mg 1) +(def-art-elt revcycleprop-ag revcycleprop-idle-ja 2) + + diff --git a/goal_src/import/robber-ag.gc b/goal_src/import/robber-ag.gc new file mode 100644 index 0000000000..ac081622fb --- /dev/null +++ b/goal_src/import/robber-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; robber-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt robber-ag robber-lod0-jg 0) +(def-art-elt robber-ag robber-lod0-mg 1) +(def-art-elt robber-ag robber-lod1-mg 2) +(def-art-elt robber-ag robber-lod2-mg 3) +(def-art-elt robber-ag robber-shadow-mg 4) +(def-art-elt robber-ag robber-idle-ja 5) +(def-art-elt robber-ag robber-spots-ja 6) +(def-art-elt robber-ag robber-fly-ja 7) +(def-art-elt robber-ag robber-death-ja 8) +(def-art-elt robber-ag robber-taunt-ja 9) +(def-art-elt robber-ag robber-idle-hover-ja 10) +(def-art-elt robber-ag robber-ambient-look-ja 11) + + diff --git a/goal_src/import/robotboss-ag.gc b/goal_src/import/robotboss-ag.gc new file mode 100644 index 0000000000..cd4d795be7 --- /dev/null +++ b/goal_src/import/robotboss-ag.gc @@ -0,0 +1,44 @@ +;;-*-Lisp-*- +(in-package goal) + +;; robotboss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt robotboss-ag robotboss-basic-lod0-jg 0) +(def-art-elt robotboss-ag robotboss-basic-lod0-mg 1) +(def-art-elt robotboss-ag robotboss-idle-ja 2) +(def-art-elt robotboss-ag robotboss-idle-blue-ja 3) +(def-art-elt robotboss-ag robotboss-blue-hit-ja 4) +(def-art-elt robotboss-ag robotboss-blue-roar-ja 5) +(def-art-elt robotboss-ag robotboss-idle-hover-no-blue-ja 6) +(def-art-elt robotboss-ag robotboss-idle-hover-lookup-no-blue-ja 7) +(def-art-elt robotboss-ag robotboss-dark-reveal-ja 8) +(def-art-elt robotboss-ag robotboss-dark-shoot-ja 9) +(def-art-elt robotboss-ag robotboss-dark-return-ja 10) +(def-art-elt robotboss-ag robotboss-green-spawn-ja 11) +(def-art-elt robotboss-ag robotboss-green-idle-ja 12) +(def-art-elt robotboss-ag robotboss-green-roar-ja 13) +(def-art-elt robotboss-ag robotboss-dark-reveal-green-ja 14) +(def-art-elt robotboss-ag robotboss-dark-return-after-green-ja 15) +(def-art-elt robotboss-ag robotboss-red-idle-ja 16) +(def-art-elt robotboss-ag robotboss-red-charge-ja 17) +(def-art-elt robotboss-ag robotboss-red-blast-ja 18) +(def-art-elt robotboss-ag robotboss-red-hit-ja 19) +(def-art-elt robotboss-ag robotboss-red-roar-ja 20) +(def-art-elt robotboss-ag robotboss-idle-hover-no-red-ja 21) +(def-art-elt robotboss-ag robotboss-dark-reveal-no-red-ja 22) +(def-art-elt robotboss-ag robotboss-idle-hover-lookup-no-red-ja 23) +(def-art-elt robotboss-ag robotboss-dark-shoot-no-red-ja 24) +(def-art-elt robotboss-ag robotboss-dark-return-after-red-ja 25) +(def-art-elt robotboss-ag robotboss-yellow-idle-ja 26) +(def-art-elt robotboss-ag robotboss-yellow-blast-ja 27) +(def-art-elt robotboss-ag robotboss-yellow-hit-ja 28) +(def-art-elt robotboss-ag robotboss-yellow-roar-ja 29) +(def-art-elt robotboss-ag robotboss-idle-hover-no-yellow-ja 30) +(def-art-elt robotboss-ag robotboss-dark-reveal-no-yellow-ja 31) +(def-art-elt robotboss-ag robotboss-dark-shoot-no-yellow-ja 32) +(def-art-elt robotboss-ag robotboss-blue-last-hit-ja 33) +(def-art-elt robotboss-ag robotboss-red-last-hit-ja 34) +(def-art-elt robotboss-ag robotboss-yellow-last-hit-ja 35) + + diff --git a/goal_src/import/robotboss-blueeco-ag.gc b/goal_src/import/robotboss-blueeco-ag.gc new file mode 100644 index 0000000000..01e31e3b4d --- /dev/null +++ b/goal_src/import/robotboss-blueeco-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; robotboss-blueeco-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt robotboss-blueeco-ag robotboss-blueeco-lod0-jg 0) +(def-art-elt robotboss-blueeco-ag robotboss-blueeco-lod0-mg 1) +(def-art-elt robotboss-blueeco-ag robotboss-blueeco-idle-ja 2) +(def-art-elt robotboss-blueeco-ag robotboss-blueeco-blue-last-hit-ja 3) + + diff --git a/goal_src/import/robotboss-cinematic-ag.gc b/goal_src/import/robotboss-cinematic-ag.gc new file mode 100644 index 0000000000..70ab6e3260 --- /dev/null +++ b/goal_src/import/robotboss-cinematic-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; robotboss-cinematic-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt robotboss-cinematic-ag robotboss-cinematic-lod0-jg 0) +(def-art-elt robotboss-cinematic-ag robotboss-cinematic-lod0-mg 1) +(def-art-elt robotboss-cinematic-ag robotboss-cinematic-idle-ja 2) + + diff --git a/goal_src/import/robotboss-redeco-ag.gc b/goal_src/import/robotboss-redeco-ag.gc new file mode 100644 index 0000000000..feead18832 --- /dev/null +++ b/goal_src/import/robotboss-redeco-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; robotboss-redeco-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt robotboss-redeco-ag robotboss-redeco-lod0-jg 0) +(def-art-elt robotboss-redeco-ag robotboss-redeco-lod0-mg 1) +(def-art-elt robotboss-redeco-ag robotboss-redeco-idle-ja 2) +(def-art-elt robotboss-redeco-ag robotboss-redeco-red-last-hit-ja 3) + + diff --git a/goal_src/import/robotboss-yelloweco-ag.gc b/goal_src/import/robotboss-yelloweco-ag.gc new file mode 100644 index 0000000000..75a5bd7f0d --- /dev/null +++ b/goal_src/import/robotboss-yelloweco-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; robotboss-yelloweco-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt robotboss-yelloweco-ag robotboss-yelloweco-lod0-jg 0) +(def-art-elt robotboss-yelloweco-ag robotboss-yelloweco-lod0-mg 1) +(def-art-elt robotboss-yelloweco-ag robotboss-yelloweco-idle-ja 2) +(def-art-elt robotboss-yelloweco-ag robotboss-yelloweco-yellow-last-hit-ja 3) + + diff --git a/goal_src/import/rolling-start-ag.gc b/goal_src/import/rolling-start-ag.gc new file mode 100644 index 0000000000..45d5d81d67 --- /dev/null +++ b/goal_src/import/rolling-start-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; rolling-start-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt rolling-start-ag rolling-start-whole-lod0-jg 0) +(def-art-elt rolling-start-ag rolling-start-whole-lod0-mg 1) +(def-art-elt rolling-start-ag rolling-start-broken-lod0-jg 2) +(def-art-elt rolling-start-ag rolling-start-broken-lod0-mg 3) +(def-art-elt rolling-start-ag rolling-start-idle-ja 4) +(def-art-elt rolling-start-ag rolling-start-break-whole-ja 5) +(def-art-elt rolling-start-ag rolling-start-break-broken-ja 6) +(def-art-elt rolling-start-ag rolling-start-broken-ja 7) + + diff --git a/goal_src/import/rollingcam-ag.gc b/goal_src/import/rollingcam-ag.gc new file mode 100644 index 0000000000..423484556f --- /dev/null +++ b/goal_src/import/rollingcam-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; rollingcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt rollingcam-ag rollingcam-lod0-jg 0) +(def-art-elt rollingcam-ag rollingcam-lod0-mg 1) +(def-art-elt rollingcam-ag rollingcam-anim-ja 2) + + diff --git a/goal_src/import/ropebridge-32-ag.gc b/goal_src/import/ropebridge-32-ag.gc new file mode 100644 index 0000000000..b4973d2820 --- /dev/null +++ b/goal_src/import/ropebridge-32-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ropebridge-32-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ropebridge-32-ag ropebridge-32-lod0-jg 0) +(def-art-elt ropebridge-32-ag ropebridge-32-lod0-mg 1) +(def-art-elt ropebridge-32-ag ropebridge-32-lod1-mg 2) +(def-art-elt ropebridge-32-ag ropebridge-32-idle-ja 3) + + diff --git a/goal_src/import/ropebridge-36-ag.gc b/goal_src/import/ropebridge-36-ag.gc new file mode 100644 index 0000000000..4e3daac715 --- /dev/null +++ b/goal_src/import/ropebridge-36-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ropebridge-36-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ropebridge-36-ag ropebridge-36-lod0-jg 0) +(def-art-elt ropebridge-36-ag ropebridge-36-lod0-mg 1) +(def-art-elt ropebridge-36-ag ropebridge-36-lod1-mg 2) +(def-art-elt ropebridge-36-ag ropebridge-36-idle-ja 3) + + diff --git a/goal_src/import/ropebridge-52-ag.gc b/goal_src/import/ropebridge-52-ag.gc new file mode 100644 index 0000000000..f6ccc364b2 --- /dev/null +++ b/goal_src/import/ropebridge-52-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ropebridge-52-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ropebridge-52-ag ropebridge-52-lod0-jg 0) +(def-art-elt ropebridge-52-ag ropebridge-52-lod0-mg 1) +(def-art-elt ropebridge-52-ag ropebridge-52-lod1-mg 2) +(def-art-elt ropebridge-52-ag ropebridge-52-idle-ja 3) + + diff --git a/goal_src/import/ropebridge-70-ag.gc b/goal_src/import/ropebridge-70-ag.gc new file mode 100644 index 0000000000..f4a6e48535 --- /dev/null +++ b/goal_src/import/ropebridge-70-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; ropebridge-70-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt ropebridge-70-ag ropebridge-70-lod0-jg 0) +(def-art-elt ropebridge-70-ag ropebridge-70-lod0-mg 1) +(def-art-elt ropebridge-70-ag ropebridge-70-lod1-mg 2) +(def-art-elt ropebridge-70-ag ropebridge-70-idle-ja 3) + + diff --git a/goal_src/import/rounddoor-ag.gc b/goal_src/import/rounddoor-ag.gc new file mode 100644 index 0000000000..566eb205f1 --- /dev/null +++ b/goal_src/import/rounddoor-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; rounddoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt rounddoor-ag rounddoor-lod0-jg 0) +(def-art-elt rounddoor-ag rounddoor-lod0-mg 1) +(def-art-elt rounddoor-ag rounddoor-lod1-mg 2) +(def-art-elt rounddoor-ag rounddoor-idle-ja 3) + + diff --git a/goal_src/import/sack-ag.gc b/goal_src/import/sack-ag.gc new file mode 100644 index 0000000000..202d1e66ef --- /dev/null +++ b/goal_src/import/sack-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sack-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sack-ag sack-lod0-jg 0) +(def-art-elt sack-ag sack-lod0-mg 1) +(def-art-elt sack-ag sack-idle-ja 2) +(def-art-elt sack-ag sack-hit-ja 3) +(def-art-elt sack-ag sack-fuse-ja 4) + + diff --git a/goal_src/import/sage-ag.gc b/goal_src/import/sage-ag.gc new file mode 100644 index 0000000000..1ea1b83e1c --- /dev/null +++ b/goal_src/import/sage-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sage-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sage-ag sage-lod0-jg 0) +(def-art-elt sage-ag sage-lod0-mg 1) +(def-art-elt sage-ag sage-shadow-mg 2) +(def-art-elt sage-ag sage-idle-cannon-ja 3) +(def-art-elt sage-ag sage-idle-ecorocks-breathe-ja 4) +(def-art-elt sage-ag sage-idle-ecorocks-peer-ja 5) +(def-art-elt sage-ag sage-idle-levitate-ja 6) +(def-art-elt sage-ag sage-idle-levitate-backward-ja 7) + + diff --git a/goal_src/import/sage-bluehut-ag.gc b/goal_src/import/sage-bluehut-ag.gc new file mode 100644 index 0000000000..2294675134 --- /dev/null +++ b/goal_src/import/sage-bluehut-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sage-bluehut-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sage-bluehut-ag sage-bluehut-lod0-jg 0) +(def-art-elt sage-bluehut-ag sage-bluehut-lod0-mg 1) +(def-art-elt sage-bluehut-ag sage-bluehut-shadow-mg 2) +(def-art-elt sage-bluehut-ag sage-bluehut-idle-ja 3) +(def-art-elt sage-bluehut-ag sage-bluehut-idle-stand-ja 4) +(def-art-elt sage-bluehut-ag sage-bluehut-idle-prec-arm-ja 5) + + diff --git a/goal_src/import/sage-village3-ag.gc b/goal_src/import/sage-village3-ag.gc new file mode 100644 index 0000000000..f49a52f512 --- /dev/null +++ b/goal_src/import/sage-village3-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sage-village3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sage-village3-ag sage-village3-lod0-jg 0) +(def-art-elt sage-village3-ag sage-village3-lod0-mg 1) +(def-art-elt sage-village3-ag sage-village3-shadow-mg 2) +(def-art-elt sage-village3-ag sage-village3-idle-ja 3) + + diff --git a/goal_src/import/sagesail-ag.gc b/goal_src/import/sagesail-ag.gc new file mode 100644 index 0000000000..10e167b1d8 --- /dev/null +++ b/goal_src/import/sagesail-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sagesail-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sagesail-ag sagesail-lod0-jg 0) +(def-art-elt sagesail-ag sagesail-lod0-mg 1) +(def-art-elt sagesail-ag sagesail-lod1-mg 2) +(def-art-elt sagesail-ag sagesail-lod2-mg 3) +(def-art-elt sagesail-ag sagesail-idle-ja 4) + + diff --git a/goal_src/import/scarecrow-a-ag.gc b/goal_src/import/scarecrow-a-ag.gc new file mode 100644 index 0000000000..d617724a80 --- /dev/null +++ b/goal_src/import/scarecrow-a-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; scarecrow-a-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt scarecrow-a-ag scarecrow-a-lod0-jg 0) +(def-art-elt scarecrow-a-ag scarecrow-a-lod0-mg 1) +(def-art-elt scarecrow-a-ag scarecrow-a-lod1-mg 2) +(def-art-elt scarecrow-a-ag scarecrow-a-lod2-mg 3) +(def-art-elt scarecrow-a-ag scarecrow-a-break-lod0-mg 4) +(def-art-elt scarecrow-a-ag scarecrow-a-idle-ja 5) +(def-art-elt scarecrow-a-ag scarecrow-a-hit-left-ja 6) +(def-art-elt scarecrow-a-ag scarecrow-a-hit-right-ja 7) +(def-art-elt scarecrow-a-ag scarecrow-a-hit-front-ja 8) + + diff --git a/goal_src/import/scarecrow-b-ag.gc b/goal_src/import/scarecrow-b-ag.gc new file mode 100644 index 0000000000..f3b675750c --- /dev/null +++ b/goal_src/import/scarecrow-b-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; scarecrow-b-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt scarecrow-b-ag scarecrow-b-lod0-jg 0) +(def-art-elt scarecrow-b-ag scarecrow-b-lod0-mg 1) +(def-art-elt scarecrow-b-ag scarecrow-b-lod1-mg 2) +(def-art-elt scarecrow-b-ag scarecrow-b-lod2-mg 3) +(def-art-elt scarecrow-b-ag scarecrow-b-break-lod0-mg 4) +(def-art-elt scarecrow-b-ag scarecrow-b-idle-ja 5) +(def-art-elt scarecrow-b-ag scarecrow-b-hit-left-ja 6) +(def-art-elt scarecrow-b-ag scarecrow-b-hit-right-ja 7) +(def-art-elt scarecrow-b-ag scarecrow-b-hit-front-ja 8) + + diff --git a/goal_src/import/sculptor-ag.gc b/goal_src/import/sculptor-ag.gc new file mode 100644 index 0000000000..0bd3abf282 --- /dev/null +++ b/goal_src/import/sculptor-ag.gc @@ -0,0 +1,24 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sculptor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sculptor-ag sculptor-lod0-jg 0) +(def-art-elt sculptor-ag sculptor-lod0-mg 1) +(def-art-elt sculptor-ag sculptor-shadow-mg 2) +(def-art-elt sculptor-ag sculptor-idle-ja 3) +(def-art-elt sculptor-ag sculptor-sigh-ja 4) +(def-art-elt sculptor-ag sculptor-strikestart-ja 5) +(def-art-elt sculptor-ag sculptor-strikemiddle-ja 6) +(def-art-elt sculptor-ag sculptor-strikeend-ja 7) +(def-art-elt sculptor-ag sculptor-to-small-ja 8) +(def-art-elt sculptor-ag sculptor-small-ja 9) +(def-art-elt sculptor-ag sculptor-small-to-looking-ja 10) +(def-art-elt sculptor-ag sculptor-looking-ja 11) +(def-art-elt sculptor-ag sculptor-from-looking-ja 12) +(def-art-elt sculptor-ag sculptor-to-huge-ja 13) +(def-art-elt sculptor-ag sculptor-huge-ja 14) +(def-art-elt sculptor-ag sculptor-huge-to-looking-ja 15) + + diff --git a/goal_src/import/sculptor-muse-ag.gc b/goal_src/import/sculptor-muse-ag.gc new file mode 100644 index 0000000000..7b89873c0a --- /dev/null +++ b/goal_src/import/sculptor-muse-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sculptor-muse-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sculptor-muse-ag sculptor-muse-lod0-jg 0) +(def-art-elt sculptor-muse-ag sculptor-muse-lod0-mg 1) +(def-art-elt sculptor-muse-ag sculptor-muse-idle-ja 2) + + diff --git a/goal_src/import/seagull-ag.gc b/goal_src/import/seagull-ag.gc new file mode 100644 index 0000000000..d0b3d1f52a --- /dev/null +++ b/goal_src/import/seagull-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; seagull-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt seagull-ag seagull-lod0-jg 0) +(def-art-elt seagull-ag seagull-lod0-mg 1) +(def-art-elt seagull-ag seagull-idle-ja 2) +(def-art-elt seagull-ag seagull-peck-ja 3) +(def-art-elt seagull-ag seagull-fly-ja 4) +(def-art-elt seagull-ag seagull-slowfly-ja 5) +(def-art-elt seagull-ag seagull-land-ja 6) +(def-art-elt seagull-ag seagull-stop-ja 7) +(def-art-elt seagull-ag seagull-walk-ja 8) +(def-art-elt seagull-ag seagull-takeoff-ja 9) + + diff --git a/goal_src/import/seaweed-ag.gc b/goal_src/import/seaweed-ag.gc new file mode 100644 index 0000000000..262383526b --- /dev/null +++ b/goal_src/import/seaweed-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; seaweed-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt seaweed-ag seaweed-lod0-jg 0) +(def-art-elt seaweed-ag seaweed-lod0-mg 1) +(def-art-elt seaweed-ag seaweed-idle-ja 2) + + diff --git a/goal_src/import/sharkey-ag.gc b/goal_src/import/sharkey-ag.gc new file mode 100644 index 0000000000..2c4ace3fcf --- /dev/null +++ b/goal_src/import/sharkey-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sharkey-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sharkey-ag sharkey-lod0-jg 0) +(def-art-elt sharkey-ag sharkey-lod0-mg 1) +(def-art-elt sharkey-ag sharkey-idle-ja 2) +(def-art-elt sharkey-ag sharkey-chomp-ja 3) + + diff --git a/goal_src/import/shortcut-boulder-ag.gc b/goal_src/import/shortcut-boulder-ag.gc new file mode 100644 index 0000000000..859e446030 --- /dev/null +++ b/goal_src/import/shortcut-boulder-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; shortcut-boulder-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt shortcut-boulder-ag shortcut-boulder-whole-lod0-jg 0) +(def-art-elt shortcut-boulder-ag shortcut-boulder-whole-lod0-mg 1) +(def-art-elt shortcut-boulder-ag shortcut-boulder-broken-lod0-jg 2) +(def-art-elt shortcut-boulder-ag shortcut-boulder-broken-lod0-mg 3) +(def-art-elt shortcut-boulder-ag shortcut-boulder-idle-ja 4) + + diff --git a/goal_src/import/shover-ag.gc b/goal_src/import/shover-ag.gc new file mode 100644 index 0000000000..d137851de2 --- /dev/null +++ b/goal_src/import/shover-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; shover-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt shover-ag shover-lod0-jg 0) +(def-art-elt shover-ag shover-lod0-mg 1) +(def-art-elt shover-ag shover-idle-ja 2) + + diff --git a/goal_src/import/side-to-side-plat-ag.gc b/goal_src/import/side-to-side-plat-ag.gc new file mode 100644 index 0000000000..7c1fadb951 --- /dev/null +++ b/goal_src/import/side-to-side-plat-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; side-to-side-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt side-to-side-plat-ag side-to-side-plat-lod0-jg 0) +(def-art-elt side-to-side-plat-ag side-to-side-plat-lod0-mg 1) +(def-art-elt side-to-side-plat-ag side-to-side-plat-lod1-mg 2) +(def-art-elt side-to-side-plat-ag side-to-side-plat-idle-ja 3) + + diff --git a/goal_src/import/sidedoor-ag.gc b/goal_src/import/sidedoor-ag.gc new file mode 100644 index 0000000000..979c3fdea8 --- /dev/null +++ b/goal_src/import/sidedoor-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sidedoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sidedoor-ag sidedoor-geo-jg 0) +(def-art-elt sidedoor-ag sidedoor-geo-mg 1) +(def-art-elt sidedoor-ag sidedoor-lod1-mg 2) +(def-art-elt sidedoor-ag sidedoor-idle-ja 3) + + diff --git a/goal_src/import/sidekick-ag.gc b/goal_src/import/sidekick-ag.gc new file mode 100644 index 0000000000..3b80391566 --- /dev/null +++ b/goal_src/import/sidekick-ag.gc @@ -0,0 +1,91 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sidekick-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sidekick-ag sidekick-lod0-jg 0) +(def-art-elt sidekick-ag sidekick-lod0-mg 1) +(def-art-elt sidekick-ag sidekick-shadow-mg 2) +(def-art-elt sidekick-ag sidekick-run-to-stance-ja 3) +(def-art-elt sidekick-ag sidekick-yellow-running-blast-ja 68) +(def-art-elt sidekick-ag sidekick-run-to-stance-loop-ja 4) +(def-art-elt sidekick-ag sidekick-stance-loop-ja 5) +(def-art-elt sidekick-ag sidekick-run-ja 6) +(def-art-elt sidekick-ag sidekick-run-up-ja 7) +(def-art-elt sidekick-ag sidekick-run-down-ja 8) +(def-art-elt sidekick-ag sidekick-walk-ja 9) +(def-art-elt sidekick-ag sidekick-walk-up-ja 10) +(def-art-elt sidekick-ag sidekick-walk-down-ja 11) +(def-art-elt sidekick-ag sidekick-run-squash-ja 12) +(def-art-elt sidekick-ag sidekick-run-squash-weak-ja 13) +(def-art-elt sidekick-ag sidekick-stance-to-duck-ja 14) +(def-art-elt sidekick-ag sidekick-duck-stance-ja 15) +(def-art-elt sidekick-ag sidekick-duck-walk-ja 16) +(def-art-elt sidekick-ag sidekick-turn-around-ja 17) +(def-art-elt sidekick-ag sidekick-jump-ja 18) +(def-art-elt sidekick-ag sidekick-jump-land-ja 19) +(def-art-elt sidekick-ag sidekick-painful-land-ja 20) +(def-art-elt sidekick-ag sidekick-painful-land-end-ja 21) +(def-art-elt sidekick-ag sidekick-jump-loop-ja 22) +(def-art-elt sidekick-ag sidekick-jump-short-land-ja 23) +(def-art-elt sidekick-ag sidekick-jump-forward-ja 24) +(def-art-elt sidekick-ag sidekick-duck-high-jump-ja 25) +(def-art-elt sidekick-ag sidekick-launch-jump-ja 26) +(def-art-elt sidekick-ag sidekick-launch-jump-loop-ja 27) +(def-art-elt sidekick-ag sidekick-edge-grab-stance0-ja 28) +(def-art-elt sidekick-ag sidekick-edge-grab-stance1-ja 29) +(def-art-elt sidekick-ag sidekick-edge-grab-stance1-alt-ja 30) +(def-art-elt sidekick-ag sidekick-falling-to-edge-grab-ja 31) +(def-art-elt sidekick-ag sidekick-edge-grab-swing-left-ja 32) +(def-art-elt sidekick-ag sidekick-edge-grab-swing-right-ja 33) +(def-art-elt sidekick-ag sidekick-edge-grab-to-jump-ja 34) +(def-art-elt sidekick-ag sidekick-edge-grab-off-ja 35) +(def-art-elt sidekick-ag sidekick-attack-from-stance-ja 36) +(def-art-elt sidekick-ag sidekick-attack-from-stance-end-ja 37) +(def-art-elt sidekick-ag sidekick-attack-from-stance-alt-end-ja 38) +(def-art-elt sidekick-ag sidekick-attack-from-stance-run-end-ja 39) +(def-art-elt sidekick-ag sidekick-attack-from-stance-run-alt-end-ja 40) +(def-art-elt sidekick-ag sidekick-attack-from-jump-ja 41) +(def-art-elt sidekick-ag sidekick-attack-from-jump-loop-ja 42) +(def-art-elt sidekick-ag sidekick-free-run-ja 171) +(def-art-elt sidekick-ag sidekick-attack-from-jump-end-ja 43) +(def-art-elt sidekick-ag sidekick-free-jog-ja 172) +(def-art-elt sidekick-ag sidekick-attack-punch-ja 44) +(def-art-elt sidekick-ag sidekick-free-walk-ja 173) +(def-art-elt sidekick-ag sidekick-attack-punch-end-ja 45) +(def-art-elt sidekick-ag sidekick-attack-punch-alt-end-ja 46) +(def-art-elt sidekick-ag sidekick-attack-uppercut-ja 47) +(def-art-elt sidekick-ag sidekick-flop-down-ja 48) +(def-art-elt sidekick-ag sidekick-flop-down-loop-ja 49) +(def-art-elt sidekick-ag sidekick-flop-down-land-ja 50) +(def-art-elt sidekick-ag sidekick-moving-flop-down-ja 51) +(def-art-elt sidekick-ag sidekick-moving-flop-down-loop-ja 52) +(def-art-elt sidekick-ag sidekick-moving-flop-down-land-ja 53) +(def-art-elt sidekick-ag sidekick-duck-roll-ja 54) +(def-art-elt sidekick-ag sidekick-duck-roll-end-ja 55) +(def-art-elt sidekick-ag sidekick-wheel-flip-ja 56) +(def-art-elt sidekick-ag sidekick-wheel-flip-land-ja 57) +(def-art-elt sidekick-ag sidekick-hit-from-front-ja 58) +(def-art-elt sidekick-ag sidekick-hit-from-back-ja 59) +(def-art-elt sidekick-ag sidekick-hit-up-ja 60) +(def-art-elt sidekick-ag sidekick-deatha-ja 61) +(def-art-elt sidekick-ag sidekick-death-painful-land-ja 62) +(def-art-elt sidekick-ag sidekick-yellow-running-blast-end-ja 69) +(def-art-elt sidekick-ag sidekick-yellow-jumping-blast-ja 70) +(def-art-elt sidekick-ag sidekick-powerup-ja 71) +(def-art-elt sidekick-ag sidekick-shocked-ja 72) +(def-art-elt sidekick-ag sidekick-wade-shallow-walk-ja 73) +(def-art-elt sidekick-ag sidekick-wade-deep-walk-ja 74) +(def-art-elt sidekick-ag sidekick-swim-stance-ja 75) +(def-art-elt sidekick-ag sidekick-swim-walk-ja 76) +(def-art-elt sidekick-ag sidekick-swim-walk-to-down-ja 77) +(def-art-elt sidekick-ag sidekick-swim-down-ja 78) +(def-art-elt sidekick-ag sidekick-swim-down-to-up-ja 79) +(def-art-elt sidekick-ag sidekick-swim-up-ja 80) +(def-art-elt sidekick-ag sidekick-swim-up-to-stance-ja 81) +(def-art-elt sidekick-ag sidekick-swim-jump-ja 82) +(def-art-elt sidekick-ag sidekick-trip-ja 95) +(def-art-elt sidekick-ag sidekick-fuel-cell-victory-9-ja 122) + + diff --git a/goal_src/import/sidekick-human-ag.gc b/goal_src/import/sidekick-human-ag.gc new file mode 100644 index 0000000000..7654a86aaf --- /dev/null +++ b/goal_src/import/sidekick-human-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sidekick-human-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sidekick-human-ag sidekick-human-lod0-jg 0) +(def-art-elt sidekick-human-ag sidekick-human-lod0-mg 1) +(def-art-elt sidekick-human-ag sidekick-human-shadow-mg 2) +(def-art-elt sidekick-human-ag sidekick-human-idle-ja 3) + + diff --git a/goal_src/import/silodoor-ag.gc b/goal_src/import/silodoor-ag.gc new file mode 100644 index 0000000000..0a24d4879c --- /dev/null +++ b/goal_src/import/silodoor-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; silodoor-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt silodoor-ag silodoor-lod0-jg 0) +(def-art-elt silodoor-ag silodoor-lod0-mg 1) +(def-art-elt silodoor-ag silodoor-idle-ja 2) + + diff --git a/goal_src/import/silostep-ag.gc b/goal_src/import/silostep-ag.gc new file mode 100644 index 0000000000..7fd10c89a6 --- /dev/null +++ b/goal_src/import/silostep-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; silostep-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt silostep-ag silostep-lod0-jg 0) +(def-art-elt silostep-ag silostep-lod0-mg 1) +(def-art-elt silostep-ag silostep-idle-ja 2) + + diff --git a/goal_src/import/snow-ball-ag.gc b/goal_src/import/snow-ball-ag.gc new file mode 100644 index 0000000000..3b31948392 --- /dev/null +++ b/goal_src/import/snow-ball-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-ball-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-ball-ag snow-ball-lod0-jg 0) +(def-art-elt snow-ball-ag snow-ball-lod0-mg 1) +(def-art-elt snow-ball-ag snow-ball-idle-ja 2) +(def-art-elt snow-ball-ag snow-ball-shadow-lod0-jg 3) +(def-art-elt snow-ball-ag snow-ball-shadow-lod0-mg 4) +(def-art-elt snow-ball-ag snow-ball-shadow-shadow-mg 5) +(def-art-elt snow-ball-ag snow-ball-shadow-idle-ja 6) + + diff --git a/goal_src/import/snow-bridge-36-ag.gc b/goal_src/import/snow-bridge-36-ag.gc new file mode 100644 index 0000000000..0518e1d4ba --- /dev/null +++ b/goal_src/import/snow-bridge-36-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-bridge-36-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-bridge-36-ag snow-bridge-36-lod0-jg 0) +(def-art-elt snow-bridge-36-ag snow-bridge-36-lod0-mg 1) +(def-art-elt snow-bridge-36-ag snow-bridge-36-lod1-mg 2) +(def-art-elt snow-bridge-36-ag snow-bridge-36-idle-ja 3) + + diff --git a/goal_src/import/snow-bumper-ag.gc b/goal_src/import/snow-bumper-ag.gc new file mode 100644 index 0000000000..de19726581 --- /dev/null +++ b/goal_src/import/snow-bumper-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-bumper-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-bumper-ag snow-bumper-lod0-jg 0) +(def-art-elt snow-bumper-ag snow-bumper-lod0-mg 1) +(def-art-elt snow-bumper-ag snow-bumper-lod1-mg 2) +(def-art-elt snow-bumper-ag snow-bumper-idle-ja 3) +(def-art-elt snow-bumper-ag snow-bumper-button-ja 4) +(def-art-elt snow-bumper-ag snow-bumper-collapse-ja 5) + + diff --git a/goal_src/import/snow-bunny-ag.gc b/goal_src/import/snow-bunny-ag.gc new file mode 100644 index 0000000000..b4e422a8c5 --- /dev/null +++ b/goal_src/import/snow-bunny-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-bunny-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-bunny-ag snow-bunny-lod0-jg 0) +(def-art-elt snow-bunny-ag snow-bunny-lod0-mg 1) +(def-art-elt snow-bunny-ag snow-bunny-lod1-mg 2) +(def-art-elt snow-bunny-ag snow-bunny-lod2-mg 3) +(def-art-elt snow-bunny-ag snow-bunny-shadow-mg 4) +(def-art-elt snow-bunny-ag snow-bunny-idle-ja 5) +(def-art-elt snow-bunny-ag snow-bunny-attack-ja 6) +(def-art-elt snow-bunny-ag snow-bunny-big-hop-ja 7) +(def-art-elt snow-bunny-ag snow-bunny-small-hop-ja 8) +(def-art-elt snow-bunny-ag snow-bunny-sees-player-ja 9) +(def-art-elt snow-bunny-ag snow-bunny-sees-player-land-ja 10) +(def-art-elt snow-bunny-ag snow-bunny-die-ja 11) + + diff --git a/goal_src/import/snow-button-ag.gc b/goal_src/import/snow-button-ag.gc new file mode 100644 index 0000000000..b76cc612c1 --- /dev/null +++ b/goal_src/import/snow-button-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-button-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-button-ag snow-button-lod0-jg 0) +(def-art-elt snow-button-ag snow-button-lod0-mg 1) +(def-art-elt snow-button-ag snow-button-going-down-ja 2) +(def-art-elt snow-button-ag snow-button-going-up-ja 3) + + diff --git a/goal_src/import/snow-eggtop-ag.gc b/goal_src/import/snow-eggtop-ag.gc new file mode 100644 index 0000000000..60428d6ea8 --- /dev/null +++ b/goal_src/import/snow-eggtop-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-eggtop-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-eggtop-ag snow-eggtop-lod0-jg 0) +(def-art-elt snow-eggtop-ag snow-eggtop-lod0-mg 1) +(def-art-elt snow-eggtop-ag snow-eggtop-idle-ja 2) + + diff --git a/goal_src/import/snow-fort-gate-ag.gc b/goal_src/import/snow-fort-gate-ag.gc new file mode 100644 index 0000000000..07e23bed07 --- /dev/null +++ b/goal_src/import/snow-fort-gate-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-fort-gate-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-fort-gate-ag snow-fort-gate-lod0-jg 0) +(def-art-elt snow-fort-gate-ag snow-fort-gate-lod0-mg 1) +(def-art-elt snow-fort-gate-ag snow-fort-gate-idle-ja 2) + + diff --git a/goal_src/import/snow-gears-ag.gc b/goal_src/import/snow-gears-ag.gc new file mode 100644 index 0000000000..da04b34fa1 --- /dev/null +++ b/goal_src/import/snow-gears-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-gears-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-gears-ag snow-gears-lod0-jg 0) +(def-art-elt snow-gears-ag snow-gears-lod0-mg 1) +(def-art-elt snow-gears-ag snow-gears-idle-ja 2) +(def-art-elt snow-gears-ag snow-gears-start-ja 3) +(def-art-elt snow-gears-ag snow-gears-loop-ja 4) +(def-art-elt snow-gears-ag snow-gears-stop-ja 5) + + diff --git a/goal_src/import/snow-log-ag.gc b/goal_src/import/snow-log-ag.gc new file mode 100644 index 0000000000..8beeac508c --- /dev/null +++ b/goal_src/import/snow-log-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-log-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-log-ag snow-log-lod0-jg 0) +(def-art-elt snow-log-ag snow-log-lod0-mg 1) +(def-art-elt snow-log-ag snow-log-activate-ja 2) +(def-art-elt snow-log-ag snow-log-active-loop-ja 3) + + diff --git a/goal_src/import/snow-spatula-ag.gc b/goal_src/import/snow-spatula-ag.gc new file mode 100644 index 0000000000..358e5f3fd1 --- /dev/null +++ b/goal_src/import/snow-spatula-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-spatula-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-spatula-ag snow-spatula-lod0-jg 0) +(def-art-elt snow-spatula-ag snow-spatula-lod0-mg 1) +(def-art-elt snow-spatula-ag snow-spatula-idle-ja 2) + + diff --git a/goal_src/import/snow-switch-ag.gc b/goal_src/import/snow-switch-ag.gc new file mode 100644 index 0000000000..7a9673c28e --- /dev/null +++ b/goal_src/import/snow-switch-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snow-switch-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snow-switch-ag snow-switch-lod0-jg 0) +(def-art-elt snow-switch-ag snow-switch-lod0-mg 1) +(def-art-elt snow-switch-ag snow-switch-idle-ja 2) + + diff --git a/goal_src/import/snowcam-ag.gc b/goal_src/import/snowcam-ag.gc new file mode 100644 index 0000000000..8304c3cd68 --- /dev/null +++ b/goal_src/import/snowcam-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snowcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snowcam-ag snowcam-lod0-jg 0) +(def-art-elt snowcam-ag snowcam-lod0-mg 1) +(def-art-elt snowcam-ag snowcam-gearstart-ja 2) +(def-art-elt snowcam-ag snowcam-gate-ja 3) +(def-art-elt snowcam-ag snowcam-gearend-ja 4) +(def-art-elt snowcam-ag snowcam-eggtop-activating-ja 5) +(def-art-elt snowcam-ag snowcam-ecovent-activating-ja 6) + + diff --git a/goal_src/import/snowpusher-ag.gc b/goal_src/import/snowpusher-ag.gc new file mode 100644 index 0000000000..af0d6860e6 --- /dev/null +++ b/goal_src/import/snowpusher-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; snowpusher-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt snowpusher-ag snowpusher-lod0-jg 0) +(def-art-elt snowpusher-ag snowpusher-lod0-mg 1) +(def-art-elt snowpusher-ag snowpusher-idle-ja 2) + + diff --git a/goal_src/import/speaker-ag.gc b/goal_src/import/speaker-ag.gc new file mode 100644 index 0000000000..d22349ec71 --- /dev/null +++ b/goal_src/import/speaker-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; speaker-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt speaker-ag speaker-lod0-jg 0) +(def-art-elt speaker-ag speaker-lod0-mg 1) +(def-art-elt speaker-ag speaker-idle-ja 2) + + diff --git a/goal_src/import/spider-egg-ag.gc b/goal_src/import/spider-egg-ag.gc new file mode 100644 index 0000000000..0b97af933b --- /dev/null +++ b/goal_src/import/spider-egg-ag.gc @@ -0,0 +1,22 @@ +;;-*-Lisp-*- +(in-package goal) + +;; spider-egg-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt spider-egg-ag spider-egg-unbroken-lod0-jg 0) +(def-art-elt spider-egg-ag spider-egg-unbroken-lod0-mg 1) +(def-art-elt spider-egg-ag spider-egg-unbroken-lod1-mg 2) +(def-art-elt spider-egg-ag spider-egg-unbroken-lod2-mg 3) +(def-art-elt spider-egg-ag spider-egg-unbroken-shadow-mg 4) +(def-art-elt spider-egg-ag spider-egg-broken-lod0-jg 5) +(def-art-elt spider-egg-ag spider-egg-broken-lod0-mg 6) +(def-art-elt spider-egg-ag spider-egg-broken-lod1-mg 7) +(def-art-elt spider-egg-ag spider-egg-broken-lod2-mg 8) +(def-art-elt spider-egg-ag spider-egg-idle-ja 9) +(def-art-elt spider-egg-ag spider-egg-crack-ja 10) +(def-art-elt spider-egg-ag spider-egg-bounce-ja 11) +(def-art-elt spider-egg-ag spider-egg-die-ja 12) +(def-art-elt spider-egg-ag spider-egg-twitch-ja 13) + + diff --git a/goal_src/import/spiderwebs-ag.gc b/goal_src/import/spiderwebs-ag.gc new file mode 100644 index 0000000000..a6e95e15ea --- /dev/null +++ b/goal_src/import/spiderwebs-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; spiderwebs-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt spiderwebs-ag spiderwebs-good-lod0-jg 0) +(def-art-elt spiderwebs-ag spiderwebs-good-lod0-mg 1) +(def-art-elt spiderwebs-ag spiderwebs-bounce-ja 2) + + diff --git a/goal_src/import/spike-ag.gc b/goal_src/import/spike-ag.gc new file mode 100644 index 0000000000..c11e9f1294 --- /dev/null +++ b/goal_src/import/spike-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; spike-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt spike-ag spike-lod0-jg 0) +(def-art-elt spike-ag spike-lod0-mg 1) +(def-art-elt spike-ag spike-lod1-mg 2) +(def-art-elt spike-ag spike-idle-ja 3) + + diff --git a/goal_src/import/square-platform-ag.gc b/goal_src/import/square-platform-ag.gc new file mode 100644 index 0000000000..aa1a1da6f3 --- /dev/null +++ b/goal_src/import/square-platform-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; square-platform-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt square-platform-ag square-platform-lod0-jg 0) +(def-art-elt square-platform-ag square-platform-lod0-mg 1) +(def-art-elt square-platform-ag square-platform-lod1-mg 2) +(def-art-elt square-platform-ag square-platform-idle-ja 3) + + diff --git a/goal_src/import/steam-cap-ag.gc b/goal_src/import/steam-cap-ag.gc new file mode 100644 index 0000000000..926777ad51 --- /dev/null +++ b/goal_src/import/steam-cap-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; steam-cap-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt steam-cap-ag steam-cap-lod0-jg 0) +(def-art-elt steam-cap-ag steam-cap-lod0-mg 1) +(def-art-elt steam-cap-ag steam-cap-idle-ja 2) + + diff --git a/goal_src/import/sun-iris-door-ag.gc b/goal_src/import/sun-iris-door-ag.gc new file mode 100644 index 0000000000..c8cb6e563c --- /dev/null +++ b/goal_src/import/sun-iris-door-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sun-iris-door-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sun-iris-door-ag sun-iris-door-lod0-jg 0) +(def-art-elt sun-iris-door-ag sun-iris-door-lod0-mg 1) +(def-art-elt sun-iris-door-ag sun-iris-door-lod1-mg 2) +(def-art-elt sun-iris-door-ag sun-iris-door-idle-ja 3) + + diff --git a/goal_src/import/sunken-elevator-ag.gc b/goal_src/import/sunken-elevator-ag.gc new file mode 100644 index 0000000000..a53a9ff197 --- /dev/null +++ b/goal_src/import/sunken-elevator-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sunken-elevator-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sunken-elevator-ag sunken-elevator-lod0-jg 0) +(def-art-elt sunken-elevator-ag sunken-elevator-lod0-mg 1) +(def-art-elt sunken-elevator-ag sunken-elevator-pressed-ja 2) + + diff --git a/goal_src/import/sunkencam-ag.gc b/goal_src/import/sunkencam-ag.gc new file mode 100644 index 0000000000..256d2cb708 --- /dev/null +++ b/goal_src/import/sunkencam-ag.gc @@ -0,0 +1,30 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sunkencam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sunkencam-ag sunkencam-lod0-jg 0) +(def-art-elt sunkencam-ag sunkencam-lod0-mg 1) +(def-art-elt sunkencam-ag sunkencam-qbert-show-door-open-ja 2) +(def-art-elt sunkencam-ag sunkencam-qbert-show-door-close-ja 3) +(def-art-elt sunkencam-ag sunkencam-exit-chamber-door-open-ja 4) +(def-art-elt sunkencam-ag sunkencam-start-door-shut-ja 5) +(def-art-elt sunkencam-ag sunkencam-start-in-room-ja 6) +(def-art-elt sunkencam-ag sunkencam-middle-in-water-ja 7) +(def-art-elt sunkencam-ag sunkencam-end-out-of-water-ja 8) +(def-art-elt sunkencam-ag sunkencam-dive-start-ja 9) +(def-art-elt sunkencam-ag sunkencam-dive-middle-ja 10) +(def-art-elt sunkencam-ag sunkencam-dive-end-ja 11) +(def-art-elt sunkencam-ag sunkencam-square-platform-setup1-rise1-ja 12) +(def-art-elt sunkencam-ag sunkencam-square-platform-setup1-rise2-ja 13) +(def-art-elt sunkencam-ag sunkencam-square-platform-setup2-rise1-ja 14) +(def-art-elt sunkencam-ag sunkencam-square-platform-setup2-rise2-ja 15) +(def-art-elt sunkencam-ag sunkencam-helix-hit-switch-ja 16) +(def-art-elt sunkencam-ag sunkencam-helix-door-shuts-ja 17) +(def-art-elt sunkencam-ag sunkencam-helix-show-rising-water-ja 18) +(def-art-elt sunkencam-ag sunkencam-pipegame-left-ja 19) +(def-art-elt sunkencam-ag sunkencam-pipegame-middle-ja 20) +(def-art-elt sunkencam-ag sunkencam-pipegame-right-ja 21) + + diff --git a/goal_src/import/sunkenfisha-ag.gc b/goal_src/import/sunkenfisha-ag.gc new file mode 100644 index 0000000000..7e94adc289 --- /dev/null +++ b/goal_src/import/sunkenfisha-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; sunkenfisha-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt sunkenfisha-ag sunkenfisha-red-yellow-lod0-jg 0) +(def-art-elt sunkenfisha-ag sunkenfisha-red-yellow-lod0-mg 1) +(def-art-elt sunkenfisha-ag sunkenfisha-yellow-blue-lod0-jg 2) +(def-art-elt sunkenfisha-ag sunkenfisha-yellow-blue-lod0-mg 3) +(def-art-elt sunkenfisha-ag sunkenfisha-yellow-eye-lod0-jg 4) +(def-art-elt sunkenfisha-ag sunkenfisha-yellow-eye-lod0-mg 5) +(def-art-elt sunkenfisha-ag sunkenfisha-idle-ja 6) + + diff --git a/goal_src/import/swamp-bat-ag.gc b/goal_src/import/swamp-bat-ag.gc new file mode 100644 index 0000000000..1e822a6df0 --- /dev/null +++ b/goal_src/import/swamp-bat-ag.gc @@ -0,0 +1,18 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-bat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-bat-ag swamp-bat-lod0-jg 0) +(def-art-elt swamp-bat-ag swamp-bat-lod0-mg 1) +(def-art-elt swamp-bat-ag swamp-bat-lod1-mg 2) +(def-art-elt swamp-bat-ag swamp-bat-lod2-mg 3) +(def-art-elt swamp-bat-ag swamp-bat-idle-ja 4) +(def-art-elt swamp-bat-ag swamp-bat-notice-ja 5) +(def-art-elt swamp-bat-ag swamp-bat-swoop-ja 6) +(def-art-elt swamp-bat-ag swamp-bat-strafe-ja 7) +(def-art-elt swamp-bat-ag swamp-bat-die-ja 8) +(def-art-elt swamp-bat-ag swamp-bat-strafe-to-idle-ja 9) + + diff --git a/goal_src/import/swamp-blimp-ag.gc b/goal_src/import/swamp-blimp-ag.gc new file mode 100644 index 0000000000..46eee11a90 --- /dev/null +++ b/goal_src/import/swamp-blimp-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-blimp-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-blimp-ag swamp-blimp-lod0-jg 0) +(def-art-elt swamp-blimp-ag swamp-blimp-lod0-mg 1) +(def-art-elt swamp-blimp-ag swamp-blimp-lod1-mg 2) +(def-art-elt swamp-blimp-ag swamp-blimp-idle-ja 3) + + diff --git a/goal_src/import/swamp-rat-ag.gc b/goal_src/import/swamp-rat-ag.gc new file mode 100644 index 0000000000..fec5d0fd8e --- /dev/null +++ b/goal_src/import/swamp-rat-ag.gc @@ -0,0 +1,21 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-rat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-rat-ag swamp-rat-lod0-jg 0) +(def-art-elt swamp-rat-ag swamp-rat-lod0-mg 1) +(def-art-elt swamp-rat-ag swamp-rat-lod1-mg 2) +(def-art-elt swamp-rat-ag swamp-rat-lod2-mg 3) +(def-art-elt swamp-rat-ag swamp-rat-idle-ja 4) +(def-art-elt swamp-rat-ag swamp-rat-fall-ja 5) +(def-art-elt swamp-rat-ag swamp-rat-bounce-ja 6) +(def-art-elt swamp-rat-ag swamp-rat-walk-ja 7) +(def-art-elt swamp-rat-ag swamp-rat-notice-ja 8) +(def-art-elt swamp-rat-ag swamp-rat-run-ja 9) +(def-art-elt swamp-rat-ag swamp-rat-celebrate-ja 10) +(def-art-elt swamp-rat-ag swamp-rat-die-ja 11) +(def-art-elt swamp-rat-ag swamp-rat-eat-ja 12) + + diff --git a/goal_src/import/swamp-rat-nest-ag.gc b/goal_src/import/swamp-rat-nest-ag.gc new file mode 100644 index 0000000000..a42d2f84fa --- /dev/null +++ b/goal_src/import/swamp-rat-nest-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-rat-nest-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-a-lod0-jg 0) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-a-lod0-mg 1) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-a-lod1-mg 2) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-a-idle-ja 3) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-b-lod0-jg 4) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-b-lod0-mg 5) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-b-lod1-mg 6) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-b-idle-ja 7) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-c-lod0-jg 8) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-c-lod0-mg 9) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-c-lod1-mg 10) +(def-art-elt swamp-rat-nest-ag swamp-rat-nest-c-idle-ja 11) + + diff --git a/goal_src/import/swamp-rock-ag.gc b/goal_src/import/swamp-rock-ag.gc new file mode 100644 index 0000000000..87b92c1d14 --- /dev/null +++ b/goal_src/import/swamp-rock-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-rock-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-rock-ag swamp-rock-lod0-jg 0) +(def-art-elt swamp-rock-ag swamp-rock-lod0-mg 1) +(def-art-elt swamp-rock-ag swamp-rock-idle-ja 2) + + diff --git a/goal_src/import/swamp-rope-ag.gc b/goal_src/import/swamp-rope-ag.gc new file mode 100644 index 0000000000..0781443122 --- /dev/null +++ b/goal_src/import/swamp-rope-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-rope-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-rope-ag swamp-rope-lod0-jg 0) +(def-art-elt swamp-rope-ag swamp-rope-lod0-mg 1) +(def-art-elt swamp-rope-ag swamp-rope-idle-ja 2) +(def-art-elt swamp-rope-ag swamp-rope-slack-ja 3) +(def-art-elt swamp-rope-ag swamp-rope-swing-ja 4) + + diff --git a/goal_src/import/swamp-spike-ag.gc b/goal_src/import/swamp-spike-ag.gc new file mode 100644 index 0000000000..753b1f2815 --- /dev/null +++ b/goal_src/import/swamp-spike-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-spike-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-spike-ag swamp-spike-lod0-jg 0) +(def-art-elt swamp-spike-ag swamp-spike-lod0-mg 1) +(def-art-elt swamp-spike-ag swamp-spike-lod1-mg 2) +(def-art-elt swamp-spike-ag swamp-spike-up-ja 3) +(def-art-elt swamp-spike-ag swamp-spike-down-ja 4) +(def-art-elt swamp-spike-ag swamp-spike-shake-ja 5) + + diff --git a/goal_src/import/swamp-tetherrock-ag.gc b/goal_src/import/swamp-tetherrock-ag.gc new file mode 100644 index 0000000000..bfb46306b6 --- /dev/null +++ b/goal_src/import/swamp-tetherrock-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-tetherrock-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-tetherrock-ag swamp-tetherrock-lod0-jg 0) +(def-art-elt swamp-tetherrock-ag swamp-tetherrock-lod0-mg 1) +(def-art-elt swamp-tetherrock-ag swamp-tetherrock-idle-ja 2) + + diff --git a/goal_src/import/swamp-tetherrock-explode-ag.gc b/goal_src/import/swamp-tetherrock-explode-ag.gc new file mode 100644 index 0000000000..449a6b5b58 --- /dev/null +++ b/goal_src/import/swamp-tetherrock-explode-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swamp-tetherrock-explode-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swamp-tetherrock-explode-ag swamp-tetherrock-explode-lod0-jg 0) +(def-art-elt swamp-tetherrock-explode-ag swamp-tetherrock-explode-lod0-mg 1) +(def-art-elt swamp-tetherrock-explode-ag swamp-tetherrock-explode-idle-ja 2) +(def-art-elt swamp-tetherrock-explode-ag swamp-tetherrock-explode-explode-ja 3) + + diff --git a/goal_src/import/swampcam-ag.gc b/goal_src/import/swampcam-ag.gc new file mode 100644 index 0000000000..bbe03a7478 --- /dev/null +++ b/goal_src/import/swampcam-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; swampcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt swampcam-ag swampcam-lod0-jg 0) +(def-art-elt swampcam-ag swampcam-lod0-mg 1) +(def-art-elt swampcam-ag swampcam-anim-ja 2) +(def-art-elt swampcam-ag swampcam-swamp-ambush-ja 3) + + diff --git a/goal_src/import/tar-plat-ag.gc b/goal_src/import/tar-plat-ag.gc new file mode 100644 index 0000000000..aca83877ac --- /dev/null +++ b/goal_src/import/tar-plat-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; tar-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt tar-plat-ag tar-plat-lod0-jg 0) +(def-art-elt tar-plat-ag tar-plat-lod0-mg 1) +(def-art-elt tar-plat-ag tar-plat-lod1-mg 2) +(def-art-elt tar-plat-ag tar-plat-idle-ja 3) + + diff --git a/goal_src/import/teetertotter-ag.gc b/goal_src/import/teetertotter-ag.gc new file mode 100644 index 0000000000..2483720f95 --- /dev/null +++ b/goal_src/import/teetertotter-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; teetertotter-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt teetertotter-ag teetertotter-lod0-jg 0) +(def-art-elt teetertotter-ag teetertotter-lod0-mg 1) +(def-art-elt teetertotter-ag teetertotter-lod1-mg 2) +(def-art-elt teetertotter-ag teetertotter-lod2-mg 3) +(def-art-elt teetertotter-ag teetertotter-idle-ja 4) +(def-art-elt teetertotter-ag teetertotter-landing-ja 5) + + diff --git a/goal_src/import/tntbarrel-ag.gc b/goal_src/import/tntbarrel-ag.gc new file mode 100644 index 0000000000..82923921a7 --- /dev/null +++ b/goal_src/import/tntbarrel-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; tntbarrel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt tntbarrel-ag tntbarrel-lod0-jg 0) +(def-art-elt tntbarrel-ag tntbarrel-lod0-mg 1) +(def-art-elt tntbarrel-ag tntbarrel-idle-ja 2) + + diff --git a/goal_src/import/towertop-ag.gc b/goal_src/import/towertop-ag.gc new file mode 100644 index 0000000000..5169fd2aa6 --- /dev/null +++ b/goal_src/import/towertop-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; towertop-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt towertop-ag towertop-lod0-jg 0) +(def-art-elt towertop-ag towertop-lod0-mg 1) +(def-art-elt towertop-ag towertop-lod1-mg 2) +(def-art-elt towertop-ag towertop-lod2-mg 3) +(def-art-elt towertop-ag towertop-idle-ja 4) + + diff --git a/goal_src/import/trainingcam-ag.gc b/goal_src/import/trainingcam-ag.gc new file mode 100644 index 0000000000..e860cbc05e --- /dev/null +++ b/goal_src/import/trainingcam-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; trainingcam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt trainingcam-ag trainingcam-lod0-jg 0) +(def-art-elt trainingcam-ag trainingcam-lod0-mg 1) +(def-art-elt trainingcam-ag trainingcam-orbcam-ja 2) +(def-art-elt trainingcam-ag trainingcam-fuelcellcam-ja 3) +(def-art-elt trainingcam-ag trainingcam-ecocam-ja 4) +(def-art-elt trainingcam-ag trainingcam-greenecocam-ja 5) +(def-art-elt trainingcam-ag trainingcam-precursordoorcam-ja 6) +(def-art-elt trainingcam-ag trainingcam-ecoventcam-ja 7) + + diff --git a/goal_src/import/vil3-bridge-36-ag.gc b/goal_src/import/vil3-bridge-36-ag.gc new file mode 100644 index 0000000000..b61656d9de --- /dev/null +++ b/goal_src/import/vil3-bridge-36-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; vil3-bridge-36-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt vil3-bridge-36-ag vil3-bridge-36-lod0-jg 0) +(def-art-elt vil3-bridge-36-ag vil3-bridge-36-lod0-mg 1) +(def-art-elt vil3-bridge-36-ag vil3-bridge-36-idle-ja 2) + + diff --git a/goal_src/import/villa-starfish-ag.gc b/goal_src/import/villa-starfish-ag.gc new file mode 100644 index 0000000000..3de9839055 --- /dev/null +++ b/goal_src/import/villa-starfish-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; villa-starfish-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt villa-starfish-ag villa-starfish-lod0-jg 0) +(def-art-elt villa-starfish-ag villa-starfish-lod0-mg 1) +(def-art-elt villa-starfish-ag villa-starfish-idle-ja 2) + + diff --git a/goal_src/import/village-cam-ag.gc b/goal_src/import/village-cam-ag.gc new file mode 100644 index 0000000000..8de20b61f2 --- /dev/null +++ b/goal_src/import/village-cam-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; village-cam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt village-cam-ag village-cam-lod0-jg 0) +(def-art-elt village-cam-ag village-cam-lod0-mg 1) +(def-art-elt village-cam-ag village-cam-firecanyon-cam-ja 2) +(def-art-elt village-cam-ag village-cam-firecanyon-alt-cam-ja 3) +(def-art-elt village-cam-ag village-cam-vi2-button-cam-ja 4) +(def-art-elt village-cam-ag village-cam-vi3-button-cam-ja 5) + + diff --git a/goal_src/import/village1cam-ag.gc b/goal_src/import/village1cam-ag.gc new file mode 100644 index 0000000000..c22cce4d34 --- /dev/null +++ b/goal_src/import/village1cam-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; village1cam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt village1cam-ag village1cam-lod0-jg 0) +(def-art-elt village1cam-ag village1cam-lod0-mg 1) +(def-art-elt village1cam-ag village1cam-anim-ja 2) + + diff --git a/goal_src/import/village2cam-ag.gc b/goal_src/import/village2cam-ag.gc new file mode 100644 index 0000000000..a5d1026fa6 --- /dev/null +++ b/goal_src/import/village2cam-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; village2cam-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt village2cam-ag village2cam-lod0-jg 0) +(def-art-elt village2cam-ag village2cam-lod0-mg 1) +(def-art-elt village2cam-ag village2cam-elevator-at-top-going-down-ja 2) +(def-art-elt village2cam-ag village2cam-elevator-at-bottom-going-up-ja 3) +(def-art-elt village2cam-ag village2cam-elevator-at-top-going-up-ja 4) + + diff --git a/goal_src/import/wall-plat-ag.gc b/goal_src/import/wall-plat-ag.gc new file mode 100644 index 0000000000..67dede7b8c --- /dev/null +++ b/goal_src/import/wall-plat-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; wall-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt wall-plat-ag wall-plat-lod0-jg 0) +(def-art-elt wall-plat-ag wall-plat-lod0-mg 1) +(def-art-elt wall-plat-ag wall-plat-idle-ja 2) + + diff --git a/goal_src/import/warp-gate-switch-ag.gc b/goal_src/import/warp-gate-switch-ag.gc new file mode 100644 index 0000000000..ac3b1d758b --- /dev/null +++ b/goal_src/import/warp-gate-switch-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; warp-gate-switch-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt warp-gate-switch-ag warp-gate-switch-lod0-jg 0) +(def-art-elt warp-gate-switch-ag warp-gate-switch-lod0-mg 1) +(def-art-elt warp-gate-switch-ag warp-gate-switch-down-ja 2) + + diff --git a/goal_src/import/warpgate-ag.gc b/goal_src/import/warpgate-ag.gc new file mode 100644 index 0000000000..ebbc16c9bc --- /dev/null +++ b/goal_src/import/warpgate-ag.gc @@ -0,0 +1,10 @@ +;;-*-Lisp-*- +(in-package goal) + +;; warpgate-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt warpgate-ag warpgate-lod0-jg 0) +(def-art-elt warpgate-ag warpgate-lod0-mg 1) + + diff --git a/goal_src/import/warrior-ag.gc b/goal_src/import/warrior-ag.gc new file mode 100644 index 0000000000..301ab1901b --- /dev/null +++ b/goal_src/import/warrior-ag.gc @@ -0,0 +1,14 @@ +;;-*-Lisp-*- +(in-package goal) + +;; warrior-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt warrior-ag warrior-lod0-jg 0) +(def-art-elt warrior-ag warrior-lod0-mg 1) +(def-art-elt warrior-ag warrior-lod1-mg 2) +(def-art-elt warrior-ag warrior-lod2-mg 3) +(def-art-elt warrior-ag warrior-shadow-mg 4) +(def-art-elt warrior-ag warrior-idle-ja 5) + + diff --git a/goal_src/import/water-anim-darkcave-ag.gc b/goal_src/import/water-anim-darkcave-ag.gc new file mode 100644 index 0000000000..b51898f821 --- /dev/null +++ b/goal_src/import/water-anim-darkcave-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-darkcave-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-darkcave-ag water-anim-darkcave-water-with-crystal-lod0-jg 0) +(def-art-elt water-anim-darkcave-ag water-anim-darkcave-water-with-crystal-lod0-mg 1) +(def-art-elt water-anim-darkcave-ag water-anim-darkcave-idle-ja 2) + + diff --git a/goal_src/import/water-anim-finalboss-ag.gc b/goal_src/import/water-anim-finalboss-ag.gc new file mode 100644 index 0000000000..f5d3c96500 --- /dev/null +++ b/goal_src/import/water-anim-finalboss-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-finalboss-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-finalboss-ag water-anim-finalboss-dark-eco-pool-lod0-jg 0) +(def-art-elt water-anim-finalboss-ag water-anim-finalboss-dark-eco-pool-lod0-mg 1) +(def-art-elt water-anim-finalboss-ag water-anim-finalboss-idle-ja 2) + + diff --git a/goal_src/import/water-anim-jungle-ag.gc b/goal_src/import/water-anim-jungle-ag.gc new file mode 100644 index 0000000000..a85b4f40a8 --- /dev/null +++ b/goal_src/import/water-anim-jungle-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-jungle-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-jungle-ag water-anim-jungle-river-lod0-jg 0) +(def-art-elt water-anim-jungle-ag water-anim-jungle-river-lod0-mg 1) +(def-art-elt water-anim-jungle-ag water-anim-jungle-river-lod1-mg 2) +(def-art-elt water-anim-jungle-ag water-anim-jungle-idle-ja 3) + + diff --git a/goal_src/import/water-anim-lavatube-ag.gc b/goal_src/import/water-anim-lavatube-ag.gc new file mode 100644 index 0000000000..5ca28dc603 --- /dev/null +++ b/goal_src/import/water-anim-lavatube-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-lavatube-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-lavatube-ag water-anim-lavatube-energy-lava-lod0-jg 0) +(def-art-elt water-anim-lavatube-ag water-anim-lavatube-energy-lava-lod0-mg 1) +(def-art-elt water-anim-lavatube-ag water-anim-lavatube-idle-ja 2) + + diff --git a/goal_src/import/water-anim-maincave-ag.gc b/goal_src/import/water-anim-maincave-ag.gc new file mode 100644 index 0000000000..de7648f789 --- /dev/null +++ b/goal_src/import/water-anim-maincave-ag.gc @@ -0,0 +1,19 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-maincave-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-maincave-ag water-anim-maincave-center-pool-lod0-jg 0) +(def-art-elt water-anim-maincave-ag water-anim-maincave-center-pool-lod0-mg 1) +(def-art-elt water-anim-maincave-ag water-anim-maincave-lower-right-pool-lod0-jg 2) +(def-art-elt water-anim-maincave-ag water-anim-maincave-lower-right-pool-lod0-mg 3) +(def-art-elt water-anim-maincave-ag water-anim-maincave-mid-right-pool-lod0-jg 4) +(def-art-elt water-anim-maincave-ag water-anim-maincave-mid-right-pool-lod0-mg 5) +(def-art-elt water-anim-maincave-ag water-anim-maincave-lower-left-pool-lod0-jg 6) +(def-art-elt water-anim-maincave-ag water-anim-maincave-lower-left-pool-lod0-mg 7) +(def-art-elt water-anim-maincave-ag water-anim-maincave-mid-left-pool-lod0-jg 8) +(def-art-elt water-anim-maincave-ag water-anim-maincave-mid-left-pool-lod0-mg 9) +(def-art-elt water-anim-maincave-ag water-anim-maincave-idle-ja 10) + + diff --git a/goal_src/import/water-anim-maincave-water-ag.gc b/goal_src/import/water-anim-maincave-water-ag.gc new file mode 100644 index 0000000000..cf6753ef83 --- /dev/null +++ b/goal_src/import/water-anim-maincave-water-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-maincave-water-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-maincave-water-ag water-anim-maincave-water-with-crystal-lod0-jg 0) +(def-art-elt water-anim-maincave-water-ag water-anim-maincave-water-with-crystal-lod0-mg 1) +(def-art-elt water-anim-maincave-water-ag water-anim-maincave-water-idle-ja 2) + + diff --git a/goal_src/import/water-anim-misty-ag.gc b/goal_src/import/water-anim-misty-ag.gc new file mode 100644 index 0000000000..4c6eb16a7f --- /dev/null +++ b/goal_src/import/water-anim-misty-ag.gc @@ -0,0 +1,33 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-misty-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-misty-ag water-anim-misty-mud-by-arena-lod0-jg 0) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-by-arena-lod0-mg 1) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-above-skeleton-lod0-jg 2) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-above-skeleton-lod0-mg 3) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-behind-skeleton-lod0-jg 4) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-behind-skeleton-lod0-mg 5) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-above-skull-back-lod0-jg 6) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-above-skull-back-lod0-mg 7) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-above-skull-front-lod0-jg 8) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-above-skull-front-lod0-mg 9) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-other-near-skull-lod0-jg 10) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-other-near-skull-lod0-mg 11) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-near-skull-lod0-jg 12) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-near-skull-lod0-mg 13) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-under-spine-lod0-jg 14) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-under-spine-lod0-mg 15) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-by-dock-lod0-jg 16) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-by-dock-lod0-mg 17) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-island-near-dock-lod0-jg 18) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-island-near-dock-lod0-mg 19) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-lonely-island-lod0-jg 20) +(def-art-elt water-anim-misty-ag water-anim-misty-mud-lonely-island-lod0-mg 21) +(def-art-elt water-anim-misty-ag water-anim-misty-dark-eco-pool-lod0-jg 22) +(def-art-elt water-anim-misty-ag water-anim-misty-dark-eco-pool-lod0-mg 23) +(def-art-elt water-anim-misty-ag water-anim-misty-idle-ja 24) + + diff --git a/goal_src/import/water-anim-ogre-ag.gc b/goal_src/import/water-anim-ogre-ag.gc new file mode 100644 index 0000000000..cac77f8114 --- /dev/null +++ b/goal_src/import/water-anim-ogre-ag.gc @@ -0,0 +1,16 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-ogre-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-ogre-ag water-anim-ogre-lava-lod0-jg 0) +(def-art-elt water-anim-ogre-ag water-anim-ogre-lava-lod0-mg 1) +(def-art-elt water-anim-ogre-ag water-anim-ogre-idle-ja 2) +(def-art-elt water-anim-ogre-ag water-anim-ogre-submerge1-ja 3) +(def-art-elt water-anim-ogre-ag water-anim-ogre-emerge1-ja 4) +(def-art-elt water-anim-ogre-ag water-anim-ogre-submerge2-ja 5) +(def-art-elt water-anim-ogre-ag water-anim-ogre-emerge2-ja 6) +(def-art-elt water-anim-ogre-ag water-anim-ogre-boulder-ja 7) + + diff --git a/goal_src/import/water-anim-robocave-ag.gc b/goal_src/import/water-anim-robocave-ag.gc new file mode 100644 index 0000000000..fee13135c0 --- /dev/null +++ b/goal_src/import/water-anim-robocave-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-robocave-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-robocave-ag water-anim-robocave-main-pool-lod0-jg 0) +(def-art-elt water-anim-robocave-ag water-anim-robocave-main-pool-lod0-mg 1) +(def-art-elt water-anim-robocave-ag water-anim-robocave-main-pool-lod1-mg 2) +(def-art-elt water-anim-robocave-ag water-anim-robocave-idle-ja 3) + + diff --git a/goal_src/import/water-anim-rolling-ag.gc b/goal_src/import/water-anim-rolling-ag.gc new file mode 100644 index 0000000000..56efe58295 --- /dev/null +++ b/goal_src/import/water-anim-rolling-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-rolling-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-rolling-ag water-anim-rolling-water-back-lod0-jg 0) +(def-art-elt water-anim-rolling-ag water-anim-rolling-water-back-lod0-mg 1) +(def-art-elt water-anim-rolling-ag water-anim-rolling-water-front-lod0-jg 2) +(def-art-elt water-anim-rolling-ag water-anim-rolling-water-front-lod0-mg 3) +(def-art-elt water-anim-rolling-ag water-anim-rolling-idle-ja 4) + + diff --git a/goal_src/import/water-anim-sunken-ag.gc b/goal_src/import/water-anim-sunken-ag.gc new file mode 100644 index 0000000000..5fee6e1b65 --- /dev/null +++ b/goal_src/import/water-anim-sunken-ag.gc @@ -0,0 +1,33 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-sunken-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-sunken-ag water-anim-sunken-big-room-lod0-jg 0) +(def-art-elt water-anim-sunken-ag water-anim-sunken-big-room-lod0-mg 1) +(def-art-elt water-anim-sunken-ag water-anim-sunken-first-room-from-entrance-lod0-jg 2) +(def-art-elt water-anim-sunken-ag water-anim-sunken-first-room-from-entrance-lod0-mg 3) +(def-art-elt water-anim-sunken-ag water-anim-sunken-qbert-room-lod0-jg 4) +(def-art-elt water-anim-sunken-ag water-anim-sunken-qbert-room-lod0-mg 5) +(def-art-elt water-anim-sunken-ag water-anim-sunken-first-right-branch-lod0-jg 6) +(def-art-elt water-anim-sunken-ag water-anim-sunken-first-right-branch-lod0-mg 7) +(def-art-elt water-anim-sunken-ag water-anim-sunken-circular-with-bullys-lod0-jg 8) +(def-art-elt water-anim-sunken-ag water-anim-sunken-circular-with-bullys-lod0-mg 9) +(def-art-elt water-anim-sunken-ag water-anim-sunken-hall-with-one-whirlpool-lod0-jg 10) +(def-art-elt water-anim-sunken-ag water-anim-sunken-hall-with-one-whirlpool-lod0-mg 11) +(def-art-elt water-anim-sunken-ag water-anim-sunken-hall-with-three-whirlpools-lod0-jg 12) +(def-art-elt water-anim-sunken-ag water-anim-sunken-hall-with-three-whirlpools-lod0-mg 13) +(def-art-elt water-anim-sunken-ag water-anim-sunken-start-of-helix-slide-lod0-jg 14) +(def-art-elt water-anim-sunken-ag water-anim-sunken-start-of-helix-slide-lod0-mg 15) +(def-art-elt water-anim-sunken-ag water-anim-sunken-room-above-exit-chamber-lod0-jg 16) +(def-art-elt water-anim-sunken-ag water-anim-sunken-room-above-exit-chamber-lod0-mg 17) +(def-art-elt water-anim-sunken-ag water-anim-sunken-hall-before-big-room-lod0-jg 18) +(def-art-elt water-anim-sunken-ag water-anim-sunken-hall-before-big-room-lod0-mg 19) +(def-art-elt water-anim-sunken-ag water-anim-sunken-short-piece-lod0-jg 20) +(def-art-elt water-anim-sunken-ag water-anim-sunken-short-piece-lod0-mg 21) +(def-art-elt water-anim-sunken-ag water-anim-sunken-big-room-upper-water-lod0-jg 22) +(def-art-elt water-anim-sunken-ag water-anim-sunken-big-room-upper-water-lod0-mg 23) +(def-art-elt water-anim-sunken-ag water-anim-sunken-idle-ja 24) + + diff --git a/goal_src/import/water-anim-sunken-dark-eco-ag.gc b/goal_src/import/water-anim-sunken-dark-eco-ag.gc new file mode 100644 index 0000000000..28a858c66a --- /dev/null +++ b/goal_src/import/water-anim-sunken-dark-eco-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-sunken-dark-eco-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-qbert-lod0-jg 0) +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-qbert-lod0-mg 1) +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-platform-room-lod0-jg 2) +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-platform-room-lod0-mg 3) +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-helix-room-lod0-jg 4) +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-helix-room-lod0-mg 5) +(def-art-elt water-anim-sunken-dark-eco-ag water-anim-sunken-dark-eco-idle-ja 6) + + diff --git a/goal_src/import/water-anim-training-ag.gc b/goal_src/import/water-anim-training-ag.gc new file mode 100644 index 0000000000..21aec87855 --- /dev/null +++ b/goal_src/import/water-anim-training-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-training-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-training-ag water-anim-training-lake-lod0-jg 0) +(def-art-elt water-anim-training-ag water-anim-training-lake-lod0-mg 1) +(def-art-elt water-anim-training-ag water-anim-training-idle-ja 2) + + diff --git a/goal_src/import/water-anim-village1-ag.gc b/goal_src/import/water-anim-village1-ag.gc new file mode 100644 index 0000000000..86ea6f5c7c --- /dev/null +++ b/goal_src/import/water-anim-village1-ag.gc @@ -0,0 +1,17 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-village1-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-village1-ag water-anim-village1-rice-paddy-lod0-jg 0) +(def-art-elt water-anim-village1-ag water-anim-village1-rice-paddy-lod0-mg 1) +(def-art-elt water-anim-village1-ag water-anim-village1-rice-paddy-mid-lod0-jg 2) +(def-art-elt water-anim-village1-ag water-anim-village1-rice-paddy-mid-lod0-mg 3) +(def-art-elt water-anim-village1-ag water-anim-village1-rice-paddy-top-lod0-jg 4) +(def-art-elt water-anim-village1-ag water-anim-village1-rice-paddy-top-lod0-mg 5) +(def-art-elt water-anim-village1-ag water-anim-village1-fountain-lod0-jg 6) +(def-art-elt water-anim-village1-ag water-anim-village1-fountain-lod0-mg 7) +(def-art-elt water-anim-village1-ag water-anim-village1-idle-ja 8) + + diff --git a/goal_src/import/water-anim-village2-ag.gc b/goal_src/import/water-anim-village2-ag.gc new file mode 100644 index 0000000000..030a3b3d04 --- /dev/null +++ b/goal_src/import/water-anim-village2-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-village2-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-village2-ag water-anim-village2-bucket-lod0-jg 0) +(def-art-elt water-anim-village2-ag water-anim-village2-bucket-lod0-mg 1) +(def-art-elt water-anim-village2-ag water-anim-village2-idle-ja 2) + + diff --git a/goal_src/import/water-anim-village3-ag.gc b/goal_src/import/water-anim-village3-ag.gc new file mode 100644 index 0000000000..5c02bd07f9 --- /dev/null +++ b/goal_src/import/water-anim-village3-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; water-anim-village3-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt water-anim-village3-ag water-anim-village3-lava-lod0-jg 0) +(def-art-elt water-anim-village3-ag water-anim-village3-lava-lod0-mg 1) +(def-art-elt water-anim-village3-ag water-anim-village3-lava-lod1-mg 2) +(def-art-elt water-anim-village3-ag water-anim-village3-idle-ja 3) + + diff --git a/goal_src/import/wedge-plat-ag.gc b/goal_src/import/wedge-plat-ag.gc new file mode 100644 index 0000000000..d9c9ace41e --- /dev/null +++ b/goal_src/import/wedge-plat-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; wedge-plat-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt wedge-plat-ag wedge-plat-lod0-jg 0) +(def-art-elt wedge-plat-ag wedge-plat-lod0-mg 1) +(def-art-elt wedge-plat-ag wedge-plat-idle-ja 2) +(def-art-elt wedge-plat-ag wedge-plat-tip-ja 3) + + diff --git a/goal_src/import/wedge-plat-outer-ag.gc b/goal_src/import/wedge-plat-outer-ag.gc new file mode 100644 index 0000000000..d3aff4ec49 --- /dev/null +++ b/goal_src/import/wedge-plat-outer-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; wedge-plat-outer-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt wedge-plat-outer-ag wedge-plat-outer-lod0-jg 0) +(def-art-elt wedge-plat-outer-ag wedge-plat-outer-lod0-mg 1) +(def-art-elt wedge-plat-outer-ag wedge-plat-outer-idle-ja 2) +(def-art-elt wedge-plat-outer-ag wedge-plat-outer-tip-ja 3) + + diff --git a/goal_src/import/wheel-ag.gc b/goal_src/import/wheel-ag.gc new file mode 100644 index 0000000000..b84a86fdaa --- /dev/null +++ b/goal_src/import/wheel-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; wheel-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt wheel-ag wheel-geo-jg 0) +(def-art-elt wheel-ag wheel-geo-mg 1) +(def-art-elt wheel-ag wheel-idle-ja 2) + + diff --git a/goal_src/import/whirlpool-ag.gc b/goal_src/import/whirlpool-ag.gc new file mode 100644 index 0000000000..0f4477055b --- /dev/null +++ b/goal_src/import/whirlpool-ag.gc @@ -0,0 +1,11 @@ +;;-*-Lisp-*- +(in-package goal) + +;; whirlpool-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt whirlpool-ag whirlpool-lod0-jg 0) +(def-art-elt whirlpool-ag whirlpool-lod0-mg 1) +(def-art-elt whirlpool-ag whirlpool-idle-ja 2) + + diff --git a/goal_src/import/windmill-one-ag.gc b/goal_src/import/windmill-one-ag.gc new file mode 100644 index 0000000000..b340324dfd --- /dev/null +++ b/goal_src/import/windmill-one-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; windmill-one-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt windmill-one-ag windmill-one-lod0-jg 0) +(def-art-elt windmill-one-ag windmill-one-lod0-mg 1) +(def-art-elt windmill-one-ag windmill-one-lod1-mg 2) +(def-art-elt windmill-one-ag windmill-one-lod2-mg 3) +(def-art-elt windmill-one-ag windmill-one-idle-ja 4) + + diff --git a/goal_src/import/windmill-sail-ag.gc b/goal_src/import/windmill-sail-ag.gc new file mode 100644 index 0000000000..66bcd182c4 --- /dev/null +++ b/goal_src/import/windmill-sail-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; windmill-sail-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt windmill-sail-ag windmill-sail-lod0-jg 0) +(def-art-elt windmill-sail-ag windmill-sail-lod0-mg 1) +(def-art-elt windmill-sail-ag windmill-sail-lod1-mg 2) +(def-art-elt windmill-sail-ag windmill-sail-lod2-mg 3) +(def-art-elt windmill-sail-ag windmill-sail-idle-ja 4) + + diff --git a/goal_src/import/windspinner-ag.gc b/goal_src/import/windspinner-ag.gc new file mode 100644 index 0000000000..2a9b53eea7 --- /dev/null +++ b/goal_src/import/windspinner-ag.gc @@ -0,0 +1,12 @@ +;;-*-Lisp-*- +(in-package goal) + +;; windspinner-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt windspinner-ag windspinner-lod0-jg 0) +(def-art-elt windspinner-ag windspinner-lod0-mg 1) +(def-art-elt windspinner-ag windspinner-lod1-mg 2) +(def-art-elt windspinner-ag windspinner-idle-ja 3) + + diff --git a/goal_src/import/windturbine-ag.gc b/goal_src/import/windturbine-ag.gc new file mode 100644 index 0000000000..ae65f03eaa --- /dev/null +++ b/goal_src/import/windturbine-ag.gc @@ -0,0 +1,13 @@ +;;-*-Lisp-*- +(in-package goal) + +;; windturbine-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt windturbine-ag windturbine-lod0-jg 0) +(def-art-elt windturbine-ag windturbine-lod0-mg 1) +(def-art-elt windturbine-ag windturbine-lod1-mg 2) +(def-art-elt windturbine-ag windturbine-lod2-mg 3) +(def-art-elt windturbine-ag windturbine-idle-ja 4) + + diff --git a/goal_src/import/yakow-ag.gc b/goal_src/import/yakow-ag.gc new file mode 100644 index 0000000000..ff824eebbb --- /dev/null +++ b/goal_src/import/yakow-ag.gc @@ -0,0 +1,20 @@ +;;-*-Lisp-*- +(in-package goal) + +;; yakow-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt yakow-ag yakow-lod0-jg 0) +(def-art-elt yakow-ag yakow-lod0-mg 1) +(def-art-elt yakow-ag yakow-lod1-mg 2) +(def-art-elt yakow-ag yakow-shadow-mg 3) +(def-art-elt yakow-ag yakow-idle-ja 4) +(def-art-elt yakow-ag yakow-graze-ja 5) +(def-art-elt yakow-ag yakow-walk-ja 6) +(def-art-elt yakow-ag yakow-run-ja 7) +(def-art-elt yakow-ag yakow-kicked-ja 8) +(def-art-elt yakow-ag yakow-walk-right-ja 9) +(def-art-elt yakow-ag yakow-walk-left-ja 10) +(def-art-elt yakow-ag yakow-kicked-in-place-ja 11) + + diff --git a/goal_src/import/yellowsage-ag.gc b/goal_src/import/yellowsage-ag.gc new file mode 100644 index 0000000000..a8c71eebe8 --- /dev/null +++ b/goal_src/import/yellowsage-ag.gc @@ -0,0 +1,15 @@ +;;-*-Lisp-*- +(in-package goal) + +;; yellowsage-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt yellowsage-ag yellowsage-lod0-jg 0) +(def-art-elt yellowsage-ag yellowsage-lod0-mg 1) +(def-art-elt yellowsage-ag yellowsage-lod1-mg 2) +(def-art-elt yellowsage-ag yellowsage-shadow-mg 3) +(def-art-elt yellowsage-ag yellowsage-yellowsage-idle-ja 4) +(def-art-elt yellowsage-ag yellowsage-yellowsage-attack-start-ja 5) +(def-art-elt yellowsage-ag yellowsage-yellowsage-attack-loop-ja 6) + + diff --git a/goal_src/import/yeti-ag.gc b/goal_src/import/yeti-ag.gc new file mode 100644 index 0000000000..80154de82d --- /dev/null +++ b/goal_src/import/yeti-ag.gc @@ -0,0 +1,21 @@ +;;-*-Lisp-*- +(in-package goal) + +;; yeti-ag.gc - art group OpenGOAL import file +;; THIS FILE IS AUTOMATICALLY GENERATED! + +(def-art-elt yeti-ag yeti-lod0-jg 0) +(def-art-elt yeti-ag yeti-lod0-mg 1) +(def-art-elt yeti-ag yeti-idle-ja 2) +(def-art-elt yeti-ag yeti-walk-ja 3) +(def-art-elt yeti-ag yeti-spot-ja 4) +(def-art-elt yeti-ag yeti-charge-ja 5) +(def-art-elt yeti-ag yeti-give-up-ja 6) +(def-art-elt yeti-ag yeti-give-up-hop-ja 7) +(def-art-elt yeti-ag yeti-win-ja 8) +(def-art-elt yeti-ag yeti-death-ja 9) +(def-art-elt yeti-ag yeti-jump-ja 10) +(def-art-elt yeti-ag yeti-jump-land-ja 11) +(def-art-elt yeti-ag yeti-turn-ja 12) + + diff --git a/goal_src/levels/beach/beach-obs.gc b/goal_src/levels/beach/beach-obs.gc index 92aef15e97..1093c547b7 100644 --- a/goal_src/levels/beach/beach-obs.gc +++ b/goal_src/levels/beach/beach-obs.gc @@ -9,13 +9,10 @@ ;; DECOMP BEGINS -(defskelgroup *beachcam-sg* beachcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 60) - :longest-edge (meters 0) - ) +(defskelgroup *beachcam-sg* beachcam beachcam-lod0-jg beachcam-anim-ja + ((beachcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 60) + ) (deftype windmill-one (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -31,13 +28,11 @@ ) -(defskelgroup *windmill-one-sg* windmill-one - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem -12 -8 -1 16) - :longest-edge (meters 7.5) - ) +(defskelgroup *windmill-one-sg* windmill-one windmill-one-lod0-jg windmill-one-idle-ja + ((windmill-one-lod0-mg (meters 20)) (windmill-one-lod1-mg (meters 40)) (windmill-one-lod2-mg (meters 999999))) + :bounds (static-spherem -12 -8 -1 16) + :longest-edge (meters 7.5) + ) (defstate windmill-one-idle (windmill-one) :exit @@ -57,23 +52,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.5) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.5) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) ) (none) @@ -226,13 +209,10 @@ ) -(defskelgroup *grottopole-sg* grottopole - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -8 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *grottopole-sg* grottopole grottopole-lod0-jg grottopole-idle-ja + ((grottopole-lod0-mg (meters 20)) (grottopole-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -8 0 9) + ) (defstate grottopole-idle (grottopole) :event @@ -283,17 +263,10 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -438,13 +411,10 @@ ) -(defskelgroup *ecoventrock-sg* ecoventrock - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 1 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *ecoventrock-sg* ecoventrock ecoventrock-lod0-jg ecoventrock-idle-ja + ((ecoventrock-lod0-mg (meters 20)) (ecoventrock-lod1-mg (meters 999999))) + :bounds (static-spherem 0 1 0 3) + ) (defpartgroup group-beach-harvester-rock-explosion :id 156 @@ -601,7 +571,7 @@ :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -794,13 +764,10 @@ ) -(defskelgroup *kickrock-sg* kickrock - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *kickrock-sg* kickrock kickrock-lod0-jg kickrock-idle-ja + ((kickrock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defstate flying-rock-rolling (flying-rock) :enter @@ -980,18 +947,16 @@ ) -(defskelgroup *bladeassm-sg* bladeassm - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 10) - ) +(defskelgroup *bladeassm-sg* bladeassm bladeassm-lod0-jg bladeassm-idle-ja + ((bladeassm-lod0-mg (meters 20)) (bladeassm-lod1-mg (meters 40)) (bladeassm-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + :longest-edge (meters 10) + ) (defstate bladeassm-idle (bladeassm) :code (behavior () - (while #t + (loop (+! (-> self angle) (* 3640.889 (-> *display* seconds-per-frame))) (set! (-> self angle) (the float (sar (shl (the int (-> self angle)) 48) 48))) (pusher-post) @@ -1068,21 +1033,15 @@ ) -(defskelgroup *flutflutegg-sg* flutflutegg - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3.5 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *flutflutegg-sg* flutflutegg flutflutegg-lod0-jg flutflutegg-idle-ja + ((flutflutegg-lod0-mg (meters 20)) (flutflutegg-lod1-mg (meters 40)) (flutflutegg-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 3.5) + ) -(defskelgroup *flutflut-naked-sg* flutflut - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-naked-sg* flutflut flutflut-lod0-jg flutflut-flutflut-idle-ja + ((flutflut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defmethod relocate flutflutegg ((obj flutflutegg) (arg0 int)) (if (nonzero? (-> obj wobbler)) @@ -1214,7 +1173,7 @@ :code (behavior () (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1254,7 +1213,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (+! (-> self pos) (* (-> self vel) (-> *display* seconds-per-frame))) (set! (-> self vel) (* 0.95 (-> self vel))) (move! (-> self wobbler)) @@ -1320,7 +1279,7 @@ ) ) (close-specific-task! (game-task beach-flutflut) (task-status need-reminder)) - (while #t + (loop (vector-float*! (-> self root-override transv) (-> self dir) (-> self vel)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until v1-25 @@ -1367,34 +1326,13 @@ (suspend) (update-transforms! (-> self root-override)) (when (not arg0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 5) :num! max) (while (and (not (task-closed? (game-task beach-flutflut) (task-status need-reward-speech))) (zero? (logand (-> self ambients-played) 1024)) ) @@ -1424,17 +1362,8 @@ (ja-channel-set! 1) (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 0.0) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-3 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - ) - (while #t + (ja :group! (-> self draw art-group data 6) :num! max) + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -1513,13 +1442,10 @@ ) -(defskelgroup *harvester-sg* harvester - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 7 0 11) - :longest-edge (meters 0) - ) +(defskelgroup *harvester-sg* harvester harvester-lod0-jg harvester-idle-ja + ((harvester-lod0-mg (meters 20)) (harvester-lod1-mg (meters 40)) (harvester-lod2-mg (meters 999999))) + :bounds (static-spherem 0 7 0 11) + ) (defstate harvester-idle (harvester) :event @@ -1537,16 +1463,9 @@ (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) (go harvester-inflate #t) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - ) + (ja :group! (-> self draw art-group data 5) :num! (identity (ja-aframe 1.0 0))) (ja-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -1558,41 +1477,17 @@ :code (behavior ((arg0 symbol)) (when (not arg0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (while #t - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/beach/beach-part.gc b/goal_src/levels/beach/beach-part.gc index 22fcaa5398..1272132246 100644 --- a/goal_src/levels/beach/beach-part.gc +++ b/goal_src/levels/beach/beach-part.gc @@ -93,7 +93,7 @@ (defstate beach-part-grotto-1 (beach-part) :code (behavior () - (while #t + (loop (when (is-visible? self) (let* ((gp-0 (camera-pos)) (f0-0 (vector-vector-distance (-> self root trans) gp-0)) diff --git a/goal_src/levels/beach/beach-rocks.gc b/goal_src/levels/beach/beach-rocks.gc index 2771f07b38..c8930c319b 100644 --- a/goal_src/levels/beach/beach-rocks.gc +++ b/goal_src/levels/beach/beach-rocks.gc @@ -7,13 +7,11 @@ ;; DECOMP BEGINS -(defskelgroup *lrocklrg-sg* lrocklrg - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 11) - ) +(defskelgroup *lrocklrg-sg* lrocklrg lrocklrg-lod0-jg lrocklrg-idle-ja + ((lrocklrg-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :longest-edge (meters 11) + ) (defpartgroup group-beach-rocks-start :id 553 @@ -302,7 +300,7 @@ ) (ja-channel-set! 0) (ja-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -316,7 +314,7 @@ (-> (the-as state (method-of-type beach-rock idle)) event) :code (behavior () - (while #t + (loop (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) (suspend) ) @@ -368,14 +366,7 @@ ) (logclear! (-> self draw status) (draw-status hidden)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (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))) @@ -451,9 +442,7 @@ *entity-pool* (game-task none) ) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (TODO-RENAME-9 (-> self align)) (let ((v1-6 (first-transform (-> self align)))) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) diff --git a/goal_src/levels/beach/bird-lady-beach.gc b/goal_src/levels/beach/bird-lady-beach.gc index 6f3200fa42..f1188ea63b 100644 --- a/goal_src/levels/beach/bird-lady-beach.gc +++ b/goal_src/levels/beach/bird-lady-beach.gc @@ -18,14 +18,11 @@ ) -(defskelgroup *bird-lady-beach-sg* bird-lady-beach - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *bird-lady-beach-sg* bird-lady-beach bird-lady-beach-lod0-jg bird-lady-beach-idle-ja + ((bird-lady-beach-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow bird-lady-beach-shadow-mg + ) (defstate idle (bird-lady-beach) :virtual #t diff --git a/goal_src/levels/beach/bird-lady.gc b/goal_src/levels/beach/bird-lady.gc index 311813dfe8..cfec9cc13d 100644 --- a/goal_src/levels/beach/bird-lady.gc +++ b/goal_src/levels/beach/bird-lady.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *bird-lady-sg* bird-lady - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *bird-lady-sg* bird-lady bird-lady-lod0-jg bird-lady-idle-ja + ((bird-lady-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 2.5) + :shadow bird-lady-shadow-mg + ) (defmethod dummy-52 bird-lady ((obj bird-lady)) (let ((v1-1 (-> obj draw shadow-ctrl))) diff --git a/goal_src/levels/beach/lurkercrab.gc b/goal_src/levels/beach/lurkercrab.gc index f954fa13da..ea7e833a88 100644 --- a/goal_src/levels/beach/lurkercrab.gc +++ b/goal_src/levels/beach/lurkercrab.gc @@ -71,13 +71,10 @@ ) -(defskelgroup *lurkercrab-sg* lurkercrab - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *lurkercrab-sg* lurkercrab lurkercrab-lod0-jg lurkercrab-idle-ja + ((lurkercrab-lod0-mg (meters 20)) (lurkercrab-lod1-mg (meters 40)) (lurkercrab-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + ) (defmethod dummy-44 lurkercrab ((obj lurkercrab) (arg0 process) (arg1 event-message-block)) (if (and (logtest? (-> obj nav-enemy-flags) (nav-enemy-flags navenmf6)) @@ -215,59 +212,29 @@ nav-enemy-default-event-handler (behavior () (set! (-> self target-speed) 0.0) (set! (-> self draw force-lod) 2) - (ja-channel-push! 1 22) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - ) + (ja-channel-push! 1 (seconds 0.075)) + (loop + (ja :group! lurkercrab-idle-ja :num! (identity (ja-aframe 1.0 0))) (let ((gp-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 3)) (suspend) ) ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> gp-2 param 0) (ja-aframe 19.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-idle-ja :num! (seek! (ja-aframe 19.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 19.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 19.0 0)) + (ja :num! (seek! (ja-aframe 19.0 0))) ) + (ja :num-func num-func-identity :frame-num (ja-aframe 19.0 0)) (let ((gp-5 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 1)) (suspend) ) ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> gp-6 param 0) (ja-aframe 1.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 19.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-idle-ja :num! (seek! (ja-aframe 1.0 0)) :frame-num (ja-aframe 19.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 1.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 1.0 0))) ) ) (none) @@ -314,67 +281,29 @@ nav-enemy-default-event-handler ) :code (behavior () - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (ja-channel-push! 1 22) - (while #t + (ja-channel-push! 1 (seconds 0.075)) + (loop (dotimes (gp-0 6) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) 1.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (nav-enemy-rnd-int-range 2 6) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 1.0 0)) - ) + (ja :group! lurkercrab-idle-ja :num! (identity (ja-aframe 1.0 0))) (let ((gp-2 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 2)) (suspend) @@ -382,74 +311,32 @@ nav-enemy-default-event-handler ) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-idle-to-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-3 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 30.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 30.0 0))) ) (lurkercrab-vulnerable) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) (dotimes (gp-5 2) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> s5-0 param 0) (ja-aframe 60.0 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe 60.0 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 60.0 0))) ) ) (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-6 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-to-walk-ja :num! (seek! (ja-aframe 90.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 90.0 0))) ) ) (none) @@ -496,137 +383,51 @@ nav-enemy-default-event-handler :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (loop + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (lurkercrab-vulnerable) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 30.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> gp-2 param 0) (ja-aframe 120.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + (ja :num! (seek! (ja-aframe 30.0 0))) ) + (ja-no-eval :group! lurkercrab-snip-ja :num! (seek! (ja-aframe 120.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 120.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-4 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + (ja :num! (seek! (ja-aframe 120.0 0))) ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-5 param 1) 1.0) - (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-6 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + (ja :num! (seek! (ja-aframe 60.0 0))) ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 60.0 0))) ) (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) - (let ((gp-8 (-> self skel root-channel 0))) - (set! (-> gp-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-8 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-8 param 1) 1.0) - (set! (-> gp-8 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-8 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-to-walk-ja :num! (seek! (ja-aframe 90.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-9 (-> self skel root-channel 0))) - (set! (-> gp-9 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-9 param 1) 1.0) - (joint-control-channel-group-eval! gp-9 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek! (ja-aframe 90.0 0))) ) + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-38 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (set! (-> a0-38 frame-num) 0.0) - (joint-control-channel-group! a0-38 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) - (set! (-> a0-39 param 1) 1.0) - (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -671,17 +472,10 @@ nav-enemy-default-event-handler :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-channel-push! 1 22) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! (-> self draw art-group data (-> self nav-info victory-anim))) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (go-virtual nav-enemy-patrol) @@ -705,20 +499,10 @@ nav-enemy-default-event-handler (set! (-> self momentum-speed) 57344.0) (set! (-> self target-speed) 0.0) (set! (-> self orient) #f) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> gp-0 param 0) (ja-aframe 18.0 0)) - (set! (-> gp-0 param 1) 0.75) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-kickback-ja :num! (seek! (ja-aframe 18.0 0) 0.75) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 18.0 0)) - (set! (-> gp-1 param 1) 0.75) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 18.0 0) 0.75)) ) (let ((gp-2 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.25)) diff --git a/goal_src/levels/beach/lurkerpuppy.gc b/goal_src/levels/beach/lurkerpuppy.gc index 5ac4077323..c2064c4e2b 100644 --- a/goal_src/levels/beach/lurkerpuppy.gc +++ b/goal_src/levels/beach/lurkerpuppy.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *lurkerpuppy-sg* lurkerpuppy - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *lurkerpuppy-sg* lurkerpuppy lurkerpuppy-lod0-jg lurkerpuppy-idle-ja + ((lurkerpuppy-lod0-mg (meters 20)) (lurkerpuppy-lod1-mg (meters 40)) (lurkerpuppy-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + :shadow lurkerpuppy-shadow-mg + ) nav-enemy-default-event-handler @@ -36,28 +33,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 51) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-chase) (none) @@ -74,58 +56,30 @@ nav-enemy-default-event-handler :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + ((ja-group? lurkerpuppy-jump-land-ja) + (ja-channel-push! 1 (seconds 0.17)) + (ja-no-eval :group! lurkerpuppy-run-ja :num! (seek!) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) ) ) (let ((f30-0 (rand-vu-float-range 0.9 1.1))) - (while #t + (loop (if (rand-vu-percent? 0.25) (sound-play-by-name (static-sound-name "puppy-bark") (new-sound-id) 1024 0 0 1 #t) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) f30-0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkerpuppy-run-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (go-virtual nav-enemy-attack) ) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) f30-0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -146,16 +100,10 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (seconds 0.1)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t + (loop (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! lurkerpuppy-celebrate-ja :num! (seek! (ja-aframe 12.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (let ((f0-3 (ja-aframe-num 0))) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -164,33 +112,18 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 12.0 0) f30-0)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) - (let ((v1-31 (-> self skel root-channel 0))) - (set! (-> v1-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((v1-34 (-> self skel root-channel 0))) - (set! (-> v1-34 num-func) num-func-identity) - (set! (-> v1-34 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! lurkerpuppy-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) (let ((gp-2 (rand-vu-int-range 750 900)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-2) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (ja-blend-eval) (suspend) ) @@ -212,35 +145,15 @@ nav-enemy-default-event-handler (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! lurkerpuppy-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.4) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! lurkerpuppy-idle-ja :num! (seek! max 1.4) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -249,11 +162,7 @@ nav-enemy-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.4) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.4)) ) (go-virtual nav-enemy-patrol) (none) @@ -290,17 +199,9 @@ nav-enemy-default-event-handler :code (behavior () (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 4) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! lurkerpuppy-celebrate-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -309,11 +210,7 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go-virtual nav-enemy-chase) diff --git a/goal_src/levels/beach/lurkerworm.gc b/goal_src/levels/beach/lurkerworm.gc index ae4ecdfd85..d87b3abba7 100644 --- a/goal_src/levels/beach/lurkerworm.gc +++ b/goal_src/levels/beach/lurkerworm.gc @@ -5,8 +5,6 @@ ;; name in dgo: lurkerworm ;; dgos: BEA, L1 -(define-extern *lurkerworm-sg* skeleton-group) - ;; DECOMP BEGINS (deftype lurkerworm (process-drawable) @@ -56,13 +54,11 @@ (none) ) -(defskelgroup *lurkerworm-sg* lurkerworm - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 6.5) - :longest-edge (meters 1.5) - ) +(defskelgroup *lurkerworm-sg* lurkerworm lurkerworm-lod0-jg lurkerworm-idle-ja + ((lurkerworm-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6.5) + :longest-edge (meters 1.5) + ) (defpartgroup group-beach-sandworm :id 157 @@ -230,10 +226,10 @@ (none) ) -(defbehavior lurkerworm-prebind-function lurkerworm ((arg0 process) (arg1 int) (arg2 lurkerworm)) +(defbehavior lurkerworm-prebind-function lurkerworm ((arg0 pointer) (arg1 int) (arg2 lurkerworm)) (let ((v1-0 arg2) (s5-0 (new 'stack-no-clear 'quaternion)) - (gp-0 (&-> arg0 stack 324)) + (gp-0 (&+ arg0 432)) ) (quaternion-axis-angle! s5-0 -1.0 0.0 0.0 (-> v1-0 head-tilt)) (quaternion*! (the-as quaternion gp-0) (the-as quaternion gp-0) s5-0) @@ -335,7 +331,7 @@ lurkerworm-default-post-behavior ) :code (behavior () - (while #t + (loop (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) *target* (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -362,7 +358,7 @@ lurkerworm-default-post-behavior :code (behavior () (set! (-> self part local-clock) 0) - (while #t + (loop (spawn (-> self part) (-> self root-override trans)) (particle-effect self) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) @@ -390,24 +386,12 @@ lurkerworm-default-post-behavior :code (behavior () (ja-channel-set! 1) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-rise-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part) (-> self root-override trans)) (particle-effect self) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self strike-count) 3) (go lurkerworm-rest) @@ -443,15 +427,7 @@ lurkerworm-default-post-behavior (if gp-1 (+! (-> self strike-count) -1) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (particle-effect self) @@ -483,11 +459,7 @@ lurkerworm-default-post-behavior ) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if gp-1 (go lurkerworm-strike) @@ -505,34 +477,17 @@ lurkerworm-default-post-behavior lurkerworm-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 40) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-0 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (particle-effect self) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 13.0 0))) ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 40) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.135)) (go lurkerworm-rest) (none) ) @@ -550,24 +505,12 @@ lurkerworm-default-post-behavior ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-sink-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part2) (-> self root-override trans)) (particle-effect self) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go lurkerworm-idle) (none) @@ -590,22 +533,10 @@ lurkerworm-default-post-behavior (set! (-> v1-3 prim-core collide-as) (collide-kind)) ) 0 - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) @@ -698,9 +629,7 @@ lurkerworm-default-post-behavior (set! (-> obj twister) (new 'process 'twister 3 15 1092.2667 72.81778 0.25 0.001)) (TODO-RENAME-9 (-> obj twister) 3 9 910.2222) (set! (-> obj head-tilt) 0.0) - (set! (-> obj skel prebind-function) - (the-as (function pointer int process-drawable none) lurkerworm-prebind-function) - ) + (set! (-> obj skel prebind-function) lurkerworm-prebind-function) (set! (-> obj skel postbind-function) lurkerworm-joint-callback) (set! (-> obj root-override nav-radius) 12288.0) (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) diff --git a/goal_src/levels/beach/mayor.gc b/goal_src/levels/beach/mayor.gc index b8f831d5f0..dd8ec22f59 100644 --- a/goal_src/levels/beach/mayor.gc +++ b/goal_src/levels/beach/mayor.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *mayor-sg* mayor - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *mayor-sg* mayor mayor-lod0-jg mayor-idle-ja + ((mayor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow mayor-shadow-mg + ) (defmethod dummy-52 mayor ((obj mayor)) (let ((v1-1 (-> obj draw shadow-ctrl))) diff --git a/goal_src/levels/beach/pelican.gc b/goal_src/levels/beach/pelican.gc index c6f09dfc4d..c28f532437 100644 --- a/goal_src/levels/beach/pelican.gc +++ b/goal_src/levels/beach/pelican.gc @@ -101,14 +101,11 @@ ) ) -(defskelgroup *pelican-sg* pelican - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3 0 5) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *pelican-sg* pelican pelican-lod0-jg pelican-fly-ja + ((pelican-lod0-mg (meters 20)) (pelican-lod1-mg (meters 40)) (pelican-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3 0 5) + :shadow pelican-shadow-mg + ) (defbehavior pelican-path-update pelican ((arg0 float) (arg1 int) (arg2 float) (arg3 float) (arg4 symbol)) (TODO-RENAME-9 (-> self align)) @@ -130,95 +127,47 @@ ) (defbehavior pelican-fly pelican ((arg0 (function pelican int)) (arg1 (function pelican int))) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? pelican-fly-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) (let ((s4-0 (arg0 self))) (dotimes (s3-0 s4-0) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! pelican-fly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (let ((s4-1 (arg1 self))) (when (> s4-1 0) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> s3-1 param 0) (ja-aframe 12.0 0)) - (set! (-> s3-1 param 1) 1.0) - (set! (-> s3-1 frame-num) 0.0) - (joint-control-channel-group! s3-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! pelican-fly-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s3-2 (-> self skel root-channel 0))) - (set! (-> s3-2 param 0) (ja-aframe 12.0 0)) - (set! (-> s3-2 param 1) 1.0) - (joint-control-channel-group-eval! s3-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 12.0 0))) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 0.25) - (joint-control-channel-group! a0-18 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 300) + (ja-no-eval :num! (loop! 0.25)) + (ja-channel-push! 1 (seconds 1)) (dotimes (s3-3 s4-1) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! pelican-glide-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) 1.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja-no-eval :num! (loop!)) ) ) ) @@ -453,14 +402,8 @@ ) :code (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-0 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (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)))) @@ -480,34 +423,14 @@ ) ) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-2 param 1) 0.5) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 60) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + (ja :num! (seek! (ja-aframe 48.0 0) 0.5)) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! pelican-fly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -664,81 +587,36 @@ (ja-channel-set! 1) ) (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.25) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 75) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :num! (loop! 0.25)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! pelican-fly-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (until (vector= (-> self root-override trans) (-> self state-vector)) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop!)) ) + (ja-no-eval :num! (loop!)) (set! (-> self state-float 0) (* 4.0 (-> self state-float 0))) - (ja-channel-push! 1 15) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! pelican-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 150) + (ja-channel-push! 1 (seconds 0.5)) ) ) (send-event (handle->process (-> self cam-tracker)) 'message 'release) - (while #t - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (loop + (ja-no-eval :group! pelican-sleep-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -813,7 +691,7 @@ :command-list '((10 send-event camera 'teleport-to-vector-start-string (static-vectorm -179 16 -421))) ) - (the-as art-joint-anim (-> self draw art-group data 10)) + (the-as art-joint-anim pelican-sleep-ja) (the-as art-joint-anim #f) (the-as (function process-drawable symbol) false-func) ) @@ -903,12 +781,7 @@ ) :post (behavior () - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - ) + (if (not (ja-group? pelican-sleep-ja)) (quaternion-identity! (-> self root-override quat)) ) (pelican-post) diff --git a/goal_src/levels/beach/sculptor.gc b/goal_src/levels/beach/sculptor.gc index 24aa583573..621b4859cb 100644 --- a/goal_src/levels/beach/sculptor.gc +++ b/goal_src/levels/beach/sculptor.gc @@ -18,22 +18,16 @@ ) -(defskelgroup *sculptor-muse-sg* sculptor-muse - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sculptor-muse-sg* sculptor-muse sculptor-muse-lod0-jg sculptor-muse-idle-ja + ((sculptor-muse-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + ) -(defskelgroup *sculptor-sg* sculptor - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sculptor-sg* sculptor sculptor-lod0-jg sculptor-sigh-ja + ((sculptor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sculptor-shadow-mg + ) (defmethod dummy-52 sculptor ((obj sculptor)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -240,89 +234,43 @@ :virtual #t :code (behavior () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim #f) num-func-seek!) + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (get-art-elem self)) ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) (case (current-status (-> self tasks)) (((task-status invalid) (task-status need-resolution)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-from-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (muse-to-idle (the-as muse self)) ) ) - (while #t + (loop (let ((v1-43 (current-status (-> self tasks)))) (cond ((or (= v1-43 (task-status invalid)) (= v1-43 (task-status need-resolution))) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-to-small-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((f30-0 4.0) (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-69 (the-as number (logior #x3f800000 v1-68))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-69)))) 4)) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-small-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -330,149 +278,53 @@ (v1-98 (the-as number (logior #x3f800000 v1-97))) (f30-1 (+ -1.0 (the-as float v1-98))) ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-small-to-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-34 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! a0-34 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-from-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) (the float (+ (-> a0-35 frame-group data 0 length) -1))) - (set! (-> a0-35 param 1) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (< f30-1 0.5) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-37 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-to-huge-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((f30-2 2.0) (v1-190 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-191 (the-as number (logior #x3f800000 v1-190))) ) (countdown (gp-2 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-191)))) 2)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-42 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-huge-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-45 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-huge-to-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-48 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-48 param 1) 1.0) - (set! (-> a0-48 frame-num) 0.0) - (joint-control-channel-group! a0-48 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-51 (-> self skel root-channel 0))) - (set! (-> a0-51 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-51 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-51 param 1) 1.0) - (set! (-> a0-51 frame-num) 0.0) - (joint-control-channel-group! a0-51 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-from-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-52 (-> self skel root-channel 0))) - (set! (-> a0-52 param 0) (the float (+ (-> a0-52 frame-group data 0 length) -1))) - (set! (-> a0-52 param 1) 1.0) - (joint-control-channel-group-eval! a0-52 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -484,22 +336,10 @@ (v1-288 (the-as number (logior #x3f800000 v1-287))) ) (countdown (gp-3 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-288)))) 4)) - (let ((a0-57 (-> self skel root-channel 0))) - (set! (-> a0-57 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-57 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-57 param 1) 1.0) - (set! (-> a0-57 frame-num) 0.0) - (joint-control-channel-group! a0-57 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-58 (-> self skel root-channel 0))) - (set! (-> a0-58 param 0) (the float (+ (-> a0-58 frame-group data 0 length) -1))) - (set! (-> a0-58 param 1) 1.0) - (joint-control-channel-group-eval! a0-58 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -509,75 +349,27 @@ (< (+ -1.0 (the-as float v1-317)) 0.5) ) ) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-62 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-62 param 1) 1.0) - (set! (-> a0-62 frame-num) 0.0) - (joint-control-channel-group! a0-62 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-sigh-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) (the float (+ (-> a0-63 frame-group data 0 length) -1))) - (set! (-> a0-63 param 1) 1.0) - (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-65 (-> self skel root-channel 0))) - (set! (-> a0-65 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-65 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-65 param 1) 1.0) - (set! (-> a0-65 frame-num) 0.0) - (joint-control-channel-group! a0-65 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-strikestart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-66 (-> self skel root-channel 0))) - (set! (-> a0-66 param 0) (the float (+ (-> a0-66 frame-group data 0 length) -1))) - (set! (-> a0-66 param 1) 1.0) - (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-68 (-> self skel root-channel 0))) - (set! (-> a0-68 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-68 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-68 param 1) 1.0) - (set! (-> a0-68 frame-num) 0.0) - (joint-control-channel-group! a0-68 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-strikemiddle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-69 (-> self skel root-channel 0))) - (set! (-> a0-69 param 0) (the float (+ (-> a0-69 frame-group data 0 length) -1))) - (set! (-> a0-69 param 1) 1.0) - (joint-control-channel-group-eval! a0-69 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-71 (-> self skel root-channel 0))) - (set! (-> a0-71 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-71 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-71 param 1) 1.0) - (set! (-> a0-71 frame-num) 0.0) - (joint-control-channel-group! a0-71 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-strikeend-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-72 (-> self skel root-channel 0))) - (set! (-> a0-72 param 0) (the float (+ (-> a0-72 frame-group data 0 length) -1))) - (set! (-> a0-72 param 1) 1.0) - (joint-control-channel-group-eval! a0-72 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/beach/seagull.gc b/goal_src/levels/beach/seagull.gc index 6e1fcb60e3..c55c29a7f3 100644 --- a/goal_src/levels/beach/seagull.gc +++ b/goal_src/levels/beach/seagull.gc @@ -186,13 +186,10 @@ ) ) -(defskelgroup *seagull-sg* seagull - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *seagull-sg* seagull seagull-lod0-jg seagull-idle-ja + ((seagull-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (defmethod dummy-25 seagull ((obj seagull) (arg0 float)) (let ((f1-1 (the float (sar (shl (the int (- arg0 (-> obj heading))) 48) 48))) @@ -384,15 +381,8 @@ (move-to-ground (-> self root-override) 40960.0 40960.0 #t (collide-kind background)) (update-transforms! (-> self root-override)) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) - (while #t + (ja :group! seagull-idle-ja :num! (identity (ja-aframe 0.0 0))) + (loop (let* ((f30-0 4.0) (v1-14 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-15 (the-as number (logior #x3f800000 v1-14))) @@ -409,20 +399,10 @@ ) (cond ((zero? gp-1) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-2 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! seagull-idle-ja :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 4.0 0))) ) (let* ((f30-2 60.0) (v1-37 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -433,20 +413,10 @@ (suspend) ) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-5 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! seagull-idle-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 10.0 0))) ) (let* ((f30-3 60.0) (v1-55 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -457,71 +427,31 @@ (suspend) ) ) - (let ((gp-8 (-> self skel root-channel 0))) - (set! (-> gp-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-8 param 0) (ja-aframe 14.0 0)) - (set! (-> gp-8 param 1) 1.0) - (set! (-> gp-8 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! gp-8 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! seagull-idle-ja :num! (seek! (ja-aframe 14.0 0)) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-9 (-> self skel root-channel 0))) - (set! (-> gp-9 param 0) (ja-aframe 14.0 0)) - (set! (-> gp-9 param 1) 1.0) - (joint-control-channel-group-eval! gp-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 14.0 0))) ) ) ((= gp-1 2) - (let ((gp-10 (-> self skel root-channel 0))) - (set! (-> gp-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-10 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-10 param 1) 1.0) - (set! (-> gp-10 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! seagull-peck-ja :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-11 (-> self skel root-channel 0))) - (set! (-> gp-11 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-11 param 1) 1.0) - (joint-control-channel-group-eval! gp-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 4.0 0))) ) ) ((= gp-1 3) - (let ((gp-12 (-> self skel root-channel 0))) - (set! (-> gp-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-12 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-12 param 1) 1.0) - (set! (-> gp-12 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! gp-12 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! seagull-peck-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-13 (-> self skel root-channel 0))) - (set! (-> gp-13 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-13 param 1) 1.0) - (joint-control-channel-group-eval! gp-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 8.0 0))) ) ) ((= gp-1 4) - (let ((gp-14 (-> self skel root-channel 0))) - (set! (-> gp-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-14 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-14 param 1) 1.0) - (set! (-> gp-14 frame-num) (ja-aframe 8.0 0)) - (joint-control-channel-group! gp-14 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! seagull-peck-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 8.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-15 (-> self skel root-channel 0))) - (set! (-> gp-15 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-15 param 1) 1.0) - (joint-control-channel-group-eval! gp-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 12.0 0))) ) ) ) @@ -656,13 +586,7 @@ :code (behavior () (set! (-> self part-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> gp-0 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (when (and (>= (ja-frame-num 0) (ja-aframe 2.0 0)) (>= (ja-aframe 3.0 0) (ja-frame-num 0))) (let* ((v1-13 self) @@ -696,18 +620,10 @@ ) (dummy-27 self) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 4.0 0))) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 20) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.067)) (go seagull-flying) (none) ) @@ -728,16 +644,8 @@ (behavior () (set! (-> self max-tilt) 1820.4445) (let ((gp-0 0)) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! seagull-fly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (when (-> self teleport) @@ -890,11 +798,7 @@ 0 (dummy-27 self) (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (+! gp-0 1) (when (>= gp-0 0) @@ -935,16 +839,8 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self max-tilt) 4551.1113) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! seagull-slowfly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (when (-> self teleport) @@ -1085,11 +981,7 @@ ) ) (suspend) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) (the float (+ (-> a0-54 frame-group data 0 length) -1))) - (set! (-> a0-54 param 1) 1.0) - (joint-control-channel-group-eval! a0-54 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1164,27 +1056,12 @@ ) 0 ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 40) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 0.0 0)) - ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.135)) + (ja :group! seagull-land-ja :num! (identity (ja-aframe 0.0 0))) (while (< 0.0 f30-0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! f30-0 (- f30-0 (-> *display* seconds-per-frame))) (fill-cache-integrate-and-collide! (-> self root-override) @@ -1228,11 +1105,7 @@ ) (while (not (ja-done? 0)) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (let* ((v1-59 self) (f1-23 (the float (sar (shl (the int (- (-> self heading) (-> v1-59 heading))) 48) 48))) (f0-47 (- (-> v1-59 tilt))) @@ -1487,7 +1360,7 @@ (defstate seagullflock-idle (seagullflock) :code (behavior () - (while #t + (loop (if (> (-> self teleport-frames) 0) (go seagullflock-at-waterfall) ) diff --git a/goal_src/levels/citadel/assistant-citadel.gc b/goal_src/levels/citadel/assistant-citadel.gc index 4b86dc08fd..8ba96b23d6 100644 --- a/goal_src/levels/citadel/assistant-citadel.gc +++ b/goal_src/levels/citadel/assistant-citadel.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *assistant-lavatube-end-sg* assistant-lavatube-end - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-lavatube-end-sg* assistant-lavatube-end assistant-lavatube-end-lod0-jg assistant-lavatube-end-idle-ja + ((assistant-lavatube-end-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-lavatube-end-shadow-mg + ) (defmethod play-anim! assistant-lavatube-end ((obj assistant-lavatube-end) (arg0 symbol)) (case (current-status (-> obj tasks)) @@ -101,50 +98,15 @@ ) :code (behavior () - (while #t - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 3)) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/citadel/citadel-obs.gc b/goal_src/levels/citadel/citadel-obs.gc index a152defe12..0c556e6d25 100644 --- a/goal_src/levels/citadel/citadel-obs.gc +++ b/goal_src/levels/citadel/citadel-obs.gc @@ -26,53 +26,41 @@ ) -(defskelgroup *citb-arm-a-sg* citb-arm - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 9) - ) +(defskelgroup *citb-arm-a-sg* citb-arm citb-arm-a-lod0-jg citb-arm-a-idle-ja + ((citb-arm-a-lod0-mg (meters 20)) (citb-arm-a-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + :longest-edge (meters 9) + ) -(defskelgroup *citb-arm-b-sg* citb-arm - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 10) - ) +(defskelgroup *citb-arm-b-sg* citb-arm citb-arm-b-lod0-jg citb-arm-b-idle-ja + ((citb-arm-b-lod0-mg (meters 20)) (citb-arm-b-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + :longest-edge (meters 10) + ) -(defskelgroup *citb-arm-c-sg* citb-arm - 8 - 11 - ((9 (meters 20)) (10 (meters 999999))) - :bounds (static-spherem 0 0 0 25) - :longest-edge (meters 11) - ) +(defskelgroup *citb-arm-c-sg* citb-arm citb-arm-c-lod0-jg citb-arm-c-idle-ja + ((citb-arm-c-lod0-mg (meters 20)) (citb-arm-c-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25) + :longest-edge (meters 11) + ) -(defskelgroup *citb-arm-d-sg* citb-arm - 12 - 15 - ((13 (meters 20)) (14 (meters 999999))) - :bounds (static-spherem 0 0 0 29) - :longest-edge (meters 8) - ) +(defskelgroup *citb-arm-d-sg* citb-arm citb-arm-d-lod0-jg citb-arm-d-idle-ja + ((citb-arm-d-lod0-mg (meters 20)) (citb-arm-d-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 29) + :longest-edge (meters 8) + ) -(defskelgroup *citb-arm-shoulder-a-sg* citb-arm-shoulder - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 10) - ) +(defskelgroup *citb-arm-shoulder-a-sg* citb-arm-shoulder citb-arm-shoulder-a-lod0-jg citb-arm-shoulder-a-idle-ja + ((citb-arm-shoulder-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + :longest-edge (meters 10) + ) -(defskelgroup *citb-arm-shoulder-b-sg* citb-arm-shoulder - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 10) - ) +(defskelgroup *citb-arm-shoulder-b-sg* citb-arm-shoulder citb-arm-shoulder-b-lod0-jg citb-arm-shoulder-b-idle-ja + ((citb-arm-shoulder-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + :longest-edge (meters 10) + ) (defstate idle (citb-arm-section) :virtual #t @@ -81,7 +69,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (while #t + (loop (cond ((< (- (-> (target-pos 0) y) (-> self root trans y)) -122880.0) (set! (-> self draw force-lod) 1) @@ -324,37 +312,29 @@ (none) ) -(defskelgroup *citb-disc-a-sg* citb-disc - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 7.5) - ) +(defskelgroup *citb-disc-a-sg* citb-disc citb-disc-a-lod0-jg citb-disc-a-idle-ja + ((citb-disc-a-lod0-mg (meters 20)) (citb-disc-a-lod1-mg (meters 40)) (citb-disc-a-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 7.5) + ) -(defskelgroup *citb-disc-b-sg* citb-disc - 5 - 9 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 7.5) - ) +(defskelgroup *citb-disc-b-sg* citb-disc citb-disc-b-lod0-jg citb-disc-b-idle-ja + ((citb-disc-b-lod0-mg (meters 20)) (citb-disc-b-lod1-mg (meters 40)) (citb-disc-b-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 7.5) + ) -(defskelgroup *citb-disc-c-sg* citb-disc - 10 - 14 - ((11 (meters 20)) (12 (meters 40)) (13 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 11) - ) +(defskelgroup *citb-disc-c-sg* citb-disc citb-disc-c-lod0-jg citb-disc-c-idle-ja + ((citb-disc-c-lod0-mg (meters 20)) (citb-disc-c-lod1-mg (meters 40)) (citb-disc-c-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 11) + ) -(defskelgroup *citb-disc-d-sg* citb-disc - 15 - 19 - ((16 (meters 20)) (17 (meters 40)) (18 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 8) - ) +(defskelgroup *citb-disc-d-sg* citb-disc citb-disc-d-lod0-jg citb-disc-d-idle-ja + ((citb-disc-d-lod0-mg (meters 20)) (citb-disc-d-lod1-mg (meters 40)) (citb-disc-d-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 8) + ) (deftype citb-disc (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -390,7 +370,7 @@ (the-as (function none :behavior citb-disc) rider-trans) :code (behavior () - (while #t + (loop (update! (-> self sound)) (quaternion-axis-angle! (-> self root-override quat) @@ -531,13 +511,10 @@ ) -(defskelgroup *citb-iris-door-sg* citb-iris-door - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *citb-iris-door-sg* citb-iris-door citb-iris-door-lod0-jg citb-iris-door-idle-ja + ((citb-iris-door-lod0-mg (meters 20)) (citb-iris-door-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defmethod TODO-RENAME-24 citb-iris-door ((obj citb-iris-door)) (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) @@ -569,13 +546,10 @@ (none) ) -(defskelgroup *citb-button-sg* citb-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-button-sg* citb-button citb-button-lod0-jg citb-button-idle-ja + ((citb-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (deftype citb-button (basebutton) () @@ -668,13 +642,10 @@ ) ) -(defskelgroup *citb-launcher-sg* citb-launcher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *citb-launcher-sg* citb-launcher citb-launcher-lod0-jg citb-launcher-idle-ja + ((citb-launcher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defmethod get-unlit-skel citb-launcher ((obj citb-launcher)) *citb-launcher-sg* @@ -704,77 +675,58 @@ (none) ) -(defskelgroup *citb-robotboss-sg* citb-robotboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 17 0 18) - :longest-edge (meters 6) - ) +(defskelgroup *citb-robotboss-sg* citb-robotboss citb-robotboss-lod0-jg citb-robotboss-idle-ja + ((citb-robotboss-lod0-mg (meters 999999))) + :bounds (static-spherem 0 17 0 18) + :longest-edge (meters 6) + ) -(defskelgroup *citb-robotboss-head-sg* citb-robotboss - 6 - 8 - ((7 (meters 999999))) - :bounds (static-spherem 0 30 10 12) - :longest-edge (meters 2) - ) +(defskelgroup *citb-robotboss-head-sg* citb-robotboss citb-robotboss-head-lod0-jg citb-robotboss-head-idle-ja + ((citb-robotboss-head-lod0-mg (meters 999999))) + :bounds (static-spherem 0 30 10 12) + :longest-edge (meters 2) + ) -(defskelgroup *citb-robotboss-nose-sg* citb-robotboss - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 10 20 15) - :longest-edge (meters 0) - ) +(defskelgroup *citb-robotboss-nose-sg* citb-robotboss citb-robotboss-nose-lod0-jg citb-robotboss-nose-idle-ja + ((citb-robotboss-nose-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 20 15) + ) -(defskelgroup *citb-robotboss-gun-sg* citb-robotboss - 9 - 11 - ((10 (meters 999999))) - :bounds (static-spherem 0 28 -10 14) - :longest-edge (meters 5) - ) +(defskelgroup *citb-robotboss-gun-sg* citb-robotboss citb-robotboss-gun-lod0-jg citb-robotboss-gun-idle-ja + ((citb-robotboss-gun-lod0-mg (meters 999999))) + :bounds (static-spherem 0 28 -10 14) + :longest-edge (meters 5) + ) -(defskelgroup *citb-robotboss-leftshoulder-sg* citb-robotboss - 12 - 14 - ((13 (meters 999999))) - :bounds (static-spherem 17 27 0 14) - :longest-edge (meters 6) - ) +(defskelgroup *citb-robotboss-leftshoulder-sg* citb-robotboss citb-robotboss-leftshoulder-lod0-jg citb-robotboss-leftshoulder-idle-ja + ((citb-robotboss-leftshoulder-lod0-mg (meters 999999))) + :bounds (static-spherem 17 27 0 14) + :longest-edge (meters 6) + ) -(defskelgroup *citb-robotboss-rightshoulder-sg* citb-robotboss - 15 - 17 - ((16 (meters 999999))) - :bounds (static-spherem -17 27 0 14) - :longest-edge (meters 6) - ) +(defskelgroup *citb-robotboss-rightshoulder-sg* citb-robotboss citb-robotboss-rightshoulder-lod0-jg citb-robotboss-rightshoulder-idle-ja + ((citb-robotboss-rightshoulder-lod0-mg (meters 999999))) + :bounds (static-spherem -17 27 0 14) + :longest-edge (meters 6) + ) -(defskelgroup *citb-robotboss-leftarm-sg* citb-robotboss - 18 - 20 - ((19 (meters 999999))) - :bounds (static-spherem 15 5 -10 20) - :longest-edge (meters 9) - ) +(defskelgroup *citb-robotboss-leftarm-sg* citb-robotboss citb-robotboss-leftarm-lod0-jg citb-robotboss-leftarm-idle-ja + ((citb-robotboss-leftarm-lod0-mg (meters 999999))) + :bounds (static-spherem 15 5 -10 20) + :longest-edge (meters 9) + ) -(defskelgroup *citb-robotboss-rightarm-sg* citb-robotboss - 21 - 23 - ((22 (meters 999999))) - :bounds (static-spherem -15 0 -8 16) - :longest-edge (meters 3) - ) +(defskelgroup *citb-robotboss-rightarm-sg* citb-robotboss citb-robotboss-rightarm-lod0-jg citb-robotboss-rightarm-idle-ja + ((citb-robotboss-rightarm-lod0-mg (meters 999999))) + :bounds (static-spherem -15 0 -8 16) + :longest-edge (meters 3) + ) -(defskelgroup *citb-robotboss-belly-sg* citb-robotboss - 24 - 26 - ((25 (meters 999999))) - :bounds (static-spherem 0 -2 3 10) - :longest-edge (meters 3) - ) +(defskelgroup *citb-robotboss-belly-sg* citb-robotboss citb-robotboss-belly-lod0-jg citb-robotboss-belly-idle-ja + ((citb-robotboss-belly-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -2 3 10) + :longest-edge (meters 3) + ) (deftype citb-robotboss (process-drawable) ((root-override collide-shape :offset 112) @@ -1014,7 +966,7 @@ (send-event (ppointer->process gp-7) 'draw #t) ) (update-transforms! (-> self root-override)) - (while #t + (loop (when (-> self shield-on) (update! (-> self sound)) (spawn (-> self part) (-> self root-override trans)) @@ -1067,13 +1019,10 @@ (none) ) -(defskelgroup *citb-coil-sg* citb-coil - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *citb-coil-sg* citb-coil citb-coil-lod0-jg citb-coil-idle-ja + ((citb-coil-lod0-mg (meters 20)) (citb-coil-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (deftype citb-coil (process-drawable) ((part-off sparticle-launch-control :offset-assert 176) @@ -1116,40 +1065,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1166,23 +1086,11 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go citb-coil-broken) (none) @@ -1194,24 +1102,12 @@ (defstate citb-coil-broken (citb-coil) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (spawn (-> self part-off) (-> self root trans)) (suspend) ) @@ -1239,13 +1135,10 @@ (none) ) -(defskelgroup *citb-hose-sg* citb-hose - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *citb-hose-sg* citb-hose citb-hose-lod0-jg citb-hose-idle-ja + ((citb-hose-lod0-mg (meters 20)) (citb-hose-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (deftype citb-hose (process-drawable) () @@ -1277,23 +1170,11 @@ citb-hose-event-handler :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1307,23 +1188,11 @@ citb-hose-event-handler :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go citb-hose-idle) (none) @@ -1338,23 +1207,11 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -1387,21 +1244,15 @@ ) -(defskelgroup *citb-generator-sg* citb-generator - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *citb-generator-sg* citb-generator citb-generator-lod0-jg citb-generator-idle-ja + ((citb-generator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) -(defskelgroup *citb-generator-broken-sg* citb-generator - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *citb-generator-broken-sg* citb-generator citb-generator-broken-lod0-jg citb-generator-idle-ja + ((citb-generator-broken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (deftype citb-generator (process-drawable) ((root-override collide-shape :offset 112) @@ -1551,7 +1402,7 @@ (behavior () (lods-assign! (-> self draw) (-> self normal-look)) (update-transforms! (-> self root-override)) - (while #t + (loop (spawn (-> self part) (-> self root-override trans)) (update! (-> self sound)) (if (-> self mushroom) @@ -1756,13 +1607,10 @@ (none) ) -(defskelgroup *citadelcam-sg* citadelcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *citadelcam-sg* citadelcam citadelcam-lod0-jg citadelcam-idle-ja + ((citadelcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) (deftype citadelcam (process-drawable) () diff --git a/goal_src/levels/citadel/citadel-sages.gc b/goal_src/levels/citadel/citadel-sages.gc index f8fbf0b29d..045337a794 100644 --- a/goal_src/levels/citadel/citadel-sages.gc +++ b/goal_src/levels/citadel/citadel-sages.gc @@ -11,13 +11,10 @@ ;; DECOMP BEGINS -(defskelgroup *citb-sagecage-sg* citb-sagecage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -6 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *citb-sagecage-sg* citb-sagecage citb-sagecage-lod0-jg citb-sagecage-redsage-idle-ja + ((citb-sagecage-lod0-mg (meters 20)) (citb-sagecage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 7) + ) (deftype citb-sagecage (process-drawable) ((parent-override (pointer citb-sage) :offset 12) @@ -128,7 +125,7 @@ (the-as (function none :behavior citb-sagecage) rider-trans) :code (behavior () - (while #t + (loop (cond ((-> self cloning) (let ((gp-0 (ppointer->process (-> self parent-override)))) @@ -146,10 +143,7 @@ ) ) (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (suspend) @@ -237,59 +231,41 @@ (none) ) -(defskelgroup *redsage-sg* redsage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *redsage-sg* redsage redsage-lod0-jg redsage-redsage-idle-ja + ((redsage-lod0-mg (meters 20)) (redsage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :shadow redsage-shadow-mg + ) -(defskelgroup *bluesage-sg* bluesage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *bluesage-sg* bluesage bluesage-lod0-jg bluesage-bluesage-idle-ja + ((bluesage-lod0-mg (meters 20)) (bluesage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow bluesage-shadow-mg + ) -(defskelgroup *yellowsage-sg* yellowsage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *yellowsage-sg* yellowsage yellowsage-lod0-jg yellowsage-yellowsage-idle-ja + ((yellowsage-lod0-mg (meters 20)) (yellowsage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :shadow yellowsage-shadow-mg + ) -(defskelgroup *green-sagecage-sg* green-sagecage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *green-sagecage-sg* green-sagecage green-sagecage-lod0-jg green-sagecage-green-sagecage-idle-ja + ((green-sagecage-lod0-mg (meters 20)) (green-sagecage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow green-sagecage-shadow-mg + ) -(defskelgroup *evilbro-citadel-sg* evilbro-citadel - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilbro-citadel-sg* evilbro-citadel evilbro-citadel-lod0-jg evilbro-citadel-idle-ja + ((evilbro-citadel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :shadow evilbro-citadel-shadow-mg + ) -(defskelgroup *evilsis-citadel-sg* evilsis-citadel - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilsis-citadel-sg* evilsis-citadel evilsis-citadel-lod0-jg evilsis-citadel-idle-ja + ((evilsis-citadel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :shadow evilsis-citadel-shadow-mg + ) (deftype citb-sage (process-taskable) ((spawn-pos vector :inline :offset-assert 384) @@ -473,7 +449,7 @@ (behavior () (#if PC_PORT ;; fix infinite state recursion - (if (and (not (and (-> self been-kicked) (-> *pc-settings* fixes crash-sagecage))) (not (should-display? self))) + (if (and (not (-> self been-kicked)) (not (should-display? self))) (go-virtual hidden) ) ;; no fix diff --git a/goal_src/levels/citadel/citb-bunny.gc b/goal_src/levels/citadel/citb-bunny.gc index 79d3c7c947..e1b875d157 100644 --- a/goal_src/levels/citadel/citb-bunny.gc +++ b/goal_src/levels/citadel/citb-bunny.gc @@ -21,13 +21,10 @@ ) -(defskelgroup *citb-bunny-sg* citb-bunny - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0.25 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *citb-bunny-sg* citb-bunny citb-bunny-lod0-jg citb-bunny-idle-ja + ((citb-bunny-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0.25 0 2) + ) (define *citb-bunny-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 3 diff --git a/goal_src/levels/citadel/citb-drop-plat.gc b/goal_src/levels/citadel/citb-drop-plat.gc index f615a7b9f2..4d1e5d25be 100644 --- a/goal_src/levels/citadel/citb-drop-plat.gc +++ b/goal_src/levels/citadel/citb-drop-plat.gc @@ -7,45 +7,30 @@ ;; DECOMP BEGINS -(defskelgroup *citb-drop-plat-sg* citb-drop-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-sg* citb-drop-plat citb-drop-plat-lod0-jg citb-drop-plat-idle-ja + ((citb-drop-plat-lod0-mg (meters 20)) (citb-drop-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *citb-drop-plat-red-sg* citb-drop-plat - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-red-sg* citb-drop-plat citb-drop-plat-red-lod0-jg citb-drop-plat-red-idle-ja + ((citb-drop-plat-red-lod0-mg (meters 20)) (citb-drop-plat-red-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *citb-drop-plat-green-sg* citb-drop-plat - 8 - 11 - ((9 (meters 20)) (10 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-green-sg* citb-drop-plat citb-drop-plat-green-lod0-jg citb-drop-plat-green-idle-ja + ((citb-drop-plat-green-lod0-mg (meters 20)) (citb-drop-plat-green-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *citb-drop-plat-blue-sg* citb-drop-plat - 12 - 15 - ((13 (meters 20)) (14 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-blue-sg* citb-drop-plat citb-drop-plat-blue-lod0-jg citb-drop-plat-blue-idle-ja + ((citb-drop-plat-blue-lod0-mg (meters 20)) (citb-drop-plat-blue-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *citb-drop-plat-yellow-sg* citb-drop-plat - 16 - 19 - ((17 (meters 20)) (18 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-yellow-sg* citb-drop-plat citb-drop-plat-yellow-lod0-jg citb-drop-plat-yellow-idle-ja + ((citb-drop-plat-yellow-lod0-mg (meters 20)) (citb-drop-plat-yellow-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (deftype drop-plat (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -96,7 +81,7 @@ (update-transforms! (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self mask) (process-mask actor-pause)) - (while #t + (loop (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self duration)) (go drop-plat-drop) ) @@ -140,7 +125,7 @@ (logior! (-> self draw status) (draw-status hidden)) (ja-post) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self delay)) (let ((v1-14 (logclear (-> self draw status) (draw-status hidden))) (a0-5 (-> self draw)) @@ -177,7 +162,7 @@ ) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> gp-0 y) (-> (the-as process-drawable (-> self parent 0)) root trans y)) - (while #t + (loop (let ((f0-6 (fmax 0.0 (- 1.0 (* 0.0033333334 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) @@ -228,7 +213,7 @@ ) ) ) - (while #t + (loop (vector-v++! (-> self root-override transv) (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 0.0) @@ -494,7 +479,7 @@ :code (behavior () (citb-drop-plat-drop-all-children) - (while #t + (loop (suspend) ) (none) @@ -523,7 +508,7 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (citb-drop-plat-spawn-children) - (while #t + (loop (if (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (+ (-> self duration) (seconds 2))) (or (not *target*) (< (-> self idle-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) diff --git a/goal_src/levels/citadel/citb-plat.gc b/goal_src/levels/citadel/citb-plat.gc index 8625355e2f..9aa0917151 100644 --- a/goal_src/levels/citadel/citb-plat.gc +++ b/goal_src/levels/citadel/citb-plat.gc @@ -23,37 +23,31 @@ ;; DECOMP BEGINS -(defskelgroup *plat-citb-sg* plat-citb - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(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))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *plat-eco-citb-unlit-sg* plat-eco-citb - 0 - 8 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-citb-unlit-sg* plat-eco-citb plat-eco-citb-lod0-jg plat-eco-citb-idle-ja + ((plat-eco-citb-lod0-mg (meters 20)) + (plat-eco-citb-lod1-mg (meters 40)) + (plat-eco-citb-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *plat-eco-citb-lit-sg* plat-eco-citb - 4 - 8 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-citb-lit-sg* plat-eco-citb plat-eco-citb-lit-lod0-jg plat-eco-citb-idle-ja + ((plat-eco-citb-lit-lod0-mg (meters 20)) + (plat-eco-citb-lit-lod1-mg (meters 40)) + (plat-eco-citb-lit-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *citb-chain-plat-sg* citb-chain-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *citb-chain-plat-sg* citb-chain-plat citb-chain-plat-lod0-jg citb-chain-plat-idle-ja + ((citb-chain-plat-lod0-mg (meters 20)) (citb-chain-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) (deftype citb-base-plat (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -341,7 +335,7 @@ (suspend) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (let ((f30-0 (- 1.0 (* 0.0011111111 (the float (- (-> *display* base-frame-counter) (-> self state-time))))))) (when (< f30-0 0.0) (set! (-> self root-override trans y) (-> self rise-height)) @@ -661,13 +655,10 @@ (none) ) -(defskelgroup *citb-rotatebox-sg* citb-rotatebox - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -5 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *citb-rotatebox-sg* citb-rotatebox citb-rotatebox-lod0-jg citb-rotatebox-idle-ja + ((citb-rotatebox-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -5 0 10) + ) (deftype citb-rotatebox (citb-base-plat) () @@ -684,40 +675,11 @@ (the-as (function none :behavior citb-rotatebox) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (or (not *target*) (< (+ 8192.0 (-> self idle-distance)) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) @@ -761,13 +723,10 @@ (none) ) -(defskelgroup *citb-donut-sg* citb-donut - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *citb-donut-sg* citb-donut citb-donut-lod0-jg citb-donut-idle-ja + ((citb-donut-lod0-mg (meters 20)) (citb-donut-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (deftype citb-donut (citb-base-plat) ((sync sync-info :inline :offset-assert 180) @@ -832,13 +791,10 @@ (none) ) -(defskelgroup *citb-stopbox-sg* citb-stopbox - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -2 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *citb-stopbox-sg* citb-stopbox citb-stopbox-lod0-jg citb-stopbox-idle-ja + ((citb-stopbox-lod0-mg (meters 20)) (citb-stopbox-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -2 0 5.5) + ) (deftype citb-stopbox (plat) () @@ -926,13 +882,10 @@ ) -(defskelgroup *citb-firehose-sg* citb-firehose - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *citb-firehose-sg* citb-firehose citb-firehose-lod0-jg citb-firehose-idle-ja + ((citb-firehose-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 15) + ) (defstate citb-firehose-idle (citb-firehose) :trans @@ -947,7 +900,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -977,7 +930,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1029,24 +982,12 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (restore-collide-with-as (-> self root-override)) (sound-play-by-name (static-sound-name "eco-torch") @@ -1058,44 +999,20 @@ (the-as symbol (-> self blast-pos)) ) (dotimes (gp-1 2) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self blast-pos quad) (-> self node-list data 5 bone transform vector 3 quad)) (citb-firehose-blast-particles) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 30) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go citb-firehose-active) (none) @@ -1148,13 +1065,10 @@ (none) ) -(defskelgroup *citb-exit-plat-sg* citb-exit-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *citb-exit-plat-sg* citb-exit-plat citb-exit-plat-lod0-jg citb-exit-plat-idle-ja + ((citb-exit-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) (deftype citb-exit-plat (plat-button) ((idle-height float :offset-assert 240) @@ -1189,7 +1103,7 @@ (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) - (while #t + (loop (suspend) ) (none) @@ -1204,7 +1118,7 @@ (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (let ((f30-0 (- 1.0 (* 0.0016666667 (the float (- (-> *display* base-frame-counter) (-> self state-time))))))) (when (< f30-0 0.0) (set! (-> self root-override trans y) (-> self rise-height)) diff --git a/goal_src/levels/common/babak.gc b/goal_src/levels/common/babak.gc index 7f988518fc..5462933731 100644 --- a/goal_src/levels/common/babak.gc +++ b/goal_src/levels/common/babak.gc @@ -19,46 +19,28 @@ ) -(defskelgroup *babak-sg* babak - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2 0 3) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *babak-sg* babak babak-lod0-jg -1 + ((babak-lod0-mg (meters 20)) (babak-lod1-mg (meters 40)) (babak-lod2-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3) + :longest-edge (meters 1) + :shadow babak-shadow-mg + ) (defstate nav-enemy-patrol (babak) :virtual #t :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + ((ja-group? babak-give-up-hop-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! babak-walk-ja :num! (seek!) :frame-num (ja-aframe 12.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) ((the-as (function none) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) @@ -72,61 +54,29 @@ (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 14) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 51) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-7 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + ((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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) + (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) ) ) - (while #t + (loop (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -142,89 +92,41 @@ (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! babak-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! babak-turn-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 0.75) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? babak-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! babak-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-percent? 0.3) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! babak-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) ) @@ -239,7 +141,7 @@ (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -248,36 +150,16 @@ ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! babak-give-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! babak-give-up-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -286,11 +168,7 @@ (-> self turn-time) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -301,33 +179,17 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! (ja-aframe 32.0 0) 0.5) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.5)) ) (go-virtual nav-enemy-chase) (none) diff --git a/goal_src/levels/common/basebutton.gc b/goal_src/levels/common/basebutton.gc index 975f5b4a8a..16b41b5b58 100644 --- a/goal_src/levels/common/basebutton.gc +++ b/goal_src/levels/common/basebutton.gc @@ -45,13 +45,10 @@ ) -(defskelgroup *generic-button-sg* generic-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *generic-button-sg* generic-button generic-button-lod0-jg generic-button-idle-ja + ((generic-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (defmethod move-to-vec-or-quat! basebutton ((obj basebutton) (arg0 vector) (arg1 quaternion)) (set! (-> obj move-to?) #t) @@ -149,18 +146,10 @@ (the-as (function none :behavior basebutton) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! max (-> self anim-speed))) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) (TODO-RENAME-29 self (-> self event-down) (-> self notify-actor)) (go-virtual basebutton-down-idle) @@ -257,18 +246,10 @@ (the-as (function none :behavior basebutton) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0 (-> self anim-speed))) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self anim-speed))) ) (TODO-RENAME-29 self (-> self event-up) (-> self notify-actor)) (go-virtual basebutton-up-idle) @@ -634,21 +615,11 @@ :code (behavior ((arg0 vector) (arg1 vector)) (send-event *camera* 'change-state cam-fixed 0) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-0 param 0) (ja-aframe 16.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (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) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 16.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 16.0 0))) ) (vector-! (-> self control transv) (-> self control unknown-vector102) (-> self control trans)) (vector-xz-normalize! (-> self control transv) 32768.0) @@ -723,20 +694,10 @@ ) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-3 param 0) (ja-aframe 40.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe 40.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 40.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 40.0 0))) ) (anim-loop) (none) diff --git a/goal_src/levels/common/baseplat.gc b/goal_src/levels/common/baseplat.gc index ebc6a162d2..641b4777c9 100644 --- a/goal_src/levels/common/baseplat.gc +++ b/goal_src/levels/common/baseplat.gc @@ -88,7 +88,7 @@ (suspend) (transform-post) (suspend) - (while #t + (loop (when (not (-> self bouncing)) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -205,14 +205,11 @@ eco-door-event-handler eco-door-event-handler :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) (update-transforms! (-> self root-override)) (ja-post) - (while #t + (loop (when (and *target* (>= (-> self open-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -267,11 +264,7 @@ eco-door-event-handler (sound-play-by-name (-> self open-sound) (new-sound-id) 1024 0 0 1 #t) (clear-collide-with-as (-> self root-override)) (until (ja-done? 0) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self speed))) (if (and gp-0 (rand-vu-percent? 0.5)) (spawn-projectile-blue *target*) ) @@ -294,15 +287,12 @@ eco-door-event-handler (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status complete) #t) (clear-collide-with-as (-> self root-override)) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) (the float (+ (-> v1-6 frame-group data 0 length) -1))) - ) + (ja :num-func num-func-identity :frame-num max) (logior! (-> self draw status) (draw-status hidden)) (suspend) (update-transforms! (-> self root-override)) (ja-post) - (while #t + (loop (let ((f30-0 (vector4-dot (-> self out-dir) (target-pos 0))) (f28-0 (vector4-dot (-> self out-dir) (camera-pos))) ) @@ -340,11 +330,7 @@ eco-door-event-handler ) (sound-play-by-name (-> self close-sound) (new-sound-id) 1024 0 0 1 #t) (until (ja-done? 0) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self speed))) (suspend) ) (if (-> self locked) diff --git a/goal_src/levels/common/battlecontroller.gc b/goal_src/levels/common/battlecontroller.gc index 6ee31768f0..6ec1fa7489 100644 --- a/goal_src/levels/common/battlecontroller.gc +++ b/goal_src/levels/common/battlecontroller.gc @@ -403,7 +403,7 @@ battlecontroller-default-event-handler (if (-> self prespawn) (battlecontroller-fill-all-spawners) ) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> self state-time) (-> *display* base-frame-counter)) (when (and *target* @@ -475,7 +475,7 @@ battlecontroller-default-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (battlecontroller-camera-on) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 0)) diff --git a/goal_src/levels/common/blocking-plane.gc b/goal_src/levels/common/blocking-plane.gc index 43f1d038ce..845b3eac3f 100644 --- a/goal_src/levels/common/blocking-plane.gc +++ b/goal_src/levels/common/blocking-plane.gc @@ -19,19 +19,16 @@ ) -(defskelgroup *ef-plane-sg* ef-plane - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *ef-plane-sg* ef-plane ef-plane-lod0-jg ef-plane-idle-ja + ((ef-plane-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) (defstate blocking-plane-idle (blocking-plane) :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) diff --git a/goal_src/levels/common/joint-exploder.gc b/goal_src/levels/common/joint-exploder.gc index 09ef5dabeb..1164d92ff2 100644 --- a/goal_src/levels/common/joint-exploder.gc +++ b/goal_src/levels/common/joint-exploder.gc @@ -517,10 +517,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self tuning duration)) (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -652,10 +649,7 @@ (logior! (-> self skel status) (janim-status inited)) (set! (-> self anim) (the-as art-joint-anim (-> self draw art-group data arg1))) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! gp-1 (-> self anim) num-func-identity) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self anim) :num! min) (ja-post) (TODO-RENAME-23 self) (set! (-> self die-if-below-y) (+ -102400.0 (-> self root trans y))) diff --git a/goal_src/levels/common/launcherdoor.gc b/goal_src/levels/common/launcherdoor.gc index f8f300912e..50aff8bf66 100644 --- a/goal_src/levels/common/launcherdoor.gc +++ b/goal_src/levels/common/launcherdoor.gc @@ -32,21 +32,15 @@ ) -(defskelgroup *launcherdoor-sg* launcherdoor - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *launcherdoor-sg* launcherdoor launcherdoor-geo-jg -1 + ((launcherdoor-geo-mg (meters 20)) (launcherdoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) -(defskelgroup *launcherdoor-maincave-sg* launcherdoor-maincave - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *launcherdoor-maincave-sg* launcherdoor-maincave launcherdoor-maincave-geo-jg -1 + ((launcherdoor-maincave-geo-mg (meters 20)) (launcherdoor-maincave-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defstate launcherdoor-closed (launcherdoor) :code @@ -62,31 +56,20 @@ ) ) (restore-collide-with-as (-> self root-override)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (when arg0 - (let ((v1-22 (-> self skel root-channel 0))) - (set! (-> v1-22 num-func) num-func-identity) - (set! (-> v1-22 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self draw force-lod) 1) ) (suspend) - (while #t + (loop (if (and *target* (= (-> *target* control unknown-surface00 name) 'launch-jump) (< (-> *target* control trans y) (-> self thresh-y)) ) (go launcherdoor-open #f) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 0.0) - (set! (-> a0-13 param 1) (-> self close-speed)) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self close-speed))) (suspend) (when (ja-done? 0) (set! (-> self draw force-lod) 1) @@ -131,18 +114,11 @@ ) (set! (-> self draw force-lod) 0) (clear-collide-with-as (-> self root-override)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - (when arg0 - (let ((v1-16 (-> self skel root-channel 0))) - (set! (-> v1-16 num-func) num-func-identity) - (set! (-> v1-16 frame-num) (the float (+ (-> v1-16 frame-group data 0 length) -1))) + (ja-no-eval :num! (seek!)) + (if arg0 + (ja :num-func num-func-identity :frame-num max) ) - ) - (while #t + (loop (when (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump) (< (+ 4096.0 (-> self root-override trans y)) (-> *target* control trans y)) @@ -159,11 +135,7 @@ ) (go launcherdoor-closed #f) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) (-> self open-speed)) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self open-speed))) (suspend) ) (none) diff --git a/goal_src/levels/common/nav-enemy.gc b/goal_src/levels/common/nav-enemy.gc index cc17e2bbce..4a08c0f032 100644 --- a/goal_src/levels/common/nav-enemy.gc +++ b/goal_src/levels/common/nav-enemy.gc @@ -650,10 +650,7 @@ nav-enemy-default-event-handler (vector-xz-normalize! (-> self hit-from-dir) 1.0) ) (set! (-> self collide-info transv y) 65502.96) - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 num-func) num-func-identity) - (set! (-> v1-14 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self collide-info status) (cshape-moving-flags onsurf onground tsurf)) (until (ja-done? 0) @@ -678,11 +675,7 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) arg2) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg2)) ) ) ) @@ -693,22 +686,12 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-turn-to-face-dir nav-enemy ((arg0 vector) (arg1 float)) (local-vars (v1-16 symbol)) (let ((s4-0 (-> *display* base-frame-counter))) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info turn-anim))) - ) - ) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data (-> self nav-info turn-anim))) + (ja :num-func num-func-identity :frame-num 0.0) (until v1-16 (seek-toward-heading-vec! (-> self collide-info) arg0 (-> self rotate-speed) (-> self turn-time)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.75) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) (set! v1-16 (or (>= (- (-> *display* base-frame-counter) s4-0) (seconds 10)) (nav-enemy-facing-direction? arg0 arg1)) ) @@ -780,23 +763,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -875,123 +848,53 @@ nav-enemy-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-8 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-8 param 1) f30-0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-11 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 1.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-17 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-17 param 1) f30-0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) f30-0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -1029,25 +932,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info notice-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (seek-toward-heading-vec! (-> self collide-info) @@ -1056,11 +947,7 @@ nav-enemy-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -1071,11 +958,7 @@ nav-enemy-default-event-handler ) (defbehavior ja-group-index? nav-enemy ((arg0 int)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data arg0) - ) + (ja-group? (-> self draw art-group data arg0)) ) (defstate nav-enemy-flee (nav-enemy) @@ -1115,58 +998,26 @@ nav-enemy-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info notice-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-6 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -1259,21 +1110,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -1329,23 +1172,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -1497,34 +1330,16 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-stare) @@ -1548,7 +1363,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) @@ -1680,27 +1495,14 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-execute-custom-jump nav-enemy ((arg0 int) (arg1 float) (arg2 float)) (when (logtest? (-> self nav-enemy-flags) (nav-enemy-flags standing-jump)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data arg0))) - (set! (-> s3-0 param 0) (ja-aframe arg1 0)) - (set! (-> s3-0 param 1) arg2) - (set! (-> s3-0 frame-num) 0.0) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data arg0)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data arg0) :num! (seek! (ja-aframe arg1 0) arg2) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe arg1 0)) - (set! (-> s3-1 param 1) arg2) - (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe arg1 0) arg2)) ) ) (logclear! (-> self collide-info status) (cshape-moving-flags onsurf onground tsurf)) @@ -1709,52 +1511,26 @@ nav-enemy-default-event-handler (cond ((logtest? (-> self nav-enemy-flags) (nav-enemy-flags drop-jump)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data (-> self nav-info run-anim)) - ) + ((ja-group? (-> self draw art-group data (-> self nav-info run-anim))) ) (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 1.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) - (let ((v1-39 (-> self skel root-channel 0))) - (set! (-> v1-39 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 num-func) num-func-identity) - (set! (-> v1-42 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data (-> self nav-info run-anim))) + (ja :num-func num-func-identity :frame-num 0.0) ) ) ) (else - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 1.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) - (let ((v1-49 (-> self skel root-channel 0))) - (set! (-> v1-49 frame-group) (the-as art-joint-anim (-> self draw art-group data arg0))) - ) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 num-func) num-func-identity) - (set! (-> s5-1 frame-num) (ja-aframe arg1 0)) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data arg0)) + (ja :num-func num-func-identity :frame-num (ja-aframe arg1 0)) ) ) (while (< (the float (- (-> *display* base-frame-counter) (-> self jump-time))) (-> self jump-trajectory time)) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (ja-blend-eval) ) (set! (-> self collide-info trans quad) (-> self jump-dest quad)) @@ -1775,39 +1551,17 @@ nav-enemy-default-event-handler ) (defbehavior nav-enemy-jump-land-anim nav-enemy () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek!) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) 0 (none) @@ -1959,41 +1713,18 @@ nav-enemy-default-event-handler ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-identity + (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)))) ) - (set! (-> gp-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -2013,34 +1744,21 @@ nav-enemy-default-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf11)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 num-func) num-func-identity) - (set! (-> v1-9 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) + (ja :num-func num-func-identity :frame-num 0.0) (while (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf11)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (nav-enemy-turn-to-face-point (-> self event-param-point) 910.2222) (let ((gp-0 (nav-enemy-rnd-int-range 0 150)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) (suspend) ) ) @@ -2074,7 +1792,7 @@ nav-enemy-default-event-handler (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) diff --git a/goal_src/levels/common/orb-cache.gc b/goal_src/levels/common/orb-cache.gc index 4ebff64497..37c999bf7b 100644 --- a/goal_src/levels/common/orb-cache.gc +++ b/goal_src/levels/common/orb-cache.gc @@ -34,13 +34,10 @@ ) -(defskelgroup *orb-cache-top-sg* orb-cache-top - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *orb-cache-top-sg* orb-cache-top orb-cache-top-lod0-jg orb-cache-top-idle-ja + ((orb-cache-top-lod0-mg (meters 20)) (orb-cache-top-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defstate orb-cache-top-idle (orb-cache-top) :event @@ -94,14 +91,7 @@ ) ) (process-entity-status! self (entity-perm-status complete) #f) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-2 frame-num) (ja-aframe 0.0 0)) - ) + (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) (transform-post) (anim-loop) (none) @@ -249,7 +239,7 @@ ) ) ) - (while #t + (loop (calculate-pos self #t) (while (not (or (not *target*) (< (-> self inactive-distance) (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans)) @@ -311,14 +301,7 @@ (if (not arg0) (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 0.0 0)) - ) + (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) (new 'stack-no-clear 'vector) (set! (-> self basetrans y) (+ 2048.0 (-> self root-pos))) (anim-loop) diff --git a/goal_src/levels/common/plat-button.gc b/goal_src/levels/common/plat-button.gc index 45a88e8c0e..aff5beeb19 100644 --- a/goal_src/levels/common/plat-button.gc +++ b/goal_src/levels/common/plat-button.gc @@ -41,13 +41,10 @@ ) -(defskelgroup *plat-button-sg* plat-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -1 0 6.6) - :longest-edge (meters 0) - ) +(defskelgroup *plat-button-sg* plat-button plat-button-geo-jg plat-button-pressed-ja + ((plat-button-geo-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 6.6) + ) (defmethod should-teleport? plat-button ((obj plat-button)) #f @@ -84,64 +81,28 @@ :code (behavior () (let ((gp-0 (can-activate? self))) - (cond - (gp-0 - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (if gp-0 + (ja-no-eval :num! (seek! 0.0)) + (ja-no-eval :num! (seek!)) ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - ) - (while #t + (loop (if (should-teleport? self) (go-virtual plat-button-teleport-to-other-end) ) (let ((s5-0 (can-activate? self))) (when (!= s5-0 gp-0) (set! gp-0 s5-0) - (cond - (s5-0 - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (if s5-0 + (ja-no-eval :num! (seek! 0.0)) + (ja-no-eval :num! (seek!)) ) - (else - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - ) ) (when (not (ja-done? 0)) (rider-trans) - (cond - (s5-0 - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.0) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (if s5-0 + (ja :num! (seek! 0.0)) + (ja :num! (seek!)) ) - (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - ) (rider-post) ) ) @@ -179,18 +140,10 @@ (the-as (function none :behavior plat-button) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self go-back-if-lost-player?) #t) (process-entity-status! self (entity-perm-status complete) #t) @@ -389,7 +342,7 @@ ) (sound-stop (-> self sound-id)) (sound-play-by-name (static-sound-name "elev-land") (new-sound-id) 1024 0 0 1 #t) - (while #t + (loop (if (or (not *target*) (< 268435460.0 (vector-vector-xz-distance-squared (-> self root-override trans) (target-pos 0))) ) diff --git a/goal_src/levels/common/plat-eco.gc b/goal_src/levels/common/plat-eco.gc index 4b1ee0f942..10d32d09d8 100644 --- a/goal_src/levels/common/plat-eco.gc +++ b/goal_src/levels/common/plat-eco.gc @@ -26,21 +26,15 @@ ) -(defskelgroup *plat-eco-unlit-sg* plat-eco - 0 - 8 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-unlit-sg* plat-eco plat-eco-lod0-jg plat-eco-idle-ja + ((plat-eco-lod0-mg (meters 20)) (plat-eco-lod1-mg (meters 40)) (plat-eco-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *plat-eco-lit-sg* plat-eco - 0 - 8 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-lit-sg* plat-eco plat-eco-lod0-jg plat-eco-idle-ja + ((plat-eco-lit-lod0-mg (meters 20)) (plat-eco-lit-lod1-mg (meters 40)) (plat-eco-lit-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (defstate plat-idle (plat-eco) :virtual #t @@ -159,7 +153,7 @@ :code (behavior ((arg0 handle)) (set! (-> self target) arg0) - (while #t + (loop (let* ((gp-0 (handle->process (-> self target))) (v1-4 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) gp-0 diff --git a/goal_src/levels/common/plat.gc b/goal_src/levels/common/plat.gc index 62be152f6b..a63fa47d7e 100644 --- a/goal_src/levels/common/plat.gc +++ b/goal_src/levels/common/plat.gc @@ -77,29 +77,20 @@ ) -(defskelgroup *plat-sg* plat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-sg* plat plat-lod0-jg plat-idle-ja + ((plat-lod0-mg (meters 20)) (plat-lod1-mg (meters 40)) (plat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 3) + ) -(defskelgroup *plat-jungleb-sg* plat-jungleb - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-jungleb-sg* plat-jungleb plat-jungleb-lod0-jg plat-jungleb-idle-ja + ((plat-jungleb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 3) + ) -(defskelgroup *plat-sunken-sg* plat-sunken - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 3.2) - :longest-edge (meters 0) - ) +(defskelgroup *plat-sunken-sg* plat-sunken plat-sunken-lod0-jg plat-sunken-idle-ja + ((plat-sunken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 3.2) + ) (defmethod get-unlit-skel plat ((obj plat)) (cond @@ -218,7 +209,7 @@ (plat-trans) (rider-post) (suspend) - (while #t + (loop (when (not (-> self bouncing)) (plat-trans) (rider-post) diff --git a/goal_src/levels/common/rigid-body.gc b/goal_src/levels/common/rigid-body.gc index 75025325b5..7c7c8cceec 100644 --- a/goal_src/levels/common/rigid-body.gc +++ b/goal_src/levels/common/rigid-body.gc @@ -617,7 +617,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -642,7 +642,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/common/ropebridge.gc b/goal_src/levels/common/ropebridge.gc index 1870a0f924..9a4d97e6e6 100644 --- a/goal_src/levels/common/ropebridge.gc +++ b/goal_src/levels/common/ropebridge.gc @@ -352,53 +352,41 @@ ) -(defskelgroup *ropebridge-32-sg* ropebridge-32 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 4) - ) +(defskelgroup *ropebridge-32-sg* ropebridge-32 ropebridge-32-lod0-jg ropebridge-32-idle-ja + ((ropebridge-32-lod0-mg (meters 20)) (ropebridge-32-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 4) + ) -(defskelgroup *snow-bridge-36-sg* snow-bridge-36 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.8) - ) +(defskelgroup *snow-bridge-36-sg* snow-bridge-36 snow-bridge-36-lod0-jg snow-bridge-36-idle-ja + ((snow-bridge-36-lod0-mg (meters 20)) (snow-bridge-36-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.8) + ) -(defskelgroup *ropebridge-52-sg* ropebridge-52 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.6) - ) +(defskelgroup *ropebridge-52-sg* ropebridge-52 ropebridge-52-lod0-jg ropebridge-52-idle-ja + ((ropebridge-52-lod0-mg (meters 20)) (ropebridge-52-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.6) + ) -(defskelgroup *ropebridge-70-sg* ropebridge-70 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.6) - ) +(defskelgroup *ropebridge-70-sg* ropebridge-70 ropebridge-70-lod0-jg ropebridge-70-idle-ja + ((ropebridge-70-lod0-mg (meters 20)) (ropebridge-70-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.6) + ) -(defskelgroup *ropebridge-36-sg* ropebridge-36 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 4) - ) +(defskelgroup *ropebridge-36-sg* ropebridge-36 ropebridge-36-lod0-jg ropebridge-36-idle-ja + ((ropebridge-36-lod0-mg (meters 20)) (ropebridge-36-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 4) + ) -(defskelgroup *vil3-bridge-36-sg* vil3-bridge-36 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.6) - ) +(defskelgroup *vil3-bridge-36-sg* vil3-bridge-36 vil3-bridge-36-lod0-jg vil3-bridge-36-idle-ja + ((vil3-bridge-36-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.6) + ) (defstate ropebridge-idle (ropebridge) :event @@ -455,7 +443,7 @@ ) :code (behavior () - (while #t + (loop (suspend) (detect-riders! (-> self root-override)) (when (-> self do-physics?) @@ -481,8 +469,9 @@ ) ) +;; WARN: Expression building failed: Function (method 20 ropebridge) has a return type of none, but the expression builder found a return statement. (defmethod set-vel-from-impact ropebridge ((obj ropebridge) (arg0 uint) (arg1 vector) (arg2 int) (arg3 float)) - (while #t + (loop (let ((f0-2 (fabs (- (-> arg1 z) (-> obj spring-point (the-as int arg0) local-pos z))))) (if (< (-> obj tuning max-bonk-influence-dist) f0-2) (return #f) @@ -547,8 +536,9 @@ (none) ) +;; WARN: Expression building failed: Function (method 22 ropebridge) has a return type of none, but the expression builder found a return statement. (defmethod set-vel-from-rider ropebridge ((obj ropebridge) (arg0 uint) (arg1 vector) (arg2 int)) - (while #t + (loop (let ((f0-0 (vector-vector-distance arg1 (the-as vector (-> obj spring-point (the-as int arg0)))))) (if (< (-> obj tuning max-influence-dist) f0-0) (return #f) diff --git a/goal_src/levels/common/sharkey.gc b/goal_src/levels/common/sharkey.gc index 87d37f7a7d..c43996921c 100644 --- a/goal_src/levels/common/sharkey.gc +++ b/goal_src/levels/common/sharkey.gc @@ -57,13 +57,10 @@ ) -(defskelgroup *sharkey-sg* sharkey - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *sharkey-sg* sharkey sharkey-lod0-jg sharkey-idle-ja + ((sharkey-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) (defmethod dummy-44 sharkey ((obj sharkey) (arg0 process) (arg1 event-message-block)) (the-as object #t) @@ -277,21 +274,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (until (= (-> self collide-info trans y) (-> self y-min)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self anim-speed))) (seek! (-> self anim-speed) 1.0 0.05) (seek! (-> self collide-info trans y) (-> self y-min) (* (-> self y-speed) (-> *display* seconds-per-frame))) (dummy-10 (-> self water)) @@ -322,26 +309,14 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (set! (-> self nav target-pos quad) (-> self spawn-point quad)) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-3 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (seek! (-> self anim-speed) 1.0 0.05) (cond @@ -355,11 +330,7 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -415,25 +386,15 @@ nav-enemy-default-event-handler (sound-play-by-name (static-sound-name "bigshark-bite") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (ja-channel-push! 1 30) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> s4-1 param 0) (ja-aframe 3.0 0)) - (set! (-> s4-1 param 1) 2.0) - (set! (-> s4-1 frame-num) 0.0) - (joint-control-channel-group! s4-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! sharkey-chomp-ja :num! (seek! (ja-aframe 3.0 0) 2.0) :frame-num 0.0) (until (ja-done? 0) (sharkey-get-player-position s5-0) (setup-from-to-duration! (-> self jump-trajectory) gp-0 s5-0 3.0 -291.27112) (set! (-> self attack-time) (ja-aframe-num 0)) (sharkey-follow-trajectory (-> self attack-time)) (suspend) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 param 0) (ja-aframe 3.0 0)) - (set! (-> s4-2 param 1) 2.0) - (joint-control-channel-group-eval! s4-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 3.0 0) 2.0)) ) ) (let ((a1-7 (new 'stack-no-clear 'event-message-block))) @@ -454,15 +415,7 @@ nav-enemy-default-event-handler (f26-0 (-> self collide-info trans y)) ) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 3.0 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (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))) @@ -484,11 +437,7 @@ nav-enemy-default-event-handler ) (set! (-> self collide-info trans y) f26-0) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -574,32 +523,18 @@ nav-enemy-default-event-handler :code (behavior () (set! (-> self player-water-time) (-> *display* base-frame-counter)) - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) (sound-play-by-name (static-sound-name "bigshark-idle") (new-sound-id) 1024 0 0 1 #t) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-3 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info run-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (seek! (-> self anim-speed) 1.0 (* 3.0 (-> *display* seconds-per-frame))) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -635,34 +570,18 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.17)) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (seek! (-> self anim-speed) 1.0 0.05) (seek! (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -688,21 +607,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) + (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) + (loop + (ja :num! (loop! (-> self anim-speed))) (seek! (-> self anim-speed) 1.0 0.05) (seek! (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) (suspend) @@ -720,34 +629,16 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (go-virtual nav-enemy-stare) diff --git a/goal_src/levels/common/water-anim.gc b/goal_src/levels/common/water-anim.gc index 115537378d..3083a70823 100644 --- a/goal_src/levels/common/water-anim.gc +++ b/goal_src/levels/common/water-anim.gc @@ -19,389 +19,245 @@ ) -(defskelgroup *water-anim-sunken-dark-eco-qbert-sg* water-anim-sunken-dark-eco - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 40) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-dark-eco-qbert-sg* water-anim-sunken-dark-eco water-anim-sunken-dark-eco-qbert-lod0-jg -1 + ((water-anim-sunken-dark-eco-qbert-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 40) + ) -(defskelgroup *water-anim-sunken-dark-eco-platform-room-sg* water-anim-sunken-dark-eco - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-dark-eco-platform-room-sg* water-anim-sunken-dark-eco water-anim-sunken-dark-eco-platform-room-lod0-jg -1 + ((water-anim-sunken-dark-eco-platform-room-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + ) -(defskelgroup *water-anim-sunken-dark-eco-helix-room-sg* water-anim-sunken-dark-eco - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 0 21) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-dark-eco-helix-room-sg* water-anim-sunken-dark-eco water-anim-sunken-dark-eco-helix-room-lod0-jg -1 + ((water-anim-sunken-dark-eco-helix-room-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 21) + ) -(defskelgroup *water-anim-sunken-big-room-sg* water-anim-sunken - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 15 0 -36 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-big-room-sg* water-anim-sunken water-anim-sunken-big-room-lod0-jg -1 + ((water-anim-sunken-big-room-lod0-mg (meters 999999))) + :bounds (static-spherem 15 0 -36 70) + ) -(defskelgroup *water-anim-sunken-first-room-from-entrance-sg* water-anim-sunken - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-first-room-from-entrance-sg* water-anim-sunken water-anim-sunken-first-room-from-entrance-lod0-jg -1 + ((water-anim-sunken-first-room-from-entrance-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 50) + ) -(defskelgroup *water-anim-sunken-qbert-room-sg* water-anim-sunken - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 0 48) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-qbert-room-sg* water-anim-sunken water-anim-sunken-qbert-room-lod0-jg -1 + ((water-anim-sunken-qbert-room-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 48) + ) -(defskelgroup *water-anim-sunken-first-right-branch-sg* water-anim-sunken - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-first-right-branch-sg* water-anim-sunken water-anim-sunken-first-right-branch-lod0-jg -1 + ((water-anim-sunken-first-right-branch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) -(defskelgroup *water-anim-sunken-circular-with-bullys-sg* water-anim-sunken - 8 - -1 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-circular-with-bullys-sg* water-anim-sunken water-anim-sunken-circular-with-bullys-lod0-jg -1 + ((water-anim-sunken-circular-with-bullys-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) -(defskelgroup *water-anim-sunken-hall-with-one-whirlpool-sg* water-anim-sunken - 10 - -1 - ((11 (meters 999999))) - :bounds (static-spherem 0 0 0 27) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-hall-with-one-whirlpool-sg* water-anim-sunken water-anim-sunken-hall-with-one-whirlpool-lod0-jg -1 + ((water-anim-sunken-hall-with-one-whirlpool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 27) + ) -(defskelgroup *water-anim-sunken-hall-with-three-whirlpools-sg* water-anim-sunken - 12 - -1 - ((13 (meters 999999))) - :bounds (static-spherem 0 0 0 26) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-hall-with-three-whirlpools-sg* water-anim-sunken water-anim-sunken-hall-with-three-whirlpools-lod0-jg -1 + ((water-anim-sunken-hall-with-three-whirlpools-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 26) + ) -(defskelgroup *water-anim-sunken-start-of-helix-slide-sg* water-anim-sunken - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 0 0 25) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-start-of-helix-slide-sg* water-anim-sunken water-anim-sunken-start-of-helix-slide-lod0-jg -1 + ((water-anim-sunken-start-of-helix-slide-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25) + ) -(defskelgroup *water-anim-sunken-room-above-exit-chamber-sg* water-anim-sunken - 16 - -1 - ((17 (meters 999999))) - :bounds (static-spherem 0 0 0 45) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-room-above-exit-chamber-sg* water-anim-sunken water-anim-sunken-room-above-exit-chamber-lod0-jg -1 + ((water-anim-sunken-room-above-exit-chamber-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 45) + ) -(defskelgroup *water-anim-sunken-hall-before-big-room-sg* water-anim-sunken - 18 - -1 - ((19 (meters 999999))) - :bounds (static-spherem 5 0 -3 24) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-hall-before-big-room-sg* water-anim-sunken water-anim-sunken-hall-before-big-room-lod0-jg -1 + ((water-anim-sunken-hall-before-big-room-lod0-mg (meters 999999))) + :bounds (static-spherem 5 0 -3 24) + ) -(defskelgroup *water-anim-sunken-short-piece-sg* water-anim-sunken - 20 - -1 - ((21 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-short-piece-sg* water-anim-sunken water-anim-sunken-short-piece-lod0-jg -1 + ((water-anim-sunken-short-piece-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) -(defskelgroup *water-anim-sunken-big-room-upper-water-sg* water-anim-sunken - 22 - -1 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 27) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-big-room-upper-water-sg* water-anim-sunken water-anim-sunken-big-room-upper-water-lod0-jg -1 + ((water-anim-sunken-big-room-upper-water-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 27) + ) -(defskelgroup *water-anim-maincave-center-pool-sg* water-anim-maincave - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-center-pool-sg* water-anim-maincave water-anim-maincave-center-pool-lod0-jg -1 + ((water-anim-maincave-center-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 70) + ) -(defskelgroup *water-anim-maincave-lower-right-pool-sg* water-anim-maincave - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 6 0 5 61) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-lower-right-pool-sg* water-anim-maincave water-anim-maincave-lower-right-pool-lod0-jg -1 + ((water-anim-maincave-lower-right-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 6 0 5 61) + ) -(defskelgroup *water-anim-maincave-mid-right-pool-sg* water-anim-maincave - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 0 37) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-mid-right-pool-sg* water-anim-maincave water-anim-maincave-mid-right-pool-lod0-jg -1 + ((water-anim-maincave-mid-right-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 37) + ) -(defskelgroup *water-anim-maincave-lower-left-pool-sg* water-anim-maincave - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem -1 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-lower-left-pool-sg* water-anim-maincave water-anim-maincave-lower-left-pool-lod0-jg -1 + ((water-anim-maincave-lower-left-pool-lod0-mg (meters 999999))) + :bounds (static-spherem -1 0 0 20) + ) -(defskelgroup *water-anim-maincave-mid-left-pool-sg* water-anim-maincave - 8 - -1 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 51) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-mid-left-pool-sg* water-anim-maincave water-anim-maincave-mid-left-pool-lod0-jg -1 + ((water-anim-maincave-mid-left-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 51) + ) -(defskelgroup *water-anim-maincave-water-with-crystal-sg* water-anim-maincave-water - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -3 22) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-water-with-crystal-sg* water-anim-maincave-water water-anim-maincave-water-with-crystal-lod0-jg -1 + ((water-anim-maincave-water-with-crystal-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -3 22) + ) -(defskelgroup *water-anim-robocave-main-pool-sg* water-anim-robocave - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 54) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-robocave-main-pool-sg* water-anim-robocave water-anim-robocave-main-pool-lod0-jg -1 + ((water-anim-robocave-main-pool-lod0-mg (meters 20)) (water-anim-robocave-main-pool-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 54) + ) -(defskelgroup *water-anim-misty-mud-by-arena-sg* water-anim-misty - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -2.5 19) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-by-arena-sg* water-anim-misty water-anim-misty-mud-by-arena-lod0-jg -1 + ((water-anim-misty-mud-by-arena-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -2.5 19) + ) -(defskelgroup *water-anim-misty-mud-above-skeleton-sg* water-anim-misty - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-above-skeleton-sg* water-anim-misty water-anim-misty-mud-above-skeleton-lod0-jg -1 + ((water-anim-misty-mud-above-skeleton-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + ) -(defskelgroup *water-anim-misty-mud-behind-skeleton-sg* water-anim-misty - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 4 25) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-behind-skeleton-sg* water-anim-misty water-anim-misty-mud-behind-skeleton-lod0-jg -1 + ((water-anim-misty-mud-behind-skeleton-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 4 25) + ) -(defskelgroup *water-anim-misty-mud-above-skull-back-sg* water-anim-misty - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-above-skull-back-sg* water-anim-misty water-anim-misty-mud-above-skull-back-lod0-jg -1 + ((water-anim-misty-mud-above-skull-back-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + ) -(defskelgroup *water-anim-misty-mud-above-skull-front-sg* water-anim-misty - 8 - -1 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 16) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-above-skull-front-sg* water-anim-misty water-anim-misty-mud-above-skull-front-lod0-jg -1 + ((water-anim-misty-mud-above-skull-front-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 16) + ) -(defskelgroup *water-anim-misty-mud-other-near-skull-sg* water-anim-misty - 10 - -1 - ((11 (meters 999999))) - :bounds (static-spherem 0 0 0 13) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-other-near-skull-sg* water-anim-misty water-anim-misty-mud-other-near-skull-lod0-jg -1 + ((water-anim-misty-mud-other-near-skull-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 13) + ) -(defskelgroup *water-anim-misty-mud-near-skull-sg* water-anim-misty - 12 - -1 - ((13 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-near-skull-sg* water-anim-misty water-anim-misty-mud-near-skull-lod0-jg -1 + ((water-anim-misty-mud-near-skull-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) -(defskelgroup *water-anim-misty-mud-under-spine-sg* water-anim-misty - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 0 0 16) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-under-spine-sg* water-anim-misty water-anim-misty-mud-under-spine-lod0-jg -1 + ((water-anim-misty-mud-under-spine-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 16) + ) -(defskelgroup *water-anim-misty-mud-by-dock-sg* water-anim-misty - 16 - -1 - ((17 (meters 999999))) - :bounds (static-spherem 0 0 0 21) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-by-dock-sg* water-anim-misty water-anim-misty-mud-by-dock-lod0-jg -1 + ((water-anim-misty-mud-by-dock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 21) + ) -(defskelgroup *water-anim-misty-mud-island-near-dock-sg* water-anim-misty - 18 - -1 - ((19 (meters 999999))) - :bounds (static-spherem -1 0 -1 15) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-island-near-dock-sg* water-anim-misty water-anim-misty-mud-island-near-dock-lod0-jg -1 + ((water-anim-misty-mud-island-near-dock-lod0-mg (meters 999999))) + :bounds (static-spherem -1 0 -1 15) + ) -(defskelgroup *water-anim-misty-mud-lonely-island-sg* water-anim-misty - 20 - -1 - ((21 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-lonely-island-sg* water-anim-misty water-anim-misty-mud-lonely-island-lod0-jg -1 + ((water-anim-misty-mud-lonely-island-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) -(defskelgroup *water-anim-misty-dark-eco-pool-sg* water-anim-misty - 22 - -1 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 17) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-dark-eco-pool-sg* water-anim-misty water-anim-misty-dark-eco-pool-lod0-jg -1 + ((water-anim-misty-dark-eco-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 17) + ) -(defskelgroup *water-anim-ogre-lava-sg* water-anim-ogre - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 112) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-ogre-lava-sg* water-anim-ogre water-anim-ogre-lava-lod0-jg -1 + ((water-anim-ogre-lava-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 112) + ) -(defskelgroup *water-anim-jungle-river-sg* water-anim-jungle - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 91) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-jungle-river-sg* water-anim-jungle water-anim-jungle-river-lod0-jg -1 + ((water-anim-jungle-river-lod0-mg (meters 20)) (water-anim-jungle-river-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 91) + ) -(defskelgroup *water-anim-village3-lava-sg* water-anim-village3 - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 15 0 10 163) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village3-lava-sg* water-anim-village3 water-anim-village3-lava-lod0-jg -1 + ((water-anim-village3-lava-lod0-mg (meters 20)) (water-anim-village3-lava-lod1-mg (meters 999999))) + :bounds (static-spherem 15 0 10 163) + ) -(defskelgroup *water-anim-training-lake-sg* water-anim-training - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem -18 0 0 52) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-training-lake-sg* water-anim-training water-anim-training-lake-lod0-jg -1 + ((water-anim-training-lake-lod0-mg (meters 999999))) + :bounds (static-spherem -18 0 0 52) + ) -(defskelgroup *water-anim-darkcave-water-with-crystal-sg* water-anim-darkcave - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 19) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-darkcave-water-with-crystal-sg* water-anim-darkcave water-anim-darkcave-water-with-crystal-lod0-jg -1 + ((water-anim-darkcave-water-with-crystal-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 19) + ) -(defskelgroup *water-anim-rolling-water-back-sg* water-anim-rolling - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem -10 0 0 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-rolling-water-back-sg* water-anim-rolling water-anim-rolling-water-back-lod0-jg -1 + ((water-anim-rolling-water-back-lod0-mg (meters 999999))) + :bounds (static-spherem -10 0 0 70) + ) -(defskelgroup *water-anim-rolling-water-front-sg* water-anim-rolling - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-rolling-water-front-sg* water-anim-rolling water-anim-rolling-water-front-lod0-jg -1 + ((water-anim-rolling-water-front-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 70) + ) -(defskelgroup *water-anim-finalboss-dark-eco-pool-sg* water-anim-finalboss - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 19) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-finalboss-dark-eco-pool-sg* water-anim-finalboss water-anim-finalboss-dark-eco-pool-lod0-jg -1 + ((water-anim-finalboss-dark-eco-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 19) + ) -(defskelgroup *water-anim-lavatube-energy-lava-sg* water-anim-lavatube - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 -7 0 25) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-lavatube-energy-lava-sg* water-anim-lavatube water-anim-lavatube-energy-lava-lod0-jg -1 + ((water-anim-lavatube-energy-lava-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -7 0 25) + ) -(defskelgroup *water-anim-village1-rice-paddy-sg* water-anim-village1 - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem -15 0 0 27) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-rice-paddy-sg* water-anim-village1 water-anim-village1-rice-paddy-lod0-jg -1 + ((water-anim-village1-rice-paddy-lod0-mg (meters 999999))) + :bounds (static-spherem -15 0 0 27) + ) -(defskelgroup *water-anim-village1-fountain-sg* water-anim-village1 - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-fountain-sg* water-anim-village1 water-anim-village1-fountain-lod0-jg -1 + ((water-anim-village1-fountain-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.5) + ) -(defskelgroup *water-anim-village1-rice-paddy-mid-sg* water-anim-village1 - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 35) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-rice-paddy-mid-sg* water-anim-village1 water-anim-village1-rice-paddy-mid-lod0-jg -1 + ((water-anim-village1-rice-paddy-mid-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 35) + ) -(defskelgroup *water-anim-village1-rice-paddy-top-sg* water-anim-village1 - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 6 0 -17 20) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-rice-paddy-top-sg* water-anim-village1 water-anim-village1-rice-paddy-top-lod0-jg -1 + ((water-anim-village1-rice-paddy-top-lod0-mg (meters 999999))) + :bounds (static-spherem 6 0 -17 20) + ) -(defskelgroup *water-anim-village2-bucket-sg* water-anim-village2 - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 0.7) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village2-bucket-sg* water-anim-village2 water-anim-village2-bucket-lod0-jg -1 + ((water-anim-village2-bucket-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 0.7) + ) (deftype water-anim-look (structure) ((skel-group symbol :offset-assert 0) @@ -706,7 +562,7 @@ ) :code (behavior () - (while #t + (loop (ja-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) diff --git a/goal_src/levels/darkcave/darkcave-obs.gc b/goal_src/levels/darkcave/darkcave-obs.gc index 28d1ffc9b3..90a2dd7725 100644 --- a/goal_src/levels/darkcave/darkcave-obs.gc +++ b/goal_src/levels/darkcave/darkcave-obs.gc @@ -42,13 +42,10 @@ ) -(defskelgroup *cavecrystal-sg* cavecrystal - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 4.7 0 5.4) - :longest-edge (meters 0) - ) +(defskelgroup *cavecrystal-sg* cavecrystal cavecrystal-lod0-jg -1 + ((cavecrystal-lod0-mg (meters 20)) (cavecrystal-lod1-mg (meters 999999))) + :bounds (static-spherem 0 4.7 0 5.4) + ) (defmethod update-connected-crystals! cavecrystal ((obj cavecrystal)) (when (-> obj is-master?) @@ -73,13 +70,13 @@ (f30-1 (* 0.1 (cos (* 65536.0 f0-2)))) ) (cond - ((>= (seconds 0.06666667) gp-1) + ((>= (seconds 0.067) gp-1) (let ((v1-11 (* 0.05 (the float gp-1)))) (fmax 0.0 (fmin 2.0 (+ (* 2.0 v1-11) (* v1-11 f30-1)))) ) ) ((>= (seconds 0.6) gp-1) - (let ((a2-0 (* 0.00625 (the float (+ gp-1 (seconds -0.06666667)))))) + (let ((a2-0 (* 0.00625 (the float (+ gp-1 (seconds -0.067)))))) (fmin 2.0 (+ (lerp 2.0 1.0 a2-0) f30-1)) ) ) diff --git a/goal_src/levels/demo/demo-obs.gc b/goal_src/levels/demo/demo-obs.gc index f0beab9891..bb1c106930 100644 --- a/goal_src/levels/demo/demo-obs.gc +++ b/goal_src/levels/demo/demo-obs.gc @@ -154,7 +154,7 @@ (-> gp-17 ppointer) ) ) - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/finalboss/final-door.gc b/goal_src/levels/finalboss/final-door.gc index 2103ab5981..4d4edd1655 100644 --- a/goal_src/levels/finalboss/final-door.gc +++ b/goal_src/levels/finalboss/final-door.gc @@ -31,29 +31,20 @@ ) -(defskelgroup *power-left-sg* power-left - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 11 0 12) - :longest-edge (meters 0) - ) +(defskelgroup *power-left-sg* power-left power-left-lod0-jg power-left-idle-ja + ((power-left-lod0-mg (meters 999999))) + :bounds (static-spherem 0 11 0 12) + ) -(defskelgroup *power-right-sg* power-right - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 11 0 12) - :longest-edge (meters 0) - ) +(defskelgroup *power-right-sg* power-right power-right-lod0-jg power-right-idle-ja + ((power-right-lod0-mg (meters 999999))) + :bounds (static-spherem 0 11 0 12) + ) -(defskelgroup *powercellalt-sg* powercellalt - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *powercellalt-sg* powercellalt powercellalt-lod0-jg powercellalt-idle-ja + ((powercellalt-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (defstate idle (final-door) :virtual #t @@ -101,43 +92,19 @@ (behavior ((arg0 symbol)) (case (-> self type) ((power-left) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.353) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.353) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 0.353) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.353)) ) ) (else - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.353) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.353) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 0.353) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.353)) ) ) ) @@ -198,7 +165,7 @@ :code (behavior () (ja-post) - (while #t + (loop (if (and (and *target* (>= 61440.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (and (zero? (logand (-> *target* state-flags) (state-flags sf08))) (and (>= (-> *game-info* fuel) 100.0) @@ -268,12 +235,9 @@ (transform-post) (spawn (-> self part) (the-as vector (-> self root-override root-prim prim-core))) (suspend) - (when (nonzero? (-> self skel)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.5) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop! 0.5)) ) - ) ) ) (set! (-> self root-override trans quad) (-> self jump-pos quad)) @@ -307,7 +271,7 @@ :virtual #t :code (behavior () - (while #t + (loop (vector<-cspace! (-> self root-override trans) (-> (the-as process-drawable (-> self parent 0)) node-list data (-> self index)) @@ -373,7 +337,7 @@ ) :trans (behavior () - (set-letterbox-frames (seconds 0.016666668)) + (set-letterbox-frames (seconds 0.017)) (none) ) :code @@ -386,21 +350,11 @@ (set-quaternion! (-> self control) (the-as quaternion (new 'static 'vector :y -0.8472 :w 0.5312))) (rot->dir-targ! (-> self control)) (transform-post) - (ja-channel-push! 1 60) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) - (set! (-> s4-1 param 0) (ja-aframe 18.0 0)) - (set! (-> s4-1 param 1) 1.0) - (set! (-> s4-1 frame-num) 0.0) - (joint-control-channel-group! s4-1 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 88) :num! (seek! (ja-aframe 18.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 param 0) (ja-aframe 18.0 0)) - (set! (-> s4-2 param 1) 1.0) - (joint-control-channel-group-eval! s4-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 18.0 0))) ) (let ((s4-3 (-> (handle->process (the-as handle arg0)) entity)) (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) diff --git a/goal_src/levels/finalboss/green-eco-lurker.gc b/goal_src/levels/finalboss/green-eco-lurker.gc index 6a36d76fb5..d5db4b59d6 100644 --- a/goal_src/levels/finalboss/green-eco-lurker.gc +++ b/goal_src/levels/finalboss/green-eco-lurker.gc @@ -44,14 +44,11 @@ ) -(defskelgroup *green-eco-lurker-sg* green-eco-lurker - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.95) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *green-eco-lurker-sg* green-eco-lurker green-eco-lurker-lod0-jg -1 + ((green-eco-lurker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.95) + :shadow green-eco-lurker-shadow-mg + ) (define *green-eco-lurker-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 3 @@ -434,7 +431,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -539,7 +536,7 @@ ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "blob-out") (new-sound-id) @@ -551,45 +548,21 @@ ) (cond ((zero? (nav-enemy-rnd-int-count 2)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! green-eco-lurker-jump-with-flip-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! green-eco-lurker-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -631,23 +604,11 @@ (logclear! (-> v1-4 settings flags) (shadow-flags shdf05)) ) 0 - (ja-channel-push! 1 60) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! green-eco-lurker-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) (go-virtual nav-enemy-chase) @@ -661,7 +622,7 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -677,61 +638,29 @@ (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 8) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 60) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-7 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + ((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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) + (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) ) ) - (while #t + (loop (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -742,33 +671,17 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! (ja-aframe 32.0 0) 0.5) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.5)) ) (go-virtual nav-enemy-chase) (none) diff --git a/goal_src/levels/finalboss/light-eco.gc b/goal_src/levels/finalboss/light-eco.gc index 551776212c..abf8b0a504 100644 --- a/goal_src/levels/finalboss/light-eco.gc +++ b/goal_src/levels/finalboss/light-eco.gc @@ -58,21 +58,15 @@ ) -(defskelgroup *light-eco-big-sg* light-eco - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *light-eco-big-sg* light-eco light-eco-big-lod0-jg -1 + ((light-eco-big-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 9) + ) -(defskelgroup *light-eco-small-sg* light-eco - 3 - -1 - ((4 (meters 999999))) - :bounds (static-spherem 0 0 0 1.5) - :longest-edge (meters 0) - ) +(defskelgroup *light-eco-small-sg* light-eco light-eco-small-lod0-jg -1 + ((light-eco-small-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1.5) + ) (defpartgroup group-light-eco-mother-growing :id 690 @@ -454,12 +448,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -511,12 +502,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -542,12 +530,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -622,19 +607,8 @@ (logclear! (-> self mask) (process-mask actor-pause)) (initialize-skeleton self *light-eco-small-sg* '()) (ja-channel-set! 1) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-no-eval :num! (seek!)) + (ja :group! light-eco-small-idle-ja :num! min) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 692) self)) (transform-post) (go light-eco-child-appear) @@ -663,13 +637,13 @@ (cond ((and *target* (logtest? (-> *target* state-flags) (state-flags sf08))) (set! (-> obj last-spawned-time) (-> *display* base-frame-counter)) - (set! (-> obj delay-til-spawn) (seconds 8)) + (set! (-> obj delay-til-spawn) 2400) ) (else (when (>= (- (-> *display* base-frame-counter) (-> obj last-spawned-time)) (-> obj delay-til-spawn)) (when (spawn-child-eco obj) (set! (-> obj last-spawned-time) (-> *display* base-frame-counter)) - (set! (-> obj delay-til-spawn) (rand-vu-int-range (seconds 1) (seconds 2))) + (set! (-> obj delay-til-spawn) (rand-vu-int-range 300 600)) ) ) ) @@ -762,10 +736,7 @@ (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (go light-eco-mother-active) (none) @@ -786,12 +757,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -814,10 +782,7 @@ (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) @@ -848,7 +813,7 @@ (set! (-> self entity) arg0) (set! (-> self last-update-time) 0) (set! (-> self last-spawned-time) (-> *display* base-frame-counter)) - (set! (-> self delay-til-spawn) (seconds 8)) + (set! (-> self delay-til-spawn) 2400) (set! (-> self angle-mask) 0) (set! (-> self player-got-eco?) #f) (set! (-> self root) (new 'process 'trsqv)) @@ -858,19 +823,8 @@ (logclear! (-> self mask) (process-mask actor-pause)) (initialize-skeleton self *light-eco-big-sg* '()) (ja-channel-set! 1) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-no-eval :num! (seek!)) + (ja :group! light-eco-big-idle-ja :num! min) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 691) self)) (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 690) self)) (set! (-> self sound) diff --git a/goal_src/levels/finalboss/robotboss-h.gc b/goal_src/levels/finalboss/robotboss-h.gc index 8a2599e09b..19f586ea1b 100644 --- a/goal_src/levels/finalboss/robotboss-h.gc +++ b/goal_src/levels/finalboss/robotboss-h.gc @@ -139,13 +139,11 @@ ) ) -(defskelgroup *robotboss-sg* robotboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -10 0 80) - :longest-edge (meters 19.9) - ) +(defskelgroup *robotboss-sg* robotboss robotboss-basic-lod0-jg robotboss-idle-ja + ((robotboss-basic-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -10 0 80) + :longest-edge (meters 19.9) + ) diff --git a/goal_src/levels/finalboss/robotboss-misc.gc b/goal_src/levels/finalboss/robotboss-misc.gc index ee47d2ffcf..119a0502b9 100644 --- a/goal_src/levels/finalboss/robotboss-misc.gc +++ b/goal_src/levels/finalboss/robotboss-misc.gc @@ -11,13 +11,11 @@ ;; DECOMP BEGINS -(defskelgroup *med-res-snow1-sg* medres-snowback - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -360 100 100 380) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-snow1-sg* medres-snowback 0 2 + ((1 (meters 999999))) + :bounds (static-spherem -360 100 100 380) + :longest-edge (meters 0.01) + ) (defstate cam-robotboss (camera-slave) :event @@ -62,7 +60,7 @@ ) :code (behavior () - (while #t + (loop (when #t (let ((a2-0 (new-stack-vector0))) (vector-! a2-0 (-> *camera* tpos-curr-adj) (-> self pivot-pt)) @@ -119,13 +117,10 @@ ) -(defskelgroup *ecoclaw-sg* ecoclaw - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *ecoclaw-sg* ecoclaw ecoclaw-lod0-jg ecoclaw-idle-ja + ((ecoclaw-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 9) + ) (defun ecoclaw-beam-particle-callback ((arg0 part-tracker)) (let* ((a0-1 (the-as (pointer projectile) (-> arg0 userdata))) @@ -274,41 +269,12 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -322,7 +288,7 @@ ecoclaw-handler :code (behavior () - (while #t + (loop (if (-> self particles 0 kind) (go ecoclaw-activate) ) @@ -361,13 +327,10 @@ ) -(defskelgroup *silodoor-sg* silodoor - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 25) - :longest-edge (meters 0) - ) +(defskelgroup *silodoor-sg* silodoor silodoor-lod0-jg silodoor-idle-ja + ((silodoor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25) + ) (defstate idle (silodoor) :virtual #t @@ -389,13 +352,9 @@ (the-as (function none :behavior silodoor) rider-trans) :code (behavior () - (while #t + (loop (when (not (movie?)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (* (-> self part-opened) (the float (ja-num-frames 0)))) - (set! (-> gp-0 param 1) 0.01) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (* (-> self part-opened) (the float (ja-num-frames 0))) 0.01)) (cond ((< 0.01 (fabs (- (* (-> self part-opened) (the float (ja-num-frames 0))) (ja-aframe-num 0)))) (if (nonzero? (-> self sound)) @@ -434,10 +393,7 @@ (suspend) ) (logclear! (-> self draw status) (draw-status hidden)) - (let ((v1-12 (-> self skel root-channel 0))) - (set! (-> v1-12 num-func) num-func-identity) - (set! (-> v1-12 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self part-opened) 0.0) (go-virtual idle) (none) @@ -523,13 +479,10 @@ ) -(defskelgroup *finalbosscam-sg* finalbosscam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *finalbosscam-sg* finalbosscam finalbosscam-lod0-jg finalbosscam-idle-ja + ((finalbosscam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defbehavior robotboss-manipy-trans-hook robotboss () (let ((gp-0 (new 'stack-no-clear 'vector))) diff --git a/goal_src/levels/finalboss/robotboss-part.gc b/goal_src/levels/finalboss/robotboss-part.gc index f36383bce4..0a7d15ff3a 100644 --- a/goal_src/levels/finalboss/robotboss-part.gc +++ b/goal_src/levels/finalboss/robotboss-part.gc @@ -5,18 +5,14 @@ ;; name in dgo: robotboss-part ;; dgos: FIN, L1 -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 636) - (new 'static 'sparticle-launch-group - :length 26 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 26 - (sp-item 2680) +;; DECOMP BEGINS + +(defpartgroup group-robotboss-blue-beam + :id 636 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 34) + :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) @@ -43,44 +39,30 @@ (sp-item 2548) (sp-item 2547) ) - :bounds (new 'static 'sphere :w 139264.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 637) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2681) +(defpartgroup group-robotboss-blue-beam-impact + :id 637 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 34) + :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) (sp-item 2683) (sp-item 2549) ) - :bounds (new 'static 'sphere :w 139264.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2681) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2681 + :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) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.0) (meters 9.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6) (meters 9) 1.0) (sp-flt spt-r 192.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) (sp-rnd-flt spt-b 192.0 64.0 1.0) @@ -92,23 +74,17 @@ (sp-flt spt-fade-a -1.6) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2683) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 30 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2683 + :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.0) 1.0) - (sp-rnd-flt spt-y (meters -2.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.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) 1.0) + (sp-rnd-flt spt-z (meters -0.5) (meters 1) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -132,32 +108,19 @@ (sp-launcher-by-id spt-next-launcher 2684) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 45.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2684) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.07111111) - (sp-end) - ) - ) +(defpart 2684 + :init-specs + ((sp-flt spt-fade-a -0.07111111)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2549) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2549 + :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.0) (meters 8.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-int spt-r 1124073472 1 128.0) @@ -167,20 +130,14 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2682) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2682 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 192.0 32.0 1.0) @@ -199,21 +156,15 @@ (sp-cpuinfo-flags bit0 bit2 bit14) (sp-rnd-flt spt-conerot-x (degrees -90.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2545) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2545 + :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.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-flt spt-g 0.0) @@ -226,23 +177,17 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 102.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 1) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2542) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2542 + :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.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 2048.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) @@ -251,23 +196,17 @@ (sp-flt spt-a 128.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-vel-y (meters 0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0)) (sp-flt spt-accel-z 0.0) (sp-int spt-timer 450) (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2543) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) +(defpart 2543 + :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) @@ -282,18 +221,12 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2544) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) +(defpart 2544 + :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) @@ -308,18 +241,12 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2546) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2546 + :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) @@ -334,22 +261,16 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 102.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 1) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2548) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2548 + :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.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 4.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) + (sp-rnd-flt spt-scale-y (meters 4) (meters 3) 1.0) (sp-flt spt-r 0.0) (sp-flt spt-g 0.0) (sp-rnd-flt spt-b 128.0 128.0 1.0) @@ -361,21 +282,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 102.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2547) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2547 + :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.0) (meters 8.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 32.0 32.0 1.0) @@ -385,20 +300,14 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 10) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2680) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2680 + :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.0) (meters 4.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 32.0 1.0) @@ -407,40 +316,26 @@ (sp-flt spt-a 128.0) (sp-int spt-timer 25) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 644) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-blowup" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2591 :period 600 :length 5) +(defpartgroup group-robotboss-blue-blowup + :id 644 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 8) + :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) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2592) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2592 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 192.0 32.0 1.0) @@ -461,39 +356,23 @@ (sp-launcher-by-id spt-next-launcher 2595) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2595) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (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) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2594) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2594 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 32.0)) + (sp-flt spt-scale-y (meters 32)) (sp-rnd-flt spt-r 192.0 64.0 1.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) (sp-flt spt-b 192.0) @@ -505,21 +384,15 @@ (sp-flt spt-fade-a -1.6) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2591) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2591 + :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.0)) - (sp-flt spt-scale-x (meters 64.0)) + (sp-flt spt-y (meters 0)) + (sp-flt spt-scale-x (meters 64)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-rnd-flt spt-g 192.0 32.0 1.0) @@ -528,20 +401,14 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 54) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2593) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2593 + :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.0) (meters 4.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) @@ -561,90 +428,55 @@ (sp-launcher-by-id spt-next-launcher 2596) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 6) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2596) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -2.1333334) +(defpart 2596 + :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) (sp-launcher-by-id spt-next-launcher 2597) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2597) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r 0.0) +(defpart 2597 + :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) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2598) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2598) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 645) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2685 :period 36 :length 5) +(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) (sp-item 2685 :period 140 :length 5) (sp-item 2685 :period 61 :length 5) (sp-item 2599 :period 15 :length 5) (sp-item 2686) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2686) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2686 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 4) (meters 16) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-rnd-flt spt-g 192.0 32.0 1.0) @@ -653,30 +485,24 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 54) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2599) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2599 + :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.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 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) + (sp-rnd-flt spt-z (meters -0.5) (meters 1) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-rnd-flt spt-g 128.0 64.0 1.0) (sp-flt spt-b 255.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-flt spt-scalevel-x (meters 0.013333334)) (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) (sp-copy-from-other spt-scalevel-y -4) @@ -686,21 +512,15 @@ (sp-cpuinfo-flags bit2 bit14) (sp-int-plain-rnd spt-next-time 20 89 1) (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2685) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2685 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 192.0 32.0 1.0) (sp-rnd-flt spt-g 192.0 32.0 1.0) @@ -720,40 +540,24 @@ (sp-launcher-by-id spt-next-launcher 2595) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 638) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-darkecobomb-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2600 :period 600 :length 5) - (sp-item 2602 :period 600 :length 40) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) +(defpartgroup group-robotboss-darkecobomb-launch + :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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2600) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2600 + :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.0)) - (sp-flt spt-scale-x (meters 64.0)) + (sp-flt spt-y (meters 0)) + (sp-flt spt-scale-x (meters 64)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) (sp-flt spt-g 255.0) @@ -762,20 +566,14 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 55) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2602) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2602 + :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.0) (meters 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -793,26 +591,19 @@ (sp-cpuinfo-flags bit2 bit14) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 2) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 639) - (new 'static 'sparticle-launch-group - :length 18 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-darkecobomb-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 18 - (sp-item 2753) +(defpartgroup group-robotboss-darkecobomb-glow + :id 639 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2753) (sp-item 2754) - (sp-item 2755 :fade-after (meters 120.0) :falloff-to (meters 140.0) :binding 2752) + (sp-item 2755 :fade-after (meters 120) :falloff-to (meters 140) :binding 2752) (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) @@ -829,20 +620,14 @@ (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) ) - :bounds (new 'static 'sphere :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2755) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2755 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-b 128.0 128.0 1.0) (sp-rnd-flt spt-a 32.0 32.0 1.0) @@ -851,49 +636,37 @@ (sp-int spt-timer 900) (sp-cpuinfo-flags bit2 bit3 bit14) (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2752) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2752 + :init-specs + ((sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) (sp-flt spt-num 1.0) - (sp-flt spt-z 9216.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 0.2) 1.0) + (sp-flt spt-z (meters 2.25)) + (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) + (sp-rnd-flt spt-scale-y (meters 2) (meters 0.2) 1.0) (sp-flt spt-r 0.0) (sp-rnd-flt spt-g 0.0 128.0 1.0) (sp-rnd-flt spt-b 128.0 128.0 1.0) (sp-flt spt-a 128.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-vel-z (meters 0)) (sp-flt spt-accel-z 0.0) (sp-int spt-timer 900) (sp-cpuinfo-flags bit2 bit3 bit7 bit14) (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2753) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) +(defpart 2753 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 4)) + (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) + (sp-rnd-flt spt-scale-y (meters 8) (meters 2) 1.0) (sp-flt spt-r 0.0) (sp-rnd-flt spt-g 0.0 128.0 1.0) (sp-rnd-flt spt-b 128.0 128.0 1.0) @@ -902,23 +675,17 @@ (sp-int-plain-rnd spt-timer 20 29 1) (sp-cpuinfo-flags bit2 bit3) (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2754) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) +(defpart 2754 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters -3)) + (sp-rnd-flt spt-scale-x (meters 2) (meters 2) 1.0) (sp-flt spt-rot-z (degrees 180.0)) - (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 8) (meters 2) 1.0) (sp-flt spt-r 0.0) (sp-rnd-flt spt-g 0.0 128.0 1.0) (sp-rnd-flt spt-b 128.0 128.0 1.0) @@ -927,41 +694,24 @@ (sp-int-plain-rnd spt-timer 20 29 1) (sp-cpuinfo-flags bit2 bit3) (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 663) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-darkecobomb-tick" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2756) - (sp-item 2757) - (sp-item 2758) - (sp-item 2759) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-darkecobomb-tick + :id 663 + :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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2759) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2759 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 10) (meters 16) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-g 0.0 128.0 1.0) (sp-rnd-flt spt-b 128.0 128.0 1.0) @@ -971,21 +721,15 @@ (sp-flt spt-fade-a -2.1333334) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2758) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) +(defpart 2758 + :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.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.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) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) @@ -998,21 +742,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2757) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) +(defpart 2757 + :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.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.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) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) @@ -1025,21 +763,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2756) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) +(defpart 2756 + :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.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.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) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) @@ -1052,23 +784,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 619) - (new 'static 'sparticle-launch-group - :length 22 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-final-boss-mine-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 22 - (sp-item 2500 :flags (is-3d) :period 900 :length 5) +(defpartgroup group-final-boss-mine-explosion + :id 619 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :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) @@ -1091,20 +815,14 @@ (sp-item 2499 :flags (start-dead)) (sp-item 2505 :period 900 :length 20) ) - :bounds (new 'static 'sphere :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2503) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2503 + :init-specs + ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 2.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) @@ -1112,7 +830,7 @@ (sp-flt spt-b 0.0) (sp-rnd-flt spt-a 32.0 64.0 1.0) (sp-rnd-flt spt-vel-y (meters 0.64) (meters 0.85333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0)) (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) (sp-copy-from-other spt-scalevel-y -4) (sp-rnd-flt spt-accel-y -29.354668 -56.661335 1.0) @@ -1121,21 +839,15 @@ (sp-cpuinfo-flags bit2 bit14) (sp-rnd-flt spt-conerot-x (degrees 35.0) (degrees 55.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 10.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 10) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2499) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2499 + :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.0) (meters 4.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 64.0) @@ -1150,35 +862,20 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 42) (sp-launcher-by-id spt-next-launcher 2506) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2506) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -0.14222223) - (sp-flt spt-fade-g -0.14222223) - (sp-flt spt-fade-b -0.14222223) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2502) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2502 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 2.6) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 2.6) (meters 2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 196.0 64.0 1.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) @@ -1197,66 +894,44 @@ (sp-launcher-by-id spt-next-launcher 2507) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 12) 1.0) (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2507) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (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) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2505) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2505 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 256.0)) + (sp-flt spt-scale-y (meters 256)) (sp-flt spt-r 255.0) (sp-flt spt-g 196.0) (sp-flt spt-b 64.0) (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-flt spt-scalevel-y (meters 6.0)) + (sp-flt spt-scalevel-y (meters 6)) (sp-flt spt-fade-r -1.6) (sp-flt spt-fade-g -1.0666667) (sp-flt spt-fade-b 1.0666667) (sp-flt spt-fade-a -1.0666667) (sp-int spt-timer 120) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2501) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2501 + :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.0)) - (sp-flt spt-scale-x (meters 160.0)) + (sp-flt spt-y (meters 0)) + (sp-flt spt-scale-x (meters 160)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) @@ -1266,21 +941,15 @@ (sp-flt spt-fade-a -1.7066667) (sp-int spt-timer 75) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2504) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2504 + :init-specs + ((sp-tex spt-texture (new 'static 'texture-id :page #x2)) (sp-flt spt-num 32.0) - (sp-flt spt-y (meters 10.0)) - (sp-rnd-flt spt-scale-x (meters 20.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 10)) + (sp-rnd-flt spt-scale-x (meters 20) (meters 16) 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-flt spt-r 192.0) @@ -1299,69 +968,42 @@ (sp-launcher-by-id spt-next-launcher 2508) (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 40.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 20.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 20) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2508) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -1.6) +(defpart 2508 + :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) (sp-launcher-by-id spt-next-launcher 2509) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2509) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.26666668) +(defpart 2509 + :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) (sp-int spt-next-time 180) (sp-launcher-by-id spt-next-launcher 2510) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2510) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -0.114285715) - (sp-flt spt-fade-g -0.114285715) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2500) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) +(defpart 2500 + :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.0)) - (sp-flt spt-scale-x (meters 30.0)) + (sp-flt spt-y (meters 10)) + (sp-flt spt-scale-x (meters 30)) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 64.0) @@ -1374,55 +1016,34 @@ (sp-cpuinfo-flags bit2 bit3 bit12 bit14) (sp-int spt-next-time 60) (sp-launcher-by-id spt-next-launcher 2511) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2511) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.4222223) - (sp-end) - ) - ) +(defpart 2511 + :init-specs + ((sp-flt spt-fade-a -1.4222223)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 640) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-greenshot-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2799 :period 600 :length 10) +(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) (sp-item 2800 :period 600 :length 10) (sp-item 2801 :period 600 :length 20) (sp-item 2802 :period 600 :length 10) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2800) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2800 + :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.0) (meters 128.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-r 0.0 64.0 1.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) @@ -1435,35 +1056,22 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2803) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2803) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.6) - (sp-end) - ) - ) +(defpart 2803 + :init-specs + ((sp-flt spt-fade-a -1.6)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2801) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2801 + :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.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 4.0)) + (sp-flt spt-scale-y (meters 4)) (sp-rnd-flt spt-r 0.0 64.0 1.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) @@ -1475,20 +1083,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2803) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2802) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2802 + :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.0)) + (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 0.0 64.0 1.0) @@ -1501,20 +1103,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 40) (sp-launcher-by-id spt-next-launcher 2804) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2799) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2799 + :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.0)) + (sp-flt spt-scale-x (meters 6)) (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 0.0 64.0 1.0) @@ -1527,23 +1123,16 @@ (sp-flt spt-fade-a -1.7066667) (sp-int spt-timer 105) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 664) - (new 'static 'sparticle-launch-group - :length 49 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-greenshot" - :launcher - (new 'static 'inline-array sparticle-group-item 49 - (sp-item 2769 :binding 2766) +(defpartgroup group-robotboss-greenshot + :id 664 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :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)) @@ -1593,19 +1182,13 @@ (sp-item 2768 :flags (start-dead launch-asap)) (sp-item 2768 :flags (start-dead launch-asap)) ) - :bounds (new 'static 'sphere :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2769) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2769 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.1)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-b 0.0) @@ -1613,23 +1196,17 @@ (sp-int spt-timer 900) (sp-cpuinfo-flags bit2 bit3 bit14) (sp-func spt-func 'sparticle-track-root) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2766) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2766 + :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.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 9216.0) - (sp-flt spt-scale-x (meters 3.0)) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-flt spt-z (meters 2.25)) + (sp-flt spt-scale-x (meters 3)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-flt spt-g 128.0) @@ -1637,24 +1214,18 @@ (sp-flt spt-a 128.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-flt spt-vel-x (meters 0.10666667)) - (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-vel-z (meters 0)) (sp-int spt-timer 1200) (sp-cpuinfo-flags bit3 bit7) (sp-func spt-func 'sparticle-track-root-prim) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 2770) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2770) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) +(defpart 2770 + :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) @@ -1662,20 +1233,14 @@ (sp-rnd-flt spt-b 128.0 128.0 1.0) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 2770) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2767) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2767 + :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.0)) + (sp-flt spt-scale-x (meters 4)) (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 0.0 64.0 1.0) @@ -1694,34 +1259,19 @@ (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-conerot-radius (meters 0.1)) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2771) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2768) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2768 + :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.0) (meters 0.25) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 0.0 64.0 1.0) @@ -1742,42 +1292,26 @@ (sp-launcher-by-id spt-next-launcher 2771) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 1.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 1) (meters 1) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 646) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :name "group-robotboss-redshot-charge" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2699) - (sp-item 2700) - (sp-item 2701) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-redshot-charge + :id 646 + :duration 900 + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2699) (sp-item 2700) (sp-item 2701)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2699) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2699 + :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.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12) (meters 1) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) (sp-flt spt-b 0.0) @@ -1790,32 +1324,19 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2703) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2703) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.4222221) - (sp-end) - ) - ) +(defpart 2703 + :init-specs + ((sp-flt spt-fade-a -1.4222221)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2700) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2700 + :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.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 8) (meters 32) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-scale-y (meters 2.5)) @@ -1830,20 +1351,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2703) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2701) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2701 + :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.0) (meters 2.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -1855,43 +1370,29 @@ (sp-copy-from-other spt-scalevel-y -4) (sp-int spt-timer 15) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 641) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2805 :period 600 :length 10) +(defpartgroup group-robotboss-redshot-launch + :id 641 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 8) + :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) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2806) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2806 + :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.0) (meters 128.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) (sp-flt spt-b 0.0) @@ -1904,35 +1405,22 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2809) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2809) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.6) - (sp-end) - ) - ) +(defpart 2809 + :init-specs + ((sp-flt spt-fade-a -1.6)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2807) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2807 + :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.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 4.0)) + (sp-flt spt-scale-y (meters 4)) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) (sp-flt spt-b 0.0) @@ -1944,20 +1432,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2809) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2808) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2808 + :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.0)) + (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -1970,20 +1452,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 40) (sp-launcher-by-id spt-next-launcher 2810) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2805) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2805 + :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.0)) + (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -1996,85 +1472,57 @@ (sp-flt spt-fade-a -1.7066667) (sp-int spt-timer 105) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 665) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-body" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2709) - (sp-item 2710) - (sp-item 2711) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-redshot-body + :id 665 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2709) (sp-item 2710) (sp-item 2711)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2710) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) +(defpart 2710 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.4) 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-int spt-timer 5) (sp-cpuinfo-flags bit2) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2711) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2711 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 6) (meters 0.8) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-int spt-timer 5) (sp-cpuinfo-flags bit2) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2709) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) +(defpart 2709 + :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.0)) + (sp-flt spt-y (meters 1)) (sp-flt spt-scale-x (meters 0.6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) @@ -2082,7 +1530,7 @@ (sp-rnd-flt spt-g 64.0 64.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) (sp-flt spt-fade-g -4.266667) (sp-flt spt-fade-a -0.42666668) @@ -2090,41 +1538,25 @@ (sp-cpuinfo-flags bit2) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) + (sp-flt spt-conerot-radius (meters 1)) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 647) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-warning" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2712) - (sp-item 2713) - (sp-item 2714 :period 45 :length 5) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-redshot-warning + :id 647 + :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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2714) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2714 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 10) (meters 5) 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-flt spt-r 255.0) @@ -2139,21 +1571,15 @@ (sp-int spt-timer 45) (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 75) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2712) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2712 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 2) (meters 4) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees -720.0) (degrees 1440.0) 1.0) (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) @@ -2168,20 +1594,14 @@ (sp-flt spt-fade-a -1.6) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2713) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) +(defpart 2713 + :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.0)) + (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -2198,38 +1618,23 @@ (sp-cpuinfo-flags bit0 bit2 bit14) (sp-rnd-flt spt-conerot-x (degrees -180.0) (degrees 720.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) + (sp-flt spt-conerot-radius (meters 1)) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 648) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2626 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) +(defpartgroup group-robotboss-redshot + :id 648 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 8) + :parts + ((sp-item 2626 :flags (is-3d))) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2626) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) +(defpart 2626 + :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.0)) + (sp-flt spt-scale-x (meters 10)) (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-int spt-r 1124073472 1 127.0) @@ -2239,80 +1644,54 @@ (sp-flt spt-fade-a -8.533334) (sp-int spt-timer 10) (sp-cpuinfo-flags bit2 bit3) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 679) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-test" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2772)) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-redshot-test + :id 679 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2772)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2772) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2772 + :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.0) (meters 0.5) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-int spt-r 1124073472 1 127.0) (sp-flt spt-g 255.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) (sp-flt spt-fade-a -2.8444443) (sp-int spt-timer 40) (sp-cpuinfo-flags bit2 bit3) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 649) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-red-blowup" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2629 :period 600 :length 5) +(defpartgroup group-robotboss-red-blowup + :id 649 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 8) + :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) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2630) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2630 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 192.0) @@ -2333,39 +1712,23 @@ (sp-launcher-by-id spt-next-launcher 2633) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2633) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (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) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2632) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2632 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 32.0)) + (sp-flt spt-scale-y (meters 32)) (sp-flt spt-r 192.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) (sp-rnd-flt spt-b 192.0 64.0 1.0) @@ -2377,21 +1740,15 @@ (sp-flt spt-fade-a -1.6) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2629) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2629 + :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.0)) - (sp-flt spt-scale-x (meters 64.0)) + (sp-flt spt-y (meters 0)) + (sp-flt spt-scale-x (meters 64)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) (sp-rnd-flt spt-g 192.0 32.0 1.0) @@ -2400,20 +1757,14 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 54) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2631) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2631 + :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.0) (meters 4.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -2433,90 +1784,55 @@ (sp-launcher-by-id spt-next-launcher 2634) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 6) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2634) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r 0.0) +(defpart 2634 + :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) (sp-launcher-by-id spt-next-launcher 2635) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2635) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r 0.0) +(defpart 2635 + :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) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2636) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2636) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 650) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-red-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2776 :period 36 :length 5) +(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) (sp-item 2776 :period 140 :length 5) (sp-item 2776 :period 61 :length 5) (sp-item 2637 :period 15 :length 5) (sp-item 2777) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2777) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2777 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 0) (meters 4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) (sp-rnd-flt spt-g 192.0 32.0 1.0) @@ -2525,27 +1841,21 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 54) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2637) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2637 + :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.0) (meters 4.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) (sp-rnd-flt spt-g 128.0 64.0 1.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-flt spt-scalevel-x (meters 0.013333334)) (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) (sp-copy-from-other spt-scalevel-y -4) @@ -2555,21 +1865,15 @@ (sp-cpuinfo-flags bit2 bit14) (sp-int-plain-rnd spt-next-time 20 89 1) (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2776) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2776 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 192.0) (sp-rnd-flt spt-g 192.0 32.0 1.0) @@ -2589,44 +1893,30 @@ (sp-launcher-by-id spt-next-launcher 2595) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 642) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellowshot-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2778 :period 600 :length 10) +(defpartgroup group-robotboss-yellowshot-launch + :id 642 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 8) + :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) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2779) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2779 + :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.0) (meters 128.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 32) (meters 128) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2) (meters 4) 1.0) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) @@ -2639,35 +1929,22 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2782) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2782) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.6) - (sp-end) - ) - ) +(defpart 2782 + :init-specs + ((sp-flt spt-fade-a -1.6)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2780) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2780 + :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.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 32) (meters 32) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 4.0)) + (sp-flt spt-scale-y (meters 4)) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) @@ -2679,20 +1956,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2782) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2781) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2781 + :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.0)) + (sp-flt spt-scale-x (meters 100)) (sp-flt spt-rot-z (degrees 0.0)) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -2705,20 +1976,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 40) (sp-launcher-by-id spt-next-launcher 2783) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2778) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2778 + :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.0)) + (sp-flt spt-scale-x (meters 6)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -2731,42 +1996,26 @@ (sp-flt spt-fade-a -1.7066667) (sp-int spt-timer 105) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 651) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellowshot-charge" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2811) - (sp-item 2812) - (sp-item 2813) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-yellowshot-charge + :id 651 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2811) (sp-item 2812) (sp-item 2813)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2811) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2811 + :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.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 16) (meters 1) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1) 1.0) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) (sp-flt spt-b 0.0) @@ -2779,32 +2028,19 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2814) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2814) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.4222221) - (sp-end) - ) - ) +(defpart 2814 + :init-specs + ((sp-flt spt-fade-a -1.4222221)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2812) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2812 + :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.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12) (meters 32) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-scale-y (meters 2.5)) @@ -2819,20 +2055,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int-plain-rnd spt-next-time 5 19 1) (sp-launcher-by-id spt-next-launcher 2814) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2813) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2813 + :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.0) (meters 2.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -2844,39 +2074,21 @@ (sp-copy-from-other spt-scalevel-y -4) (sp-int spt-timer 15) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 652) - (new 'static 'sparticle-launch-group - :length 5 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellowshot" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2815) - (sp-item 2816) - (sp-item 2817) - (sp-item 2818) - (sp-item 2819) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-yellowshot + :id 652 + :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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2816) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) +(defpart 2816 + :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) @@ -2885,7 +2097,7 @@ (sp-rnd-flt spt-g 96.0 64.0 1.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) (sp-flt spt-fade-g -4.266667) (sp-flt spt-fade-a -0.42666668) @@ -2893,22 +2105,16 @@ (sp-cpuinfo-flags bit2) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.0)) - (sp-end) + (sp-flt spt-conerot-radius (meters 2)) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2819) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2819 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 1)) + (sp-rnd-flt spt-scale-x (meters 8) (meters 4) 1.0) (sp-rnd-flt spt-rot-z (degrees -720.0) (degrees 1440.0) 1.0) (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) (sp-rnd-flt spt-r 192.0 64.0 1.0) @@ -2922,20 +2128,14 @@ (sp-flt spt-fade-a -1.6) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2815) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) +(defpart 2815 + :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.0)) + (sp-flt spt-y (meters 1)) (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) @@ -2953,90 +2153,64 @@ (sp-cpuinfo-flags bit0 bit2 bit14) (sp-rnd-flt spt-conerot-x (degrees -180.0) (degrees 720.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) + (sp-flt spt-conerot-radius (meters 1)) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2817) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) +(defpart 2817 + :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.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 5) (meters 0.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-flt spt-g 128.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-flt spt-scalevel-x (meters -0.10666667)) (sp-copy-from-other spt-scalevel-y -4) (sp-flt spt-fade-g -1.7066667) (sp-flt spt-fade-a -1.7066667) (sp-int spt-timer 75) (sp-cpuinfo-flags bit2) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2818) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2818 + :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.0) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-x (meters 10) (meters 1.6) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-flt spt-g 128.0) (sp-flt spt-b 0.0) (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-int spt-timer 5) (sp-cpuinfo-flags bit2) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 653) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellow-blowup" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2648 :period 600 :length 5) +(defpartgroup group-robotboss-yellow-blowup + :id 653 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 8) + :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) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2649) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2649 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 1) (meters 2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 192.0 64.0 1.0) (sp-rnd-flt spt-g 128.0 64.0 1.0) @@ -3056,39 +2230,23 @@ (sp-launcher-by-id spt-next-launcher 2652) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2652) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (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) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2651) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2651 + :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.0)) + (sp-flt spt-y (meters 0)) (sp-flt spt-scale-x (meters 0.8)) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 64.0)) + (sp-flt spt-scale-y (meters 64)) (sp-rnd-flt spt-r 192.0 64.0 1.0) (sp-rnd-flt spt-g 128.0 64.0 1.0) (sp-flt spt-b 0.0) @@ -3100,21 +2258,15 @@ (sp-flt spt-fade-a -1.6) (sp-int spt-timer 60) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2648) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2648 + :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.0)) - (sp-flt spt-scale-x (meters 128.0)) + (sp-flt spt-y (meters 0)) + (sp-flt spt-scale-x (meters 128)) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 128.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) @@ -3123,20 +2275,14 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 54) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2650) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2650 + :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.0) (meters 8.0) 1.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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 192.0 64.0 1.0) @@ -3156,90 +2302,55 @@ (sp-launcher-by-id spt-next-launcher 2653) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 12.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 12) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2653) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r 0.0) +(defpart 2653 + :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) (sp-launcher-by-id spt-next-launcher 2654) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2654) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.28444445) +(defpart 2654 + :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) (sp-int spt-next-time 150) (sp-launcher-by-id spt-next-launcher 2655) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2655) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) +(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)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 654) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellow-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2820 :period 36 :length 5) +(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) (sp-item 2820 :period 140 :length 5) (sp-item 2820 :period 61 :length 5) (sp-item 2656 :period 15 :length 5) (sp-item 2821) ) - :bounds (new 'static 'sphere :w 32768.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2821) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2821 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 0) (meters 4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) @@ -3248,27 +2359,21 @@ (sp-flt spt-fade-a -2.3272727) (sp-int spt-timer 54) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2656) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2656 + :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.0) (meters 4.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) (sp-rnd-flt spt-g 192.0 64.0 1.0) (sp-flt spt-b 128.0) (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-y (meters 0)) (sp-flt spt-scalevel-x (meters 0.026666667)) (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) (sp-copy-from-other spt-scalevel-y -4) @@ -3278,21 +2383,15 @@ (sp-cpuinfo-flags bit2 bit14) (sp-int-plain-rnd spt-next-time 20 89 1) (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2820) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2820 + :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.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 192.0 64.0 1.0) (sp-flt spt-g 192.0) @@ -3312,34 +2411,15 @@ (sp-launcher-by-id spt-next-launcher 2595) (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 2) (meters 4) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 655) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-white-eco" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2852)) - :bounds - (new 'static 'sphere :y 2048.0 :w 6144.0) - ) - ) +(defpartgroup group-white-eco :id 655 :bounds (static-bspherem 0 0.5 0 1.5) :parts ((sp-item 2852))) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2852) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-flt spt-num 1.0) +(defpart 2852 + :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) @@ -3350,18 +2430,12 @@ (sp-rnd-flt spt-conerot-x (degrees -1440.0) (degrees 2880.0) 1.0) (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) (sp-flt spt-rotate-y (degrees 6.0000005)) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2657) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2657 + :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) @@ -3380,32 +2454,19 @@ (sp-func spt-func 'sparticle-track-root) (sp-int spt-next-time 90) (sp-launcher-by-id spt-next-launcher 2661) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2661) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) +(defpart 2661 + :init-specs + ((sp-flt spt-fade-a -0.53333336)) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2658) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) +(defpart 2658 + :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.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 2) (meters 0.5) 1.0) (sp-int spt-rot-x 4) (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) (sp-flt spt-scale-y (meters 0.2)) @@ -3421,22 +2482,16 @@ (sp-func spt-func 'sparticle-track-root) (sp-int spt-next-time 75) (sp-launcher-by-id spt-next-launcher 2661) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2659) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2659 + :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)) - (sp-flt spt-scale-y (meters 3.0)) + (sp-flt spt-scale-y (meters 3)) (sp-flt spt-r 192.0) (sp-flt spt-g 192.0) (sp-rnd-flt spt-b 0.0 128.0 1.0) @@ -3445,20 +2500,14 @@ (sp-int spt-timer 5) (sp-cpuinfo-flags bit2 bit3 bit14) (sp-func spt-func 'sparticle-track-root) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2660) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2660 + :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.0)) + (sp-flt spt-scale-x (meters 4)) (sp-flt spt-rot-z (degrees 0.0)) (sp-flt spt-scale-y (meters 3.5)) (sp-flt spt-r 128.0) @@ -3469,23 +2518,15 @@ (sp-int spt-timer 5) (sp-cpuinfo-flags bit2 bit3 bit14) (sp-func spt-func 'sparticle-track-root) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 666) - (new 'static 'sparticle-launch-group - :length 14 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-blue-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 14 - (sp-item 2719 :binding 2716) +(defpartgroup group-finalboss-blue-claw-beam + :id 666 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :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) @@ -3500,36 +2541,21 @@ (sp-item 2721) (sp-item 2722) ) - :bounds (new 'static 'sphere :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 667) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-blue-claw-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2723 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) +(defpartgroup group-finalboss-blue-claw-beam-impact + :id 667 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 10) + :parts + ((sp-item 2723 :flags (is-3d))) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2723) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2723 + :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.0) (meters 24.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) (sp-rnd-flt spt-rot-y (degrees 25.000002) (degrees 20.0) 1.0) (sp-flt spt-rot-z (degrees 180.0)) @@ -3541,20 +2567,14 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2719) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2719 + :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.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-flt spt-g 0.0) @@ -3567,23 +2587,17 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 102.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2716) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2716 + :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.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 2048.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 1) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) @@ -3592,23 +2606,17 @@ (sp-flt spt-a 128.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-vel-y (meters 0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0)) (sp-flt spt-accel-z 0.0) (sp-int spt-timer 1800) (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2717) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) +(defpart 2717 + :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) @@ -3623,18 +2631,12 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2718) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) +(defpart 2718 + :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) @@ -3649,18 +2651,12 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 10) (sp-launcher-by-id spt-next-launcher 146) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2720) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2720 + :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) @@ -3675,21 +2671,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 102.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2722) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2722 + :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.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 2) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-flt spt-g 0.0) @@ -3702,21 +2692,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 102.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2721) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2721 + :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.0) (meters 8.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 0.0 128.0 1.0) @@ -3726,23 +2710,15 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 668) - (new 'static 'sparticle-launch-group - :length 13 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-red-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 13 - (sp-item 2726 :binding 2724) +(defpartgroup group-finalboss-red-claw-beam + :id 668 + :flags (use-local-clock) + :bounds (static-bspherem 0 23 0 64) + :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) @@ -3756,20 +2732,13 @@ (sp-item 2728) (sp-item 2729) ) - :bounds - (new 'static 'sphere :y 94208.0 :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2730) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2730 + :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.0) (meters 24.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) (sp-flt spt-rot-z (degrees 68.0)) @@ -3781,20 +2750,14 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2726) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2726 + :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.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 6) (meters 3) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) @@ -3807,22 +2770,16 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 100.00001)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2724) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2724 + :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.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 1.25) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -3831,25 +2788,19 @@ (sp-flt spt-a 127.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-vel-y (meters 0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0)) (sp-flt spt-accel-z 0.0) (sp-int spt-timer 450) (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2725) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) +(defpart 2725 + :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.0) (meters 0.5) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 100.0 28.0 1.0) @@ -3867,18 +2818,12 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-int spt-next-time 240) (sp-launcher-by-id spt-next-launcher 171) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2727) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2727 + :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) @@ -3893,21 +2838,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 100.00001)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2729) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2729 + :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.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 4) (meters 2) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 128.0 128.0 1.0) (sp-rnd-flt spt-g 0.0 64.0 1.0) @@ -3920,20 +2859,14 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 100.00001)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2728) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2728 + :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.0) (meters 8.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -3943,23 +2876,15 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 670) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-yellow-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 2733 :binding 2731) +(defpartgroup group-finalboss-yellow-claw-beam + :id 670 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :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) @@ -3975,37 +2900,21 @@ (sp-item 2735) (sp-item 2736) ) - :bounds (new 'static 'sphere :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 671) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name - "group-finalboss-yellow-claw-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2737 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) +(defpartgroup group-finalboss-yellow-claw-beam-impact + :id 671 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 10) + :parts + ((sp-item 2737 :flags (is-3d))) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2737) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2737 + :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.0) (meters 24.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) (sp-flt spt-rot-z (degrees 115.0)) @@ -4017,20 +2926,14 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2733) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2733 + :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.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 100.0 28.0 1.0) (sp-rnd-flt spt-g 64.0 64.0 1.0) @@ -4043,23 +2946,17 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 85.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2731) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2731 + :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.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 1.25) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 100.0 28.0 1.0) @@ -4068,25 +2965,19 @@ (sp-flt spt-a 96.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-vel-y (meters 0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0)) (sp-flt spt-accel-z 0.0) (sp-int spt-timer 600) (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2732) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2732 + :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.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 100.0 28.0 1.0) (sp-rnd-flt spt-g 64.0 64.0 1.0) @@ -4099,18 +2990,12 @@ (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) (sp-int-plain-rnd spt-timer 30 299 1) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2734) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2734 + :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) @@ -4125,21 +3010,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 85.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2736) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2736 + :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.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 100.0 28.0 1.0) (sp-rnd-flt spt-g 64.0 64.0 1.0) @@ -4152,21 +3031,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 85.0)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2735) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2735 + :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.0) (meters 8.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 255.0) @@ -4176,23 +3049,15 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 672) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-green-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 2740 :binding 2738) +(defpartgroup group-finalboss-green-claw-beam + :id 672 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :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) @@ -4208,37 +3073,21 @@ (sp-item 2742) (sp-item 2743) ) - :bounds (new 'static 'sphere :w 262144.0) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 673) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name - "group-finalboss-green-claw-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2744 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) +(defpartgroup group-finalboss-green-claw-beam-impact + :id 673 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 10) + :parts + ((sp-item 2744 :flags (is-3d))) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2744) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2744 + :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.0) (meters 24.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12) (meters 24) 1.0) (sp-flt spt-rot-x 16384.0) (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) (sp-flt spt-rot-z (degrees 180.0)) @@ -4250,20 +3099,14 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2740) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2740 + :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.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 3) (meters 1.5) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) @@ -4276,23 +3119,17 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 100.00001)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2738) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2738 + :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.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-x (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-y (meters 0) (meters 16) 1.0) + (sp-rnd-flt spt-z (meters 1.25) (meters 0.5) 1.0) (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) @@ -4301,25 +3138,19 @@ (sp-flt spt-a 96.0) (sp-rnd-flt spt-omega 0.0 65536.0 1.0) (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-vel-y (meters 0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0)) (sp-flt spt-accel-z 0.0) (sp-int spt-timer 600) (sp-cpuinfo-flags bit2 bit7 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2739) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2739 + :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.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 1) (meters 0.4) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) @@ -4331,18 +3162,12 @@ (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) (sp-int-plain-rnd spt-timer 30 299 1) (sp-cpuinfo-flags bit2 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2741) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2741 + :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) @@ -4357,21 +3182,15 @@ (sp-cpuinfo-flags bit2 bit3 bit14) (sp-flt spt-conerot-x (degrees 100.00001)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2743) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) +(defpart 2743 + :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.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 4) (meters 1) 1.0) (sp-copy-from-other spt-scale-y -4) (sp-flt spt-r 0.0) (sp-rnd-flt spt-g 128.0 128.0 1.0) @@ -4384,21 +3203,15 @@ (sp-cpuinfo-flags bit2 bit14) (sp-flt spt-conerot-x (degrees 100.00001)) (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) + (sp-rnd-flt spt-conerot-radius (meters 0) (meters 0.5) 1.0) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2742) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) +(defpart 2742 + :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.0) (meters 8.0) 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) (sp-copy-from-other spt-scale-y -4) (sp-rnd-flt spt-r 0.0 192.0 1.0) @@ -4408,72 +3221,45 @@ (sp-flt spt-fade-a -5.12) (sp-int spt-timer 20) (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) ) - ) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 674) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-blue-claw-glow + :id 674 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2324)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 675) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-green-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-green-claw-glow + :id 675 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2324)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 676) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-red-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-red-claw-glow + :id 676 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2324)) ) -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 677) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellow-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) +(defpartgroup group-robotboss-yellow-claw-glow + :id 677 + :duration 900 + :flags (use-local-clock) + :bounds (static-bspherem 0 0 0 64) + :parts + ((sp-item 2324)) ) -;; failed to figure out what this is: 0 diff --git a/goal_src/levels/finalboss/robotboss-weapon.gc b/goal_src/levels/finalboss/robotboss-weapon.gc index 0bc9cb7afe..2182ed2326 100644 --- a/goal_src/levels/finalboss/robotboss-weapon.gc +++ b/goal_src/levels/finalboss/robotboss-weapon.gc @@ -217,7 +217,7 @@ ) :code (behavior () - (while #t + (loop (format *stdcon* "debug trajectory~%") (suspend) ) @@ -244,13 +244,10 @@ ) -(defskelgroup *darkecobomb-sg* darkecobomb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.5 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *darkecobomb-sg* darkecobomb darkecobomb-lod0-jg darkecobomb-idle-ja + ((darkecobomb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 6) + ) (defstate darkecobomb-explode (darkecobomb) :code @@ -388,11 +385,7 @@ (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (the int (-> self countdown-time))) (go darkecobomb-explode #f) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) + (when (ja-group? (-> self draw art-group data 5)) (let ((gp-2 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-2 (-> self node-list data 5)) (spawn (-> self part) gp-2) @@ -403,41 +396,17 @@ :code (behavior () (sound-play-by-name (static-sound-name "bomb-open") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) (-> self anim-speed)) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -465,32 +434,16 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -518,40 +471,16 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -605,13 +534,10 @@ ) -(defskelgroup *greenshot-sg* greenshot - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *greenshot-sg* greenshot greenshot-lod0-jg greenshot-idle-ja + ((greenshot-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defstate greenshot-idle (greenshot) :enter @@ -633,40 +559,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -756,13 +653,10 @@ (none) ) -(defskelgroup *redring-sg* redring - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 40) - :longest-edge (meters 0) - ) +(defskelgroup *redring-sg* redring redring-lod0-jg redring-idle-ja + ((redring-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 40) + ) (defbehavior redshot-trans redshot ((arg0 time-frame)) (let ((s5-0 (new 'stack-no-clear 'matrix))) @@ -859,11 +753,8 @@ ) :code (behavior () - (while #t - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (* 0.000016276043 (-> self ring radius-primary))) - ) + (loop + (ja :num-func num-func-identity :frame-num (* 0.000016276043 (-> self ring radius-primary))) (suspend) ) (none) @@ -899,7 +790,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -931,7 +822,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1033,7 +924,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/finalboss/robotboss.gc b/goal_src/levels/finalboss/robotboss.gc index d6c699c6b1..17a6a44af7 100644 --- a/goal_src/levels/finalboss/robotboss.gc +++ b/goal_src/levels/finalboss/robotboss.gc @@ -11,29 +11,20 @@ (parameter-ease-sin-clamp (-> obj loc-t)) ) -(defskelgroup *robotboss-blueeco-sg* robotboss-blueeco - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 200) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-blueeco-sg* robotboss-blueeco robotboss-blueeco-lod0-jg robotboss-blueeco-idle-ja + ((robotboss-blueeco-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 200) + ) -(defskelgroup *robotboss-redeco-sg* robotboss-redeco - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 200) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-redeco-sg* robotboss-redeco robotboss-redeco-lod0-jg robotboss-redeco-idle-ja + ((robotboss-redeco-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 200) + ) -(defskelgroup *robotboss-yelloweco-sg* robotboss-yelloweco - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 200) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-yelloweco-sg* robotboss-yelloweco robotboss-yelloweco-lod0-jg robotboss-yelloweco-idle-ja + ((robotboss-yelloweco-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 200) + ) (defbehavior robotboss-cut-cam-exit robotboss () (set! (-> self valid-frames) 0) @@ -48,15 +39,7 @@ (defbehavior robotboss-cut-cam robotboss ((arg0 float) (arg1 float) (arg2 int)) (let ((f0-0 (ja-aframe-num 0))) (cond - ((or (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg2 - ) - ) - (< f0-0 arg0) - (< arg1 f0-0) - ) + ((or (not (ja-group? arg2)) (< f0-0 arg0) (< arg1 f0-0)) (robotboss-cut-cam-exit) ) ((or (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -93,7 +76,7 @@ (hide-hud-quick) (set! *camera-look-through-other* 2) (when (< (-> self valid-frames) 2) - (set-blackout-frames (seconds 0.033333335)) + (set-blackout-frames (seconds 0.035)) (+! (-> self valid-frames) 1) ) ) @@ -249,8 +232,7 @@ ) ) (when (and arg0 *debug-segment* (cpad-pressed? 0 l3)) ;; NOTE : changed from (cpad-pressed? 1 x) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons l3)) + (cpad-clear! 0 l3) (go arg0) ) (none) @@ -309,31 +291,14 @@ ) (defbehavior robotboss-anim-blend-loop robotboss ((arg0 art-joint-anim)) - (let ((s5-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((s5-0 (ja-group))) (ja-channel-push! 2 0) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s4-0 arg0 num-func-identity) - (set! (-> s4-0 frame-num) 0.0) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! gp-1 s5-0 num-func-identity) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! arg0 :num! min) + (ja :chan 1 :group! s5-0 :num! min) ) - (while #t - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 frame-interp) (- 1.0 (ease-loc-t self))) - (set! (-> gp-2 param 0) 0.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-chan) - ) + (loop + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0) :frame-interp (- 1.0 (ease-loc-t self))) (suspend) ) (none) @@ -608,169 +573,45 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 40960.0 :z 81920.0) (-> self dda yellow-bomb-time)) (play-ambient (-> self ambient) "GOL-AM20" #t (the-as vector #f)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-52 (-> self skel root-channel 0))) - (set! (-> v1-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 2)) (robotboss-darkecobomb (new 'static 'vector :y 40960.0 :z -81920.0) (+ -150.0 (-> self dda yellow-bomb-time))) ) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-93 (-> self skel root-channel 0))) - (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-25 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-25 param 1) 1.0) - (set! (-> a0-25 frame-num) 0.0) - (joint-control-channel-group! - a0-25 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 3)) (robotboss-darkecobomb (new 'static 'vector :x 81920.0 :y 40960.0) (+ -300.0 (-> self dda yellow-bomb-time))) ) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-134 (-> self skel root-channel 0))) - (set! (-> v1-134 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-34 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! - a0-34 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 4)) (robotboss-darkecobomb (new 'static 'vector :x -81920.0 :y 40960.0) (+ -450.0 (-> self dda yellow-bomb-time))) @@ -778,57 +619,17 @@ (set! (-> self des-cam-entity) "camera-365") ) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 30) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-183 (-> self skel root-channel 0))) - (set! (-> v1-183 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - ) - ) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-48 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-48 param 1) 1.0) - (set! (-> a0-48 frame-num) 0.0) - (joint-control-channel-group! - a0-48 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-yellow-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-yellow-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1104,89 +905,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 30) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - ) + (when (not (ja-group? robotboss-idle-hover-no-yellow-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-yellow-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1235,17 +969,7 @@ ) (defbehavior robotboss-is-yellow-hit robotboss () - (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 28) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) + (or (ja-group? robotboss-yellow-hit-ja) (ja-group? robotboss-yellow-last-hit-ja)) ) (defbehavior robotboss-time-to-shoot-yellow robotboss () @@ -1368,10 +1092,8 @@ (robotboss-yellow-eco-off) (set! (-> self took-hit) #f) (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-yellow-last-hit-ja) (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 27)) @@ -1413,14 +1135,12 @@ (play-ambient (-> self ambient) "MAI-AM06" #t (the-as vector #f)) ) (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-54 (-> self skel root-channel 0))) - (set! (-> v1-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-yellow-hit-ja) ) ) (robotboss-position) - (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int (-> self draw art-group data 29))) + (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int robotboss-yellow-roar-ja)) (when (and (-> self keep-charging) (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) ) @@ -1434,11 +1154,7 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -1447,121 +1163,39 @@ (if (nonzero? (-> self yellow-gun)) (set-mode! (-> self yellow-gun) (joint-mod-handler-mode look-at)) ) - (while #t + (loop (when (not (robotboss-time-to-shoot-yellow)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-23 (-> self skel root-channel 0))) - (set! (-> v1-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) + (when (not (ja-group? robotboss-yellow-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-yellow-idle-ja) ) - (when (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) - (let ((v1-30 (-> self skel root-channel 0))) - (set! (-> v1-30 num-func) num-func-identity) - (set! (-> v1-30 frame-num) 15.0) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) + (ja :num-func num-func-identity :frame-num 15.0) ) - ) (while (not (or (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) + (ja-group? robotboss-yellow-last-hit-ja) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-40 (-> self skel root-channel 0))) - (set! (-> v1-40 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-24 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (when (not (ja-group? robotboss-yellow-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-yellow-idle-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (robotboss-is-yellow-hit) (goto cfg-36) ) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (label cfg-36) (when (not (robotboss-is-yellow-hit)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-93 (-> self skel root-channel 0))) - (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - ) - (let ((a0-41 (-> self skel root-channel 0))) - (set! (-> a0-41 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-41 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-41 param 1) 1.0) - (set! (-> a0-41 frame-num) 0.0) - (joint-control-channel-group! - a0-41 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (when (not (ja-group? robotboss-yellow-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-yellow-idle-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (robotboss-is-yellow-hit) (goto cfg-55) @@ -1570,28 +1204,13 @@ (set! (-> self keep-charging) #t) ) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (label cfg-55) - (when (and (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) - (or (robotboss-time-to-shoot-yellow) (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 28) - ) - ) - ) + (when (and (not (ja-group? robotboss-yellow-last-hit-ja)) + (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)) @@ -1631,66 +1250,19 @@ ) ) ) - (ja-channel-push! 1 15) - (let ((v1-176 (-> self skel root-channel 0))) - (set! (-> v1-176 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - ) - ) - (let ((a0-70 (-> self skel root-channel 0))) - (set! (-> a0-70 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-70 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-70 param 1) 1.0) - (set! (-> a0-70 frame-num) 0.0) - (joint-control-channel-group! - a0-70 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! robotboss-yellow-blast-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-71 (-> self skel root-channel 0))) - (set! (-> a0-71 param 0) (the float (+ (-> a0-71 frame-group data 0 length) -1))) - (set! (-> a0-71 param 1) 1.0) - (joint-control-channel-group-eval! a0-71 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-77 (-> self skel root-channel 0))) - (set! (-> a0-77 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) - (set! (-> a0-77 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 29)) data 0 length) -1)) - ) - (set! (-> a0-77 param 1) 1.0) - (set! (-> a0-77 frame-num) 0.0) - (joint-control-channel-group! a0-77 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) - ) + (when (ja-group? robotboss-yellow-last-hit-ja) + (ja-no-eval :group! robotboss-yellow-roar-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-78 (-> self skel root-channel 0))) - (set! (-> a0-78 param 0) (the float (+ (-> a0-78 frame-group data 0 length) -1))) - (set! (-> a0-78 param 1) 1.0) - (joint-control-channel-group-eval! a0-78 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go robotboss-yellow-dark-bomb) ) @@ -1733,113 +1305,35 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-dark-return-after-red-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (cond ((and *target* (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - ) - (ja-channel-push! 1 240) - (let ((v1-55 (-> self skel root-channel 0))) - (set! (-> v1-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - ) + (when (not (ja-group? robotboss-idle-hover-lookup-no-red-ja)) + (ja-channel-push! 1 (seconds 0.8)) + (ja :group! robotboss-idle-hover-lookup-no-red-ja) ) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-64 (-> self skel root-channel 0))) - (set! (-> v1-64 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) + ((not (ja-group? robotboss-idle-hover-no-red-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-red-ja) ) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1877,102 +1371,31 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-red-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (-> self dda red-bomb-time)) (set! (-> self des-cam-entity) "camera-365") ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-57 (-> self skel root-channel 0))) - (set! (-> v1-57 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-19 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-red-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-red-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2003,89 +1426,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) + (when (not (ja-group? robotboss-idle-hover-no-red-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-red-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2247,17 +1603,7 @@ ) (defbehavior robotboss-is-red-hit robotboss () - (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 19) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - ) + (or (ja-group? robotboss-red-hit-ja) (ja-group? robotboss-red-last-hit-ja)) ) (defstate robotboss-red-wait (robotboss) @@ -2400,10 +1746,8 @@ ) (set! (-> self took-hit) #f) (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-10 (-> self skel root-channel 0))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-red-last-hit-ja) (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 51)) @@ -2439,10 +1783,8 @@ (play-ambient (-> self ambient) "MAI-AM06" #t (the-as vector #f)) ) (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-56 (-> self skel root-channel 0))) - (set! (-> v1-56 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-red-hit-ja) ) ) (robotboss-position) @@ -2450,68 +1792,25 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) (robotboss-setup-for-hits 1 5) - (while #t + (loop (until (or (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) + (ja-group? robotboss-red-last-hit-ja) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-7 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-red-idle-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) + (if (ja-group? robotboss-red-last-hit-ja) (goto cfg-24) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (label cfg-24) @@ -2526,36 +1825,9 @@ ) ) (when (not (robotboss-is-red-hit)) - (ja-channel-push! 1 60) - (let ((v1-72 (-> self skel root-channel 0))) - (set! (-> v1-72 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-red-charge-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (update! (-> self looping-sound 2)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -2566,21 +1838,12 @@ (goto cfg-37) ) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (label cfg-37) (stop! (-> self looping-sound 2)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - ) + (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))) @@ -2625,65 +1888,18 @@ ) ) ) - (let ((v1-157 (-> self skel root-channel 0))) - (set! (-> v1-157 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - ) - ) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-56 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-56 param 1) 1.0) - (set! (-> a0-56 frame-num) 0.0) - (joint-control-channel-group! - a0-56 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :group! robotboss-red-blast-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-57 (-> self skel root-channel 0))) - (set! (-> a0-57 param 0) (the float (+ (-> a0-57 frame-group data 0 length) -1))) - (set! (-> a0-57 param 1) 1.0) - (joint-control-channel-group-eval! a0-57 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - (set! (-> a0-63 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) - ) - (set! (-> a0-63 param 1) 1.0) - (set! (-> a0-63 frame-num) 0.0) - (joint-control-channel-group! a0-63 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) - ) + (when (ja-group? robotboss-red-last-hit-ja) + (ja-no-eval :group! robotboss-red-roar-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go robotboss-red-dark-bomb) ) @@ -2719,98 +1935,27 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-dark-return-after-green-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-50 (-> self skel root-channel 0))) - (set! (-> v1-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-17 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2847,45 +1992,14 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (-> self dda green-bomb-time)) @@ -2893,57 +2007,17 @@ (play-ambient (-> self ambient) "GOL-AM11" #t (the-as vector #f)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-59 (-> self skel root-channel 0))) - (set! (-> v1-59 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-20 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2975,89 +2049,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3105,10 +2112,8 @@ (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) - (ja-channel-push! 1 60) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-roar-ja) (robotboss-yellow-eco-off) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) self) @@ -3253,20 +2258,16 @@ (< (-> self children-spawned) 1) ) (robotboss-greenshot (new 'static 'vector) (the-as float 24576.0) 600 #t) - (ja-channel-push! 1 60) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 1.2)) (< (-> self children-spawned) 3) ) (robotboss-greenshot (new 'static 'vector :x 8192.0) (the-as float 16384.0) 600 #t) (robotboss-greenshot (new 'static 'vector :z 8192.0) (the-as float 32768.0) 660 #f) - (ja-channel-push! 1 60) - (let ((v1-20 (-> self skel root-channel 0))) - (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 2.6)) (< (-> self children-spawned) 6) @@ -3274,29 +2275,23 @@ (robotboss-greenshot (new 'static 'vector :z 12288.0) (the-as float 20480.0) 600 #t) (robotboss-greenshot (new 'static 'vector :x 8192.0) (the-as float 8192.0) 660 #f) (robotboss-greenshot (new 'static 'vector) (the-as float 36864.0) 720 #f) - (ja-channel-push! 1 60) - (let ((v1-32 (-> self skel root-channel 0))) - (set! (-> v1-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 4)) (< (-> self children-spawned) 7) ) (robotboss-greenshot (new 'static 'vector) (the-as float 24576.0) 600 #t) - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 5.5)) (< (-> self children-spawned) 9) ) (robotboss-greenshot (new 'static 'vector) (the-as float 12288.0) 600 #t) (robotboss-greenshot (new 'static 'vector :x 4096.0 :z 12288.0) (the-as float 32768.0) 600 #f) - (ja-channel-push! 1 60) - (let ((v1-53 (-> self skel root-channel 0))) - (set! (-> v1-53 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 8)) (< (-> self children-spawned) 10) @@ -3336,69 +2331,25 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) + ((ja-group? robotboss-green-roar-ja) (go robotboss-green-dark-bomb) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + ((not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-14 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! - a0-14 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3433,98 +2384,27 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-dark-return-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-50 (-> self skel root-channel 0))) - (set! (-> v1-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-17 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3561,45 +2441,14 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (the-as float 3600.0)) @@ -3607,72 +2456,25 @@ (play-ambient (-> self ambient) "MAI-AM04" #t (the-as vector #f)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (cond ((and *target* (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 240) - (let ((v1-64 (-> self skel root-channel 0))) - (set! (-> v1-64 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (when (not (ja-group? robotboss-idle-hover-lookup-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.8)) + (ja :group! robotboss-idle-hover-lookup-no-blue-ja) ) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-73 (-> self skel root-channel 0))) - (set! (-> v1-73 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + ((not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-30 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3703,89 +2505,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3815,11 +2550,7 @@ ) (cond ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 0.4)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) + (ja-group? robotboss-idle-blue-ja) ) (spawn (-> self particle 0) s4-0) (when (and arg1 (nonzero? (-> self looping-sound 0))) @@ -3864,12 +2595,7 @@ ) (cond ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 1.4)) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) + (not (ja-group? robotboss-blue-roar-ja)) ) (spawn (-> self particle 1) gp-0) (when (and arg1 (nonzero? (-> self looping-sound 1))) @@ -4085,10 +2811,8 @@ (robotboss-blue-done) (set! (-> self took-hit) #f) (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-blue-last-hit-ja) (sound-play-by-name (static-sound-name "explod-eye") (new-sound-id) 1024 0 0 1 #t) (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) @@ -4125,24 +2849,11 @@ (play-ambient (-> self ambient) "MAI-AM06" #t (the-as vector #f)) ) (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-54 (-> self skel root-channel 0))) - (set! (-> v1-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-blue-hit-ja) ) ) - (when (not (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 33) - ) - ) - ) + (when (not (or (ja-group? robotboss-blue-roar-ja) (ja-group? robotboss-blue-last-hit-ja))) ) (robotboss-blue-beam 8 #t) (robotboss-blue-beam 9 #f) @@ -4171,74 +2882,26 @@ ) ) (robotboss-position) - (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int (-> self draw art-group data 5))) + (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int robotboss-blue-roar-ja)) (none) ) :code (behavior () - (ja-channel-push! 1 120) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-32 (-> self skel root-channel 0))) - (set! (-> v1-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (<= (-> self hits-to-go) 0) (let ((a1-6 (new 'stack-no-clear 'event-message-block))) @@ -4257,43 +2920,12 @@ ) ) ) - (ja-channel-push! 1 30) - (let ((v1-74 (-> self skel root-channel 0))) - (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-20 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-blue-roar-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go robotboss-blue-dark-bomb) ) diff --git a/goal_src/levels/finalboss/sage-finalboss.gc b/goal_src/levels/finalboss/sage-finalboss.gc index 6d7f1ebbcd..fc7a1027e2 100644 --- a/goal_src/levels/finalboss/sage-finalboss.gc +++ b/goal_src/levels/finalboss/sage-finalboss.gc @@ -7,37 +7,31 @@ ;; DECOMP BEGINS -(defskelgroup *robotboss-cinematic-sg* robotboss-cinematic - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -10 0 2000) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-cinematic-sg* robotboss-cinematic robotboss-cinematic-lod0-jg robotboss-cinematic-idle-ja + ((robotboss-cinematic-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -10 0 2000) + ) -(defskelgroup *jak-white-sg* jak-white - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *jak-white-sg* jak-white jak-white-lod0-jg jak-white-idle-ja + ((jak-white-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) -(defskelgroup *plat-eco-finalboss-unlit-sg* plat-eco-finalboss - 0 - 8 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-finalboss-unlit-sg* plat-eco-finalboss plat-eco-finalboss-lod0-jg plat-eco-finalboss-idle-ja + ((plat-eco-finalboss-lod0-mg (meters 20)) + (plat-eco-finalboss-lod1-mg (meters 40)) + (plat-eco-finalboss-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *plat-eco-finalboss-lit-sg* plat-eco-finalboss - 4 - 8 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-finalboss-lit-sg* plat-eco-finalboss plat-eco-finalboss-lit-lod0-jg plat-eco-finalboss-idle-ja + ((plat-eco-finalboss-lit-lod0-mg (meters 20)) + (plat-eco-finalboss-lit-lod1-mg (meters 40)) + (plat-eco-finalboss-lit-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) (deftype plat-eco-finalboss (plat-eco) ((force-dest float :offset-assert 360) @@ -247,14 +241,11 @@ (none) ) -(defskelgroup *sage-finalboss-sg* green-sagecage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *sage-finalboss-sg* green-sagecage green-sagecage-lod0-jg green-sagecage-green-sagecage-idle-ja + ((green-sagecage-lod0-mg (meters 20)) (green-sagecage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow green-sagecage-shadow-mg + ) (defmethod play-reminder sage-finalboss ((obj sage-finalboss)) (let ((s5-0 (entity-by-name "red-sagecage-1"))) diff --git a/goal_src/levels/firecanyon/assistant-firecanyon.gc b/goal_src/levels/firecanyon/assistant-firecanyon.gc index f51c2747c3..1a4a2d1d34 100644 --- a/goal_src/levels/firecanyon/assistant-firecanyon.gc +++ b/goal_src/levels/firecanyon/assistant-firecanyon.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *assistant-firecanyon-sg* assistant-firecanyon - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-firecanyon-sg* assistant-firecanyon assistant-firecanyon-lod0-jg assistant-firecanyon-idle-twist-ja + ((assistant-firecanyon-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-firecanyon-shadow-mg + ) (defmethod play-anim! assistant-firecanyon ((obj assistant-firecanyon) (arg0 symbol)) (case (current-status (-> obj tasks)) @@ -134,14 +131,10 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) - (while #t + (loop (let ((gp-0 #t)) (cond ((= (current-status (-> self tasks)) (task-status invalid)) @@ -149,47 +142,16 @@ (v1-9 (the-as number (logior #x3f800000 v1-8))) ) (when (< (+ -1.0 (the-as float v1-9)) 0.5) - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) + (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)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -202,125 +164,39 @@ (< (+ -1.0 (the-as float v1-54)) 0.5) ) ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-to-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-81 (-> self skel root-channel 0))) - (set! (-> v1-81 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (ja :num! (seek!)) ) + (ja :group! assistant-firecanyon-idle-b-ja) (let* ((f30-1 2.0) (v1-83 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-84 (the-as number (logior #x3f800000 v1-83))) ) (countdown (gp-2 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-84)))) 3)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-28 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-to-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((v1-146 (-> self skel root-channel 0))) - (set! (-> v1-146 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-39 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! - a0-39 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -330,47 +206,16 @@ (v1-177 (the-as number (logior #x3f800000 v1-176))) ) (when (< (+ -1.0 (the-as float v1-177)) 0.8) - (let ((v1-182 (-> self skel root-channel 0))) - (set! (-> v1-182 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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)) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-49 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-49 param 1) 1.0) - (set! (-> a0-49 frame-num) 0.0) - (joint-control-channel-group! - a0-49 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-50 (-> self skel root-channel 0))) - (set! (-> a0-50 param 0) (the float (+ (-> a0-50 frame-group data 0 length) -1))) - (set! (-> a0-50 param 1) 1.0) - (joint-control-channel-group-eval! a0-50 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -383,130 +228,44 @@ (< (+ -1.0 (the-as float v1-222)) 0.5) ) ) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-54 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-54 param 1) 1.0) - (set! (-> a0-54 frame-num) 0.0) - (joint-control-channel-group! a0-54 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 param 0) (the float (+ (-> a0-55 frame-group data 0 length) -1))) - (set! (-> a0-55 param 1) 1.0) - (joint-control-channel-group-eval! a0-55 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-249 (-> self skel root-channel 0))) - (set! (-> v1-249 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (ja :num! (seek!)) ) + (ja :group! assistant-firecanyon-idle-examine-ja) (let* ((f30-3 2.0) (v1-251 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-252 (the-as number (logior #x3f800000 v1-251))) ) (countdown (gp-4 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-252)))) 3)) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-62 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-62 param 1) 1.0) - (set! (-> a0-62 frame-num) 0.0) - (joint-control-channel-group! - a0-62 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) (the float (+ (-> a0-63 frame-group data 0 length) -1))) - (set! (-> a0-63 param 1) 1.0) - (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-65 (-> self skel root-channel 0))) - (set! (-> a0-65 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-65 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-65 param 1) 1.0) - (set! (-> a0-65 frame-num) 0.0) - (joint-control-channel-group! a0-65 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-66 (-> self skel root-channel 0))) - (set! (-> a0-66 param 0) (the float (+ (-> a0-66 frame-group data 0 length) -1))) - (set! (-> a0-66 param 1) 1.0) - (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((v1-314 (-> self skel root-channel 0))) - (set! (-> v1-314 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (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)) - (let ((a0-75 (-> self skel root-channel 0))) - (set! (-> a0-75 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-75 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-75 param 1) 1.0) - (set! (-> a0-75 frame-num) 0.0) - (joint-control-channel-group! - a0-75 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-76 (-> self skel root-channel 0))) - (set! (-> a0-76 param 0) (the float (+ (-> a0-76 frame-group data 0 length) -1))) - (set! (-> a0-76 param 1) 1.0) - (joint-control-channel-group-eval! a0-76 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/firecanyon/firecanyon-obs.gc b/goal_src/levels/firecanyon/firecanyon-obs.gc index 4f14e47261..0e02ab8cf9 100644 --- a/goal_src/levels/firecanyon/firecanyon-obs.gc +++ b/goal_src/levels/firecanyon/firecanyon-obs.gc @@ -145,40 +145,11 @@ :code (behavior () (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -223,13 +194,11 @@ ) -(defskelgroup *spike-sg* spike - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 8 0 10.2) - :longest-edge (meters 5) - ) +(defskelgroup *spike-sg* spike spike-lod0-jg spike-idle-ja + ((spike-lod0-mg (meters 20)) (spike-lod1-mg (meters 999999))) + :bounds (static-spherem 0 8 0 10.2) + :longest-edge (meters 5) + ) (defstate spike-up (spike) :event @@ -277,42 +246,13 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -367,7 +307,7 @@ :code (behavior () (transform-post) - (while #t + (loop (suspend) ) (none) @@ -412,7 +352,7 @@ :code (behavior () (transform-post) - (while #t + (loop (suspend) ) (none) @@ -481,13 +421,10 @@ (none) ) -(defskelgroup *crate-darkeco-cluster-sg* crate-darkeco-cluster - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 1.6 0 3.3) - :longest-edge (meters 0) - ) +(defskelgroup *crate-darkeco-cluster-sg* crate-darkeco-cluster crate-darkeco-cluster-lod0-jg crate-darkeco-cluster-idle-ja + ((crate-darkeco-cluster-lod0-mg (meters 20)) (crate-darkeco-cluster-lod1-mg (meters 999999))) + :bounds (static-spherem 0 1.6 0 3.3) + ) (deftype crate-darkeco-cluster (process-drawable) ((root-override collide-shape :offset 112) diff --git a/goal_src/levels/flut_common/flutflut.gc b/goal_src/levels/flut_common/flutflut.gc index 454832a7d2..d59b042903 100644 --- a/goal_src/levels/flut_common/flutflut.gc +++ b/goal_src/levels/flut_common/flutflut.gc @@ -58,15 +58,12 @@ ) ) -(defskelgroup *flutflut-sg* flut-saddle - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - :shadow 2 - :sort 1 - ) +(defskelgroup *flutflut-sg* flut-saddle flut-saddle-lod0-jg -1 + ((flut-saddle-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + :shadow flut-saddle-shadow-mg + :sort 1 + ) (defbehavior flutflut-effect flutflut () (spawn (-> self part) (-> self root-override trans)) @@ -109,7 +106,7 @@ ) :code (behavior () - (while #t + (loop (let ((v1-0 (-> self condition))) (cond ((or (zero? v1-0) (= v1-0 1)) @@ -195,12 +192,10 @@ :code (behavior () (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) - (while #t + (loop (if (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-14))) (go-virtual wait-for-return) ) @@ -244,10 +239,7 @@ ) (flutflut-effect) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) 1.0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -262,9 +254,7 @@ (case arg2 (('draw) (ja-channel-set! 1) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (transform-post) @@ -334,7 +324,7 @@ (behavior () (ja-channel-set! 0) (ja-post) - (while #t + (loop (if (not (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-14)))) (go-virtual idle) ) diff --git a/goal_src/levels/flut_common/target-flut.gc b/goal_src/levels/flut_common/target-flut.gc index 254677fe42..13ee49b567 100644 --- a/goal_src/levels/flut_common/target-flut.gc +++ b/goal_src/levels/flut_common/target-flut.gc @@ -199,11 +199,7 @@ ) (defbehavior target-flut-falling-anim-trans target () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (b! (or (= v1-2 (-> self draw art-group data 144)) (= v1-2 (-> self draw art-group data 145))) cfg-7 @@ -211,46 +207,22 @@ (empty-form) ) ) - (ja-channel-push! 1 99) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - ) + (ja-channel-push! 1 (seconds 0.33)) + (ja :group! (-> self draw art-group data 144)) (b! #t cfg-23 :delay (nop!)) (label cfg-7) (cond ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 145) - ) - ) + (not (ja-group? (-> self draw art-group data 145))) ) - (ja-channel-push! 1 6) - (let ((v1-21 (-> self skel root-channel 0))) - (set! (-> v1-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 145))) - ) + (ja-channel-push! 1 (seconds 0.02)) + (ja :group! (-> self draw art-group data 145)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 144) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) + ((ja-group? (-> self draw art-group data 144)) + (ja :num! (loop!)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 145) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 145)) + (ja :num! (seek!)) ) ) (label cfg-23) @@ -260,105 +232,44 @@ (defbehavior target-flut-hit-ground-anim target () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 144) - ) + ((ja-group? (-> self draw art-group data 144)) (if (!= (-> self skel root-channel 0) (-> self skel channel)) - (ja-channel-push! 2 15) + (ja-channel-push! 2 (seconds 0.05)) (ja-channel-set! 2) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 145)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 148)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 145) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 148) :num! min) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0)) ) #f ) - ((let ((v1-33 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-33 (ja-group))) (or (= v1-33 (-> self draw art-group data 143)) (= v1-33 (-> self draw art-group data 145))) ) #f ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 149) - ) + ((ja-group? (-> self draw art-group data 149)) (ja-channel-set! 1) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (the-as art-joint-anim (-> self draw art-group data 145))) - (set! (-> a0-26 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 145)) data 0 length) -1)) - ) - (set! (-> a0-26 param 1) 1.0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! a0-26 (the-as art-joint-anim (-> self draw art-group data 145)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 145) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-68 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-68 (ja-group))) (or (= v1-68 (-> self draw art-group data 152)) (= v1-68 (-> self draw art-group data 153))) ) (ja-channel-set! 1) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 154))) - (set! (-> a0-37 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 154)) data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 154)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) @@ -652,11 +563,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-37 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-37 (ja-group))) (or (not (or (= v1-37 (-> self draw art-group data 59)) (= v1-37 (-> self draw art-group data 60)) (= v1-37 (-> self draw art-group data 61)) @@ -674,96 +581,42 @@ :code (behavior () (let ((gp-0 22)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond ((or (= v1-2 (-> self draw art-group data 141)) (= v1-2 (-> self draw art-group data 161))) (set! gp-0 60) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 155) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 155)) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 158) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 159))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 159)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 159)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 158)) + (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 150) - ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 151))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 151)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 151)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 150)) + (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 140) - ) - ) - (ja-channel-push! 1 gp-0) + (if (not (ja-group? (-> self draw art-group data 140))) + (ja-channel-push! 1 (the-as time-frame gp-0)) ) ) - (let ((v1-91 (-> self skel root-channel 0))) - (set! (-> v1-91 frame-group) (the-as art-joint-anim (-> self draw art-group data 140))) - ) - (while #t + (ja :group! (-> self draw art-group data 140)) + (loop (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -811,11 +664,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-37 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-37 (ja-group))) (or (not (or (= v1-37 (-> self draw art-group data 59)) (= v1-37 (-> self draw art-group data 60)) (= v1-37 (-> self draw art-group data 61)) @@ -859,86 +708,48 @@ ) (let ((gp-0 22)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 140) - ) + ((ja-group? (-> self draw art-group data 140)) (set! gp-0 60) ) - ((let ((v1-9 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-9 (ja-group))) (or (= v1-9 (-> self draw art-group data 143)) (= v1-9 (-> self draw art-group data 144)) (= v1-9 (-> self draw art-group data 152)) (= v1-9 (-> self draw art-group data 154)) ) ) - (ja-channel-push! 1 24) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 161))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 161)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 161)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.08)) + (ja-no-eval :group! (-> self draw art-group data 161) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (set! f30-0 (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 161) - ) + ((ja-group? (-> self draw art-group data 161)) (ja-channel-set! 2) 1.0 ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 141) - ) + ((ja-group? (-> self draw art-group data 141)) (set! f28-0 (ja-frame-num 0)) (-> self skel root-channel 1 frame-interp) ) (else - (ja-channel-push! 2 gp-0) + (ja-channel-push! 2 (the-as time-frame gp-0)) f30-0 ) ) ) ) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 dist) 49152.0) - (set! (-> a0-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 141))) - (set! (-> a0-32 param 0) 1.0) - (set! (-> a0-32 frame-num) f28-0) - (joint-control-channel-group! a0-32 (the-as art-joint-anim (-> self draw art-group data 141)) num-func-loop!) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (set! (-> gp-1 frame-interp) f30-0) - (set! (-> gp-1 dist) 40960.0) - (joint-control-channel-group! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 142)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (* 0.5 f28-0)) - ) - (while #t + (ja-no-eval :group! (-> self draw art-group data 141) :num! (loop!) :dist 49152.0 :frame-num f28-0) + (ja-no-eval :chan 1 + :group! (-> self draw art-group data 142) + :num! (identity (* 0.5 f28-0)) + :frame-interp f30-0 + :dist 40960.0 + ) + (loop (suspend) (let ((f0-13 (lerp-scale (the-as float 0.0) @@ -958,15 +769,9 @@ (if (= (-> self control surf name) '*tar-surface*) (set! f0-18 (* 0.4 (-> self control unknown-float12))) ) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) f0-18) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 num-func) num-func-identity) - (set! (-> gp-2 frame-num) (* 0.5 (ja-frame-num 0))) + (ja :num! (loop! f0-18)) ) + (ja :chan 1 :num-func num-func-identity :frame-num (* 0.5 (ja-frame-num 0))) (let ((f0-22 (ja-aframe-num 0))) (cond ((and (>= (-> self skel effect last-frame-num) 20.0) (< f0-22 20.0)) @@ -1095,41 +900,20 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 2 36) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 143)) - num-func-identity + (ja-channel-push! 2 (seconds 0.12)) + (ja :group! (-> self draw art-group data 143) :num! min) + (ja :chan 1 + :group! (-> self draw art-group data 146) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 146))) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 146)) - num-func-chan - ) - ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 143))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim (-> self draw art-group data 143)) num-func-+!) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 146))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 146)) - num-func-chan + (ja :group! (-> self draw art-group data 143) :num! (+!)) + (ja :chan 1 + :group! (-> self draw art-group data 146) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - ) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -1150,50 +934,23 @@ ) (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-14 param 0) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 144)) num-func-loop!) - ) - (let ((a0-15 (-> self skel root-channel 1))) - (set! (-> a0-15 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 147))) - (set! (-> a0-15 param 0) 0.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-chan + (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - ) - (while #t + (loop (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-16 param 0) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 144)) - num-func-loop! + (ja :group! (-> self draw art-group data 144) :num! (loop!)) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - ) - (let ((a0-17 (-> self skel root-channel 1))) - (set! (-> a0-17 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 147))) - (set! (-> a0-17 param 0) 0.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-chan - ) - ) ) (none) ) @@ -1247,11 +1004,7 @@ (if (!= (-> self state-time) (-> *display* base-frame-counter)) (mod-var-jump #t #t (cpad-hold? (-> self control unknown-cpad-info00 number) x) (-> self control transv)) ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 149) - ) + (if (ja-group? (-> self draw art-group data 149)) (sound-play-by-name (static-sound-name "flut-flap") (-> self flut flap-sound-id) 1024 0 0 1 #t) ) (seek! @@ -1263,59 +1016,32 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 15) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 149))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 149)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 149)) num-func-seek!) - ) + (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) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *flut-jump-mods*) (dotimes (gp-0 1) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 149))) - (set! (-> s5-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 149)) data 0 length) -1)) - ) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe (the-as float 14.0) 0)) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 149)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 149) + :num! (seek!) + :frame-num (ja-aframe (the-as float 14.0) 0) + ) (until (ja-done? 0) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (while (< 8192.0 (target-height-above-ground)) (suspend) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) - (when (< (ja-aframe-num 0) 14.0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 14.0) 0)) + (ja :num! (loop!)) + (if (< (ja-aframe-num 0) 14.0) + (ja :num-func num-func-identity :frame-num (ja-aframe (the-as float 14.0) 0)) ) - ) (seek! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max) @@ -1328,23 +1054,14 @@ ) ) (-> *display* base-frame-counter) - (ja-channel-push! 2 30) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-19 param 0) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 144)) num-func-loop!) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 frame-interp) (-> self control unknown-float122)) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-identity + (ja-channel-push! 2 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! min + :frame-interp (-> self control unknown-float122) ) - (set! (-> gp-2 frame-num) 0.0) - ) - (while #t + (loop (suspend) (seek! (-> self control dynam gravity-max) @@ -1356,15 +1073,8 @@ (-> self control unknown-dynamics00 gravity-length) (* 163840.0 (-> *display* seconds-per-frame)) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-24 (-> self skel root-channel 1))) - (set! (-> a0-24 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-24 param 0) 0.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop! max)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) ) (none) ) @@ -1407,11 +1117,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-34 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-34 (ja-group))) (or (not (or (= v1-34 (-> self draw art-group data 59)) (= v1-34 (-> self draw art-group data 60)) (= v1-34 (-> self draw art-group data 61)) @@ -1475,49 +1181,25 @@ :code (behavior ((arg0 symbol)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 144) - ) + ((ja-group? (-> self draw art-group data 144)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 149) - ) - (ja-channel-push! 2 60) + ((ja-group? (-> self draw art-group data 149)) + (ja-channel-push! 2 (seconds 0.2)) ) (else - (ja-channel-push! 2 150) + (ja-channel-push! 2 (seconds 0.5)) ) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-11 param 0) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 144)) num-func-loop!) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! (-> gp-0 frame-interp) (-> self control unknown-float122)) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-identity + (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! min + :frame-interp (-> self control unknown-float122) ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (loop (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-14 (-> self skel root-channel 1))) - (set! (-> a0-14 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-14 param 0) 0.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop! max)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) ) (none) ) @@ -1699,16 +1381,9 @@ ) :code (behavior () - (ja-channel-push! 1 6) + (ja-channel-push! 1 (seconds 0.02)) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 150)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 150) :num! min) (set! (-> self control dynam gravity-max) 368640.0) (set! (-> self control dynam gravity-length) 368640.0) (let ((f28-0 0.0) @@ -1727,11 +1402,7 @@ (and (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-39 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-39 (ja-group))) (or (not (or (= v1-39 (-> self draw art-group data 59)) (= v1-39 (-> self draw art-group data 60)) (= v1-39 (-> self draw art-group data 61)) @@ -1773,11 +1444,7 @@ (vector-matrix*! (-> self control unknown-vector120) gp-2 (-> self control unknown-matrix01)) ) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self control unknown-surface01 align-speed))) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> *flut-run-attack-mods* turnvv) 0.0) ) @@ -1788,11 +1455,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-105 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-105 (ja-group))) (or (not (or (= v1-105 (-> self draw art-group data 59)) (= v1-105 (-> self draw art-group data 60)) (= v1-105 (-> self draw art-group data 61)) @@ -1807,26 +1470,14 @@ (when (!= f30-0 0.0) (set! (-> self trans-hook) (-> target-flut-hit-ground trans)) (if (not (ja-done? 0)) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) ) - (let ((a0-59 (-> self skel root-channel 0))) - (set! (-> a0-59 frame-group) (the-as art-joint-anim (-> self draw art-group data 151))) - (set! (-> a0-59 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 151)) data 0 length) -1)) - ) - (set! (-> a0-59 param 1) 1.0) - (set! (-> a0-59 frame-num) 0.0) - (joint-control-channel-group! a0-59 (the-as art-joint-anim (-> self draw art-group data 151)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) f30-0) (suspend) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 param 0) (the float (+ (-> a0-62 frame-group data 0 length) -1))) - (set! (-> a0-62 param 1) 1.0) - (joint-control-channel-group-eval! a0-62 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1941,52 +1592,29 @@ :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 15) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 152))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 8.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 152)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 152) + :num! (seek! (ja-aframe (the-as float 8.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 8.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 152))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 152)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 8.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 152)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 8.0) 0))) ) + (ja-no-eval :group! (-> self draw art-group data 152) + :num! (seek!) + :frame-num (ja-aframe (the-as float 8.0) 0) + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 153)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) - (while #t + (ja :group! (-> self draw art-group data 153) :num! min) + (loop (suspend) ) (none) @@ -2039,42 +1667,26 @@ :code (behavior () (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 154))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 154)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 154) + :num! (seek! (ja-aframe (the-as float 22.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 22.0) 0))) ) (target-danger-set! 'harmless #f) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 154))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 154)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 22.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 154)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 154) + :num! (seek!) + :frame-num (ja-aframe (the-as float 22.0) 0) + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go target-flut-stance) (none) @@ -2217,41 +1829,17 @@ (let ((f30-0 1.0)) (case (-> gp-0 angle) (('shove) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 158) - ) - ) + (when (not (ja-group? (-> self draw art-group data 158))) (ja-channel-set! 1) - (let ((s4-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-3 - (the-as art-joint-anim (-> self draw art-group data 158)) - num-func-identity - ) - (set! (-> s4-3 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 158) :num! min) ) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 1524 0 1 #t) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 157) - ) - ) - (ja-channel-push! 1 22) - (let ((s4-6 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-6 - (the-as art-joint-anim (-> self draw art-group data 157)) - num-func-identity - ) - (set! (-> s4-6 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 157))) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! (-> self draw art-group data 157) :num! min) ) ) ) @@ -2352,16 +1940,8 @@ ) (else (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 160))) - (set! (-> a0-33 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 160)) data 0 length) -1)) - ) - (set! (-> a0-33 param 1) 1.0) - (set! (-> a0-33 frame-num) 0.0) - (joint-control-channel-group! a0-33 (the-as art-joint-anim (-> self draw art-group data 160)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 160) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (let ((gp-5 (new 'stack-no-clear 'vector))) @@ -2371,11 +1951,7 @@ ) ) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2432,14 +2008,11 @@ ) (let ((gp-1 #f)) (sound-play-by-name (static-sound-name "uppercut") (new-sound-id) 1024 0 0 1 #t) - (ja-channel-push! 1 15) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 155))) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 24.0) 0)) - (set! (-> s5-2 param 1) 1.0) - (set! (-> s5-2 frame-num) 0.0) - (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 155)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 155) + :num! (seek! (ja-aframe (the-as float 24.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (when (and (not gp-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -2447,11 +2020,7 @@ ) (set! (-> self control transv quad) (the-as uint128 0)) (suspend) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 param 0) (ja-aframe (the-as float 24.0) 0)) - (set! (-> s5-3 param 1) 1.0) - (joint-control-channel-group-eval! s5-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 24.0) 0))) ) ) (sound-play-by-name (static-sound-name "flut-coo") (new-sound-id) 1024 0 0 1 #t) @@ -2559,23 +2128,11 @@ (set! (-> self control unknown-vector103 quad) (-> s4-0 quad)) ) (sound-play-by-name (static-sound-name "flut-coo") (new-sound-id) 921 -762 0 1 #t) - (ja-channel-push! 1 15) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 156))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 156)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 156)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 156) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process arg0) 'draw) (set-yaw-angle-clear-roll-pitch! @@ -2645,22 +2202,13 @@ :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 42.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 35) + :num! (seek!) + :frame-num (ja-aframe (the-as float 42.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go target-stance) (none) diff --git a/goal_src/levels/intro/evilbro.gc b/goal_src/levels/intro/evilbro.gc index 4e9525e65c..a54a0a42af 100644 --- a/goal_src/levels/intro/evilbro.gc +++ b/goal_src/levels/intro/evilbro.gc @@ -17,14 +17,11 @@ ) -(defskelgroup *evilbro-intro-sg* evilbro - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilbro-intro-sg* evilbro evilbro-lod0-jg evilbro-idle-ja + ((evilbro-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilbro-shadow-mg + ) (defmethod play-anim! evilbro ((obj evilbro) (arg0 symbol)) (cond @@ -57,30 +54,14 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) + (loop + (ja-no-eval :group! evilbro-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (while (let* ((s5-0 (-> *display* base-frame-counter)) @@ -95,29 +76,10 @@ (suspend) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) @@ -154,14 +116,11 @@ ) -(defskelgroup *evilsis-intro-sg* evilsis - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilsis-intro-sg* evilsis evilsis-lod0-jg evilsis-idle-ja + ((evilsis-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilsis-shadow-mg + ) (defmethod play-anim! evilsis ((obj evilsis) (arg0 symbol)) (if arg0 diff --git a/goal_src/levels/jungle/bouncer.gc b/goal_src/levels/jungle/bouncer.gc index d06304a9dc..ba93d02a59 100644 --- a/goal_src/levels/jungle/bouncer.gc +++ b/goal_src/levels/jungle/bouncer.gc @@ -27,13 +27,10 @@ (method-set! springbox 12 (method-of-type process run-logic?)) -(defskelgroup *bouncer-sg* bounceytarp - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *bouncer-sg* bounceytarp bounceytarp-lod0-jg bounceytarp-idle-ja + ((bounceytarp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defstate bouncer-wait (springbox) :event @@ -68,16 +65,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -102,30 +92,21 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self smush) 0.0) - (while #t - (cond - ((>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 0.1) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (lerp-scale - (ja-aframe 6.0 0) - (ja-aframe 2.0 0) - (vector-vector-xz-distance (target-pos 0) (-> self root trans)) - 0.0 - 4096.0 - ) - ) - (set! (-> gp-0 param 1) 0.2) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (loop + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) + (ja :num! (seek! 0.0 0.1)) + (ja :num! (seek! + (lerp-scale + (ja-aframe 6.0 0) + (ja-aframe 2.0 0) + (vector-vector-xz-distance (target-pos 0) (-> self root trans)) + 0.0 + 4096.0 + ) + 0.2 + ) + ) ) - ) (suspend) (if (ja-min? 0) (go bouncer-wait) @@ -141,22 +122,10 @@ :code (behavior () (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.1)) - (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) - (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go bouncer-wait) (none) diff --git a/goal_src/levels/jungle/darkvine.gc b/goal_src/levels/jungle/darkvine.gc index b5a698ebd8..d839c16ce7 100644 --- a/goal_src/levels/jungle/darkvine.gc +++ b/goal_src/levels/jungle/darkvine.gc @@ -48,13 +48,10 @@ ) ) -(defskelgroup *darkvine-sg* darkvine - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *darkvine-sg* darkvine darkvine-lod0-jg darkvine-idle-ja + ((darkvine-lod0-mg (meters 20)) (darkvine-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3.5) + ) (defpartgroup group-darkvine-puffs :id 175 @@ -181,29 +178,17 @@ (set! (-> self dangerous) #t) (set! (-> self vulnerable) #t) (let ((f30-0 0.0)) - (while #t + (loop (if (logtest? (get-reminder (get-task-control (game-task jungle-plant)) 0) 1) (go darkvine-die #f) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) (-> self speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! darkvine-idle-ja :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) (if (and (>= (ja-aframe-num 0) 120.0) (>= 180.0 (ja-aframe-num 0))) (seek-toward-yaw-angle! (-> self root-override) f30-0 32768.0 (seconds 0.5)) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self speed))) ) (set! f30-0 (if (rand-vu-percent? 0.5) (+ 16384.0 f30-0) @@ -244,16 +229,8 @@ (set! (-> self dangerous) #f) (set! (-> self vulnerable) #f) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 45) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! darkvine-retreat-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (sp-launch-particles-var *sp-particle-system-2d* @@ -264,11 +241,7 @@ 1.0 ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ja-channel-set! 0) (let ((gp-0 (-> *display* base-frame-counter))) @@ -302,22 +275,10 @@ (set! (-> self dangerous) #t) (logior! (-> self mask) (process-mask actor-pause)) (ja-channel-set! 1) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! darkvine-pushup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go darkvine-idle) (none) @@ -332,17 +293,10 @@ (logclear! (-> self mask) (process-mask actor-pause)) (if arg0 (ja-channel-set! 1) - (ja-channel-push! 1 150) + (ja-channel-push! 1 (seconds 0.5)) ) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! darkvine-dead-ja :num! min) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) diff --git a/goal_src/levels/jungle/fisher.gc b/goal_src/levels/jungle/fisher.gc index fe7a2d9a96..656fd2df16 100644 --- a/goal_src/levels/jungle/fisher.gc +++ b/goal_src/levels/jungle/fisher.gc @@ -298,7 +298,7 @@ :vel 0.6 :swing-min (seconds 0.5) :swing-max (seconds 2) - :period #x9e + :period (seconds 0.527) :fish-vel 1.6 :bad-percent 0.083 :powerup-percent 0.1 @@ -386,7 +386,7 @@ :vel 1.83 :swing-min (seconds 0.5) :swing-max (seconds 2) - :period #xa8 + :period (seconds 0.56) :fish-vel 1.6 :bad-percent 0.066 :powerup-percent 0.1 @@ -408,7 +408,7 @@ :vel 0.8 :swing-min (seconds 0.5) :swing-max (seconds 2) - :period (seconds 0.5133333) + :period (seconds 0.515) :fish-vel 1.7 :bad-percent 0.066 :powerup-percent 0.1 @@ -528,7 +528,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -547,7 +547,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -577,7 +577,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -596,7 +596,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -783,46 +783,31 @@ ) -(defskelgroup *catch-fisha-sg* catch-fisha - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *catch-fisha-sg* catch-fisha catch-fisha-lod0-jg catch-fisha-idle-ja + ((catch-fisha-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) -(defskelgroup *catch-fishb-sg* catch-fishb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *catch-fishb-sg* catch-fishb catch-fishb-lod0-jg catch-fishb-idle-ja + ((catch-fishb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) -(defskelgroup *catch-fishc-sg* catch-fishc - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *catch-fishc-sg* catch-fishc catch-fishc-lod0-jg catch-fishc-idle-ja + ((catch-fishc-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) -(defskelgroup *fish-net-sg* fish-net - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *fish-net-sg* fish-net fish-net-lod0-jg fish-net-fishing-ja + ((fish-net-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) -(defskelgroup *fisher-sg* fisher - 0 - 6 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 -6 0 14) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *fisher-sg* fisher fisher-lod0-jg fisher-idle-more-often-ja + ((fisher-lod0-mg (meters 20)) (fisher-lod1-mg (meters 40)) (fisher-lod2-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 14) + :shadow fisher-shadow-mg + ) (defmethod dummy-52 fisher ((obj fisher)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -918,33 +903,8 @@ (-> self root) (TODO-RENAME-12 (-> (the-as fisher (-> self parent 0)) path) (-> self dir) (-> self pos)) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-2 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (fisher-fish-move) (if (< (vector-vector-xz-distance (-> self root trans) (-> (the-as fisher (-> self parent 0)) paddle-pos)) @@ -958,11 +918,7 @@ (go fisher-fish-die) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1014,10 +970,7 @@ (vector-float*! (-> self root scale) (-> self root scale) 0.93) (ja-post) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -1298,9 +1251,7 @@ (lookup-text! *common-text* (game-text-id quit) #f) ) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (ja :group! (get-art-elem self)) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (-> self child) (deactivate (-> self child 0)) @@ -1648,7 +1599,7 @@ (run-next-time-in-process gp-0 (lambda :behavior fisher-fish () (logclear! (-> self mask) (process-mask pause)) - (while #t + (loop (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) (suspend) ) @@ -1716,7 +1667,7 @@ (set! (-> self ambient-steady) 0) (set! (-> self ambient-sagging) 0) (set! (-> self ambient-almost) 0) - (while #t + (loop (hide-hud-quick) (fisher-game-update) (if (or (zero? (-> self params timeout)) @@ -1740,7 +1691,7 @@ :virtual #t :trans (behavior () - (set-blackout-frames (seconds 0.016666668)) + (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) @@ -2032,81 +1983,30 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) ) + (loop + (ja :group! (get-art-elem self)) (let* ((f30-0 5.0) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-43 self) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (when (ja-group? fisher-idle-more-often-ja) + (ja-no-eval :group! fisher-idle-less-often-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-43 self) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2270,35 +2170,16 @@ (set! (-> v1-35 0 param2) (the-as basic (-> self control quat))) ) ) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 99)) - num-func-identity - ) - (set! (-> s5-1 frame-num) (ja-aframe 15.0 0)) - ) + (ja :group! (-> self draw art-group data 99) :num! (identity (ja-aframe 15.0 0))) (let ((s5-2 (new 'stack-no-clear 'vector))) (until (-> self control unknown-spoolanim00) (let ((v1-42 (handle->process arg0))) (when v1-42 - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (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)) (s4-0 (new-stack-vector0)) @@ -2322,23 +2203,11 @@ ) (case (-> self control unknown-spoolanim00) (('lose) - (ja-channel-push! 1 30) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 frame-group) (the-as art-joint-anim (-> self draw art-group data 100))) - (set! (-> a0-38 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 100)) data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (set! (-> a0-38 frame-num) 0.0) - (joint-control-channel-group! a0-38 (the-as art-joint-anim (-> self draw art-group data 100)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 100) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) - (set! (-> a0-39 param 1) 1.0) - (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) ) diff --git a/goal_src/levels/jungle/hopper.gc b/goal_src/levels/jungle/hopper.gc index 6dac7904a6..e124d69af3 100644 --- a/goal_src/levels/jungle/hopper.gc +++ b/goal_src/levels/jungle/hopper.gc @@ -18,14 +18,12 @@ ) -(defskelgroup *hopper-sg* hopper - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *hopper-sg* hopper hopper-lod0-jg hopper-idle-ja + ((hopper-lod0-mg (meters 20)) (hopper-lod1-mg (meters 40)) (hopper-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :longest-edge (meters 1) + :shadow hopper-shadow-mg + ) nav-enemy-default-event-handler @@ -86,7 +84,7 @@ nav-enemy-default-event-handler (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -118,43 +116,19 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (while #t + (ja-channel-push! 1 (seconds 0.075)) + (loop (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! hopper-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! hopper-burp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -180,77 +154,35 @@ nav-enemy-default-event-handler (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 16384.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 20) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + ((ja-group? hopper-jump-long-ja) + (ja-channel-push! 1 (seconds 0.067)) + (ja-no-eval :group! hopper-jump-long-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 9) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + ((ja-group? hopper-jump-short-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! hopper-jump-short-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) (else - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) ) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! hopper-idle-ja :num! min) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (when (or (logtest? (nav-control-flags navcf19) (-> self nav flags)) (< 2.0 (-> self nav block-count))) (set! (-> self nav block-count) 0.0) @@ -299,77 +231,35 @@ nav-enemy-default-event-handler (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 32768.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 20) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + ((ja-group? hopper-jump-long-ja) + (ja-channel-push! 1 (seconds 0.067)) + (ja-no-eval :group! hopper-jump-long-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 9) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + ((ja-group? hopper-jump-short-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! hopper-jump-short-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) (else - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) ) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! hopper-idle-ja :num! min) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (set! (-> self nav target-pos quad) (-> (target-pos 0) quad)) (hopper-do-jump) diff --git a/goal_src/levels/jungle/jungle-mirrors.gc b/goal_src/levels/jungle/jungle-mirrors.gc index 7d82b8387b..b7ad69b2ea 100644 --- a/goal_src/levels/jungle/jungle-mirrors.gc +++ b/goal_src/levels/jungle/jungle-mirrors.gc @@ -622,37 +622,27 @@ ) -(defskelgroup *periscope-base-sg* periscope - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 23.5 0 24) - :longest-edge (meters 4.5) - ) +(defskelgroup *periscope-base-sg* periscope periscope-base-lod0-jg periscope-base-idle-ja + ((periscope-base-lod0-mg (meters 20)) (periscope-base-lod1-mg (meters 999999))) + :bounds (static-spherem 0 23.5 0 24) + :longest-edge (meters 4.5) + ) -(defskelgroup *periscope-mirror-sg* periscope - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *periscope-mirror-sg* periscope periscope-mirror-lod0-jg periscope-mirror-idle-ja + ((periscope-mirror-lod0-mg (meters 20)) (periscope-mirror-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) -(defskelgroup *reflector-mirror-sg* reflector-mirror - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 9 0 9) - :longest-edge (meters 3) - ) +(defskelgroup *reflector-mirror-sg* reflector-mirror reflector-mirror-lod0-jg reflector-mirror-idle-ja + ((reflector-mirror-lod0-mg (meters 999999))) + :bounds (static-spherem 0 9 0 9) + :longest-edge (meters 3) + ) -(defskelgroup *reflector-mirror-break-sg* reflector-mirror - 4 - 6 - ((5 (meters 999999))) - :bounds (static-spherem 0 9 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *reflector-mirror-break-sg* reflector-mirror reflector-mirror-break-lod0-jg reflector-mirror-break-break-ja + ((reflector-mirror-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 9 0 9) + ) ;; jungle eco connector first-person cam (defstate cam-periscope (camera-slave) @@ -691,7 +681,7 @@ (f30-0 (the-as float (-> (the-as periscope (-> gp-0 0)) turn))) (s5-0 (new 'stack-no-clear 'vector)) ) - (while #t + (loop (when (not (or (paused?) (-> (the-as periscope (-> self change-event-from 0)) aligned?))) (vector-reset! s5-0) (when *camera-read-analog* @@ -766,7 +756,7 @@ :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (while #t + (loop (set! (-> gp-0 x) (-> self parent-override 0 tilt)) (set! (-> gp-0 y) (-> self parent-override 0 turn)) (set! (-> gp-0 z) 0.0) @@ -1297,7 +1287,7 @@ (suspend) (update-transforms! (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1373,7 +1363,7 @@ ) (update-transforms! (-> self root-override)) (set! (-> self y-offset) (-> self height)) - (while #t + (loop (if (periscope-has-power-input?) (go periscope-wait-for-player) ) @@ -1462,7 +1452,7 @@ (s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) - (while #t + (loop (set! (-> s5-0 quad) (-> self node-list data 4 bone transform vector 3 quad)) (let ((a0-10 s5-0) (f30-1 81920.0) @@ -1506,7 +1496,7 @@ ) (when (cpad-pressed? 0 circle) (set! (-> self grips-moving?) #f) - (while #t + (loop (send-event *target* 'change-mode 'periscope self) (hide-hud) (suspend) @@ -1668,7 +1658,7 @@ (send-event *camera* 'change-state cam-periscope 0) (logior! (-> self reflector 0 draw status) (draw-status hidden)) (suspend) - (while #t + (loop (if (not (-> self aligned?)) (set! (-> self lock-time) (-> *display* base-frame-counter)) ) @@ -1680,7 +1670,7 @@ (if (periscope-test-task-complete?) (close-specific-task! (game-task jungle-lurkerm) (task-status need-reminder)) ) - (while #t + (loop (let ((a1-6 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-6 from) self) (set! (-> a1-6 num-params) 0) @@ -1813,7 +1803,7 @@ ) (sound-stop (-> self grips-sound-id)) (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1967,7 +1957,7 @@ ) (process-entity-status! self (entity-perm-status complete) #t) (reflector-origin-update (-> self link next)) - (while #t + (loop (suspend) ) (none) @@ -2010,7 +2000,7 @@ (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> gp-0 y) (+ 49152.0 (-> gp-0 y))) - (while #t + (loop (draw-power-beam gp-0 (-> self beam-end)) (update! (-> self sound)) (when (logtest? (-> self draw status) (draw-status was-drawn)) @@ -2109,7 +2099,7 @@ ) ) (logior! (-> self mask) (process-mask actor-pause)) - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/jungle/jungle-obs.gc b/goal_src/levels/jungle/jungle-obs.gc index 72e4aa33e7..1494c5b046 100644 --- a/goal_src/levels/jungle/jungle-obs.gc +++ b/goal_src/levels/jungle/jungle-obs.gc @@ -5,49 +5,19 @@ ;; name in dgo: jungle-obs ;; dgos: JUN, JUNGLE, L1 -(define-extern *jngpusher-sg* skeleton-group) -(define-extern *sidedoor-sg* skeleton-group) -(define-extern *maindoor-sg* skeleton-group) -(define-extern *precurbridge-sg* skeleton-group) -(define-extern *junglecam-sg* skeleton-group) -(define-extern *accordian-sg* skeleton-group) -(define-extern *lurkerm-piston-sg* skeleton-group) -(define-extern *lurkerm-short-sail-sg* skeleton-group) -(define-extern *lurkerm-tall-sail-sg* skeleton-group) -(define-extern *towertop-sg* skeleton-group) -(define-extern *logtrap-sg* skeleton-group) -(define-extern *med-res-firecanyon-sg* skeleton-group) -(define-extern *jungle-camera-sg* skeleton-group) - -(declare-type towertop process-drawable) -(declare-type lurkerm-tall-sail process-drawable) -(declare-type lurkerm-short-sail process-drawable) -(declare-type lurkerm-piston process-drawable) -(declare-type accordian process-drawable) -(declare-type precurbridge process-drawable) -(declare-type precurbridge process-drawable) -(declare-type maindoor process-drawable) -(declare-type jngpusher process-drawable) - - ;; DECOMP BEGINS -(defskelgroup *med-res-firecanyon-sg* medres-firecanyon - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -440 530) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-firecanyon-sg* medres-firecanyon medres-firecanyon-lod0-jg medres-firecanyon-idle-ja + ((medres-firecanyon-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -440 530) + :longest-edge (meters 0.01) + ) -(defskelgroup *jungle-camera-sg* jungle-camera - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *jungle-camera-sg* jungle-camera 0 2 + ((1 (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :texture-level 2 + ) (deftype logtrap (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -62,14 +32,12 @@ ) -(defskelgroup *logtrap-sg* logtrap - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 8 0 13) - :longest-edge (meters 6) - :shadow 3 - ) +(defskelgroup *logtrap-sg* logtrap logtrap-lod0-jg logtrap-idle-ja + ((logtrap-lod0-mg (meters 20)) (logtrap-lod1-mg (meters 999999))) + :bounds (static-spherem 0 8 0 13) + :longest-edge (meters 6) + :shadow logtrap-shadow-mg + ) (defstate idle (logtrap) :virtual #t @@ -82,16 +50,8 @@ :code (behavior () (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (logtest? (-> self draw status) (draw-status was-drawn)) (cond @@ -107,11 +67,7 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -159,34 +115,19 @@ ) -(defskelgroup *towertop-sg* towertop - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *towertop-sg* towertop towertop-lod0-jg towertop-idle-ja + ((towertop-lod0-mg (meters 20)) (towertop-lod1-mg (meters 40)) (towertop-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) (defstate towertop-idle (towertop) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.4) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.4) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.4) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.4)) ) ) (none) @@ -220,13 +161,14 @@ ) -(defskelgroup *lurkerm-tall-sail-sg* lurkerm-tall-sail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 5 0 7) - :longest-edge (meters 4) - ) +(defskelgroup *lurkerm-tall-sail-sg* lurkerm-tall-sail lurkerm-tall-sail-lod0-jg lurkerm-tall-sail-idle-ja + ((lurkerm-tall-sail-lod0-mg (meters 20)) + (lurkerm-tall-sail-lod1-mg (meters 40)) + (lurkerm-tall-sail-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 5 0 7) + :longest-edge (meters 4) + ) (defstate lurkerm-tall-sail-idle (lurkerm-tall-sail) :event @@ -246,16 +188,8 @@ (the-as (function none :behavior lurkerm-tall-sail) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (quaternion-rotate-local-y! (-> self root-override quat) @@ -263,11 +197,7 @@ (* 12743.111 (-> *display* seconds-per-frame) (-> self speed)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (* 0.5 (-> self speed)))) ) ) (none) @@ -334,13 +264,10 @@ ) -(defskelgroup *lurkerm-short-sail-sg* lurkerm-short-sail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 5 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *lurkerm-short-sail-sg* lurkerm-short-sail 0 4 + ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) + :bounds (static-spherem 0 5 0 9) + ) (defstate lurkerm-short-sail-idle (lurkerm-short-sail) :event @@ -360,16 +287,8 @@ (the-as (function none :behavior lurkerm-short-sail) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (quaternion-rotate-local-y! (-> self root-override quat) @@ -377,11 +296,7 @@ (* -12743.111 (-> *display* seconds-per-frame) (-> self speed)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (* 0.5 (-> self speed)))) ) ) (none) @@ -468,13 +383,10 @@ ) -(defskelgroup *lurkerm-piston-sg* lurkerm-piston - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *lurkerm-piston-sg* lurkerm-piston lurkerm-piston-geo-jg lurkerm-piston-idle-ja + ((lurkerm-piston-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) (defstate lurkerm-piston-idle (lurkerm-piston) :event @@ -494,16 +406,8 @@ (the-as (function none :behavior lurkerm-piston) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (-> self speed)) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self base quad)) @@ -511,11 +415,7 @@ (move-to-point! (-> self root-override) gp-0) ) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self speed))) ) ) (none) @@ -601,13 +501,11 @@ ) -(defskelgroup *accordian-sg* accordian - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem -7 0 23 25) - :longest-edge (meters 4) - ) +(defskelgroup *accordian-sg* accordian accordian-lod0-jg accordian-idle-ja + ((accordian-lod0-mg (meters 20)) (accordian-lod1-mg (meters 999999))) + :bounds (static-spherem -7 0 23 25) + :longest-edge (meters 4) + ) (defstate accordian-idle (accordian) :event @@ -625,19 +523,12 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja-no-eval :num! (loop!) :frame-num 0.0) (ja-post) - (while #t + (loop (suspend) (when (logtest? (-> self draw status) (draw-status was-drawn)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (-> self speed)) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self speed))) (ja-post) ) ) @@ -659,13 +550,10 @@ (none) ) -(defskelgroup *junglecam-sg* junglecam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 80) - :longest-edge (meters 0) - ) +(defskelgroup *junglecam-sg* junglecam junglecam-lod0-jg junglecam-beamcam-ja + ((junglecam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 80) + ) (deftype junglecam (process-hidden) () @@ -689,30 +577,14 @@ :code (behavior () (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 0.0 0))) ) (send-event (ppointer->process (-> self parent)) 'go) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -749,13 +621,11 @@ ) -(defskelgroup *precurbridge-sg* precurbridge - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 40) - :longest-edge (meters 3.6) - ) +(defskelgroup *precurbridge-sg* precurbridge precurbridge-geo-jg precurbridge-idle-ja + ((precurbridge-geo-mg (meters 20)) (precurbridge-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 40) + :longest-edge (meters 3.6) + ) (defstate precurbridge-idle (precurbridge) :event @@ -768,16 +638,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) - (while #t + (loop (when (and *target* (< (vector-vector-xz-distance (-> self activation-point) (-> *target* control trans)) 49152.0) (< (-> self activation-point y) (-> *target* control trans y)) @@ -863,25 +726,13 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 0.25) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.1) (spawn-projectile-blue *target*) ) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 0.25) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.25)) ) (go precurbridge-active #f) (none) @@ -916,65 +767,31 @@ (set! (-> self draw bounds w) 81920.0) (when arg0 (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 4) :num! min) ) (ja-post) (update-transforms! (-> self root-override)) (logior! (-> self mask) (process-mask actor-pause)) - (while #t + (loop (if (not (movie?)) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) ) (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 5))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 5) :num! min) ) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 4))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 4) :num! min) ) ) ) (update! (-> self sound)) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) 0.4) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.4)) (suspend) ) (none) @@ -1184,28 +1001,22 @@ ) -(defskelgroup *maindoor-sg* maindoor - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *maindoor-sg* maindoor maindoor-lod0-jg maindoor-idle-ja + ((maindoor-lod0-mg (meters 20)) (maindoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) (defstate maindoor-closed (maindoor) :code (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 1) (logclear! (-> self draw status) (draw-status hidden)) - (when arg0 - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) 0.0) + (if arg0 + (ja :num-func num-func-identity :frame-num 0.0) ) - ) (suspend) (update-transforms! (-> self root-override)) - (while #t + (loop (when (or (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) (and (and *target* (>= (-> self thresh w) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -1239,11 +1050,7 @@ (set! (-> self root-override root-prim prim-core action) (collide-action solid)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) 0.0) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) (ja-post) (suspend) ) @@ -1257,27 +1064,20 @@ (set! (-> self draw force-lod) 0) (logclear! (-> self draw status) (draw-status hidden)) (process-entity-status! self (entity-perm-status complete) #t) - (when arg0 - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) (the float (+ (-> v1-6 frame-group data 0 length) -1))) + (if arg0 + (ja :num-func num-func-identity :frame-num max) ) - ) (set! (-> self root-override root-prim prim-core action) (collide-action)) (set! (-> self root-override root-prim prim-core offense) (collide-offense no-offense)) (while (not (ja-max? 0)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 2.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) (if (and (not arg0) (rand-vu-percent? 0.2)) (spawn-projectile-blue *target*) ) (suspend) ) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1327,13 +1127,10 @@ ) -(defskelgroup *sidedoor-sg* sidedoor - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *sidedoor-sg* sidedoor sidedoor-geo-jg sidedoor-idle-ja + ((sidedoor-geo-mg (meters 20)) (sidedoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defmethod TODO-RENAME-24 sidedoor ((obj sidedoor)) (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) @@ -1389,24 +1186,18 @@ ) ) -(defskelgroup *jngpusher-sg* jngpusher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(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 () - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0)))) - ) + (loop + (ja :num-func num-func-identity + :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))) (set! (-> self back-prim prim-core collide-as) (collide-kind)) diff --git a/goal_src/levels/jungle/junglefish.gc b/goal_src/levels/jungle/junglefish.gc index 4209b20756..c2388f7668 100644 --- a/goal_src/levels/jungle/junglefish.gc +++ b/goal_src/levels/jungle/junglefish.gc @@ -16,13 +16,10 @@ ) -(defskelgroup *junglefish-sg* junglefish - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 1.5) - :longest-edge (meters 0) - ) +(defskelgroup *junglefish-sg* junglefish junglefish-lod0-jg junglefish-swim-ja + ((junglefish-lod0-mg (meters 20)) (junglefish-lod1-mg (meters 40)) (junglefish-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.5) + ) nav-enemy-default-event-handler @@ -47,125 +44,55 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (set! (-> self target-speed) 0.0) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-8 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-8 param 1) f30-0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-11 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 1.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-17 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-17 param 1) f30-0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) f30-0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -256,23 +183,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! junglefish-chomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-chase) (none) @@ -290,40 +205,16 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 2.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 2.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 2.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek! max 2.0)) ) + (ja-no-eval :group! junglefish-swim-ja :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 2.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) ) (go-virtual nav-enemy-patrol) (none) diff --git a/goal_src/levels/jungle/junglesnake.gc b/goal_src/levels/jungle/junglesnake.gc index 6bfd3563ce..cb98a3ba45 100644 --- a/goal_src/levels/jungle/junglesnake.gc +++ b/goal_src/levels/jungle/junglesnake.gc @@ -7,13 +7,11 @@ ;; DECOMP BEGINS -(defskelgroup *junglesnake-sg* junglesnake - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 14 0 18) - :longest-edge (meters 2.5) - ) +(defskelgroup *junglesnake-sg* junglesnake junglesnake-lod0-jg junglesnake-idle-ja + ((junglesnake-lod0-mg (meters 999999))) + :bounds (static-spherem 0 14 0 18) + :longest-edge (meters 2.5) + ) (defpartgroup group-junglesnake-dropping-down :id 173 @@ -402,22 +400,10 @@ junglesnake-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.85) - (set! (-> a0-0 frame-num) 0.5) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! junglesnake-drop-down-ja :num! (seek! max 0.85) :frame-num 0.5) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.85) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.85)) ) (go junglesnake-tracking) (none) @@ -469,41 +455,21 @@ junglesnake-default-event-handler :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 2) - ) + ((ja-group? junglesnake-idle-ja) (while (not (ja-done? 0)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! junglesnake-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -544,26 +510,12 @@ junglesnake-default-event-handler (behavior () (set! (-> self track-player-ry) #t) (set! (-> self track-player-tilt) #t) - (ja-channel-push! 2 45) + (ja-channel-push! 2 (seconds 0.15)) (dummy-23 self) (let ((f30-0 (lerp-scale 0.0 1.0 (vector-vector-distance (target-pos 0) (-> self root-override trans)) 0.0 24576.0)) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.25) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) - (let ((a0-6 (-> self skel root-channel 1))) - (set! (-> a0-6 frame-interp) f30-0) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) 0.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-chan) - ) + (ja-no-eval :group! junglesnake-strike-close-ja :num! (seek! max 1.25) :frame-num 0.0) + (ja-no-eval :chan 1 :group! junglesnake-strike-far-ja :num! (chan 0) :frame-interp f30-0 :frame-num 0.0) (until (ja-done? 0) (suspend) (set! f30-0 @@ -573,16 +525,8 @@ junglesnake-default-event-handler (* 2.0 (-> *display* seconds-per-frame)) ) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.25) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 frame-interp) f30-0) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek! max 1.25)) + (ja :chan 1 :num! (chan 0) :frame-interp f30-0) (let ((f0-12 (ja-aframe-num 0))) (cond ((and (>= f0-12 22.0) (< f0-12 44.0)) @@ -629,27 +573,16 @@ junglesnake-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> s5-0 quad) (-> gp-0 quad)) (set! (-> s5-0 y) (+ 131072.0 (-> s5-0 y))) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 0.5) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! junglesnake-give-up-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (let* ((f0-6 (ja-frame-num 0)) - (v1-18 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (v1-18 (ja-group)) (f0-7 (/ f0-6 (the float (+ (-> v1-18 data 0 length) -1)))) (s4-0 (new 'stack-no-clear 'vector)) ) @@ -658,11 +591,7 @@ junglesnake-default-event-handler (move-to-point! (-> self root-override) s4-0) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 0.5) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) ) (move-to-point! (-> self root-override) gp-0) @@ -685,23 +614,11 @@ junglesnake-default-event-handler (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 45) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! junglesnake-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) diff --git a/goal_src/levels/jungleb/aphid.gc b/goal_src/levels/jungleb/aphid.gc index ef18a7b415..efdd99955a 100644 --- a/goal_src/levels/jungleb/aphid.gc +++ b/goal_src/levels/jungleb/aphid.gc @@ -17,14 +17,11 @@ ) -(defskelgroup *aphid-sg* aphid-lurker - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 2) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *aphid-sg* aphid-lurker aphid-lurker-lod0-jg -1 + ((aphid-lurker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 2) + :shadow aphid-lurker-shadow-mg + ) (defbehavior aphid-invulnerable aphid () (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf5)) @@ -75,87 +72,45 @@ ) ) ) - (while #t - (ja-channel-push! 1 15) + (loop + (ja-channel-push! 1 (seconds 0.05)) (sound-play-by-name (static-sound-name "aphid-spike-out") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (aphid-invulnerable) - (ja-channel-push! 1 30) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((v1-31 (-> self skel root-channel 0))) - (set! (-> v1-31 num-func) num-func-identity) - (set! (-> v1-31 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 5)) + (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) (s5-1 (-> *display* base-frame-counter)) (s4-1 (- (the int (nav-enemy-rnd-float-range 900.0 1440.0)) gp-0)) ) (until (>= (- (-> *display* base-frame-counter) s5-1) s4-1) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (aphid-vulnerable) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) (sound-play-by-name (static-sound-name "aphid-spike-in") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-17 param 0) 0.0) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 0.0) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-63 (-> self skel root-channel 0))) - (set! (-> v1-63 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-66 (-> self skel root-channel 0))) - (set! (-> v1-66 num-func) num-func-identity) - (set! (-> v1-66 frame-num) 0.0) + (ja :num! (seek! 0.0)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data (-> self nav-info run-anim))) + (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (nav-enemy-rnd-float-range 0.9 1.1)) (s5-3 (-> *display* base-frame-counter)) (s4-3 (+ (the int (nav-enemy-rnd-float-range 660.0 900.0)) gp-0)) ) (until (>= (- (-> *display* base-frame-counter) s5-3) s4-3) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) f30-1) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-1)) ) ) ) @@ -173,75 +128,35 @@ (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) - (ja-channel-push! 1 30) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) - (let ((v1-35 (-> self skel root-channel 0))) - (set! (-> v1-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) - (let ((v1-38 (-> self skel root-channel 0))) - (set! (-> v1-38 num-func) num-func-identity) - (set! (-> v1-38 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 4)) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 0.75) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) (when (nav-enemy-rnd-percent? 0.3) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - ) - (ja-channel-push! 1 30) + (if (not (ja-group? (-> self draw art-group data 10))) + (ja-channel-push! 1 (seconds 0.1)) ) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -256,7 +171,7 @@ (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -265,36 +180,16 @@ ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -303,11 +198,7 @@ (-> self turn-time) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) diff --git a/goal_src/levels/jungleb/jungleb-obs.gc b/goal_src/levels/jungleb/jungleb-obs.gc index 5e242f0409..555f20061a 100644 --- a/goal_src/levels/jungleb/jungleb-obs.gc +++ b/goal_src/levels/jungleb/jungleb-obs.gc @@ -29,13 +29,10 @@ ) -(defskelgroup *eggtop-sg* eggtop - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -4.5 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *eggtop-sg* eggtop eggtop-lod0-jg eggtop-idle-ja + ((eggtop-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -4.5 0 4.5) + ) (defpartgroup group-jungle-blue-eco-room-open :id 189 @@ -318,22 +315,10 @@ ) (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) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (process-entity-status! self (entity-perm-status complete) #t) @@ -342,16 +327,7 @@ (entity-task-complete-on a0-20) ) ) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-4 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 2) :num! max) (suspend) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -417,13 +393,10 @@ ) -(defskelgroup *jng-iris-door-sg* jng-iris-door - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *jng-iris-door-sg* jng-iris-door jng-iris-door-lod0-jg jng-iris-door-idle-ja + ((jng-iris-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defmethod TODO-RENAME-24 jng-iris-door ((obj jng-iris-door)) (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) diff --git a/goal_src/levels/jungleb/plant-boss.gc b/goal_src/levels/jungleb/plant-boss.gc index c5216bef56..b5a4e1e88e 100644 --- a/goal_src/levels/jungleb/plant-boss.gc +++ b/goal_src/levels/jungleb/plant-boss.gc @@ -119,57 +119,39 @@ ) -(defskelgroup *plant-boss-sg* plant-boss - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 10 20) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *plant-boss-sg* plant-boss plant-boss-main-lod0-jg plant-boss-main-idle-ja + ((plant-boss-main-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 10 20) + :shadow plant-boss-main-shadow-mg + ) -(defskelgroup *plant-boss-arm-sg* plant-boss - 22 - 25 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - :shadow 24 - ) +(defskelgroup *plant-boss-arm-sg* plant-boss plant-boss-arms-lod0-jg plant-boss-arms-idle-ja + ((plant-boss-arms-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + :shadow plant-boss-arms-shadow-mg + ) -(defskelgroup *plant-boss-leaf-sg* plant-boss - 37 - 42 - ((38 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - :shadow 39 - ) +(defskelgroup *plant-boss-leaf-sg* plant-boss plant-boss-leaf-lod0-jg plant-boss-leaf-idle-left-ja + ((plant-boss-leaf-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + :shadow plant-boss-leaf-shadow-mg + ) -(defskelgroup *plant-boss-back-arms-sg* plant-boss - 30 - 33 - ((31 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - :shadow 32 - ) +(defskelgroup *plant-boss-back-arms-sg* plant-boss plant-boss-back-arms-lod0-jg plant-boss-back-arms-idle-ja + ((plant-boss-back-arms-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :shadow plant-boss-back-arms-shadow-mg + ) -(defskelgroup *plant-boss-vine-sg* plant-boss - 48 - 50 - ((49 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *plant-boss-vine-sg* plant-boss plant-boss-vine-lod0-jg plant-boss-vine-idle-ja + ((plant-boss-vine-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) -(defskelgroup *plant-boss-root-sg* plant-boss - 53 - 55 - ((54 (meters 999999))) - :bounds (static-spherem 0 20 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *plant-boss-root-sg* plant-boss plant-boss-root-lod0-jg plant-boss-root-idle-ja + ((plant-boss-root-lod0-mg (meters 999999))) + :bounds (static-spherem 0 20 0 20) + ) (define *plant-boss-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -231,12 +213,7 @@ (the-as collide-shape-moving (-> self root-override)) (the-as uint 1) ) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - ) + (not (ja-group? plant-boss-main-vulnerable2idle-ja)) ) (send-event arg0 'attack-or-shove (-> arg3 param 0) (new 'static 'attack-info)) ) @@ -273,30 +250,11 @@ :code (behavior () (ja-channel-set! 2) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 26)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((v1-16 (-> self skel root-channel 1))) - (set! (-> v1-16 frame-interp) (- 1.0 (-> self parent-override 0 energy))) - ) + (ja :group! plant-boss-arms-idle-ja :num! min) + (ja :chan 1 :group! plant-boss-arms-still-ja :num! min) + (loop + (ja :num! (loop!)) + (ja :chan 1 :frame-interp (- 1.0 (-> self parent-override 0 energy))) (suspend) ) (none) @@ -310,44 +268,18 @@ (-> plant-boss-arm-idle event) :code (behavior ((arg0 basic)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 90.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) - ) + (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) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 90.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 25)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 90.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 25)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 90.0) 0))) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-arms-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 90.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go plant-boss-arm-idle) (none) @@ -380,47 +312,23 @@ (ja-channel-set! 1) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) (let ((f30-0 (rand-vu-float-range (the-as float 0.8) (the-as float 1.0)))) (case (-> self side) ((1) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-arms-die-right-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 27)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 27)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-arms-die-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -429,28 +337,10 @@ ) (case (-> self side) ((1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 28)) - num-func-identity - ) - (set! (-> gp-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-arms-die-right-ja :num! max) ) (else - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity - ) - (set! (-> gp-2 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 27)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-arms-die-ja :num! max) ) ) (set! (-> (find-prim-by-id (-> self root-override) (the-as uint 1)) prim-core action) (collide-action)) @@ -458,7 +348,7 @@ (set! (-> (find-prim-by-id (-> self root-override) (the-as uint 2)) prim-core action) (collide-action)) 0 (update-transforms! (-> self root-override)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -485,23 +375,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 33)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-back-arms-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -515,65 +393,35 @@ (-> plant-boss-back-arms-idle event) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (cond ((or (= arg0 'spin) (= arg0 'spin-air)) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 36))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 36)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-back-arms-hit-kick-ja + :num! (seek! (ja-aframe (the-as float 45.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 45.0) 0))) ) ) (else - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) 0.0) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-back-arms-hit-ja + :num! (seek! (ja-aframe (the-as float 45.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 45.0) 0))) ) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe (the-as float 45.0) 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 33)) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-back-arms-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 45.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go plant-boss-back-arms-idle) (none) @@ -590,39 +438,18 @@ (ja-channel-set! 1) ) (else - (ja-channel-push! 1 75) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-back-arms-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - ) - (while #t + (ja :group! plant-boss-back-arms-die-ja :num! max) + (loop (suspend) ) (none) @@ -646,23 +473,11 @@ :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-vine-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -677,44 +492,18 @@ (-> plant-boss-vine-idle event) :code (behavior ((arg0 basic)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (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) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 45.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 45.0) 0))) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-vine-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 45.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go plant-boss-vine-idle) (none) @@ -731,31 +520,16 @@ (gp-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) gp-0) (the int (* 300.0 f30-0))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) - (ja-channel-push! 1 75) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 51))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 51)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 51)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-vine-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -776,23 +550,11 @@ :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 55))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 55)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 55)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-root-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -946,47 +708,23 @@ ) :code (behavior ((arg0 symbol)) - (while #t + (loop (case (-> self side) ((1) (dotimes (gp-0 4) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 43)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-stubby-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (else (dotimes (gp-1 5) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 40)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 40)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-stubby-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1014,82 +752,41 @@ (the-as (function none :behavior plant-boss-leaf) rider-trans) :code (behavior ((arg0 symbol)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) ((1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-right-ja + :num! (seek! (ja-aframe (the-as float 30.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 30.0) 0))) ) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 30.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-right-ja :num! (seek!) :frame-num (ja-aframe (the-as float 30.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) 0.0) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-left-ja + :num! (seek! (ja-aframe (the-as float 30.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-5 param 1) 1.0) - (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 30.0) 0))) ) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 41)) data 0 length) -1)) - ) - (set! (-> gp-7 param 1) 1.0) - (set! (-> gp-7 frame-num) (ja-aframe (the-as float 30.0) 0)) - (joint-control-channel-group! gp-7 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-left-ja :num! (seek!) :frame-num (ja-aframe (the-as float 30.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) - (set! (-> a0-26 param 1) 1.0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1127,31 +824,22 @@ (behavior ((arg0 symbol)) (local-vars (v1-19 symbol)) (set! (-> self state-object) arg0) - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (((-> self draw art-group data 47) (-> self draw art-group data 46)) - (ja-channel-push! 1 30) + (case (ja-group) + ((plant-boss-leaf-right-bounce-ja plant-boss-leaf-left-bounce-ja) + (ja-channel-push! 1 (seconds 0.1)) ) ) (case (-> self side) ((1) - (let ((v1-10 (-> self skel root-channel 0))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 45))) - ) + (ja :group! plant-boss-leaf-idle-right-ja) ) (else - (let ((v1-13 (-> self skel root-channel 0))) - (set! (-> v1-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) - ) + (ja :group! plant-boss-leaf-idle-left-ja) ) ) (until v1-19 (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! v1-19 (and (-> self state-object) (< (-> self state-time-frame) (-> *display* base-frame-counter)))) ) (go plant-boss-leaf-close) @@ -1181,46 +869,22 @@ (the-as (function none :behavior plant-boss-leaf) rider-trans) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) ((1) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 47))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 47)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 47)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-right-bounce-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 46))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 46)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 46)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-left-bounce-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1247,42 +911,18 @@ (case (-> self side) ((1) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> a0-4 param 0) 0.0) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-right-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) (else (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> a0-10 param 0) 0.0) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 41)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-left-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 0.0) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) @@ -1296,7 +936,7 @@ (defstate plant-boss-leaf-die (plant-boss-leaf) :code (behavior ((arg0 basic)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -1362,16 +1002,8 @@ (set-mode! (-> self body) (joint-mod-handler-mode flex-blend)) (set! (-> self body flex-blend) 0.0) (ja-channel-set! 1) - (while #t - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-main-initial-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self energy) (the-as float 0.25) (-> *display* seconds-per-frame)) (if (and (and *target* @@ -1382,11 +1014,7 @@ (go plant-boss-intro) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1404,15 +1032,8 @@ (logior! (-> v1-9 status) (entity-perm-status user-set-from-cstage)) (b! (zero? (-> v1-9 user-int8 2)) cfg-5 :delay (empty-form)) ) - (ja-channel-push! 1 150) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 510.0) 0)) - ) + (ja-channel-push! 1 (seconds 0.5)) + (ja :group! plant-boss-main-intro-ja :num! (identity (ja-aframe (the-as float 510.0) 0))) (b! #t cfg-3 :delay (nop!)) (label cfg-2) (seek! (-> self energy) (the-as float 1.0) (* 2.0 (-> *display* seconds-per-frame))) @@ -1482,33 +1103,16 @@ (set-mode! (-> self neck) (joint-mod-handler-mode world-look-at)) (set-mode! (-> self body) (joint-mod-handler-mode world-look-at)) (set! (-> self body flex-blend) 0.0) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) 1.0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 150) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 510.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.5)) + (ja-no-eval :group! plant-boss-main-intro-ja :num! (seek! (ja-aframe (the-as float 510.0) 0)) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self energy) (the-as float 1.0) (* 0.2 (-> *display* seconds-per-frame))) (ja-blend-eval) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 510.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) - (set! (-> a0-33 param 1) 1.0) - (joint-control-channel-group! a0-33 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 510.0) 0))) ) + (ja-no-eval :num! (seek!)) (let ((v1-77 (-> self entity extra perm))) (logior! (-> v1-77 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-77 user-int8 2) 1) @@ -1567,147 +1171,60 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 150) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 60.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + ((ja-group? plant-boss-main-reset-ja) + (ja-channel-push! 1 (seconds 0.5)) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 60.0) 0)) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 12) - ) - (ja-channel-push! 1 75) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 75.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + ((ja-group? plant-boss-main-vulnerable-ja) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-main-vulnerable2idle-ja + :num! (seek! (ja-aframe (the-as float 75.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 75.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 75.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 75.0) 0))) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 75.0) 0)) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) + ((ja-group? plant-boss-main-intro-ja) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) - (while #t + (loop (when (or (and *cheat-mode* (cpad-hold? 1 r3)) (zero? (-> self aphid-count))) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num 0.0) (go plant-boss-vulnerable) ) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-36 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (and *cheat-mode* (cpad-hold? 1 r3)) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-43 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-43 param 1) 1.0) - (set! (-> a0-43 frame-num) 0.0) - (joint-control-channel-group! a0-43 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num 0.0) (go plant-boss-vulnerable) ) (when (rand-vu-percent? (the-as float 0.2)) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-45 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-alt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1850,56 +1367,33 @@ ) :code (behavior () - (ja-channel-push! 1 75) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 60.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 60.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 60.0) 0))) ) (send-event (ppointer->process (-> self leaf 1)) 'trigger) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 120.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 60.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle2vulnerable-ja + :num! (seek! (ja-aframe (the-as float 120.0) 0)) + :frame-num (ja-aframe (the-as float 60.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 120.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 120.0) 0))) ) (send-event (ppointer->process (-> self leaf 0)) 'trigger) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 120.0) 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle2vulnerable-ja + :num! (seek!) + :frame-num (ja-aframe (the-as float 120.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-5 (cond ((>= (-> self try) 15) @@ -1918,22 +1412,10 @@ ) ) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) gp-5) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-vulnerable-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1954,12 +1436,7 @@ (the-as collide-shape-moving (-> self root-override)) (the-as uint 1) ) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - ) + (not (ja-group? plant-boss-main-vulnerable2idle-ja)) ) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) self) @@ -1991,39 +1468,15 @@ (set! (-> self ate) #f) (set! (-> self interp) 0.0) (let ((s5-0 #f)) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) + (if (ja-group? plant-boss-main-reset-ja) (set! s5-0 #t) ) - (ja-channel-push! 2 75) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) - (let ((s4-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s4-1 frame-num) 0.0) - ) + (ja-channel-push! 2 (seconds 0.25)) + (ja :group! plant-boss-main-attack-ja :num! min) + (ja :chan 1 :group! plant-boss-main-attack-close-ja :num! min) (when s5-0 - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 num-func) num-func-identity) - (set! (-> s5-1 frame-num) (ja-aframe (the-as float 100.0) 0)) - ) - (let ((s5-2 (-> self skel root-channel 1))) - (set! (-> s5-2 num-func) num-func-identity) - (set! (-> s5-2 frame-num) (ja-aframe (the-as float 100.0) 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe (the-as float 100.0) 0)) + (ja :chan 1 :num-func num-func-identity :frame-num (ja-aframe (the-as float 100.0) 0)) ) ) (let ((f30-0 (lerp-scale @@ -2051,16 +1504,8 @@ ) ) (set! (-> self interp) f30-0) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-20 (-> self skel root-channel 1))) - (set! (-> a0-20 frame-interp) f30-0) - (set! (-> a0-20 param 0) 0.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0) :frame-interp f30-0) (suspend) (set! v1-64 (>= (ja-aframe-num 0) 149.0)) ) @@ -2087,11 +1532,7 @@ ) :code (behavior () - (let ((f30-1 (the-as float (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) + (let ((f30-1 (the-as float (if (ja-group? plant-boss-main-attack-ja) (fmax 129.0 (ja-aframe-num 0)) 129.0 ) @@ -2101,24 +1542,13 @@ ) (send-event *camera* 'change-state cam-lookat 0) (logior! (-> self skel status) (janim-status inited)) - (ja-channel-push! 2 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 18)) - num-func-identity + (ja-channel-push! 2 (seconds 0.1)) + (ja :group! (-> self draw art-group data 18) :num! (identity (ja-aframe f30-1 0))) + (ja :chan 1 + :group! (-> self draw art-group data 19) + :num! (identity (ja-aframe f30-1 0)) + :frame-interp (-> self interp) ) - (set! (-> s5-0 frame-num) (ja-aframe f30-1 0)) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (-> self interp)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 19)) - num-func-identity - ) - (set! (-> s5-1 frame-num) (ja-aframe f30-1 0)) - ) (until (>= (ja-aframe-num 0) 285.0) (try-preload-stream *art-control* "$GAMCAM29" 0 self (the-as float -99.0)) (seek! (-> self energy) (the-as float 0.5) (* 0.2 (-> *display* seconds-per-frame))) @@ -2145,37 +1575,17 @@ ) (seek! (-> self body flex-blend) (the-as float 0.0) (-> *display* seconds-per-frame)) (seek! (-> self interp) (the-as float 0.0) (-> *display* seconds-per-frame)) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 0.66) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-32 (-> self skel root-channel 1))) - (set! (-> a0-32 frame-interp) (-> self interp)) - (set! (-> a0-32 param 0) 0.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek! max 0.66)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self interp)) (suspend) ) ) - (ja-channel-push! 1 75) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-main-swallow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event *target* 'end-mode) (logclear! (-> self skel status) (janim-status inited)) @@ -2193,25 +1603,15 @@ (behavior ((arg0 int)) (let ((gp-0 #f)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) + ((ja-group? plant-boss-main-intro-ja) (set! gp-0 #t) - (ja-channel-push! 1 150) + (ja-channel-push! 1 (seconds 0.5)) ) (else - (ja-channel-push! 1 300) + (ja-channel-push! 1 (seconds 1)) ) ) - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 210.0) 0)) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-reset-ja :num! (seek! (ja-aframe (the-as float 210.0) 0)) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (seek! (-> self body flex-blend) (the-as float 0.0) (-> *display* seconds-per-frame)) @@ -2219,37 +1619,22 @@ (seek! (-> self neck flex-blend) (the-as float 1.0) (-> *display* seconds-per-frame)) ) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 210.0) 0)) - (set! (-> s4-1 param 1) 1.0) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 210.0) 0))) ) (if (< 1 arg0) (go plant-boss-attack (+ arg0 -1)) ) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 240.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (set! (-> s5-1 frame-num) (ja-aframe (the-as float 210.0) 0)) - (joint-control-channel-group! s5-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-reset-ja + :num! (seek! (ja-aframe (the-as float 240.0) 0)) + :frame-num (ja-aframe (the-as float 210.0) 0) + ) (until (ja-done? 0) (seek! (-> self body flex-blend) (the-as float 0.0) (-> *display* seconds-per-frame)) (seek! (-> self neck flex-blend) (the-as float 1.0) (* 2.0 (-> *display* seconds-per-frame))) (suspend) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 240.0) 0)) - (set! (-> s5-2 param 1) 1.0) - (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 240.0) 0))) ) + (ja-no-eval :num! (seek!)) (if gp-0 (go plant-boss-spawn) (go plant-boss-idle) @@ -2275,75 +1660,44 @@ (seek! (-> self health) (the-as float 0.0) (the-as float 1.0)) (send-event (ppointer->process (-> self leaf 1)) 'kill 0) (send-event (ppointer->process (-> self leaf 0)) 'kill 0) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) (cond ((= arg0 'spin) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-hit-kick-ja + :num! (seek! (ja-aframe (the-as float 20.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 20.0) 0))) ) ) ((= arg0 'spin-air) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) 0.0) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-hit-jumpkick-ja + :num! (seek! (ja-aframe (the-as float 20.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 20.0) 0))) ) ) (else - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> gp-5 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) 0.0) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-hit-ja :num! (seek! (ja-aframe (the-as float 20.0) 0)) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 20.0) 0))) ) ) ) (if (= (-> self health) 0.0) (go plant-boss-dead #f) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -2371,16 +1725,7 @@ (cond (arg0 (ja-channel-set! 1) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> s5-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-main-die-ja :num! max) (suspend) (if (not (task-complete? *game-info* (-> self entity extra perm task))) (birth-pickup-at-point @@ -2397,21 +1742,9 @@ (let ((s4-0 #f) (s5-2 #f) ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 150) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.5)) + (ja-no-eval :group! plant-boss-main-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (when (< 100.0 (ja-aframe-num 0)) @@ -2442,11 +1775,7 @@ ) ) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2504,16 +1833,7 @@ :code (behavior () (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-main-die-ja :num! max) (let ((gp-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 5)) (transform-post) @@ -2521,7 +1841,7 @@ (suspend) ) ) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -2551,37 +1871,12 @@ ) ) (ja-channel-set! 2) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 21)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (- 1.0 arg0)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> s5-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-main-bounce-ja :num! min) + (ja :chan 1 :group! plant-boss-main-die-ja :num! max :frame-interp (- 1.0 arg0)) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((v1-39 (-> self skel root-channel 1))) - (set! (-> v1-39 frame-interp) (- 1.0 arg0)) - (set! (-> v1-39 num-func) num-func-identity) - (set! (-> v1-39 frame-num) (the float (+ (-> v1-39 frame-group data 0 length) -1))) - ) + (ja :num! (seek!)) + (ja :chan 1 :frame-interp (- 1.0 arg0) :num-func num-func-identity :frame-num max) ) (go plant-boss-dead-idle) (none) diff --git a/goal_src/levels/jungleb/plat-flip.gc b/goal_src/levels/jungleb/plat-flip.gc index 91f7287e17..5cf7526080 100644 --- a/goal_src/levels/jungleb/plat-flip.gc +++ b/goal_src/levels/jungleb/plat-flip.gc @@ -29,13 +29,10 @@ ) -(defskelgroup *plat-flip-sg* plat-flip - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *plat-flip-sg* plat-flip plat-flip-geo-jg plat-flip-turn-down-ja + ((plat-flip-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defstate plat-flip-idle (plat-flip) :event @@ -59,18 +56,11 @@ (behavior () (local-vars (f30-0 float) (f30-1 float)) (let ((gp-0 #f)) - (while #t + (loop (let ((f0-1 (get-current-value (-> self sync) (-> self total-time)))) (cond ((< f0-1 (-> self before-turn-down-time)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! plat-flip-turn-down-ja :num! min) (set! gp-0 #f) ) ((begin (set! f30-0 (- f0-1 (-> self before-turn-down-time))) (< f30-0 (-> self turn-down-time))) @@ -78,50 +68,31 @@ (set! gp-0 #t) (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) ) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity + (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))) + (-> self turn-down-time) + ) + ) ) - (set! (-> s5-1 frame-num) - (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1))) - (-> self turn-down-time) - ) - ) - ) ) ((begin (set! f30-1 (- f30-0 (-> self turn-down-time))) (< f30-1 (-> self before-turn-up-time))) (set! gp-0 #f) - (let ((s5-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> s5-2 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - ) + (ja :group! plat-flip-turn-down-ja :num! max) ) (else (when (not gp-0) (set! gp-0 #t) (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) ) - (let ((f30-2 (- f30-1 (-> self before-turn-up-time))) - (s5-4 (-> self skel root-channel 0)) + (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))) + (-> self turn-up-time) + ) + ) ) - (joint-control-channel-group-eval! - s5-4 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> s5-4 frame-num) - (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1))) - (-> self turn-up-time) - ) - ) ) ) ) diff --git a/goal_src/levels/lavatube/assistant-lavatube.gc b/goal_src/levels/lavatube/assistant-lavatube.gc index 5fa09f1261..9dc4f3561d 100644 --- a/goal_src/levels/lavatube/assistant-lavatube.gc +++ b/goal_src/levels/lavatube/assistant-lavatube.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *assistant-lavatube-start-sg* assistant-lavatube-start - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-lavatube-start-sg* assistant-lavatube-start assistant-lavatube-start-lod0-jg assistant-lavatube-start-idle-ja + ((assistant-lavatube-start-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-lavatube-start-shadow-mg + ) (defmethod play-anim! assistant-lavatube-start ((obj assistant-lavatube-start) (arg0 symbol)) (case (current-status (-> obj tasks)) @@ -118,75 +115,28 @@ :virtual #t :code (behavior () - (while #t - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (loop + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 3)) ) (let* ((f30-0 2.0) (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-8 (the-as number (logior #x3f800000 v1-7))) ) (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-8)))) 2)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (ja-channel-push! 1 15) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/lavatube/lavatube-energy.gc b/goal_src/levels/lavatube/lavatube-energy.gc index 3141082c6d..51ed91dcae 100644 --- a/goal_src/levels/lavatube/lavatube-energy.gc +++ b/goal_src/levels/lavatube/lavatube-energy.gc @@ -397,13 +397,10 @@ ) -(defskelgroup *energydoor-sg* energydoor - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 14 0 35) - :longest-edge (meters 0) - ) +(defskelgroup *energydoor-sg* energydoor energydoor-lod0-jg energydoor-idle-ja + ((energydoor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 14 0 35) + ) (defbehavior energydoor-player-dist energydoor () (let ((gp-0 (new 'stack-no-clear 'vector)) @@ -440,39 +437,10 @@ energydoor-closed-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (if (or (task-closed? (-> self entity extra perm task) (task-status need-resolution)) (< (energydoor-player-dist) 0.0) @@ -523,12 +491,9 @@ ) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (the float (+ (-> v1-2 frame-group data 0 length) -1))) - ) + (ja :num-func num-func-identity :frame-num max) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -540,39 +505,10 @@ energydoor-open-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go energydoor-opened) (none) @@ -612,12 +548,9 @@ ) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -636,12 +569,9 @@ ) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -726,19 +656,16 @@ ) -(defskelgroup *energybase-sg* energybase - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 40 0 40) - :longest-edge (meters 0) - ) +(defskelgroup *energybase-sg* energybase energybase-lod0-jg energybase-idle-ja + ((energybase-lod0-mg (meters 999999))) + :bounds (static-spherem 0 40 0 40) + ) (defstate energybase-stopped (energybase) :code (behavior () (ja-post) - (while #t + (loop (suspend) ) (none) @@ -749,44 +676,15 @@ :code (behavior () (let ((f30-0 1.0)) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) f30-0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (set! f30-0 (- f30-0 (* 0.002 (-> *display* time-adjust-ratio)))) (if (< f30-0 0.0) (go energybase-stopped) ) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) f30-0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -807,7 +705,7 @@ ) :code (behavior () - (while #t + (loop (if (and *target* (>= 307200.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id lavatube-shoot-the-spheres) @@ -817,39 +715,10 @@ (game-task none) ) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-2 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -934,13 +803,10 @@ ) -(defskelgroup *energyball-sg* energyball - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *energyball-sg* energyball energyball-lod0-jg energyball-idle-ja + ((energyball-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) (defstate energyball-idle (energyball) :event @@ -1008,40 +874,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1082,13 +919,10 @@ (none) ) -(defskelgroup *energyarm-sg* energyarm - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 -20 17) - :longest-edge (meters 0) - ) +(defskelgroup *energyarm-sg* energyarm energyarm-lod0-jg energyarm-idle-ja + ((energyarm-lod0-mg (meters 20)) (energyarm-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 -20 17) + ) (defbehavior energyarm-trans energyarm () (rider-trans) @@ -1143,40 +977,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1228,40 +1033,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1292,40 +1068,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1392,17 +1139,15 @@ (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-5)) (the float (ja-num-frames 0)))) ) ) - (while #t + (loop (suspend) (let* ((f30-1 0.25) (f28-0 0.25) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) (f0-9 (+ f30-1 (* f28-0 (+ -1.0 (the-as float v1-10))))) - (a0-5 (-> self skel root-channel 0)) ) - (set! (-> a0-5 param 0) f0-9) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-9)) ) ) (none) @@ -1486,13 +1231,10 @@ (none) ) -(defskelgroup *energyhub-sg* energyhub - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *energyhub-sg* energyhub energyhub-lod0-jg energyhub-idle-ja + ((energyhub-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 10) + ) (defbehavior energyhub-trans energyhub () (+! (-> self y-rotation) @@ -1571,17 +1313,15 @@ ) :code (behavior () - (while #t + (loop (suspend) (let* ((f30-0 1.0) (f28-0 0.25) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-4 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) - (a0-2 (-> self skel root-channel 0)) ) - (set! (-> a0-2 param 0) f0-4) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-4)) ) ) (none) @@ -1662,17 +1402,15 @@ ) :code (behavior () - (while #t + (loop (suspend) (let* ((f30-0 1.0) (f28-0 0.25) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-4 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) - (a0-2 (-> self skel root-channel 0)) ) - (set! (-> a0-2 param 0) f0-4) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-4)) ) ) (none) @@ -1746,17 +1484,15 @@ ) :code (behavior () - (while #t + (loop (suspend) (let* ((f30-0 1.0) (f28-0 0.25) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-4 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) - (a0-2 (-> self skel root-channel 0)) ) - (set! (-> a0-2 param 0) f0-4) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-4)) ) ) (none) @@ -1829,51 +1565,16 @@ ) -(defskelgroup *energylava-sg* energylava - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 120) - :longest-edge (meters 0) - ) +(defskelgroup *energylava-sg* energylava 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 120)) (defstate energylava-idle (energylava) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/lavatube/lavatube-obs.gc b/goal_src/levels/lavatube/lavatube-obs.gc index 42589981fa..b39a87cbeb 100644 --- a/goal_src/levels/lavatube/lavatube-obs.gc +++ b/goal_src/levels/lavatube/lavatube-obs.gc @@ -19,51 +19,20 @@ ) -(defskelgroup *lavabase-sg* lavabase - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 9.4) - ) +(defskelgroup *lavabase-sg* lavabase lavabase-lod0-jg lavabase-idle-ja + ((lavabase-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + :longest-edge (meters 9.4) + ) (defstate lavabase-idle (lavabase) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -92,51 +61,20 @@ ) -(defskelgroup *lavafall-sg* lavafall - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 13) - :longest-edge (meters 5.4) - ) +(defskelgroup *lavafall-sg* lavafall lavafall-lod0-jg lavafall-idle-ja + ((lavafall-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 13) + :longest-edge (meters 5.4) + ) (defstate lavafall-idle (lavafall) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -165,51 +103,20 @@ ) -(defskelgroup *lavashortcut-sg* lavashortcut - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -34 0 105) - :longest-edge (meters 11.9) - ) +(defskelgroup *lavashortcut-sg* lavashortcut lavashortcut-lod0-jg lavashortcut-idle-ja + ((lavashortcut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -34 0 105) + :longest-edge (meters 11.9) + ) (defstate lavashortcut-idle (lavashortcut) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -520,13 +427,11 @@ ) ) -(defskelgroup *darkecobarrel-sg* darkecobarrel - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -7.75 0 8.6) - :longest-edge (meters 2.8) - ) +(defskelgroup *darkecobarrel-sg* darkecobarrel darkecobarrel-lod0-jg darkecobarrel-idle-ja + ((darkecobarrel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -7.75 0 8.6) + :longest-edge (meters 2.8) + ) (defbehavior darkecobarrel-base-time darkecobarrel-base () (+ (-> *display* base-frame-counter) (-> self sync)) @@ -727,11 +632,8 @@ (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-9)) (the float (ja-num-frames 0)))) ) ) - (while #t - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 num-func) num-func-identity) - (set! (-> v1-14 frame-num) 0.0) - ) + (loop + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (none) @@ -843,40 +745,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -970,51 +843,19 @@ ) -(defskelgroup *lavafallsewera-sg* lavafallsewera - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -15 0 -5 185) - :longest-edge (meters 0) - ) +(defskelgroup *lavafallsewera-sg* lavafallsewera lavafallsewera-lod0-jg lavafallsewera-idle-ja + ((lavafallsewera-lod0-mg (meters 999999))) + :bounds (static-spherem -15 0 -5 185) + ) (defstate lavafallsewera-idle (lavafallsewera) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1043,51 +884,19 @@ ) -(defskelgroup *lavafallsewerb-sg* lavafallsewerb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 120) - :longest-edge (meters 0) - ) +(defskelgroup *lavafallsewerb-sg* lavafallsewerb lavafallsewerb-lod0-jg lavafallsewerb-idle-ja + ((lavafallsewerb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 120) + ) (defstate lavafallsewerb-idle (lavafallsewerb) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1255,13 +1064,11 @@ ((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 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -10.75 0 12.75) - :longest-edge (meters 2.4) - ) +(defskelgroup *chainmine-sg* chainmine chainmine-lod0-jg chainmine-idle-ja + ((chainmine-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -10.75 0 12.75) + :longest-edge (meters 2.4) + ) (defstate die (chainmine) :virtual #t @@ -1318,43 +1125,14 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (nonzero? (-> self sound)) (update! (-> self sound)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1393,13 +1171,10 @@ (none) ) -(defskelgroup *lavaballoon-sg* lavaballoon - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0.8 0 3.8) - :longest-edge (meters 0) - ) +(defskelgroup *lavaballoon-sg* lavaballoon lavaballoon-lod0-jg lavaballoon-idle-ja + ((lavaballoon-lod0-mg (meters 20)) (lavaballoon-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0.8 0 3.8) + ) (deftype lavaballoon (process-drawable) ((root-override collide-shape :offset 112) @@ -1542,40 +1317,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1675,51 +1421,19 @@ ) -(defskelgroup *lavayellowtarp-sg* lavayellowtarp - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *lavayellowtarp-sg* lavayellowtarp lavayellowtarp-lod0-jg lavayellowtarp-idle-ja + ((lavayellowtarp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) (defstate lavayellowtarp-idle (lavayellowtarp) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/maincave/baby-spider.gc b/goal_src/levels/maincave/baby-spider.gc index 445d52f90d..a9df901d62 100644 --- a/goal_src/levels/maincave/baby-spider.gc +++ b/goal_src/levels/maincave/baby-spider.gc @@ -59,14 +59,11 @@ ) -(defskelgroup *baby-spider-sg* baby-spider - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 2.25) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *baby-spider-sg* baby-spider baby-spider-lod0-jg -1 + ((baby-spider-lod0-mg (meters 20)) (baby-spider-lod1-mg (meters 40)) (baby-spider-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 2.25) + :shadow baby-spider-shadow-mg + ) (define *baby-spider-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 6 @@ -83,11 +80,11 @@ :run-travel-speed (meters 7) :run-rotate-speed (degrees 7999.9995) :run-acceleration (meters 1) - :run-turn-time (seconds 0.07333333) + :run-turn-time (seconds 0.075) :walk-travel-speed (meters 2) :walk-rotate-speed (degrees 7999.9995) :walk-acceleration (meters 1) - :walk-turn-time (seconds 0.07333333) + :walk-turn-time (seconds 0.075) :attack-shove-back (meters 3) :attack-shove-up (meters 2) :shadow-size (meters 1) @@ -136,11 +133,11 @@ :run-travel-speed (meters 7) :run-rotate-speed (degrees 7999.9995) :run-acceleration (meters 1) - :run-turn-time (seconds 0.07333333) + :run-turn-time (seconds 0.075) :walk-travel-speed (meters 2) :walk-rotate-speed (degrees 7999.9995) :walk-acceleration (meters 1) - :walk-turn-time (seconds 0.07333333) + :walk-turn-time (seconds 0.075) :attack-shove-back (meters 3) :attack-shove-up (meters 2) :shadow-size (meters 1) @@ -307,25 +304,13 @@ baby-spider-default-event-handler :code (behavior () (ja-channel-push! 1 0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! baby-spider-birth-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-53 self) (go baby-spider-die-fast) ) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go baby-spider-resume) (none) @@ -419,31 +404,15 @@ baby-spider-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -469,34 +438,15 @@ baby-spider-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 51) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :num! (seek!)) (go-virtual nav-enemy-chase) (none) ) @@ -527,25 +477,15 @@ baby-spider-default-event-handler (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) (set! (-> self chase-rest-time) (rand-vu-int-range (seconds 1) (seconds 4))) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.17)) + (ja :group! baby-spider-run-ja :num! min) + (loop (when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) (seconds 1)) (set! (-> self wiggle-time) (-> *display* base-frame-counter)) (dummy-51 self) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -596,41 +536,23 @@ baby-spider-default-event-handler :code (behavior () (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) (seconds 0.07333333)) + (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t + (loop (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! baby-spider-celebrate-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :num! (loop!)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((gp-0 (rand-vu-int-range 300 600)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 num-func) num-func-identity) - (set! (-> v1-33 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (ja-blend-eval) (suspend) (suspend) @@ -660,35 +582,15 @@ baby-spider-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! baby-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -697,11 +599,7 @@ baby-spider-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -726,23 +624,11 @@ baby-spider-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-victory) (none) diff --git a/goal_src/levels/maincave/dark-crystal.gc b/goal_src/levels/maincave/dark-crystal.gc index 95947dad66..4a88171155 100644 --- a/goal_src/levels/maincave/dark-crystal.gc +++ b/goal_src/levels/maincave/dark-crystal.gc @@ -40,21 +40,15 @@ ) -(defskelgroup *dark-crystal-sg* dark-crystal - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.4 0 3.8) - :longest-edge (meters 0) - ) +(defskelgroup *dark-crystal-sg* dark-crystal dark-crystal-lod0-jg -1 + ((dark-crystal-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.4 0 3.8) + ) -(defskelgroup *dark-crystal-explode-sg* dark-crystal - 3 - -1 - ((4 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *dark-crystal-explode-sg* dark-crystal dark-crystal-explode-lod0-jg -1 + ((dark-crystal-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) (define *dark-crystal-flash-delays* (the-as (array int32) @@ -468,7 +462,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) diff --git a/goal_src/levels/maincave/driller-lurker.gc b/goal_src/levels/maincave/driller-lurker.gc index 9446ecc2bb..162dba048c 100644 --- a/goal_src/levels/maincave/driller-lurker.gc +++ b/goal_src/levels/maincave/driller-lurker.gc @@ -66,14 +66,15 @@ ) -(defskelgroup *driller-lurker-sg* driller-lurker - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1.5 0 7.75) - :longest-edge (meters 2.3) - :shadow 4 - ) +(defskelgroup *driller-lurker-sg* driller-lurker driller-lurker-lod0-jg -1 + ((driller-lurker-lod0-mg (meters 20)) + (driller-lurker-lod1-mg (meters 40)) + (driller-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1.5 0 7.75) + :longest-edge (meters 2.3) + :shadow driller-lurker-shadow-mg + ) (define *driller-lurker-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -676,70 +677,32 @@ :code (behavior () (update-trans! (-> self sound2) (-> self root-overeride trans)) - (while #t + (loop (set! (-> self timeout) (rand-vu-int-range 4 8)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (dotimes (gp-0 (-> self timeout)) (let ((f30-0 (rand-vu-float-range 1.0 1.8))) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) f30-0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! driller-lurker-idle-drilling-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound2)) (if (and (>= (ja-aframe-num 0) 7.0) (>= 13.0 (ja-aframe-num 0))) (dummy-27 self) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) (stop! (-> self sound2)) - (ja-channel-push! 1 60) - (cond - ((zero? (rand-vu-int-count 2)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - ) - (else - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (if (zero? (rand-vu-int-count 2)) + (ja :group! driller-lurker-idle-look-left-ja :num! min) + (ja :group! driller-lurker-idle-look-right-ja :num! min) ) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -773,45 +736,22 @@ ) :code (behavior () - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 1))) - (set! (-> a0-2 frame-interp) (-> self up-blend)) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-chan) - ) - (while #t + (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)) + (loop (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - (when (= (ja-group-size) 2) - (let ((a0-4 (-> self skel root-channel 1))) - (set! (-> a0-4 frame-interp) (-> self up-blend)) - (set! (-> a0-4 param 0) 0.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (seek!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self up-blend)) ) - ) (when (ja-done? 0) (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self timeout)) (>= 546.13336 (fabs (deg- (-> self path-ry) (-> self facing-ry)))) ) (go driller-lurker-patrol-pause) ) - (let ((v1-34 (-> self skel root-channel 0))) - (set! (-> v1-34 num-func) num-func-identity) - (set! (-> v1-34 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) ) ) (none) @@ -851,73 +791,29 @@ (set! s5-0 v1-0) (cond ((zero? v1-0) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? driller-lurker-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja :group! driller-lurker-idle-ja :num! min) ) ((= v1-0 1) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? driller-lurker-idle-look-left-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s4-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s4-1 frame-num) 0.0) - ) + (ja :group! driller-lurker-idle-look-left-ja :num! min) ) ((= v1-0 2) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? driller-lurker-idle-look-right-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s4-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> s4-2 frame-num) 0.0) - ) + (ja :group! driller-lurker-idle-look-right-ja :num! min) ) ) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -980,45 +876,18 @@ ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self up-blend)) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-chan - ) - ) - (while #t + (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)) + (loop (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - (when (= (ja-group-size) 2) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self up-blend)) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (seek!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self up-blend)) ) - ) - (when (ja-done? 0) - (let ((v1-27 (-> self skel root-channel 0))) - (set! (-> v1-27 num-func) num-func-identity) - (set! (-> v1-27 frame-num) 0.0) + (if (ja-done? 0) + (ja :num-func num-func-identity :frame-num 0.0) ) - ) ) (none) ) @@ -1057,45 +926,18 @@ ) :code (behavior () - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 1))) - (set! (-> a0-2 frame-interp) (-> self up-blend)) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 14)) - num-func-chan - ) - ) - (while #t + (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)) + (loop (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - (when (= (ja-group-size) 2) - (let ((a0-4 (-> self skel root-channel 1))) - (set! (-> a0-4 frame-interp) (-> self up-blend)) - (set! (-> a0-4 param 0) 0.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (seek!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self up-blend)) ) - ) - (when (ja-done? 0) - (let ((v1-27 (-> self skel root-channel 0))) - (set! (-> v1-27 num-func) num-func-identity) - (set! (-> v1-27 frame-num) 0.0) + (if (ja-done? 0) + (ja :num-func num-func-identity :frame-num 0.0) ) - ) ) (none) ) @@ -1121,23 +963,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self started-chasing-time) (-> *display* base-frame-counter)) (cond @@ -1166,24 +996,12 @@ (behavior () (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (clear-collide-with-as (-> self root-overeride)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! driller-lurker-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event self 'death-end) (while (-> self child) diff --git a/goal_src/levels/maincave/gnawer.gc b/goal_src/levels/maincave/gnawer.gc index 5b7cbff778..f955bd1862 100644 --- a/goal_src/levels/maincave/gnawer.gc +++ b/goal_src/levels/maincave/gnawer.gc @@ -121,21 +121,16 @@ ) -(defskelgroup *gnawer-sg* gnawer - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0.5 0 8) - :longest-edge (meters 0.8) - ) +(defskelgroup *gnawer-sg* gnawer gnawer-lod0-jg -1 + ((gnawer-lod0-mg (meters 20)) (gnawer-lod1-mg (meters 40)) (gnawer-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0.5 0 8) + :longest-edge (meters 0.8) + ) -(defskelgroup *gnawer-segment-sg* gnawer - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *gnawer-segment-sg* gnawer gnawer-segment-lod0-jg -1 + ((gnawer-segment-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (define *gnawer-segment-infos* (new 'static 'inline-array gnawer-segment-info 10 @@ -378,40 +373,16 @@ (behavior () (ja-channel-push! 1 0) (dotimes (gp-0 1) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-segment-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-segment-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -921,126 +892,50 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (cond - ((zero? (rand-vu-int-count 2)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) - ) - (else - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity + (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)))) + ) + (ja :group! gnawer-tug-ja + :num! + (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) - (set! (-> gp-1 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (let ((gp-2 (rand-vu-int-range 1 2)) (s4-0 (rand-vu-int-range 1 2)) ) (dotimes (s5-0 gp-2) (dotimes (s3-0 s4-0) (set! (-> self anim-speed) (rand-vu-float-range 0.8 1.0)) - (ja-channel-push! 1 22) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) (-> self anim-speed)) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-tear-side-to-side-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (set! s4-0 (rand-vu-int-range 1 2)) (dotimes (s3-1 s4-0) (set! (-> self anim-speed) (rand-vu-float-range 0.8 1.0)) - (ja-channel-push! 1 22) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) (-> self anim-speed)) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-tug-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) ) ) - (ja-channel-push! 1 22) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-up-to-chew-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-3 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-3 (-> self node-list data 34)) @@ -1051,25 +946,13 @@ (spawn (-> self part2) gp-4) ) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-5 (rand-vu-int-range 1 4))) (set! (-> self anim-speed) (rand-vu-float-range 0.8 1.0)) (dotimes (s5-1 gp-5) - (ja-channel-push! 1 22) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-33 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-33 param 1) (-> self anim-speed)) - (set! (-> a0-33 frame-num) 0.0) - (joint-control-channel-group! a0-33 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-chew-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (let ((s4-1 (new 'stack-no-clear 'vector))) (vector<-cspace! s4-1 (-> self node-list data 34)) @@ -1081,31 +964,15 @@ ) (update! (-> self sound2)) (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) - (set! (-> a0-39 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) ) (stop! (-> self sound2)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-42 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-down-from-chew-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1123,23 +990,11 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-notice-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (quaternion-identity! (-> self root-override quat)) (go gnawer-wait-to-run) @@ -1257,61 +1112,28 @@ (behavior () (local-vars (v1-19 symbol) (v1-35 symbol)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - (while #t + (ja :group! gnawer-run-ja :num! min) + (ja-no-eval :num! (seek!)) + (loop (until v1-19 (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-19 (or (ja-done? 0) (-> self show-damage?))) ) (when (-> self show-damage?) (until (not (-> self show-damage?)) (set! (-> self show-damage?) #f) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! gnawer-takes-hit-ja :num! min) (until v1-35 (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-35 (or (ja-done? 0) (-> self show-damage?))) ) ) - (ja-channel-push! 1 30) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) + (ja-channel-push! 1 (seconds 0.1)) ) + (ja :group! gnawer-run-ja :num! min) ) (none) ) @@ -1353,24 +1175,12 @@ (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go gnawer-dying-give-pickups) (none) diff --git a/goal_src/levels/maincave/maincave-obs.gc b/goal_src/levels/maincave/maincave-obs.gc index 3b09e7a934..6ab4217605 100644 --- a/goal_src/levels/maincave/maincave-obs.gc +++ b/goal_src/levels/maincave/maincave-obs.gc @@ -17,13 +17,10 @@ ) -(defskelgroup *maincavecam-sg* maincavecam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *maincavecam-sg* maincavecam maincavecam-lod0-jg -1 + ((maincavecam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defmethod set-stack-size! maincavecam ((obj maincavecam)) (stack-size-set! (-> obj main-thread) 512) @@ -127,13 +124,10 @@ ) -(defskelgroup *cavecrusher-sg* cavecrusher - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *cavecrusher-sg* cavecrusher cavecrusher-lod0-jg -1 + ((cavecrusher-lod0-mg (meters 20)) (cavecrusher-lod1-mg (meters 40)) (cavecrusher-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (defstate cavecrusher-idle (cavecrusher) :event @@ -156,24 +150,12 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -232,13 +214,11 @@ ) -(defskelgroup *cavetrapdoor-sg* cavetrapdoor - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 5.7) - ) +(defskelgroup *cavetrapdoor-sg* cavetrapdoor cavetrapdoor-lod0-jg -1 + ((cavetrapdoor-lod0-mg (meters 20)) (cavetrapdoor-lod1-mg (meters 40)) (cavetrapdoor-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 5.7) + ) (defstate idle (cavetrapdoor) :virtual #t @@ -257,23 +237,11 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -290,45 +258,19 @@ (suspend) ) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-0 param 0) (ja-aframe 290.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 290.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 290.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 290.0 0))) ) (restore-collide-with-as (-> self root-override)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -343,34 +285,14 @@ (zero? (logand (-> *target* control root-prim prim-core action) (collide-action ca-7))) ) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (label cfg-14) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-27 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (and *target* (>= 28672.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (or (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -381,20 +303,12 @@ ) (while (not (ja-min? 0)) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) 0.0) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (goto cfg-14) ) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual idle) (none) @@ -643,7 +557,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -793,21 +707,15 @@ ) -(defskelgroup *cavespatula-sg* cavespatula - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -1 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *cavespatula-sg* cavespatula 0 -1 + ((1 (meters 20)) (2 (meters 999999))) + :bounds (static-spherem 0 -1 0 18) + ) -(defskelgroup *cavespatula-darkcave-sg* cavespatula-darkcave - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -1 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *cavespatula-darkcave-sg* cavespatula-darkcave cavespatula-darkcave-lod0-jg -1 + ((cavespatula-darkcave-lod0-mg (meters 20)) (cavespatula-darkcave-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 18) + ) (defstate cavespatula-idle (cavespatula) :trans @@ -821,7 +729,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -918,13 +826,11 @@ ) -(defskelgroup *cavespatulatwo-sg* cavespatulatwo - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.5 0 21) - :longest-edge (meters 8.7) - ) +(defskelgroup *cavespatulatwo-sg* cavespatulatwo cavespatulatwo-lod0-jg -1 + ((cavespatulatwo-lod0-mg (meters 20)) (cavespatulatwo-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.5 0 21) + :longest-edge (meters 8.7) + ) (defstate cavespatulatwo-idle (cavespatulatwo) :trans @@ -938,7 +844,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1022,13 +928,10 @@ ) -(defskelgroup *caveelevator-sg* caveelevator - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.25) - :longest-edge (meters 0) - ) +(defskelgroup *caveelevator-sg* caveelevator caveelevator-lod0-jg -1 + ((caveelevator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.25) + ) (defun cavecrystal-light-control-caveelevator-callback ((arg0 (pointer cavecrystal)) (arg1 int) (arg2 float)) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -1105,23 +1008,12 @@ ) :code (behavior () - (while #t + (loop (let ((f30-1 (* (get-current-phase (-> self sync)) (the float (ja-num-frames 0))))) - (cond - ((< (-> self prev-frame-num) f30-1) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) f30-1) - (set! (-> a0-2 param 1) 10000.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) f30-1) - ) + (if (< (-> self prev-frame-num) f30-1) + (ja :num! (seek! f30-1 10000.0)) + (ja :num-func num-func-identity :frame-num f30-1) ) - ) (set! (-> self prev-frame-num) f30-1) ) (suspend) @@ -1161,20 +1053,13 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as - art-joint-anim - (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) - master-art-group-name - ) - ) - num-func-identity + (ja :group! + (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) + master-art-group-name + ) + :num! min ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (loop (suspend) ) (none) @@ -1215,26 +1100,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self anim 0))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :group! (-> self draw art-group data (-> self anim 0)) :num! min) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go caveelevator-one-way-idle-end) (none) @@ -1280,17 +1150,8 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self anim 0))) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self anim 0))) data 0 length) -1)) - ) - ) - (while #t + (ja :group! (-> self draw art-group data (-> self anim 0)) :num! max) + (loop (suspend) ) (none) @@ -1331,26 +1192,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self anim 1))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :group! (-> self draw art-group data (-> self anim 1)) :num! min) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go caveelevator-one-way-idle-start) (none) diff --git a/goal_src/levels/maincave/mother-spider-egg.gc b/goal_src/levels/maincave/mother-spider-egg.gc index 47cac7a4cd..616be0acfc 100644 --- a/goal_src/levels/maincave/mother-spider-egg.gc +++ b/goal_src/levels/maincave/mother-spider-egg.gc @@ -44,22 +44,22 @@ ) -(defskelgroup *mother-spider-egg-unbroken-sg* spider-egg - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *mother-spider-egg-unbroken-sg* spider-egg spider-egg-unbroken-lod0-jg -1 + ((spider-egg-unbroken-lod0-mg (meters 20)) + (spider-egg-unbroken-lod1-mg (meters 40)) + (spider-egg-unbroken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + :shadow spider-egg-unbroken-shadow-mg + ) -(defskelgroup *mother-spider-egg-broken-sg* spider-egg - 5 - -1 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *mother-spider-egg-broken-sg* spider-egg spider-egg-broken-lod0-jg -1 + ((spider-egg-broken-lod0-mg (meters 20)) + (spider-egg-broken-lod1-mg (meters 40)) + (spider-egg-broken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + ) (defpartgroup group-spider-egg-hatches :id 324 @@ -258,23 +258,11 @@ :code (behavior () (ja-channel-push! 1 0) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -323,7 +311,7 @@ ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'quaternion)) (s5-0 (new 'stack-no-clear 'quaternion)) ) @@ -337,50 +325,23 @@ (quaternion-from-two-vectors! s5-0 s4-0 s3-0) ) (quaternion*! s5-0 s5-0 gp-0) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.3) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek! max 1.3) :frame-num 0.0) (until (ja-done? 0) (let* ((f0-8 (ja-frame-num 0)) - (v1-19 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (v1-19 (ja-group)) (f0-9 (/ f0-8 (the float (+ (-> v1-19 data 0 length) -1)))) ) (quaternion-slerp! (-> self root-override quat) gp-0 s5-0 f0-9) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.3) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.3)) ) ) - (while #t - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) (-> self anim-speed)) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -430,23 +391,11 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 60) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-37 (-> self draw shadow-ctrl))) (logior! (-> v1-37 settings flags) (shadow-flags shdf05)) @@ -468,7 +417,7 @@ ) 0 (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 30) + (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 @@ -488,22 +437,10 @@ (-> gp-0 ppointer) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-egg-die-exit) (none) @@ -550,23 +487,11 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 30) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-egg-die-exit) (none) diff --git a/goal_src/levels/maincave/mother-spider.gc b/goal_src/levels/maincave/mother-spider.gc index 0b38bbb5a0..772ade091f 100644 --- a/goal_src/levels/maincave/mother-spider.gc +++ b/goal_src/levels/maincave/mother-spider.gc @@ -10,22 +10,19 @@ ;; DECOMP BEGINS -(defskelgroup *mother-spider-sg* mother-spider - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *mother-spider-sg* mother-spider mother-spider-lod0-jg -1 + ((mother-spider-lod0-mg (meters 20)) + (mother-spider-lod1-mg (meters 40)) + (mother-spider-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 8) + :shadow mother-spider-shadow-mg + ) -(defskelgroup *mother-spider-leg-sg* mother-spider - 13 - -1 - ((14 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *mother-spider-leg-sg* mother-spider mother-spider-leg-lod0-jg -1 + ((mother-spider-leg-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (define *mother-spider-threads* (new 'static 'inline-array mother-spider-thread 9 @@ -152,41 +149,17 @@ (ja-channel-push! 1 0) (let ((f30-0 (rand-vu-float-range 0.2 0.7))) (dotimes (gp-0 3) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-leg-twitching-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part) (-> self root trans)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-leg-die-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (none) @@ -880,7 +853,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -988,57 +961,28 @@ :code (behavior ((arg0 uint)) (local-vars (v1-12 symbol) (v1-28 symbol)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! mother-spider-lowering-ja :num! min) + (loop (until v1-12 (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-12 (or (ja-done? 0) (-> self hit?))) ) (when (-> self hit?) (until (not (-> self hit?)) (set! (-> self hit?) #f) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! mother-spider-takes-hit-ja :num! min) (until v1-28 (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-28 (or (ja-done? 0) (-> self hit?))) ) ) - (ja-channel-push! 1 60) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) + (ja-channel-push! 1 (seconds 0.2)) ) + (ja :group! mother-spider-lowering-ja :num! min) ) (none) ) @@ -1064,23 +1008,11 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-22 (-> self mode))) (cond @@ -1180,42 +1112,22 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? mother-spider-idle-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1246,42 +1158,18 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1309,17 +1197,9 @@ ) :code (behavior () - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.5) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-spit-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 6.0) (>= 8.0 (ja-aframe-num 0))) (when *target* @@ -1366,11 +1246,7 @@ ) ) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.5) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.5)) ) ) (if (> (-> self spit-counter) 0) @@ -1420,42 +1296,22 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? mother-spider-idle-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1489,17 +1345,9 @@ ) :code (behavior () - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.4) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-birth-ja :num! (seek! max 1.4) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 10.0)) (set! gp-0 #t) @@ -1530,11 +1378,7 @@ ) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.4) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.4)) ) ) (go mother-spider-birthing) @@ -1713,42 +1557,18 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1811,24 +1631,12 @@ (set! (-> v1-2 user-int8 0) 1) ) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-die-from-uppercut-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-die-wait-for-children) (none) @@ -1853,24 +1661,12 @@ ) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-die-wait-for-children) (none) diff --git a/goal_src/levels/maincave/spiderwebs.gc b/goal_src/levels/maincave/spiderwebs.gc index 3ad2a25102..5dacd9ca6f 100644 --- a/goal_src/levels/maincave/spiderwebs.gc +++ b/goal_src/levels/maincave/spiderwebs.gc @@ -50,13 +50,10 @@ ) -(defskelgroup *spiderwebs-sg* spiderwebs - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *spiderwebs-sg* spiderwebs spiderwebs-good-lod0-jg -1 + ((spiderwebs-good-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + ) (defbehavior spiderwebs-default-event-handler spiderwebs ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 @@ -105,16 +102,9 @@ :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! spiderwebs-bounce-ja :num! min) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -127,38 +117,16 @@ (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) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-1 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-1 param 1) 1.0) - (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!) - ) + (ja-no-eval :group! spiderwebs-bounce-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 10.0 0))) ) (set! (-> self event-hook) (-> spiderwebs-idle event)) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! spiderwebs-bounce-ja :num! (seek!) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go spiderwebs-idle) (none) diff --git a/goal_src/levels/misty/babak-with-cannon.gc b/goal_src/levels/misty/babak-with-cannon.gc index bc99041b4a..fd4af19daa 100644 --- a/goal_src/levels/misty/babak-with-cannon.gc +++ b/goal_src/levels/misty/babak-with-cannon.gc @@ -48,32 +48,12 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (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) (ja-post) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -146,24 +126,12 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (loop + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -261,7 +229,7 @@ nav-enemy-default-event-handler ) ) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -280,30 +248,18 @@ nav-enemy-default-event-handler (when a0-9 (let ((gp-2 (babak-with-cannon-compute-cannon-dir (the-as mistycannon a0-9) (new 'stack-no-clear 'vector)))) (when (not (nav-enemy-facing-direction? gp-2 1820.4445)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-dir gp-2 182.04445) (forward-up->quaternion (-> self collide-info quat) gp-2 *y-vector*) ) ) ) ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go babak-with-cannon-shooting) (none) @@ -329,25 +285,13 @@ nav-enemy-default-event-handler (nav-enemy-initialize-jump (-> self entity extra trans)) (nav-enemy-neck-control-look-at) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 2.0) - (set! (-> a0-2 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! 0.0 2.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 2.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 2.0)) ) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -404,7 +348,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/misty/balloonlurker.gc b/goal_src/levels/misty/balloonlurker.gc index 4417594866..0a3a0aa743 100644 --- a/goal_src/levels/misty/balloonlurker.gc +++ b/goal_src/levels/misty/balloonlurker.gc @@ -339,21 +339,21 @@ ) -(defskelgroup *balloonlurker-sg* balloonlurker - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 12 0 17) - :longest-edge (meters 0) - ) +(defskelgroup *balloonlurker-sg* balloonlurker balloonlurker-lod0-jg balloonlurker-idle-ja + ((balloonlurker-lod0-mg (meters 20)) + (balloonlurker-lod1-mg (meters 40)) + (balloonlurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 12 0 17) + ) -(defskelgroup *balloonlurker-pilot-sg* balloonlurker - 6 - 10 - ((7 (meters 20)) (8 (meters 40)) (9 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *balloonlurker-pilot-sg* balloonlurker balloonlurker-pilot-lod0-jg balloonlurker-pilot-idle-ja + ((balloonlurker-pilot-lod0-mg (meters 20)) + (balloonlurker-pilot-lod1-mg (meters 40)) + (balloonlurker-pilot-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 4) + ) (defbehavior balloonlurker-get-path-point balloonlurker ((arg0 int)) (if (<= (-> self path curve num-cverts) 0) @@ -729,29 +729,16 @@ balloonlurker-event-handler :trans (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! (-> self anim-frame) (ja-frame-num 0)) (none) ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 21) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 num-func) num-func-identity) - (set! (-> v1-11 frame-num) 0.0) - ) + (when (not (ja-group? balloonlurker-idle-ja)) + (ja-channel-push! 1 (seconds 0.07)) + (ja :group! balloonlurker-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) ) (ja-post) (anim-loop) @@ -794,10 +781,7 @@ (vector-length (-> self explosion-force)) (vector-normalize! (-> self explosion-force) (-> *BALLOONLURKER-bank* explosion-force)) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (let ((v1-16 (-> self mine arg0))) (set! (-> v1-16 enable) #t) (set-vector! (-> v1-16 transform scale) 0.0 0.0 0.0 1.0) @@ -864,10 +848,7 @@ (set! (-> self buoyancy-factor) (* 4.0 (-> self buoyancy-factor))) (until v1-27 (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! v1-27 (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 30)) (< 819200.0 (- (-> self root-overlay trans y) (-> self water-y))) ) @@ -914,20 +895,12 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! balloonlurker-pilot-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) + (loop (suspend) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 num-func) num-func-identity) - (set! (-> v1-9 frame-num) (-> self parent-override 0 anim-frame)) - ) + (ja :num-func num-func-identity :frame-num (-> self parent-override 0 anim-frame)) ) (none) ) @@ -973,23 +946,11 @@ (-> self root-override transv) ) (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 30) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! balloonlurker-pilot-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) diff --git a/goal_src/levels/misty/bonelurker.gc b/goal_src/levels/misty/bonelurker.gc index 19be4cc918..cf727db220 100644 --- a/goal_src/levels/misty/bonelurker.gc +++ b/goal_src/levels/misty/bonelurker.gc @@ -22,14 +22,11 @@ ) -(defskelgroup *bonelurker-sg* bonelurker - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *bonelurker-sg* bonelurker bonelurker-lod0-jg bonelurker-idle-ja + ((bonelurker-lod0-mg (meters 20)) (bonelurker-lod1-mg (meters 40)) (bonelurker-lod2-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6) + :shadow bonelurker-shadow-mg + ) (defbehavior bonelurker-set-small-bounds-sphere bonelurker () (set! (-> self draw bounds w) 12288.0) @@ -209,7 +206,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (none) ) @@ -250,138 +247,58 @@ nav-enemy-default-event-handler (set! (-> self speed-scale) 1.0) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - (ja-channel-push! 1 90) + ((ja-group? bonelurker-win-ja) + (ja-channel-push! 1 (seconds 0.3)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 15) - ) - (ja-channel-push! 1 60) + ((ja-group? bonelurker-stun-ja) + (ja-channel-push! 1 (seconds 0.2)) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-left-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :group! bonelurker-charge-right-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) - (while #t + (loop (cond ((or (not *target*) (< 36864.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) f30-0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) f30-0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-left-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (go-virtual nav-enemy-victory) ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-25 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-25 param 1) f30-0) - (set! (-> a0-25 frame-num) 0.0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-right-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) - (set! (-> a0-26 param 1) f30-0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (go-virtual nav-enemy-victory) ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) f30-0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) f30-0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -415,82 +332,39 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) (when (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> gp-0 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bonelurker-win-ja :num! (seek! (ja-aframe 48.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 48.0 0) f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 60) - (let ((v1-20 (-> self skel root-channel 0))) - (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - ) - (let ((v1-23 (-> self skel root-channel 0))) - (set! (-> v1-23 num-func) num-func-identity) - (set! (-> v1-23 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bonelurker-turn-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) - (ja-channel-push! 1 75) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :num! (loop!)) (when (rand-vu-percent? 0.15) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> gp-2 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bonelurker-win-ja :num! (seek! (ja-aframe 48.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 48.0 0) f30-0)) ) ) ) @@ -510,7 +384,7 @@ nav-enemy-default-event-handler (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.1)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -519,70 +393,26 @@ nav-enemy-default-event-handler ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -591,11 +421,7 @@ nav-enemy-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -633,23 +459,11 @@ nav-enemy-default-event-handler (vector+! gp-0 (-> self collide-info trans) gp-0) (set! (-> self nav target-pos quad) (-> gp-0 quad)) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bonelurker-stun-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-chase) (none) diff --git a/goal_src/levels/misty/misty-conveyor.gc b/goal_src/levels/misty/misty-conveyor.gc index 543206554a..41461b92ee 100644 --- a/goal_src/levels/misty/misty-conveyor.gc +++ b/goal_src/levels/misty/misty-conveyor.gc @@ -108,30 +108,21 @@ ) -(defskelgroup *keg-conveyor-sg* keg-conveyor - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -6 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *keg-conveyor-sg* keg-conveyor keg-conveyor-lod0-jg keg-conveyor-idle-ja + ((keg-conveyor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 8) + ) -(defskelgroup *keg-conveyor-paddle-sg* keg-conveyor-paddle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -6 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *keg-conveyor-paddle-sg* keg-conveyor-paddle keg-conveyor-paddle-lod0-jg keg-conveyor-paddle-idle-ja + ((keg-conveyor-paddle-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 8) + ) -(defskelgroup *keg-sg* keg - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *keg-sg* keg keg-lod0-jg keg-idle-ja + ((keg-lod0-mg (meters 20)) (keg-lod1-mg (meters 40)) (keg-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow keg-shadow-mg + ) (defun keg-update-smush ((arg0 keg) (arg1 float)) (set! (-> arg0 root-override scale x) (+ 1.0 (* -1.0 arg1))) @@ -214,11 +205,8 @@ :code (behavior () (set! (-> (the-as keg (-> self parent 0)) sync-offset) (the-as float (process->ppointer self))) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 num-func) num-func-identity) - (set! (-> v1-3 frame-num) 0.0) - ) - (while #t + (ja :num-func num-func-identity :frame-num 0.0) + (loop (let ((gp-0 (-> (the-as process-drawable (-> self parent 0)) node-list data 4))) (matrix->quaternion (-> self root-override quat) (-> gp-0 bone transform)) (vector<-cspace! (-> self root-override trans) gp-0) @@ -251,7 +239,7 @@ 0.0 0.0 (forward-up-nopitch->quaternion s3-0 a1-3 (new 'static 'vector :y 1.0 :w 1.0)) - (while #t + (loop (if (>= (the float (- (-> *display* base-frame-counter) (-> self state-time))) f30-0) (go keg-on-path) ) @@ -260,10 +248,7 @@ (set! (-> self path-position quad) (-> self root-override trans quad)) (quaternion-slerp! (-> self root-override quat) s4-0 s3-0 f28-0) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -298,7 +283,7 @@ (set! sv-48 0.0) (set! sv-64 0.0) (set! sv-80 (- (-> *standard-dynamics* gravity-length))) - (while #t + (loop (let ((f0-13 (+ (get-current-phase (-> (the-as keg-conveyor-paddle (-> self parent 0)) sync)) f26-1))) (set! sv-96 (- f0-13 (the float (the int f0-13)))) ) @@ -386,10 +371,7 @@ (set! (-> s5-0 y) 1.0) (set! (-> s5-0 z) 0.0) ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -426,7 +408,7 @@ (clear-collide-with-as (-> self root-override)) (vector-normalize! gp-0 1.0) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (go keg-die) ) @@ -436,10 +418,7 @@ (+! f28-0 (* f26-0 (-> *display* seconds-per-frame))) (vector+! v1-23 v1-23 s5-0) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -545,12 +524,9 @@ (defstate keg-conveyor-idle (keg-conveyor) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) 0.0 - (while #t + (loop (suspend) ) (none) @@ -566,7 +542,7 @@ (gp-0 0) (s5-0 (length *keg-conveyor-keg-spawn-table*)) ) - (while #t + (loop (let ((s4-0 #f)) (when (or (not *target*) (< 102400.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -592,32 +568,7 @@ (if (>= gp-0 s5-0) (set! gp-0 0) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not s4-0) (>= (ja-aframe-num 0) f30-0)) (set! s4-0 #t) @@ -641,11 +592,7 @@ ) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/misty/misty-obs.gc b/goal_src/levels/misty/misty-obs.gc index 62b344821b..7e7dc60d3b 100644 --- a/goal_src/levels/misty/misty-obs.gc +++ b/goal_src/levels/misty/misty-obs.gc @@ -1060,19 +1060,16 @@ ) -(defskelgroup *boatpaddle-sg* boatpaddle - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *boatpaddle-sg* boatpaddle boatpaddle-lod0-jg boatpaddle-idle-ja + ((boatpaddle-lod0-mg (meters 20)) (boatpaddle-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 18) + ) (defstate boatpaddle-idle (boatpaddle) :code (behavior () (local-vars (s4-0 int)) - (while #t + (loop (quaternion-rotate-local-x! (-> self root quat) (-> self root quat) @@ -1084,18 +1081,7 @@ (let ((f30-0 1274.3112) (f28-0 (the float s4-0)) ) - ;; changed for divide by zero - (set! s4-0 (/-0-guard (the int (* 65536.0 (ja-frame-num 0))) (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) + (set! s4-0 (/-0-guard (the int (* 65536.0 (ja-frame-num 0))) (+ (-> (ja-group) data 0 length) -1))) (set! (-> *part-id-table* 943 init-specs 17 initial-valuef) (+ f30-0 (- f28-0 (* (the float (the int (/ (the float s4-0) 8192.0))) 8192.0))) ) @@ -1135,18 +1121,15 @@ ) -(defskelgroup *windturbine-sg* windturbine - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *windturbine-sg* windturbine windturbine-lod0-jg windturbine-idle-ja + ((windturbine-lod0-mg (meters 20)) (windturbine-lod1-mg (meters 40)) (windturbine-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3 0 7) + ) (defstate windturbine-idle (windturbine) :code (behavior () - (while #t + (loop (let* ((a0-0 (-> self root trans)) (f2-0 (-> *wind-work* @@ -1208,13 +1191,10 @@ ) -(defskelgroup *mis-bone-bridge-sg* mis-bone-bridge - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *mis-bone-bridge-sg* mis-bone-bridge mis-bone-bridge-lod0-jg mis-bone-bridge-idle-ja + ((mis-bone-bridge-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 20) + ) (defbehavior mis-bone-bridge-event-handler mis-bone-bridge ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 @@ -1262,11 +1242,8 @@ mis-bone-bridge-event-handler :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) - (while #t + (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)))) (level-hint-spawn (game-text-id misty-bone-bridge-hint) @@ -1291,22 +1268,10 @@ (the-as (function none :behavior mis-bone-bridge) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mis-bone-bridge-idle) (none) @@ -1326,22 +1291,10 @@ (if (zero? (-> self hit-points)) (go mis-bone-bridge-fall #f) ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mis-bone-bridge-idle) (none) @@ -1366,49 +1319,18 @@ (-> gp-1 ppointer) ) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index)))) - (set! (-> a0-5 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index))) data 0 length) -1) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index))) - num-func-seek! - ) - ) + (ja-no-eval :group! (-> self draw art-group data (-> self fall-anim-index)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index))) - num-func-identity + (ja :group! + (-> self draw art-group data (-> self fall-anim-index)) + :num! + (identity (the float (+ (-> (ja-group) data 0 length) -1))) ) - (set! (-> gp-2 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (while #t + (loop (suspend) ) (none) @@ -1550,23 +1472,8 @@ (let ((gp-1 #f) (s5-1 (-> *display* base-frame-counter)) ) - (while #t - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> s4-0 param 0) (ja-aframe 15.0 0)) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! - s4-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 15.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) s5-1) (seconds 0.15))) (set! gp-1 #t) @@ -1576,11 +1483,7 @@ (go breakaway-fall) ) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe 15.0 0)) - (set! (-> s4-1 param 1) 1.0) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 15.0 0))) ) ) ) @@ -1597,32 +1500,13 @@ (f28-0 0.0) (f26-0 (* 0.1 (- (-> *standard-dynamics* gravity-length)))) ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.4) - (set! (-> gp-0 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 32.0 0) 0.4) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (+! f30-0 (* f28-0 (-> *display* seconds-per-frame))) (+! f28-0 (* f26-0 (-> *display* seconds-per-frame))) (+! (-> self root-override trans y) f30-0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.4) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.4)) ) ) (cleanup-for-death self) @@ -1691,29 +1575,20 @@ ) -(defskelgroup *breakaway-right-sg* breakaway-right - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *breakaway-right-sg* breakaway-right breakaway-right-lod0-jg breakaway-right-idle-ja + ((breakaway-right-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) -(defskelgroup *breakaway-mid-sg* breakaway-mid - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *breakaway-mid-sg* breakaway-mid breakaway-mid-lod0-jg breakaway-mid-idle-ja + ((breakaway-mid-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) -(defskelgroup *breakaway-left-sg* breakaway-left - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *breakaway-left-sg* breakaway-left breakaway-left-lod0-jg breakaway-left-idle-ja + ((breakaway-left-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) (defmethod init-from-entity! breakaway-right ((obj breakaway-right) (arg0 entity-actor)) (init! obj arg0 3) @@ -1773,13 +1648,10 @@ ) -(defskelgroup *mis-bone-platform-sg* mis-bone-platform - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *mis-bone-platform-sg* mis-bone-platform mis-bone-platform-lod0-jg mis-bone-platform-idle-ja + ((mis-bone-platform-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defmethod TODO-RENAME-27 bone-platform ((obj bone-platform) (arg0 vector)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -1817,7 +1689,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1856,15 +1728,10 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t + (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) + (loop (suspend) ) (none) @@ -1930,13 +1797,10 @@ ) -(defskelgroup *mistycam-sg* mistycam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *mistycam-sg* mistycam mistycam-lod0-jg mistycam-anim-ja + ((mistycam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) (defun mistycam-spawn () (with-pp diff --git a/goal_src/levels/misty/misty-teetertotter.gc b/goal_src/levels/misty/misty-teetertotter.gc index c170fb61e4..a24f41de1e 100644 --- a/goal_src/levels/misty/misty-teetertotter.gc +++ b/goal_src/levels/misty/misty-teetertotter.gc @@ -26,13 +26,10 @@ ) -(defskelgroup *teetertotter-sg* teetertotter - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *teetertotter-sg* teetertotter teetertotter-lod0-jg teetertotter-idle-ja + ((teetertotter-lod0-mg (meters 20)) (teetertotter-lod1-mg (meters 40)) (teetertotter-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defun target-on-end-of-teetertotter? ((arg0 teetertotter)) (let ((gp-1 (vector-! (new-stack-vector0) (-> *target* control trans) (-> arg0 root trans)))) @@ -73,15 +70,8 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja :group! (-> self draw art-group data 4) :num! min) + (loop (suspend) ) (none) @@ -148,15 +138,7 @@ :code (behavior () (set! (-> self launched-player) #f) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (set! (-> self in-launch-window) (and (>= f0-4 76.0) (>= 82.0 f0-4))) @@ -165,11 +147,7 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go teetertotter-idle) (none) @@ -181,22 +159,10 @@ (defstate teetertotter-bend (teetertotter) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go teetertotter-idle) (none) diff --git a/goal_src/levels/misty/misty-warehouse.gc b/goal_src/levels/misty/misty-warehouse.gc index e99aed7cf9..a812ffd31e 100644 --- a/goal_src/levels/misty/misty-warehouse.gc +++ b/goal_src/levels/misty/misty-warehouse.gc @@ -25,13 +25,10 @@ ) -(defskelgroup *silostep-sg* silostep - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *silostep-sg* silostep silostep-lod0-jg silostep-idle-ja + ((silostep-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 8) + ) (defstate silostep-idle (silostep) :event @@ -47,16 +44,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -130,34 +120,17 @@ (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) (-> self anim-limit)) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (-> self anim-limit)) :frame-num 0.0) (until (ja-done? 0) (rider-trans) (rider-post) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (-> self anim-limit)) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (-> self anim-limit))) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (-> self anim-limit)) - ) + (ja :group! (-> self draw art-group data 2) :num! (identity (-> self anim-limit))) (rider-post) - (while #t + (loop (ja-post) (suspend) ) @@ -204,13 +177,10 @@ (none) ) -(defskelgroup *rounddoor-sg* rounddoor - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *rounddoor-sg* rounddoor rounddoor-lod0-jg rounddoor-idle-ja + ((rounddoor-lod0-mg (meters 20)) (rounddoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (deftype rounddoor (eco-door) () diff --git a/goal_src/levels/misty/mistycannon.gc b/goal_src/levels/misty/mistycannon.gc index 9b45553120..fabe849138 100644 --- a/goal_src/levels/misty/mistycannon.gc +++ b/goal_src/levels/misty/mistycannon.gc @@ -668,13 +668,10 @@ (none) ) -(defskelgroup *mistycannon-missile-sg* sack - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *mistycannon-missile-sg* sack sack-lod0-jg sack-idle-ja + ((sack-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defmethod spawn-part mistycannon-missile ((obj mistycannon-missile)) (let ((gp-0 (-> obj part)) @@ -794,39 +791,15 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! sack-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sack-fuse-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mistycannon-missile-explode) (none) @@ -1264,13 +1237,11 @@ (none) ) -(defskelgroup *mistycannon-sg* mistycannon - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 5 0 9) - :longest-edge (meters 4) - ) +(defskelgroup *mistycannon-sg* mistycannon mistycannon-lod0-jg mistycannon-idle-ja + ((mistycannon-lod0-mg (meters 20)) (mistycannon-lod1-mg (meters 999999))) + :bounds (static-spherem 0 5 0 9) + :longest-edge (meters 4) + ) (defun mistycannon-prebind-function ((arg0 pointer) (arg1 int) (arg2 mistycannon)) (let ((t9-0 quaternion-axis-angle!) @@ -1355,7 +1326,7 @@ ) :code (behavior () - (while #t + (loop (dummy-23 self) (suspend) ) @@ -1548,7 +1519,7 @@ ) :code (behavior () - (while #t + (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)) (mistycannon-do-aim (-> self at-point) (new-stack-vector0)) @@ -1594,7 +1565,7 @@ :code (behavior () (set! (-> self player-touching-grips?) #f) - (while #t + (loop (let ((f0-0 2730.6667) (v1-0 (-> self tilt)) ) @@ -1623,7 +1594,7 @@ (print-game-text (lookup-text! *common-text* (game-text-id press-to-use) #f) gp-0 #f 128 22) ) (when (cpad-pressed? 0 circle) - (while #t + (loop (send-event *target* 'change-mode 'periscope self) (suspend) (suspend) @@ -1659,7 +1630,7 @@ ) :code (behavior () - (while #t + (loop (let ((v1-0 (-> self change-event-from))) (set! (-> self trans quad) (-> (the-as mistycannon (-> v1-0 0)) goggles quad)) (let ((t9-0 matrix-rotate-yx!) @@ -1704,7 +1675,7 @@ (let ((gp-0 0) (s5-0 0) ) - (while #t + (loop (when *camera-read-analog* (let ((f30-0 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 48.0 110.0 -1.0)) (f28-0 (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 48.0 110.0 -1.0)) @@ -1722,7 +1693,7 @@ (sound-stop (-> self sound-id)) (send-event *camera* 'change-to-entity-by-name "camera-111") (suspend) - (while #t + (loop (let ((a1-8 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-8 from) self) (set! (-> a1-8 num-params) 0) @@ -1816,7 +1787,7 @@ (the-as (function none :behavior mistycannon) rider-trans) :code (behavior () - (while #t + (loop (suspend) (dummy-23 self) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) diff --git a/goal_src/levels/misty/muse.gc b/goal_src/levels/misty/muse.gc index 5f5f96d2fd..8f6f16876b 100644 --- a/goal_src/levels/misty/muse.gc +++ b/goal_src/levels/misty/muse.gc @@ -169,14 +169,11 @@ (none) ) -(defskelgroup *muse-sg* muse - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 3) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *muse-sg* muse muse-lod0-jg muse-idle-ja + ((muse-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3) + :shadow muse-shadow-mg + ) (defmethod dummy-44 muse ((obj muse) (arg0 process) (arg1 event-message-block)) (go muse-caught) @@ -207,54 +204,23 @@ nav-enemy-default-event-handler ) :code (behavior () - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (when (ja-group? muse-run-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :num! (loop!)) + (ja-no-eval :group! muse-run-to-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! muse-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spool-push *art-control* (-> self anim name) 0 self -99.0) (dummy-51 self) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -303,53 +269,24 @@ nav-enemy-default-event-handler :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + ((ja-group? muse-idle-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :num! (loop!)) + (ja-no-eval :group! muse-idle-to-run-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja :group! muse-run-ja :num! min) + (loop (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (* 0.000016276043 (-> self momentum-speed))) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (* 0.000016276043 (-> self momentum-speed)))) ) (none) ) @@ -397,29 +334,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 0.8) - (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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)) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 0.8) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.8)) ) (go-virtual nav-enemy-chase) (none) @@ -491,8 +412,8 @@ nav-enemy-default-event-handler (auto-save-command 'auto-save 0 0 *default-pool*) (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 3)) + (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) diff --git a/goal_src/levels/misty/quicksandlurker.gc b/goal_src/levels/misty/quicksandlurker.gc index b19ccffd4b..82d15ac7ae 100644 --- a/goal_src/levels/misty/quicksandlurker.gc +++ b/goal_src/levels/misty/quicksandlurker.gc @@ -525,13 +525,10 @@ ) -(defskelgroup *quicksandlurker-sg* quicksandlurker - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *quicksandlurker-sg* quicksandlurker quicksandlurker-lod0-jg quicksandlurker-idle-ja + ((quicksandlurker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) (defbehavior orient-to-face-target quicksandlurker () (if *target* @@ -645,7 +642,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -685,57 +682,28 @@ (s5-0 5) (s4-0 0) ) - (ja-channel-push! 1 30) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (+! s4-0 1) (when (< s5-0 s4-0) (set! s4-0 0) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-yawn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (orient-to-face-target) - (let ((v1-55 (-> self skel root-channel 0))) - (set! (-> v1-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (let ((v1-58 (-> self skel root-channel 0))) - (set! (-> v1-58 num-func) num-func-identity) - (set! (-> v1-58 frame-num) 0.0) - ) + (ja :group! quicksandlurker-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) ) @@ -750,22 +718,10 @@ quicksandlurker-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-yawn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go quicksandlurker-wait) (none) @@ -794,24 +750,12 @@ (s5-0 1) (s4-0 0) ) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (+! s4-0 1) @@ -822,13 +766,8 @@ ) ) (orient-to-face-target) - (let ((v1-39 (-> self skel root-channel 0))) - (set! (-> v1-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 num-func) num-func-identity) - (set! (-> v1-42 frame-num) 0.0) - ) + (ja :group! quicksandlurker-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) ) @@ -871,15 +810,7 @@ (let ((gp-0 #f) (f30-0 51.0) ) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-spit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (orient-to-face-target) (when (and (not gp-0) (>= (ja-aframe-num 0) f30-0)) @@ -887,11 +818,7 @@ (quicksandlurker-spit) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go quicksandlurker-track) @@ -908,44 +835,20 @@ quicksandlurker-check-hide-transition :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (cond ((rand-vu-percent? 0.5) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-victory2-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -996,23 +899,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 0.75) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (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) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.75) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.75)) ) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-0 @@ -1033,7 +924,7 @@ ) ) (clear-collide-with-as (-> self root-override)) - (while #t + (loop (orient-to-face-target) (suspend) ) @@ -1066,23 +957,11 @@ (-> gp-0 ppointer) ) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-popup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (orient-to-face-target) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go quicksandlurker-track) (none) @@ -1100,23 +979,11 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! quicksandlurker-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) diff --git a/goal_src/levels/misty/sidekick-human.gc b/goal_src/levels/misty/sidekick-human.gc index b8e4ebab9f..cebf7ff476 100644 --- a/goal_src/levels/misty/sidekick-human.gc +++ b/goal_src/levels/misty/sidekick-human.gc @@ -1149,46 +1149,31 @@ ) -(defskelgroup *sidekick-human-sg* sidekick-human - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sidekick-human-sg* sidekick-human sidekick-human-lod0-jg sidekick-human-idle-ja + ((sidekick-human-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sidekick-human-shadow-mg + ) -(defskelgroup *darkecocan-sg* darkecocan - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *darkecocan-sg* darkecocan darkecocan-lod0-jg darkecocan-idle-ja + ((darkecocan-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) -(defskelgroup *darkecocan-glow-sg* darkecocan - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *darkecocan-glow-sg* darkecocan darkecocan-glow-lod0-jg darkecocan-idle-ja + ((darkecocan-glow-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) -(defskelgroup *evilbro-sg* evilbro - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *evilbro-sg* evilbro evilbro-lod0-jg evilbro-idle-ja + ((evilbro-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) -(defskelgroup *evilsis-sg* evilsis - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *evilsis-sg* evilsis evilsis-lod0-jg evilsis-idle-ja + ((evilsis-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) (deftype army-info (structure) ((pos vector :offset-assert 0) diff --git a/goal_src/levels/ogre/flying-lurker.gc b/goal_src/levels/ogre/flying-lurker.gc index b77dac8b4e..b4eecbcd52 100644 --- a/goal_src/levels/ogre/flying-lurker.gc +++ b/goal_src/levels/ogre/flying-lurker.gc @@ -9,13 +9,10 @@ ;; DECOMP BEGINS -(defskelgroup *ogrecam-sg* ogrecam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *ogrecam-sg* ogrecam ogrecam-lod0-jg -1 + ((ogrecam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6) + ) (deftype plunger-lurker (process-drawable) ((alt-actor entity-actor :offset-assert 176) @@ -34,13 +31,13 @@ ) -(defskelgroup *plunger-lurker-sg* plunger-lurker - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 2 4 0 12) - :longest-edge (meters 0) - ) +(defskelgroup *plunger-lurker-sg* plunger-lurker plunger-lurker-lod0-jg plunger-lurker-idle-ja + ((plunger-lurker-lod0-mg (meters 20)) + (plunger-lurker-lod1-mg (meters 40)) + (plunger-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 2 4 0 12) + ) (defstate plunger-lurker-plunge (plunger-lurker) :code @@ -139,7 +136,7 @@ ) ) (the-as art-joint-anim #f) - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim plunger-lurker-idle-ja) (the-as (function process-drawable symbol) false-func) ) (if (handle->process gp-1) @@ -169,44 +166,15 @@ (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 'array uint32 26 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x20 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - ) - ) - ) - (set! (-> a0-37 17) (the-as uint 'instant-death)) + (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) ) (cleanup-for-death self) (deactivate self) - (while #t + (loop (suspend) ) (none) @@ -256,41 +224,17 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! plunger-lurker-notice-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! plunger-lurker-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -320,23 +264,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plunger-lurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -423,14 +355,15 @@ ) -(defskelgroup *flying-lurker-sg* flying-lurker - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 2.3) - :shadow 4 - ) +(defskelgroup *flying-lurker-sg* flying-lurker flying-lurker-lod0-jg flying-lurker-fly-ja + ((flying-lurker-lod0-mg (meters 20)) + (flying-lurker-lod1-mg (meters 40)) + (flying-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 2 0 6) + :longest-edge (meters 2.3) + :shadow flying-lurker-shadow-mg + ) (defmethod dummy-20 flying-lurker ((obj flying-lurker)) (with-pp @@ -536,7 +469,7 @@ (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -814,41 +747,19 @@ ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (flying-lurker-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + (loop + (when (not (ja-group? flying-lurker-fly-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! flying-lurker-fly-ja) ) + (ja :num! (loop! (flying-lurker-calc-anim-speed))) (suspend) (when (>= (- (-> *display* base-frame-counter) (-> self last-look-time)) (-> self time-to-next-look)) - (ja-channel-push! 1 60) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! flying-lurker-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self last-look-time) (-> *display* base-frame-counter)) (let* ((f30-0 300.0) @@ -1082,9 +993,7 @@ ) (flying-lurker-inc-try-count) (ja-channel-set! 1) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! flying-lurker-fly-ja) (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-9 (the-as float (logior #x3f800000 v1-8))) (f0-2 (+ -1.0 v1-9)) @@ -1315,7 +1224,7 @@ (set! gp-0 11) ) ) - (while #t + (loop (cond ((play-movie?) (ja-channel-set! 0) @@ -1336,28 +1245,14 @@ 0 ) (else - (let ((v1-27 (-> self skel root-channel 0))) - (set! (-> v1-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) (the float gp-0)) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja :group! flying-lurker-fly-ja) + (ja-no-eval :group! flying-lurker-fly-ja :num! (seek! max f30-0) :frame-num (the float gp-0)) (until (ja-done? 0) (if (and *target* (>= 172032.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) (send-event self 'saw-player) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (set! gp-0 0) ) diff --git a/goal_src/levels/ogre/ogre-obs.gc b/goal_src/levels/ogre/ogre-obs.gc index b181f67ba6..8415e93fbe 100644 --- a/goal_src/levels/ogre/ogre-obs.gc +++ b/goal_src/levels/ogre/ogre-obs.gc @@ -26,13 +26,10 @@ ;; DECOMP BEGINS -(defskelgroup *med-res-snow-sg* medres-snow - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -390 150 70 410) - :longest-edge (meters 0) - ) +(defskelgroup *med-res-snow-sg* medres-snow medres-snow-lod0-jg medres-snow-idle-ja + ((medres-snow-lod0-mg (meters 999999))) + :bounds (static-spherem -390 150 70 410) + ) (defpartgroup group-tntbarrel-BIG-explosion :id 473 @@ -327,13 +324,10 @@ ((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 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *tntbarrel-sg* tntbarrel tntbarrel-lod0-jg tntbarrel-idle-ja + ((tntbarrel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 4) + ) (deftype tntbarrel (process-drawable) ((root-override collide-shape :offset 112) @@ -465,61 +459,40 @@ (none) ) -(defskelgroup *ogre-step-a-sg* ogre-step - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-step-a-sg* ogre-step ogre-step-a-lod0-jg ogre-step-a-idle-ja + ((ogre-step-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 5) + ) -(defskelgroup *ogre-step-b-sg* ogre-step - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 3 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-step-b-sg* ogre-step ogre-step-b-lod0-jg ogre-step-b-idle-ja + ((ogre-step-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 5) + ) -(defskelgroup *ogre-step-c-sg* ogre-step - 6 - 8 - ((7 (meters 999999))) - :bounds (static-spherem 0 3 0 6.5) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-step-c-sg* ogre-step ogre-step-c-lod0-jg ogre-step-c-idle-ja + ((ogre-step-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 6.5) + ) -(defskelgroup *ogre-isle-a-sg* ogre-isle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-a-sg* ogre-isle ogre-isle-a-lod0-jg ogre-isle-a-idle-ja + ((ogre-isle-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) -(defskelgroup *ogre-isle-b-sg* ogre-isle - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-b-sg* ogre-isle ogre-isle-b-lod0-jg ogre-isle-b-idle-ja + ((ogre-isle-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) -(defskelgroup *ogre-isle-c-sg* ogre-isle - 6 - 8 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-c-sg* ogre-isle ogre-isle-c-lod0-jg ogre-isle-c-idle-ja + ((ogre-isle-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) -(defskelgroup *ogre-isle-d-sg* ogre-isle - 9 - 11 - ((10 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-d-sg* ogre-isle ogre-isle-d-lod0-jg ogre-isle-d-idle-ja + ((ogre-isle-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (deftype ogre-plat (rigid-body-platform) ((anchor-point vector :inline :offset-assert 736) @@ -584,7 +557,7 @@ :code (behavior () (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -623,7 +596,7 @@ :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -908,13 +881,11 @@ (none) ) -(defskelgroup *ogre-bridge-sg* ogre-bridge - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 52) - :longest-edge (meters 4.5) - ) +(defskelgroup *ogre-bridge-sg* ogre-bridge ogre-bridge-lod0-jg ogre-bridge-idle-ja + ((ogre-bridge-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 52) + :longest-edge (meters 4.5) + ) (deftype ogre-bridge (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -981,7 +952,7 @@ :code (behavior () (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1010,25 +981,13 @@ 0 ) ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.2) (spawn-projectile-blue *target*) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogre-bridge-activated) (none) @@ -1056,18 +1015,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 3) :num! max) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -1106,22 +1056,10 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogre-bridge-idle) (none) @@ -1334,13 +1272,10 @@ (none) ) -(defskelgroup *ogre-bridgeend-sg* ogre-bridgeend - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -3 8.2) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-bridgeend-sg* ogre-bridgeend ogre-bridgeend-lod0-jg ogre-bridgeend-idle-ja + ((ogre-bridgeend-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -3 8.2) + ) (deftype ogre-bridgeend (process-drawable) ((root-override collide-shape :offset 112) @@ -1428,48 +1363,18 @@ ) :code (behavior () - (ja-channel-push! 2 30) - (let ((gp-0 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self anim)))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self anim))) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.5) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self anim))) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) - (let ((v1-25 (-> self skel root-channel 1))) - (set! (-> v1-25 frame-interp) 0.5) - ) + (ja :chan 1 :frame-interp 0.5) (ja-post) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 0.5) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) - (let ((v1-37 (-> self skel root-channel 0))) - (set! (-> v1-37 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim)))) - ) - (let ((v1-40 (-> self skel root-channel 0))) - (set! (-> v1-40 num-func) num-func-identity) - (set! (-> v1-40 frame-num) 0.0) - ) - (while #t + (ja :group! (-> self draw art-group data (-> self idle-anim))) + (ja :num-func num-func-identity :frame-num 0.0) + (loop (suspend) ) (none) @@ -1532,21 +1437,15 @@ ) -(defskelgroup *shortcut-boulder-whole-sg* shortcut-boulder - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 5.5 0 7.5) - :longest-edge (meters 0) - ) +(defskelgroup *shortcut-boulder-whole-sg* shortcut-boulder shortcut-boulder-whole-lod0-jg shortcut-boulder-idle-ja + ((shortcut-boulder-whole-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5.5 0 7.5) + ) -(defskelgroup *shortcut-boulder-broken-sg* shortcut-boulder - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 5.5 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *shortcut-boulder-broken-sg* shortcut-boulder shortcut-boulder-broken-lod0-jg shortcut-boulder-idle-ja + ((shortcut-boulder-broken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5.5 0 20) + ) (defpartgroup group-shortcut-boulder-explosion :id 475 @@ -1653,39 +1552,10 @@ (-> gp-0 ppointer) ) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-5 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (deactivate self) @@ -1709,7 +1579,7 @@ :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) diff --git a/goal_src/levels/ogre/ogreboss.gc b/goal_src/levels/ogre/ogreboss.gc index 2f84bd99c0..0ef10fd8d6 100644 --- a/goal_src/levels/ogre/ogreboss.gc +++ b/goal_src/levels/ogre/ogreboss.gc @@ -10,62 +10,41 @@ ;; DECOMP BEGINS -(defskelgroup *ogreboss-sg* ogreboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-sg* ogreboss ogreboss-lod0-jg ogreboss-idle-ja + ((ogreboss-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) -(defskelgroup *ogreboss-cam-sg* ogreboss - 25 - 27 - ((26 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-cam-sg* ogreboss ogreboss-cam-lod0-jg ogreboss-cam-idle-ja + ((ogreboss-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *ogreboss-shoot-boulder-sg* ogreboss - 29 - 32 - ((30 (meters 999999))) - :bounds (static-spherem 0 0 0 300) - :longest-edge (meters 0) - :shadow 31 - ) +(defskelgroup *ogreboss-shoot-boulder-sg* ogreboss ogreboss-shoot-boulder-lod0-jg ogreboss-shoot-boulder-idle-ja + ((ogreboss-shoot-boulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 300) + :shadow ogreboss-shoot-boulder-shadow-mg + ) -(defskelgroup *ogreboss-shoot-boulder-break-sg* ogreboss - 33 - 35 - ((34 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-shoot-boulder-break-sg* ogreboss ogreboss-shoot-boulder-break-lod0-jg ogreboss-shoot-boulder-break-idle-ja + ((ogreboss-shoot-boulder-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) -(defskelgroup *ogreboss-bounce-boulder-sg* ogreboss - 36 - 38 - ((37 (meters 999999))) - :bounds (static-spherem 0 0 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-bounce-boulder-sg* ogreboss ogreboss-bounce-boulder-lod0-jg ogreboss-bounce-boulder-idle-ja + ((ogreboss-bounce-boulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 50) + ) -(defskelgroup *ogreboss-super-boulder-sg* ogreboss - 39 - 41 - ((40 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-super-boulder-sg* ogreboss ogreboss-super-boulder-lod0-jg ogreboss-super-boulder-idle-ja + ((ogreboss-super-boulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) -(defskelgroup *ogreboss-column-sg* ogreboss - 45 - 47 - ((46 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-column-sg* ogreboss ogreboss-column-lod0-jg ogreboss-column-idle-ja + ((ogreboss-column-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) (define *ogreboss-missile-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -615,18 +594,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! ogreboss-super-boulder-idle-ja :num! min) (set! (-> self joint enable) #t) (set! (-> self joint blend) 1.0) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (quaternion-vector-angle! (-> self tumble-quat) (-> self spin-axis) @@ -691,15 +663,7 @@ (defbehavior ogreboss-super-boulder-play-hit-anim ogreboss-super-boulder () (set! (-> self src-pos quad) (-> self root-override trans quad)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 43)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self joint blend) (the-as float 0.0) (* 5.0 (-> *display* seconds-per-frame))) (let* ((f1-1 (/ (- (ja-frame-num 0) (ja-aframe (the-as float 54.0) 0)) @@ -711,11 +675,7 @@ (vector-lerp! (-> self root-override trans) (-> self src-pos) (-> self orig-pos) f0-13) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (the-as object 0) ) @@ -727,15 +687,7 @@ (behavior () (set! (-> self hit-boss) #f) (set! (-> self src-pos quad) (-> self root-override trans quad)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 42)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 42)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self joint blend) (the-as float 0.0) (* 5.0 (-> *display* seconds-per-frame))) (let* ((f1-1 (/ (- (ja-frame-num 0) (ja-aframe (the-as float 32.0) 0)) @@ -748,11 +700,7 @@ ) 0 (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogreboss-super-boulder-land) (none) @@ -802,26 +750,19 @@ (set! (-> self root-override trans quad) (-> self orig-pos quad)) (ogreboss-super-boulder-impact-effect) (set! (-> self joint enable) #f) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 100.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-roll-ja + :num! (seek! (ja-aframe (the-as float 100.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (when (< 81920.0 (vector-vector-distance (the-as vector (-> self root-override root-prim prim-core)) (target-pos 0)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (go ogreboss-super-boulder-roll) ) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 100.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 100.0) 0))) ) (go ogreboss-super-boulder-roll) (none) @@ -840,20 +781,13 @@ :code (behavior () (ogreboss-super-boulder-impact-effect) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 162.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 100.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-roll-ja + :num! (seek! (ja-aframe (the-as float 162.0) 0)) + :frame-num (ja-aframe (the-as float 100.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 162.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 162.0) 0))) ) (set! (-> self root-override root-prim local-sphere w) 28672.0) (cond @@ -898,22 +832,13 @@ ) ) ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 162.0) 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-roll-ja + :num! (seek!) + :frame-num (ja-aframe (the-as float 162.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) @@ -944,7 +869,7 @@ (behavior () (clear-collide-with-as (-> self root-override)) (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1042,43 +967,27 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((f30-0 2.0)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 40.0) 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-bounce-boulder-idle-ja + :num! (seek! (ja-aframe (the-as float 40.0) 0) f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (set! (-> self side-pos) (* (fmin 1.0 (/ (ja-frame-num 0) (ja-aframe (the-as float 40.0) 0))) (-> self dest-pos)) ) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 40.0) 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 38)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 40.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 40.0) 0) f30-0)) ) + (ja-no-eval :group! ogreboss-bounce-boulder-idle-ja + :num! (seek! max f30-0) + :frame-num (ja-aframe (the-as float 40.0) 0) + ) (until (ja-done? 0) (if (>= (ja-frame-num 0) (ja-aframe (the-as float 235.0) 0)) (seek! (-> self side-pos) (the-as float 0.0) (* 20480.0 (-> *display* seconds-per-frame))) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (cleanup-for-death self) @@ -1236,106 +1145,53 @@ ) (defbehavior ogreboss-idle-loop ogreboss () - (while #t - (ja-channel-push! 1 30) + (loop + (ja-channel-push! 1 (seconds 0.1)) (let ((v1-0 (rand-vu-int-range 0 2))) (cond ((zero? v1-0) - (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) (ja-aframe (the-as float 140.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-ja :num! (seek! (ja-aframe (the-as float 140.0) 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 140.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 140.0) 0))) ) (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.167)) (suspend) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 168.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 140.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-ja + :num! (seek! (ja-aframe (the-as float 168.0) 0)) + :frame-num (ja-aframe (the-as float 140.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 168.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 168.0) 0))) ) (let ((gp-5 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.167)) (suspend) ) ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe (the-as float 168.0) 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 168.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-alt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else (dotimes (gp-7 4) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-bored-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1420,22 +1276,10 @@ ) (send-event (handle->process (-> self column)) 'anim-mode 'play1) (send-event (handle->process (-> self column)) 'art-joint-anim "ogreboss-column-intro" 0) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 24)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-intro-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (close-specific-task! (game-task ogre-boss) (task-status need-hint)) (suspend) @@ -1579,36 +1423,18 @@ (defbehavior ogreboss-submerge ogreboss ((arg0 time-frame) (arg1 float)) (when (not (-> self submerged)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) + ((ja-group? ogreboss-dive-ja) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) arg1) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg1)) ) ) (else - (ja-channel-push! 1 30) - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> s4-0 param 1) arg1) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-dive-ja :num! (seek! (ja-aframe (the-as float 22.0) 0) arg1) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> s4-1 param 1) arg1) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 22.0) 0) arg1)) ) (cond ((-> self at-near-spot) @@ -1646,22 +1472,10 @@ ) ) ) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> s4-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> s4-2 param 1) arg1) - (set! (-> s4-2 frame-num) (ja-aframe (the-as float 22.0) 0)) - (joint-control-channel-group! s4-2 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-dive-ja :num! (seek! max arg1) :frame-num (ja-aframe (the-as float 22.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) arg1) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg1)) ) ) ) @@ -1717,22 +1531,10 @@ ) ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) arg0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-rise-ja :num! (seek! max arg0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) arg0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg0)) ) ) 0 @@ -1799,48 +1601,20 @@ (ogreboss-set-stage1-camera) (ogreboss-move-near (seconds 3) (the-as float 1.0)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 16) - ) - (ja-channel-push! 1 30) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + ((ja-group? ogreboss-victory-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-roar-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1850,23 +1624,11 @@ (f2-2 (-> self difficulty)) (f30-0 (+ f0-17 (* f1-2 (* f2-2 f2-2) (-> self level)))) ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-attack2-start-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (countdown (gp-1 (+ gp-0 -1)) (let ((s5-0 0)) @@ -1898,62 +1660,26 @@ ) (ogreboss-shoot-boulder s5-0) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) f30-0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) f30-0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (ogreboss-inc-try-count) ) (ogreboss-shoot-boulder 3) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-last-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (ogreboss-move-far (seconds 2) (the-as float 1.0)) - (ja-channel-push! 1 30) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogreboss-stage1) (none) @@ -2041,11 +1767,7 @@ ) ) ) - (let ((v1-22 (-> self skel root-channel 1))) - (set! (-> v1-22 frame-interp) f1-0) - (set! (-> v1-22 num-func) num-func-identity) - (set! (-> v1-22 frame-num) f0-0) - ) + (ja :chan 1 :frame-interp f1-0 :num-func num-func-identity :frame-num f0-0) ) 0 (none) @@ -2072,34 +1794,14 @@ (let ((v1-0 arg2)) (the-as object (when (= v1-0 'attack) (when (-> self vulnerable) - (cond - (((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root-override)) - (the-as uint 128) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! (-> gp-0 frame-interp) 0.0) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (if ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root-override)) + (the-as uint 128) ) - ) - (else - (let ((gp-1 (-> self skel root-channel 1))) - (set! (-> gp-1 frame-interp) 0.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :chan 1 :group! ogreboss-hit-crotch-ja :num! min :frame-interp 0.0) + (ja :chan 1 :group! ogreboss-hit-chest-ja :num! min :frame-interp 0.0) ) - ) (set! (-> self hit-time) (-> *display* base-frame-counter)) (let ((v1-17 (rand-vu-int-range 0 2))) (cond @@ -2169,23 +1871,11 @@ (ogreboss-move-far (seconds 0.1) (the-as float 2.0)) (let ((f30-0 (* 0.75 (-> self difficulty)))) (let ((gp-0 #f)) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.5) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-attack2-start-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.5) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.5)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (not gp-0) @@ -2196,45 +1886,21 @@ (ogreboss-player-inside-range? (the-as float 409600.0)) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (if gp-0 0 ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) (ogreboss-roll-boulder) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-last-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go ogreboss-stage3-shuffle) @@ -2312,38 +1978,18 @@ ) ) ) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-shuffle-prepare-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (ogreboss-spawn-super-boulder) (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-channel-push! 2 15) - (let ((s5-0 (-> self skel root-channel 1))) - (set! (-> s5-0 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) + (ja-channel-push! 2 (seconds 0.05)) + (ja :chan 1 :group! ogreboss-hit-chest-ja :num! min :frame-interp 0.0) (set! (-> self vulnerable) #t) - (while #t + (loop (if (>= -61440.0 (-> self shuffle-pos)) (set! gp-0 1) ) @@ -2353,128 +1999,56 @@ (cond ((zero? gp-0) (set! gp-0 1) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-right-start-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (let ((s5-1 (rand-vu-int-range 1 5))) (while (and (> s5-1 0) (< -61440.0 (-> self shuffle-pos))) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 19)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 19)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-right-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (set! (-> self shuffle-pos) (- (-> self shuffle-pos) (* 16384.0 (-> *display* seconds-per-frame) f30-0))) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (+! s5-1 -1) ) ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-right-stop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else (set! gp-0 0) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 21)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 21)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-left-start-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (let ((s5-2 (rand-vu-int-range 1 5))) (while (and (> s5-2 0) (< (-> self shuffle-pos) 61440.0)) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 22)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 22)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-left-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (+! (-> self shuffle-pos) (* 16384.0 (-> *display* seconds-per-frame) f30-0)) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (+! s5-2 -1) ) ) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - (set! (-> a0-26 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 23)) data 0 length) -1)) - ) - (set! (-> a0-26 param 1) f30-0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! a0-26 (the-as art-joint-anim (-> self draw art-group data 23)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-left-stop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) f30-0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -2493,42 +2067,18 @@ (defstate ogreboss-stage3-throw (ogreboss) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (send-event (handle->process (-> self boulder)) 'go-throw) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack3-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ogreboss-submerge (seconds 1) (the-as float 1.0)) (while (handle->process (-> self boulder)) @@ -2550,23 +2100,11 @@ (go ogreboss-die) ) (send-event (handle->process (-> self boulder)) 'go-hit) - (ja-channel-push! 1 60) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self bridge-assembled) #f) (set! (-> self submerged) #t) @@ -2611,24 +2149,12 @@ (behavior () (ogreboss-reset-camera) (send-event (handle->process (-> self boulder)) 'go-die) - (ja-channel-push! 1 60) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ogreboss-trigger-steps) (go ogreboss-dead) diff --git a/goal_src/levels/racer_common/racer-states.gc b/goal_src/levels/racer_common/racer-states.gc index a6ecb22054..83225bdc11 100644 --- a/goal_src/levels/racer_common/racer-states.gc +++ b/goal_src/levels/racer_common/racer-states.gc @@ -406,26 +406,14 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 138) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 138)) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) - ((let ((v1-16 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-16 (ja-group))) (or (or (= v1-16 (-> self draw art-group data 130)) (= v1-16 (-> self draw art-group data 131))) (> (-> self racer bounce) 0) ) @@ -500,50 +488,14 @@ ) ) (set! (-> self racer bounce) 0) - (while #t + (loop (let ((gp-3 (-> *display* base-frame-counter))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((s5-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> s5-3 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-43 (-> self skel root-channel 1))) - (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-43 param 0) 0.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-44 (-> self skel root-channel 2))) - (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-44 param 0) 0.0) - (joint-control-channel-group-eval! - a0-44 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-45 (-> self skel root-channel 3))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-45 param 0) 0.0) - (joint-control-channel-group-eval! - a0-45 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) (while (< (- (-> *display* base-frame-counter) gp-3) (seconds 1)) (if (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) @@ -557,21 +509,9 @@ (suspend) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 133) - ) - ) - (ja-channel-push! 1 120) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 133)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 133))) + (ja-channel-push! 1 (seconds 0.4)) + (ja :group! (-> self draw art-group data 133) :num! min) ) (while (not (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (or (cpad-hold? (-> self control unknown-cpad-info00 number) l1 r1 x) @@ -580,10 +520,7 @@ ) ) (suspend) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) 1.0) - (joint-control-channel-group-eval! a0-54 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (none) @@ -719,7 +656,7 @@ ) ) ) - (target-racing-jump-anim a0-1 60) + (target-racing-jump-anim a0-1 (seconds 0.2)) ) (none) ) @@ -788,50 +725,14 @@ :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (target-racing-land-anim arg2) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-9 (-> self skel root-channel 1))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-10 (-> self skel root-channel 2))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-10 param 0) 0.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-11 (-> self skel root-channel 3))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-11 param 0) 0.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) - (while #t + (loop (target-racing-turn-anim) (suspend) ) @@ -878,31 +779,16 @@ :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 15) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 136))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 136)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 136)) num-func-seek!) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (lerp-scale 1.0 0.25 arg0 0.0 122880.0)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 122)) - num-func-identity + (ja-channel-push! 2 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!)) + (ja :chan 1 + :group! (-> self draw art-group data 122) + :num! (identity (ja-aframe 0.0 0)) + :frame-interp (lerp-scale 1.0 0.25 arg0 0.0 122880.0) ) - (set! (-> s5-1 frame-num) (ja-aframe 0.0 0)) - ) (until (ja-done? 0) (suspend) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 param 0) (the float (+ (-> s5-2 frame-group data 0 length) -1))) - (set! (-> s5-2 param 1) (lerp-scale 2.0 1.0 arg0 0.0 163840.0)) - (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (lerp-scale 2.0 1.0 arg0 0.0 163840.0))) ) (go target-racing) (none) @@ -940,7 +826,7 @@ ) :code (behavior () - (target-racing-jump-anim #f 30) + (target-racing-jump-anim #f (seconds 0.1)) (none) ) :post @@ -1033,23 +919,11 @@ ) (else (set! (-> self post-hook) target-racing-post) - (ja-channel-push! 1 15) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 136))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 136)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 136)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1160,40 +1034,22 @@ ) ) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (fmax -182044.44 (fmin 182044.44 (* -40.0 (-> self racer rot z)))) (case (-> self attack-info mode) (('balloonlurker) (dummy-13 (-> self water) 2.0 (-> self control trans) 1 (-> self control transv)) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 139))) - (set! (-> gp-2 param 0) (ja-aframe 240.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 139)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek! (ja-aframe 240.0 0)) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (seek! (-> self control unknown-vector11 y) 6144.0 (* 12288.0 (-> *display* seconds-per-frame))) (send-event *camera* 'joystick 0.0 1.0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 240.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 240.0 0))) ) ) (else - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 139))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 139)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 139)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (send-event *camera* 'joystick 0.0 1.0) @@ -1202,11 +1058,7 @@ (set-forward-vel (* 0.5 (-> self control unknown-float01))) ) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1341,14 +1193,8 @@ (let ((s5-1 #f) (gp-1 #f) ) - (ja-channel-push! 1 15) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 138))) - (set! (-> s4-2 param 0) (ja-aframe 77.0 0)) - (set! (-> s4-2 param 1) 1.0) - (set! (-> s4-2 frame-num) 0.0) - (joint-control-channel-group! s4-2 (the-as art-joint-anim (-> self draw art-group data 138)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 138) :num! (seek! (ja-aframe 77.0 0)) :frame-num 0.0) (until (ja-done? 0) (when (and (not s5-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -1377,11 +1223,7 @@ (set-twist! (-> self racer bottom-blade) (the-as float #f) (the-as float #f) (- (-> self racer bottom-rot))) ) (suspend) - (let ((s4-4 (-> self skel root-channel 0))) - (set! (-> s4-4 param 0) (ja-aframe 77.0 0)) - (set! (-> s4-4 param 1) 1.0) - (joint-control-channel-group-eval! s4-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 77.0 0))) ) ) (logclear! (-> self state-flags) (state-flags sf10)) @@ -1503,48 +1345,12 @@ (set! (-> a0-4 0 deactivate-when-hidden) #t) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> s5-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-13 (-> self skel root-channel 1))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-13 param 0) 0.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-14 (-> self skel root-channel 2))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-14 param 0) 0.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-15 (-> self skel root-channel 3))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-15 param 0) 0.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) (let ((s5-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s5-1) (seconds 0.5)) @@ -1600,23 +1406,11 @@ (set! (-> self control unknown-vector102 quad) (-> gp-1 quad)) (set! (-> self control unknown-vector103 quad) (-> s4-1 quad)) ) - (ja-channel-push! 1 15) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 137))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 137)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 137)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 137) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process arg0) 'draw) (set-yaw-angle-clear-roll-pitch! @@ -1725,22 +1519,10 @@ :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 42.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go target-stance) (none) @@ -1793,50 +1575,14 @@ ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-8 (-> self skel root-channel 2))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-8 param 0) 0.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-9 (-> self skel root-channel 3))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) - (while #t + (loop (target-racing-turn-anim) (set-forward-vel 0.0) (suspend) diff --git a/goal_src/levels/racer_common/racer.gc b/goal_src/levels/racer_common/racer.gc index d7fe43ec3a..610af81feb 100644 --- a/goal_src/levels/racer_common/racer.gc +++ b/goal_src/levels/racer_common/racer.gc @@ -48,23 +48,17 @@ (the-as racer ((method-of-type process-drawable relocate) obj arg0)) ) -(defskelgroup *racer-sg* racer - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - :shadow 2 - :sort 1 - ) +(defskelgroup *racer-sg* racer racer-geo-jg 3 + ((racer-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + :shadow racer-shadow-mg + :sort 1 + ) -(defskelgroup *racer-explode-sg* racer - 22 - 24 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *racer-explode-sg* racer racer-explode-lod0-jg racer-explode-idle-ja + ((racer-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + ) (define *racer-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -141,9 +135,7 @@ (case (current-status gp-0) (((task-status need-reward-speech)) (ja-channel-set! 1) - (let ((v1-15 (-> self skel root-channel 0))) - (set! (-> v1-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (ja-post) @@ -234,9 +226,7 @@ :code (behavior () (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) 0.0 @@ -246,7 +236,7 @@ ) ) ) - (while #t + (loop (if (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-9))) (go-virtual wait-for-return) ) @@ -292,9 +282,7 @@ (case arg2 (('draw) (ja-channel-set! 1) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (transform-post) @@ -408,7 +396,7 @@ (behavior () (ja-channel-set! 0) (ja-post) - (while #t + (loop (if (not (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-9)))) (go-virtual idle) ) diff --git a/goal_src/levels/racer_common/target-racer-h.gc b/goal_src/levels/racer_common/target-racer-h.gc index f7fc5c9748..e957306848 100644 --- a/goal_src/levels/racer_common/target-racer-h.gc +++ b/goal_src/levels/racer_common/target-racer-h.gc @@ -11,7 +11,7 @@ (define-extern target-racing-land-anim (function symbol none :behavior target)) (define-extern target-racing-turn-anim (function none :behavior target)) (define-extern racer-calc-gravity (function vector :behavior target)) -(define-extern target-racing-jump-anim (function basic int none :behavior target)) +(define-extern target-racing-jump-anim (function basic time-frame none :behavior target)) (define-extern racer-sounds (function object :behavior target)) (define-extern *racer-air-mods* surface) @@ -159,13 +159,10 @@ ) ) -(defskelgroup *balloon-sg* balloon - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 1.7 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *balloon-sg* balloon balloon-lod0-jg balloon-idle-ja + ((balloon-lod0-mg (meters 20)) (balloon-lod1-mg (meters 999999))) + :bounds (static-spherem 0 1.7 0 3) + ) diff --git a/goal_src/levels/racer_common/target-racer.gc b/goal_src/levels/racer_common/target-racer.gc index c5b74a841f..33d2e89db4 100644 --- a/goal_src/levels/racer_common/target-racer.gc +++ b/goal_src/levels/racer_common/target-racer.gc @@ -1140,15 +1140,8 @@ (* -273.06668 (-> self racer tail-anim-frame)) ) (let ((f30-2 (fmin 1.0 (* 2.0 (fabs (-> self racer slide-shift-x)))))) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-9 (-> self skel root-channel 1))) - (set! (-> a0-9 frame-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe (-> self racer turn-anim-frame) 0)) + (ja :chan 1 :num! (chan 0) :frame-interp (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) (let ((gp-2 (-> self skel root-channel 2))) (let ((f0-82 (lerp (-> self racer slide-interp) f30-2 0.125))) (set! (-> self racer slide-interp) f0-82) @@ -1158,18 +1151,16 @@ (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-chan) ) ) - (let ((a0-12 (-> self skel root-channel 3))) - (set! (-> a0-12 frame-interp) - (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) - ) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 3 + :num! (chan 0) + :frame-interp + (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) + ) 0 (none) ) -(defbehavior target-racing-jump-anim target ((arg0 basic) (arg1 int)) +(defbehavior target-racing-jump-anim target ((arg0 basic) (arg1 time-frame)) (let ((s4-0 'nothing) (f30-0 0.0) ) @@ -1183,17 +1174,9 @@ (when (!= s5-0 s4-0) (if (= s4-0 'nothing) (ja-channel-push! 1 arg1) - (ja-channel-push! 1 37) + (ja-channel-push! 1 (seconds 0.125)) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 130))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 130)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) f30-0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 130)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 130) :num! (seek!) :frame-num f30-0) (set! s4-0 s5-0) ) ) @@ -1202,35 +1185,17 @@ (if (= (-> self next-state name) 'target-racing-falling) (set! f0-4 (* 0.5 f0-4)) ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f0-4) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f0-4)) ) (set! f30-0 (ja-aframe-num 0)) (ja-blend-eval) ) ) (ja-channel-set! 2) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 131)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 132)) - num-func-identity - ) - (set! (-> gp-2 frame-num) (ja-aframe 44.0 0)) - ) + (ja :group! (-> self draw art-group data 131) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 132) :num! (identity (ja-aframe 44.0 0))) (let ((f30-1 0.0)) - (while #t + (loop (suspend) (let ((gp-3 (-> self skel root-channel 1))) (set! f30-1 (seek f30-1 1.0 (-> *display* seconds-per-frame))) @@ -1246,72 +1211,36 @@ (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) - (ja-channel-push! 1 21) + (ja-channel-push! 1 (seconds 0.07)) (cond ((= arg0 'high-jump) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 135))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 135)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 135)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 135) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= arg0 'jump) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 129))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 129)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 44.0 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 129)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 129) :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 132))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 132)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 44.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 132)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 132) :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/robocave/spider-egg.gc b/goal_src/levels/robocave/spider-egg.gc index 7b4eccbd52..1abf477370 100644 --- a/goal_src/levels/robocave/spider-egg.gc +++ b/goal_src/levels/robocave/spider-egg.gc @@ -30,21 +30,21 @@ ) -(defskelgroup *spider-egg-unbroken-sg* spider-egg - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *spider-egg-unbroken-sg* spider-egg spider-egg-unbroken-lod0-jg -1 + ((spider-egg-unbroken-lod0-mg (meters 20)) + (spider-egg-unbroken-lod1-mg (meters 40)) + (spider-egg-unbroken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + ) -(defskelgroup *spider-egg-broken-sg* spider-egg - 5 - -1 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *spider-egg-broken-sg* spider-egg spider-egg-broken-lod0-jg -1 + ((spider-egg-broken-lod0-mg (meters 20)) + (spider-egg-broken-lod1-mg (meters 40)) + (spider-egg-broken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + ) (defstate spider-egg-idle (spider-egg) :event @@ -87,81 +87,37 @@ (cond (arg0 (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) f30-0) - (set! (-> gp-1 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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))) + ) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) f30-0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) - (while #t + (loop (let ((gp-2 (rand-vu-int-range 2 6))) (dotimes (s5-0 gp-2) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) - (ja-channel-push! 1 30) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! spider-egg-twitch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) (none) @@ -205,23 +161,11 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 60) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! spider-egg-crack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) @@ -285,24 +229,12 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! spider-egg-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) diff --git a/goal_src/levels/rolling/rolling-lightning-mole.gc b/goal_src/levels/rolling/rolling-lightning-mole.gc index dfeb95cb87..5347854237 100644 --- a/goal_src/levels/rolling/rolling-lightning-mole.gc +++ b/goal_src/levels/rolling/rolling-lightning-mole.gc @@ -405,25 +405,13 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 1.0 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info notice-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (seek-toward-heading-vec! (-> self collide-info) @@ -438,11 +426,7 @@ (go-virtual nav-enemy-chase) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) f30-0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -503,7 +487,7 @@ ) (set! (-> gp-0 x) 1.0) (set! (-> s5-0 x) 1.0) - (while #t + (loop (when (cpad-pressed? 1 r3) (suspend) (go fleeing-nav-enemy-debug) @@ -564,14 +548,14 @@ ) -(defskelgroup *lightning-mole-sg* lightning-mole - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *lightning-mole-sg* lightning-mole lightning-mole-lod0-jg lightning-mole-idle-ja + ((lightning-mole-lod0-mg (meters 20)) + (lightning-mole-lod1-mg (meters 40)) + (lightning-mole-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 8) + :shadow lightning-mole-shadow-mg + ) (defbehavior lightning-mole-task-complete? lightning-mole () (local-vars (sv-16 symbol)) @@ -625,21 +609,12 @@ ) (defbehavior lightning-mole-run-code lightning-mole () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 60) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (when (!= (ja-group) (-> self draw art-group data 7)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 7)) ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (-> self speed-adjust)) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) + (loop + (ja :num! (loop! (-> self speed-adjust))) (suspend) ) (none) @@ -750,9 +725,7 @@ (behavior () (when (task-closed? (-> self entity extra perm task) (task-status need-introduction)) (ja-channel-set! 1) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! (-> self draw art-group data 5)) (restore-collide-with-as (-> self collide-info)) (go-virtual nav-enemy-idle) ) @@ -760,7 +733,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -800,16 +773,8 @@ (logior! (-> *target* mask) (process-mask sleep)) ) (ambient-hint-spawn "gamcam20" (the-as vector #f) *entity-pool* 'camera) - (ja-channel-push! 1 60) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) f30-0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> *camera-other-fov* data) 11650.845) @@ -821,11 +786,7 @@ (set! (-> *camera-other-root* quad) (-> *lightning-mole-hole* quad)) (set! *camera-look-through-other* 2) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (lightning-mole-task-complete?) @@ -891,24 +852,12 @@ (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -1354,7 +1303,7 @@ :code (behavior () (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1369,11 +1318,7 @@ (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 2.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! max 2.0)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -1464,23 +1409,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go peeper-down) ) diff --git a/goal_src/levels/rolling/rolling-obs.gc b/goal_src/levels/rolling/rolling-obs.gc index 1da460b13e..af7d773dc8 100644 --- a/goal_src/levels/rolling/rolling-obs.gc +++ b/goal_src/levels/rolling/rolling-obs.gc @@ -25,13 +25,10 @@ ) -(defskelgroup *rollingcam-sg* rollingcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *rollingcam-sg* rollingcam rollingcam-lod0-jg rollingcam-anim-ja + ((rollingcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) (deftype pusher-base (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -71,13 +68,10 @@ ) -(defskelgroup *pusher-sg* pusher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *pusher-sg* pusher pusher-lod0-jg pusher-idle-ja + ((pusher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defbehavior pusher-base-init pusher-base () (set! (-> self mask) (logior (process-mask enemy platform) (-> self mask))) @@ -116,7 +110,7 @@ (the-as (function none :behavior pusher) rider-trans) :code (behavior () - (while #t + (loop (let ((f0-0 -1.0)) (when (and *target* *camera*) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -124,22 +118,10 @@ (set! f0-0 (ray-capsule-intersect (-> self cyl) (camera-pos) gp-0)) ) ) - (cond - ((< f0-0 0.0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (get-current-value-with-mirror (-> self sync) (-> self max-frame))) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 0.0) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (if (< f0-0 0.0) + (ja :num! (seek! (get-current-value-with-mirror (-> self sync) (-> self max-frame)))) + (ja :num! (seek! 0.0)) ) - ) ) (suspend) ) @@ -169,23 +151,11 @@ (the-as (function none :behavior gorge-pusher) rider-trans) :code (behavior () - (while #t - (cond - ((task-closed? (game-task rolling-race) (task-status need-introduction)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (-> self min-frame)) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (-> self max-frame)) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (loop + (if (task-closed? (game-task rolling-race) (task-status need-introduction)) + (ja :num! (seek! (-> self min-frame))) + (ja :num! (seek! (-> self max-frame))) ) - ) (suspend) ) (none) @@ -238,13 +208,10 @@ ) -(defskelgroup *dark-plant-sg* dark-plant - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2.25 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *dark-plant-sg* dark-plant dark-plant-lod0-jg dark-plant-idle-ja + ((dark-plant-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2.25 0 6) + ) (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) @@ -263,7 +230,7 @@ ) (defun dark-plants-all-done ((arg0 dark-plant)) - (while #t + (loop (if (!= (-> arg0 state) dark-plant-gone) (return #f) ) @@ -309,22 +276,10 @@ (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) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go dark-plant-idle) (none) @@ -343,7 +298,7 @@ (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-5)))) 3000)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (and (!= (get-task-status (game-task rolling-plants)) (task-status invalid)) (!= (get-task-status (game-task rolling-plants)) 7) ) @@ -374,24 +329,12 @@ :code (behavior () (spawn (-> self part) (-> self root trans)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "darkvine-kill") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go dark-plant-gone) (none) @@ -405,7 +348,7 @@ dark-plant-trans :code (behavior () - (while #t + (loop (when (and (logtest? (-> self draw status) (draw-status was-drawn)) *target* (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) @@ -495,11 +438,7 @@ ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go dark-plant-idle) (none) @@ -601,34 +540,19 @@ ) -(defskelgroup *happy-plant-sg* happy-plant - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.25 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *happy-plant-sg* happy-plant happy-plant-lod0-jg happy-plant-init-ja + ((happy-plant-lod0-mg (meters 20)) (happy-plant-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.25 0 6) + ) (defstate happy-plant-opened (happy-plant) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -706,9 +630,7 @@ (the-as (function process-drawable symbol) false-func) ) (ja-channel-set! 1) - (let ((v1-39 (-> self skel root-channel 0))) - (set! (-> v1-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja :group! (-> self draw art-group data 4)) (if (handle->process (the-as int gp-2)) (deactivate (-> gp-2 process 0)) ) @@ -754,40 +676,11 @@ :code (behavior () (clear-collide-with-as (-> self root-override)) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-1 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -928,21 +821,15 @@ ) ) -(defskelgroup *rolling-start-whole-sg* rolling-start - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *rolling-start-whole-sg* rolling-start rolling-start-whole-lod0-jg rolling-start-idle-ja + ((rolling-start-whole-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) -(defskelgroup *rolling-start-broken-sg* rolling-start - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *rolling-start-broken-sg* rolling-start rolling-start-broken-lod0-jg rolling-start-idle-ja + ((rolling-start-broken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) (deftype rolling-start (process-drawable) ((whole-look lod-set :inline :offset-assert 176) @@ -970,58 +857,22 @@ ) :code (behavior ((arg0 symbol)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (lods-assign! (-> self draw) (-> self broken-look)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if arg0 (deactivate self) @@ -1049,23 +900,11 @@ :code (behavior () (lods-assign! (-> self draw) (-> self whole-look)) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1202,7 +1041,7 @@ (the-as (function none :behavior gorge-abort) gorge-trans) :code (behavior () - (while #t + (loop (suspend) (if (gorge-behind self) (send-event (ppointer->process (-> self parent)) 'aborted) @@ -1225,7 +1064,7 @@ (the-as (function none :behavior gorge-finish) gorge-trans) :code (behavior () - (while #t + (loop (suspend) (if (gorge-in-front self) (send-event (ppointer->process (-> self parent)) 'finished) @@ -1628,7 +1467,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) - (while #t + (loop (seconds->race-time (-> self this-time) (- (-> *display* game-frame-counter) (-> self state-time))) (seekl! (-> self timer-pos-offset) 0 (the int (* 5.0 (-> *display* time-adjust-ratio)))) (completed? (-> self ticker)) @@ -1647,7 +1486,7 @@ (the-as (function none :behavior gorge-start) gorge-trans) :code (behavior () - (while #t + (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) (when (= (-> self timer-pos-offset) 100) @@ -1691,7 +1530,7 @@ ) :code (behavior () - (while #t + (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) (when (= (-> self timer-pos-offset) 100) diff --git a/goal_src/levels/rolling/rolling-race-ring.gc b/goal_src/levels/rolling/rolling-race-ring.gc index 6e6b5cd9f5..e3703a84f6 100644 --- a/goal_src/levels/rolling/rolling-race-ring.gc +++ b/goal_src/levels/rolling/rolling-race-ring.gc @@ -574,13 +574,10 @@ (none) ) -(defskelgroup *race-ring-sg* race-ring - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *race-ring-sg* race-ring race-ring-lod0-jg race-ring-race-ring-idle-ja + ((race-ring-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defun first-ring? ((arg0 race-ring)) (not (-> arg0 alt-actor)) @@ -865,7 +862,7 @@ ) :code (behavior () - (while #t + (loop (suspend) (cond ((first-ring? self) @@ -1038,7 +1035,7 @@ (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) - (while #t + (loop (suspend) (when (= (get-task-status (the-as game-task (-> self alt-task))) (task-status invalid)) (close-specific-task! (-> self entity extra perm task) (task-status need-hint)) @@ -1065,7 +1062,7 @@ (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/rolling/rolling-robber.gc b/goal_src/levels/rolling/rolling-robber.gc index 10a518fbc2..fec58c2b8a 100644 --- a/goal_src/levels/rolling/rolling-robber.gc +++ b/goal_src/levels/rolling/rolling-robber.gc @@ -13,9 +13,7 @@ :code (behavior ((arg0 handle) (arg1 float) (arg2 float)) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) + (ja :group! (-> self draw art-group data 2)) (if *target* (process-grab? *target*) ) @@ -25,7 +23,7 @@ (set! (-> *camera-other-trans* quad) (-> *math-camera* trans quad)) (set! (-> *camera-other-root* quad) (-> *math-camera* trans quad)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (dotimes (v1-14 (the int (-> *display* time-adjust-ratio))) (set! arg2 (* 0.95 arg2)) ) @@ -56,12 +54,9 @@ (forward-down->inv-matrix *camera-other-matrix* s4-0 (new 'static 'vector :y -1.0 :w 1.0)) ) (set! *camera-look-through-other* 2) - (set-letterbox-frames (seconds 0.033333335)) + (set-letterbox-frames (seconds 0.035)) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) 0.5) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.5)) ) (none) ) @@ -116,14 +111,11 @@ ) -(defskelgroup *robber-sg* robber - 0 - 10 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *robber-sg* robber robber-lod0-jg robber-idle-hover-ja + ((robber-lod0-mg (meters 20)) (robber-lod1-mg (meters 40)) (robber-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow robber-shadow-mg + ) (defbehavior robber-event-handler robber ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 @@ -302,33 +294,8 @@ (defstate robber-debug (robber) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((a1-1 (new 'stack-no-clear 'vector))) @@ -350,11 +317,7 @@ (robber-rotate (the-as target #f) 1820.4445) (robber-find-ground) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -431,25 +394,13 @@ ) ) (when gp-0 - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 4096.0 8192.0 122880.0 122880.0 #f) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -485,22 +436,12 @@ ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (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)) ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (robber-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (loop + (ja :num! (loop! (robber-calc-anim-speed))) (if (< 27.306667 (fabs (-> self speed))) (set! (-> self speed) (* 0.95 (-> self speed))) ) @@ -539,47 +480,25 @@ ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (robber-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + (loop + (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)) ) + (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) (when (>= (- (-> *display* base-frame-counter) (-> self last-ambient-time)) (-> self time-to-next-ambient)) - (ja-channel-push! 1 60) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self last-ambient-time) (-> *display* base-frame-counter)) (let* ((f30-0 300.0) @@ -637,47 +556,25 @@ ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (robber-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + (loop + (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)) ) + (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) (when (>= (- (-> *display* base-frame-counter) (-> self last-ambient-time)) (-> self time-to-next-ambient)) - (ja-channel-push! 1 60) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self last-ambient-time) (-> *display* base-frame-counter)) (let* ((f30-0 300.0) @@ -719,24 +616,12 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -782,26 +667,14 @@ ) (set! (-> self speed) f0-1) ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 2.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 2048.0 2048.0 #t) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 2.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) ) (go robber-flee) ) @@ -831,24 +704,12 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/snow/ice-cube.gc b/goal_src/levels/snow/ice-cube.gc index 8ded5323b2..cad525f7b0 100644 --- a/goal_src/levels/snow/ice-cube.gc +++ b/goal_src/levels/snow/ice-cube.gc @@ -7,13 +7,10 @@ ;; DECOMP BEGINS -(defskelgroup *ice-cube-break-sg* ice-cube-break - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *ice-cube-break-sg* ice-cube-break ice-cube-break-lod0-jg -1 + ((ice-cube-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) (deftype ice-cube (nav-enemy) ((part2 sparticle-launch-control :offset-assert 400) @@ -57,14 +54,11 @@ ) -(defskelgroup *ice-cube-sg* ice-cube - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3 0 3.6) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *ice-cube-sg* ice-cube ice-cube-lod0-jg -1 + ((ice-cube-lod0-mg (meters 20)) (ice-cube-lod1-mg (meters 40)) (ice-cube-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3 0 3.6) + :shadow ice-cube-shadow-mg + ) (define *ice-cube-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 5 @@ -852,25 +846,13 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -890,23 +872,11 @@ (vector<-cspace! gp-0 (-> self node-list data 25)) (spawn (-> self part4) gp-0) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ice-cube-appear-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go ice-cube-become-mean) @@ -952,7 +922,7 @@ ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -1006,16 +976,8 @@ :code (behavior () (local-vars (gp-0 symbol)) - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (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) (let ((f30-0 (-> self collide-info transv y))) (integrate-for-enemy-with-move-to-ground! @@ -1038,13 +1000,9 @@ (set! gp-0 (dummy-60 self (not v1-27))) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (let ((s5-0 (and (>= 0.0 (-> self collide-info transv y)) (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) @@ -1076,22 +1034,10 @@ (vector<-cspace! gp-1 (-> self node-list data 25)) (spawn (-> self part4) gp-1) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-appear-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ice-cube-become-mean) (none) @@ -1112,28 +1058,16 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-0 #f)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-extend-spikes-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 8.0)) (set! gp-0 #t) (dummy-58 self) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go ice-cube-mean-turn-to-charge) @@ -1185,16 +1119,8 @@ :code (behavior () (local-vars (gp-0 symbol)) - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! ice-cube-turn-on-player-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (-> self collide-info transv y))) (integrate-for-enemy-with-move-to-ground! @@ -1217,13 +1143,9 @@ (set! gp-0 (dummy-60 self (not v1-27))) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (let ((s5-0 (and (>= 0.0 (-> self collide-info transv y)) (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) @@ -1255,22 +1177,10 @@ (vector<-cspace! gp-1 (-> self node-list data 25)) (spawn (-> self part4) gp-1) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-turn-on-player-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ice-cube-mean-charge) (none) @@ -1432,52 +1342,19 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! ice-cube-invuln-run-ja :num! min) (until (-> self slow-down?) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) - (ja-channel-push! 2 21) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self anim-blend)) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-chan - ) - ) - (while #t + (ja-channel-push! 2 (seconds 0.07)) + (ja :group! ice-cube-invuln-stopping-upright-ja :num! min) + (ja :chan 1 :group! ice-cube-invuln-stopping-ja :num! (chan 0) :frame-interp (-> self anim-blend)) + (loop (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) (-> self anim-blend)) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self anim-blend)) ) (none) ) @@ -1504,28 +1381,16 @@ (behavior () (dummy-58 self) (nav-enemy-neck-control-inactive) - (ja-channel-push! 1 21) + (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 #f)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-retract-spikes-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 3.0)) (set! gp-0 #t) (dummy-57 self) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go ice-cube-tired) @@ -1565,42 +1430,18 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! ice-cube-breathing-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/snow/snow-ball.gc b/goal_src/levels/snow/snow-ball.gc index 5c2a303c2b..547bbe8285 100644 --- a/goal_src/levels/snow/snow-ball.gc +++ b/goal_src/levels/snow/snow-ball.gc @@ -93,22 +93,16 @@ ) -(defskelgroup *snow-ball-sg* snow-ball - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *snow-ball-sg* snow-ball snow-ball-lod0-jg snow-ball-idle-ja + ((snow-ball-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) -(defskelgroup *snow-ball-shadow-sg* snow-ball - 3 - -1 - ((4 (meters 999999))) - :bounds (static-spherem 0 -1.5 0 2) - :longest-edge (meters 0) - :shadow 5 - ) +(defskelgroup *snow-ball-shadow-sg* snow-ball snow-ball-shadow-lod0-jg -1 + ((snow-ball-shadow-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -1.5 0 2) + :shadow snow-ball-shadow-shadow-mg + ) (define *snow-ball-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -133,7 +127,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -152,14 +146,7 @@ (vector-identity! (-> self root scale)) (initialize-skeleton self *snow-ball-shadow-sg* '()) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! snow-ball-shadow-idle-ja :num! min) (set! (-> self draw shadow-ctrl) *snow-ball-shadow-control*) (go snow-ball-shadow-idle) (none) @@ -444,7 +431,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -587,7 +574,7 @@ (let ((s4-0 0) (s5-0 (new 'stack-no-clear 'inline-array 'snow-ball-junction 4)) ) - (while #t + (loop (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) diff --git a/goal_src/levels/snow/snow-bumper.gc b/goal_src/levels/snow/snow-bumper.gc index b670be8b7a..a02d4210f0 100644 --- a/goal_src/levels/snow/snow-bumper.gc +++ b/goal_src/levels/snow/snow-bumper.gc @@ -37,13 +37,10 @@ ) -(defskelgroup *snow-bumper-sg* snow-bumper - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.2 0 3.4) - :longest-edge (meters 0) - ) +(defskelgroup *snow-bumper-sg* snow-bumper snow-bumper-lod0-jg -1 + ((snow-bumper-lod0-mg (meters 20)) (snow-bumper-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.2 0 3.4) + ) (defpartgroup group-snow-bumper-idle :id 519 @@ -176,7 +173,7 @@ (behavior () (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -238,7 +235,7 @@ (behavior () (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -260,46 +257,22 @@ (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) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 0.05) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! snow-bumper-button-ja :num! (seek! max 0.05) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part) (-> self root trans)) (update! (-> self sound)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 0.05) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.05)) ) (stop! (-> self sound)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (suspend) ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 0.02) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! snow-bumper-collapse-ja :num! (seek! max 0.02) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 0.02) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.02)) ) (process-entity-status! self (entity-perm-status complete) #t) (set! sv-16 (the-as symbol #f)) @@ -319,16 +292,7 @@ :code (behavior () (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - ) + (ja :group! snow-bumper-collapse-ja :num! max) (transform-post) (if (not (task-complete? *game-info* (-> self entity extra perm task))) (birth-pickup-at-point @@ -353,16 +317,7 @@ (behavior () (set! (-> self root nav-radius) 6963.2) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - ) + (ja :group! snow-bumper-collapse-ja :num! max) (transform-post) (suspend) (logior! (-> self mask) (process-mask sleep-code)) diff --git a/goal_src/levels/snow/snow-bunny.gc b/goal_src/levels/snow/snow-bunny.gc index 408b55a444..8186bbe214 100644 --- a/goal_src/levels/snow/snow-bunny.gc +++ b/goal_src/levels/snow/snow-bunny.gc @@ -45,14 +45,11 @@ (define-extern *snow-bunny* (pointer snow-bunny)) -(defskelgroup *snow-bunny-sg* snow-bunny - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0.25 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *snow-bunny-sg* snow-bunny snow-bunny-lod0-jg snow-bunny-idle-ja + ((snow-bunny-lod0-mg (meters 20)) (snow-bunny-lod1-mg (meters 40)) (snow-bunny-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0.25 0 2) + :shadow snow-bunny-shadow-mg + ) (define *snow-bunny-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 5 @@ -345,34 +342,16 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-identity + (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)))) ) - (set! (-> gp-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t + (loop (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -468,35 +447,17 @@ ) (set! (-> self patrol-hop-failed?) #f) (let ((gp-2 (min gp-0 (nav-enemy-rnd-int-count 3)))) - (ja-channel-push! 1 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-identity + (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)))) ) - (set! (-> s5-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) - (while #t + (loop (let ((s5-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s5-1) (seconds 2.52)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (cond @@ -716,35 +677,19 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (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 + ) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 8.0 0) f30-0)) ) (until (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) f30-0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) (+! (-> self collide-info transv y) (* -546119.7 (-> *display* seconds-per-frame))) (integrate-for-enemy-with-move-to-ground! (-> self collide-info) @@ -763,29 +708,15 @@ ) (suspend) ) - (ja-channel-push! 1 22) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self notice-land-anim)))) - (set! (-> a0-18 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self notice-land-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data (-> self notice-land-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! + (-> self draw art-group data (-> self notice-land-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -1248,32 +1179,12 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1315,29 +1226,11 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self attack-anim)))) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self attack-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self attack-anim))) - num-func-seek! - ) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (until (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) (suspend) diff --git a/goal_src/levels/snow/snow-flutflut-obs.gc b/goal_src/levels/snow/snow-flutflut-obs.gc index 4115656a3e..37b40bfd6d 100644 --- a/goal_src/levels/snow/snow-flutflut-obs.gc +++ b/goal_src/levels/snow/snow-flutflut-obs.gc @@ -66,37 +66,25 @@ ) -(defskelgroup *flutflut-plat-small-sg* flutflut-plat-small - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-plat-small-sg* flutflut-plat-small flutflut-plat-small-lod0-jg flutflut-plat-small-idle-ja + ((flutflut-plat-small-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 4) + ) -(defskelgroup *flutflut-plat-med-sg* flutflut-plat-med - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -1 0 6.75) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-plat-med-sg* flutflut-plat-med flutflut-plat-med-lod0-jg flutflut-plat-med-idle-ja + ((flutflut-plat-med-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 6.75) + ) -(defskelgroup *flutflut-plat-large-sg* flutflut-plat-large - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-plat-large-sg* flutflut-plat-large flutflut-plat-large-lod0-jg flutflut-plat-large-idle-ja + ((flutflut-plat-large-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 9) + ) -(defskelgroup *snow-button-sg* snow-button - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.3) - :longest-edge (meters 0) - ) +(defskelgroup *snow-button-sg* snow-button snow-button-lod0-jg -1 + ((snow-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.3) + ) (defpartgroup group-flutflut-plat-small :id 516 @@ -275,14 +263,7 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -342,22 +323,10 @@ :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 -1524 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -394,22 +363,10 @@ (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.6)) (suspend) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go snow-button-up-idle) (none) diff --git a/goal_src/levels/snow/snow-obs.gc b/goal_src/levels/snow/snow-obs.gc index b62b3f4984..37f10dce14 100644 --- a/goal_src/levels/snow/snow-obs.gc +++ b/goal_src/levels/snow/snow-obs.gc @@ -17,13 +17,10 @@ ) -(defskelgroup *snowcam-sg* snowcam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *snowcam-sg* snowcam snowcam-lod0-jg -1 + ((snowcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defmethod set-stack-size! snowcam ((obj snowcam)) (stack-size-set! (-> obj main-thread) 512) @@ -37,56 +34,20 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.2) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.2) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.2) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 0.25) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! max 0.2)) ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 0.25) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek! max 0.25)) ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4.5)) @@ -126,40 +87,16 @@ ) ) ((= v1-0 2) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process (-> self notify-handle)) 'notify 'cut) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else @@ -190,13 +127,10 @@ ) -(defskelgroup *snow-eggtop-sg* snow-eggtop - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *snow-eggtop-sg* snow-eggtop snow-eggtop-lod0-jg snow-eggtop-idle-ja + ((snow-eggtop-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defpartgroup group-snow-yellow-eco-room-open :id 510 @@ -386,16 +320,9 @@ :code (behavior () (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -486,25 +413,13 @@ ) (change-sound! (-> self sound) (static-sound-name "snw-eggtop-seq")) (save-reminder (get-task-control (-> self entity extra perm task)) 2 4) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (-> self play-sound?) (update! (-> self sound)) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (level-hint-spawn (game-text-id snowy-turned-on-yellow-vents) @@ -527,7 +442,7 @@ ) ) (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) - (while #t + (loop (if (-> self play-sound?) (update! (-> self sound)) ) @@ -549,16 +464,7 @@ ) ) (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 2) :num! max) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -638,13 +544,10 @@ ) -(defskelgroup *snowpusher-sg* snowpusher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *snowpusher-sg* snowpusher snowpusher-lod0-jg snowpusher-idle-ja + ((snowpusher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defstate snowpusher-idle (snowpusher) :event @@ -660,12 +563,9 @@ :code (behavior () (let ((gp-0 #f)) - (while #t + (loop (let ((f0-0 (get-current-phase-with-mirror (-> self sync)))) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 num-func) num-func-identity) - (set! (-> v1-4 frame-num) (* f0-0 (-> self max-frame))) - ) + (ja :num-func num-func-identity :frame-num (* f0-0 (-> self max-frame))) (cond ((or (= f0-0 0.0) (= f0-0 1.0)) (set! gp-0 #f) @@ -768,13 +668,11 @@ ) -(defskelgroup *snow-spatula-sg* snow-spatula - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 10) - :longest-edge (meters 9.4) - ) +(defskelgroup *snow-spatula-sg* snow-spatula snow-spatula-lod0-jg snow-spatula-idle-ja + ((snow-spatula-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 10) + :longest-edge (meters 9.4) + ) (defstate snow-spatula-idle (snow-spatula) :event @@ -794,7 +692,7 @@ (let ((f28-0 0.0) (gp-0 1) ) - (while #t + (loop (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) (when (!= f30-0 f28-0) (let ((v1-3 1)) @@ -897,13 +795,11 @@ ) -(defskelgroup *snow-fort-gate-sg* snow-fort-gate - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 15 0 24) - :longest-edge (meters 12.8) - ) +(defskelgroup *snow-fort-gate-sg* snow-fort-gate snow-fort-gate-lod0-jg -1 + ((snow-fort-gate-lod0-mg (meters 999999))) + :bounds (static-spherem 0 15 0 24) + :longest-edge (meters 12.8) + ) (defpartgroup group-snow-fort-gate-coming-down :id 512 @@ -1106,18 +1002,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self closed-trans quad)) (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1140,7 +1029,7 @@ :code (behavior () (let ((gp-0 #f)) - (while #t + (loop (let ((a1-0 (new 'stack-no-clear 'vector))) (set! (-> a1-0 quad) (-> self closed-trans quad)) (set! (-> a1-0 y) (+ -12288.0 (-> a1-0 y))) @@ -1188,19 +1077,12 @@ (defstate snow-fort-gate-idle-open (snow-fort-gate) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self open-trans quad)) (transform-post) (suspend) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1301,13 +1183,11 @@ ) -(defskelgroup *snow-gears-sg* snow-gears - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 60) - :longest-edge (meters 12.1) - ) +(defskelgroup *snow-gears-sg* snow-gears snow-gears-lod0-jg snow-gears-idle-ja + ((snow-gears-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 60) + :longest-edge (meters 12.1) + ) (defpartgroup group-snow-gears-dripping :id 515 @@ -1402,16 +1282,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (ja-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1428,50 +1301,19 @@ :code (behavior () (sound-play-by-name (static-sound-name "eng-start-up") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.85) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 0.85) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.35) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek! max 0.85)) ) + (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)) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 0.35) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.35)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2)) (update! (-> self sound)) (suspend) @@ -1496,42 +1338,18 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.35) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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)) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.35) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.35)) ) (stop! (-> self sound)) (sound-play-by-name (static-sound-name "eng-shut-down") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 0.85) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 0.85) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.85)) ) (go snow-gears-stopped) (none) @@ -1545,7 +1363,7 @@ (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1583,13 +1401,10 @@ ) -(defskelgroup *snow-switch-sg* snow-switch - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *snow-switch-sg* snow-switch snow-switch-lod0-jg snow-switch-idle-ja + ((snow-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (defbehavior snow-switch-event-handler snow-switch ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) @@ -1623,7 +1438,7 @@ snow-switch-event-handler :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1677,7 +1492,7 @@ ) 0 (let ((gp-2 #f)) - (while #t + (loop (let ((s5-1 (new 'stack-no-clear 'vector)) (f0-1 (+ -1433.6 (-> self orig-trans y))) ) @@ -1715,7 +1530,7 @@ (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) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1804,13 +1619,10 @@ ) -(defskelgroup *snow-log-sg* snow-log - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 5 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *snow-log-sg* snow-log snow-log-lod0-jg -1 + ((snow-log-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5 0 9) + ) (defstate snow-log-wait-for-master (snow-log) :event @@ -1823,7 +1635,7 @@ ) :code (behavior () - (while #t + (loop (while (let ((v1-0 (-> self master))) (not (if v1-0 (-> v1-0 extra process) @@ -1876,14 +1688,7 @@ :code (behavior () (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -1913,15 +1718,7 @@ (activate! *camera-smush-control* 819.2 37 150 1.0 0.99) (ja-channel-push! 1 0) (let ((gp-0 #f)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-frame-num 0) 5.0)) (set! gp-0 #t) @@ -1929,11 +1726,7 @@ (sound-play-by-name (static-sound-name "snow-spat-short") (new-sound-id) 1024 381 0 1 #t) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go snow-log-active) @@ -1951,20 +1744,12 @@ (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (logclear! (-> self draw status) (draw-status hidden)) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-0 #t) (s5-0 #t) ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.25) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (cond @@ -1997,11 +1782,7 @@ ) ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 0.25) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.25)) ) ) ) @@ -2097,7 +1878,7 @@ snow-log-button-event-handler :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -2119,7 +1900,7 @@ :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 0 0 1 #t) - (while #t + (loop (let ((f30-0 (+ -1433.6 (-> self orig-trans y)))) (when (= (-> self root-override trans y) f30-0) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) @@ -2164,7 +1945,7 @@ (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) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) diff --git a/goal_src/levels/snow/snow-ram-boss.gc b/goal_src/levels/snow/snow-ram-boss.gc index bb629eedfe..96faf43913 100644 --- a/goal_src/levels/snow/snow-ram-boss.gc +++ b/goal_src/levels/snow/snow-ram-boss.gc @@ -72,13 +72,11 @@ ) -(defskelgroup *ram-boss-sg* ram-boss - 0 - 13 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 4.4) - :longest-edge (meters 1.2) - ) +(defskelgroup *ram-boss-sg* ram-boss ram-boss-lod0-jg ram-boss-far-idle-ja + ((ram-boss-lod0-mg (meters 20)) (ram-boss-lod1-mg (meters 40)) (ram-boss-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 4.4) + :longest-edge (meters 1.2) + ) (define *ram-boss-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 13 @@ -658,7 +656,7 @@ (set! (-> self charge-sound-id) (sound-play-by-name (static-sound-name "ramboss-charge") (new-sound-id) 1024 0 0 1 #t) ) - (while #t + (loop (let ((gp-1 (-> self parent-override))) (when (-> gp-1 0 dead?) (set! (-> gp-1 0 proj-stoked) #f) @@ -1376,7 +1374,7 @@ :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) - (while #t + (loop (clone-anim-once (ppointer->handle (-> self parent-override)) (the-as int (-> self draw origin-joint-index)) @@ -1460,16 +1458,8 @@ ) :code (behavior ((arg0 basic)) - (ja-channel-push! 1 240) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (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) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-! gp-0 (target-pos 0) (-> self collide-info trans)) @@ -1477,13 +1467,9 @@ (seek-toward-heading-vec! (-> self collide-info) gp-0 182044.44 (seconds 0.01)) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -1499,22 +1485,10 @@ (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) (go ram-boss-nav-start) @@ -1600,7 +1574,7 @@ ((-> (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 90) + (ja-channel-push! 1 (seconds 0.3)) (none) ) :trans @@ -1784,118 +1758,45 @@ :code (behavior () (let ((f30-0 -1.0)) - (while #t + (loop (set! f30-0 (dummy-57 self f30-0)) (cond ((< 5461.3335 (-> self last-turn-speed)) (cond ((-> self has-shield?) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) f30-0) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 22)) - num-func-chan - ) - ) + (when (not (ja-group? (-> self draw art-group data 7))) + (ja-channel-push! 2 (seconds 0.2)) + (ja :group! (-> self draw art-group data 7) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 22) :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 20) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 20)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 20))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 20) :num! min) ) ) ) ) ((-> self has-shield?) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 2 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) - (let ((a0-20 (-> self skel root-channel 1))) - (set! (-> a0-20 frame-interp) f30-0) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - (set! (-> a0-20 param 0) 0.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim (-> self draw art-group data 21)) - num-func-chan - ) - ) + (when (not (ja-group? (-> self draw art-group data 6))) + (ja-channel-push! 2 (seconds 0.2)) + (ja :group! (-> self draw art-group data 6) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 21) :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 24) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 24)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 24))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 24) :num! min) ) ) ) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-loop!) - ) - (when (= (ja-group-size) 2) - (let ((a0-28 (-> self skel root-channel 1))) - (set! (-> a0-28 frame-interp) f30-0) - (set! (-> a0-28 param 0) 0.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (loop!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp f30-0) ) - ) ) ) (none) @@ -1919,23 +1820,11 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ram-boss-tracking) (none) @@ -1959,23 +1848,11 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ram-boss-tracking) (none) @@ -2006,34 +1883,16 @@ :code (behavior () (set! (-> self frustration) 0) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-attack) @@ -2077,44 +1936,20 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (cond ((-> self has-shield?) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 23)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 23)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2155,27 +1990,15 @@ (vector+! gp-0 (-> self collide-info trans) gp-0) (set! (-> self nav target-pos quad) (-> gp-0 quad)) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-1 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-1 (-> self node-list data 32)) (spawn (-> self part) gp-1) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ram-boss-tracking) (none) @@ -2215,7 +2038,7 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) diff --git a/goal_src/levels/snow/snow-ram.gc b/goal_src/levels/snow/snow-ram.gc index 01c780d737..d398021f23 100644 --- a/goal_src/levels/snow/snow-ram.gc +++ b/goal_src/levels/snow/snow-ram.gc @@ -7,13 +7,11 @@ ;; DECOMP BEGINS -(defskelgroup *ram-sg* ram - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 5 0 8.5) - :longest-edge (meters 7.7) - ) +(defskelgroup *ram-sg* ram ram-lod0-jg ram-cock-ja + ((ram-lod0-mg (meters 20)) (ram-lod1-mg (meters 40)) (ram-lod2-mg (meters 999999))) + :bounds (static-spherem 0 5 0 8.5) + :longest-edge (meters 7.7) + ) (defpartgroup group-ram-hit-wall :id 526 @@ -227,38 +225,18 @@ :code (behavior () (local-vars (sv-16 symbol)) - (ja-channel-push! 1 22) - (while #t + (ja-channel-push! 1 (seconds 0.075)) + (loop (sound-play-by-name (static-sound-name "set-ram") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-1 #f)) (sound-play-by-name (static-sound-name "slam-crash") (new-sound-id) 1024 0 0 1 #t) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (ja-aframe-num 0))) (when (and (not gp-1) (>= f30-0 61.0)) @@ -270,11 +248,7 @@ ) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (logior! (-> self mask) (process-mask actor-pause)) @@ -321,14 +295,7 @@ (go ram-give-fuel-cell) ) (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 6) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -358,14 +325,7 @@ (behavior () (set! (-> self give-fuel-cell?) #f) (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 6) :num! min) (transform-post) (when (and (not (task-complete? *game-info* (-> self entity extra perm task))) (-> self give-fuel-cell-anim)) (logclear! (-> self mask) (process-mask actor-pause)) diff --git a/goal_src/levels/snow/target-ice.gc b/goal_src/levels/snow/target-ice.gc index 92d6aee3b1..a60c77a6c3 100644 --- a/goal_src/levels/snow/target-ice.gc +++ b/goal_src/levels/snow/target-ice.gc @@ -63,207 +63,79 @@ :code (behavior () (let ((gp-0 60)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond ((or (= v1-2 (-> self draw art-group data 34)) (= v1-2 (-> self draw art-group data 38))) (set! gp-0 21) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 71) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 72))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 72)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 72)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 71)) + (ja-no-eval :group! (-> self draw art-group data 72) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) + ((ja-group? (-> self draw art-group data 51)) (cond ((rand-vu-percent? 0.3) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 53)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 53) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 52)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 52) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 79))) - (set! (-> a0-29 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 79)) data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) 0.0) - (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 79)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 78)) + (ja-no-eval :group! (-> self draw art-group data 79) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 84) - ) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 85))) - (set! (-> a0-36 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 85)) data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 85)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 84)) + (ja-no-eval :group! (-> self draw art-group data 85) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! gp-0 0) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) + ((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*) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - ) - (set! (-> s5-0 param 0) (the float (+ (-> (the-as art-joint-anim (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (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 ) - num-func-seek! - ) - ) (until (ja-done? 0) (seek! (-> self control unknown-float81) 0.0 (-> *display* seconds-per-frame)) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (rot->dir-targ! (-> self control)) ) - ((let ((v1-188 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-188 (ja-group))) (or (= v1-188 (-> self draw art-group data 31)) (= v1-188 (-> self draw art-group data 32))) ) - (ja-channel-push! 1 12) - (let ((a0-61 (-> self skel root-channel 0))) - (set! (-> a0-61 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - (set! (-> a0-61 param 0) 0.0) - (set! (-> a0-61 param 1) 1.2) - (set! (-> a0-61 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-61 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! 0.0 1.2) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 param 0) 0.0) - (set! (-> a0-62 param 1) 1.2) - (joint-control-channel-group-eval! a0-62 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 1.2)) ) (set! gp-0 60) ) @@ -271,44 +143,25 @@ ) (while (< 16384.0 (-> self control unknown-float01)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 103) - ) + ((ja-group? (-> self draw art-group data 103)) ) (else - (ja-channel-push! 1 gp-0) + (ja-channel-push! 1 (the-as time-frame gp-0)) (set! gp-0 150) - (let ((v1-219 (-> self skel root-channel 0))) - (set! (-> v1-219 frame-group) (the-as art-joint-anim (-> self draw art-group data 103))) - ) + (ja :group! (-> self draw art-group data 103)) ) ) (suspend) - (let ((a0-72 (-> self skel root-channel 0))) - (set! (-> a0-72 param 0) 1.0) - (joint-control-channel-group-eval! a0-72 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 104) - ) - ) - (ja-channel-push! 1 gp-0) - (let ((v1-233 (-> self skel root-channel 0))) - (set! (-> v1-233 frame-group) (the-as art-joint-anim (-> self draw art-group data 104))) - ) + (when (not (ja-group? (-> self draw art-group data 104))) + (ja-channel-push! 1 (the-as time-frame gp-0)) + (ja :group! (-> self draw art-group data 104)) ) ) - (while #t + (loop (suspend) - (let ((a0-81 (-> self skel root-channel 0))) - (set! (-> a0-81 param 0) 1.0) - (joint-control-channel-group-eval! a0-81 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -356,10 +209,7 @@ (remove-exit) (go target-duck-stance) ) - (when (and (not (move-legs?)) (let ((gp-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (when (and (not (move-legs?)) (let ((gp-0 (ja-group)) (f0-1 (ja-aframe-num 0)) ) (if (and (= gp-0 (-> self draw art-group data 102)) (>= f0-1 30.0) (>= 35.0 f0-1)) @@ -403,110 +253,57 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) + ((ja-group? (-> self draw art-group data 23)) (let ((f30-0 (ja-aframe-num 0))) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 102)) - num-func-identity - ) - (set! (-> gp-0 frame-num) f30-0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 102) :num! (identity f30-0)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 102) - ) + ((ja-group? (-> self draw art-group data 102)) ) (else - (let ((v1-18 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-18 (ja-group))) (cond ((or (= v1-18 (-> self draw art-group data 60)) (= v1-18 (-> self draw art-group data 61))) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (while (< (ja-aframe-num 0) 42.0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 102)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 34.0 0)) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) + ((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*) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 60))) - (set! (-> gp-2 param 0) (ja-aframe 42.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 60)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek! (ja-aframe 42.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 42.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 42.0 0))) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) - (ja-channel-push! 1 30) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 102)) - num-func-identity - ) - (set! (-> gp-4 frame-num) (ja-aframe 34.0 0)) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) (else - (ja-channel-push! 1 15) - (let ((v1-74 (-> self skel root-channel 0))) - (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 102))) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 102)) ) ) ) ) ) - (while #t + (loop (suspend) (let* ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self control unknown-vector01) 1.0)) (gp-6 (vector-float*! @@ -516,21 +313,20 @@ ) ) (f0-18 (fmax -1.0 (fmin 1.0 (vector-dot s5-0 gp-6)))) - (gp-7 (-> self skel root-channel 0)) ) - (set! (-> gp-7 param 0) (cond - ((< f0-18 0.0) - (lerp-scale 2.0 1.0 f0-18 -1.0 0.5) - ) - ((< 0.5 f0-18) - (lerp-scale 1.0 0.75 f0-18 0.5 1.0) - ) - (else - (lerp-scale 1.33 1.0 f0-18 0.0 0.5) - ) - ) - ) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! (cond + ((< f0-18 0.0) + (lerp-scale 2.0 1.0 f0-18 -1.0 0.5) + ) + ((< 0.5 f0-18) + (lerp-scale 1.0 0.75 f0-18 0.5 1.0) + ) + (else + (lerp-scale 1.33 1.0 f0-18 0.0 0.5) + ) + ) + ) + ) ) ) (none) diff --git a/goal_src/levels/snow/target-snowball.gc b/goal_src/levels/snow/target-snowball.gc index 2a77c26627..a644c542eb 100644 --- a/goal_src/levels/snow/target-snowball.gc +++ b/goal_src/levels/snow/target-snowball.gc @@ -109,14 +109,7 @@ (move-by-vector! (-> self control) (new 'static 'vector :y 4096.0 :w 1.0)) (logior! (-> self control root-prim prim-core action) (collide-action ca-12)) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 5) :num! min) (remove-exit) (go target-snowball) (none) @@ -132,7 +125,7 @@ (-> target-snowball-start exit) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/snow/yeti.gc b/goal_src/levels/snow/yeti.gc index d50f50435c..f70a51fe76 100644 --- a/goal_src/levels/snow/yeti.gc +++ b/goal_src/levels/snow/yeti.gc @@ -51,13 +51,11 @@ ) -(defskelgroup *yeti-sg* yeti - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0.75 0 3.9) - :longest-edge (meters 1.3) - ) +(defskelgroup *yeti-sg* yeti yeti-lod0-jg -1 + ((yeti-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0.75 0 3.9) + :longest-edge (meters 1.3) + ) (define *yeti-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 2 @@ -256,25 +254,13 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -288,23 +274,11 @@ yeti-slave-default-event-handler :code (behavior () - (ja-channel-push! 1 15) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 0.5) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.5) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go-virtual nav-enemy-chase) @@ -336,104 +310,46 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + ((ja-group? yeti-give-up-hop-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! yeti-walk-ja :num! (seek!) :frame-num (ja-aframe 12.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) - (while #t - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! yeti-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (nav-enemy-rnd-percent? 0.2) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (let ((gp-1 (nav-enemy-rnd-int-range 2 6))) (dotimes (s5-0 gp-1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! yeti-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) + (ja-no-eval :group! yeti-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -447,61 +363,29 @@ (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 11) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 51) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-7 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + ((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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) + (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) ) ) - (while #t + (loop (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -517,89 +401,41 @@ (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yeti-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! yeti-turn-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 0.75) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 2) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? yeti-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! yeti-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-percent? 0.3) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yeti-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) ) @@ -614,7 +450,7 @@ (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -623,36 +459,16 @@ ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! yeti-give-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! yeti-give-up-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -661,11 +477,7 @@ (-> self turn-time) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -676,33 +488,17 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! (ja-aframe 32.0 0) 0.5) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.5)) ) (go-virtual nav-enemy-chase) (none) @@ -852,7 +648,7 @@ (defstate yeti-first-time-start (yeti) :code (behavior () - (while #t + (loop (when *target* (when (>= (-> self first-time-spawn-dist) (vector-vector-xz-distance (target-pos 0) (-> self root trans))) (process-entity-status! self (entity-perm-status complete) #t) @@ -905,7 +701,7 @@ (defstate yeti-idle (yeti) :code (behavior () - (while #t + (loop (cond ((zero? (-> self spawn-delay)) (let ((v1-1 0)) diff --git a/goal_src/levels/sunken/bully.gc b/goal_src/levels/sunken/bully.gc index 7571180698..887b43aa15 100644 --- a/goal_src/levels/sunken/bully.gc +++ b/goal_src/levels/sunken/bully.gc @@ -59,22 +59,16 @@ ) -(defskelgroup *bully-sg* bully - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1.5 0 3) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *bully-sg* bully bully-lod0-jg bully-idle-ja + ((bully-lod0-mg (meters 20)) (bully-lod1-mg (meters 40)) (bully-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 3) + :shadow bully-shadow-mg + ) -(defskelgroup *bully-broken-cage-sg* bully - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *bully-broken-cage-sg* bully bully-broken-cage-lod0-jg -1 + ((bully-broken-cage-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6) + ) (define *bully-shadow-control* (new 'static 'shadow-control :settings (new 'static 'shadow-settings @@ -243,22 +237,10 @@ :code (behavior () (ja-channel-push! 1 0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! bully-broken-cage-explode-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -554,47 +536,17 @@ ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 22) - (cond - (arg0 - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity + (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)))) ) - (set! (-> gp-1 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) + (ja :group! bully-idle-ja :num! min) ) - (else - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) - ) - ) - (while #t + (loop (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -623,29 +575,15 @@ :code (behavior () (set! (-> self travel-speed) 0.0) - (ja-channel-push! 1 22) + (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) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-1 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! bully-notice-jump-up-ja :num! (seek! (ja-aframe 13.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 13.0 0))) ) (until (logtest? (-> self root-override status) (cshape-moving-flags onsurf)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (+! (-> self root-override transv y) (* -545996.8 (-> *display* seconds-per-frame))) (integrate-for-enemy-with-move-to-ground! (-> self root-override) @@ -665,22 +603,10 @@ ) (suspend) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! bully-notice-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go bully-start-spinning) (none) @@ -753,42 +679,19 @@ :code (behavior () (local-vars (v1-34 symbol) (v1-52 symbol)) - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bully-start-spin-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self bounced?) #f) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bully-spin-ja :num! min) + (loop (until v1-34 (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-34 (or (ja-done? 0) (-> self bounced?))) ) (when (-> self bounced?) @@ -803,35 +706,17 @@ ) (until (not (-> self bounced?)) (set! (-> self bounced?) #f) - (ja-channel-push! 1 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bully-idle-bounced-ja :num! min) (until v1-52 (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-52 (or (ja-done? 0) (-> self bounced?))) ) ) - (ja-channel-push! 1 60) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) + (ja-channel-push! 1 (seconds 0.2)) ) + (ja :group! bully-spin-ja :num! min) ) (none) ) @@ -869,38 +754,20 @@ (behavior () (local-vars (v1-17 symbol) (v1-35 symbol)) (let ((gp-0 2)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self reaction-delay)) (cond ((>= gp-0 0) (+! gp-0 -1) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) + (ja :group! bully-dizzy-ja :num! min) ) (else - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s5-1 frame-num) 0.0) - ) + (ja :group! bully-idle-ja :num! min) ) ) (until v1-17 (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-17 (or (ja-done? 0) (-> self bounced?))) ) (when (-> self bounced?) @@ -916,26 +783,15 @@ (set! gp-0 0) (until (not (-> self bounced?)) (set! (-> self bounced?) #f) - (ja-channel-push! 1 60) - (let ((s5-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> s5-3 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bully-idle-bounced-ja :num! min) (until v1-35 (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-35 (or (ja-done? 0) (-> self bounced?))) ) ) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) ) @@ -970,23 +826,11 @@ (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) - (ja-channel-push! 1 22) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! bully-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (increment-success-for-hint (game-text-id sunken-bully-dive-hint)) (logior! (-> self draw status) (draw-status hidden)) diff --git a/goal_src/levels/sunken/double-lurker.gc b/goal_src/levels/sunken/double-lurker.gc index 82d3abb477..05f4f4292c 100644 --- a/goal_src/levels/sunken/double-lurker.gc +++ b/goal_src/levels/sunken/double-lurker.gc @@ -53,23 +53,25 @@ ) -(defskelgroup *double-lurker-sg* double-lurker - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 4.5) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *double-lurker-sg* double-lurker double-lurker-lod0-jg double-lurker-both-idle-ja + ((double-lurker-lod0-mg (meters 20)) + (double-lurker-lod1-mg (meters 40)) + (double-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 4.5) + :longest-edge (meters 1) + :shadow double-lurker-shadow-mg + ) -(defskelgroup *double-lurker-top-sg* double-lurker-top - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0.5 0 4.5) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *double-lurker-top-sg* double-lurker-top double-lurker-top-lod0-jg -1 + ((double-lurker-top-lod0-mg (meters 20)) + (double-lurker-top-lod1-mg (meters 40)) + (double-lurker-top-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0.5 0 4.5) + :longest-edge (meters 1) + :shadow double-lurker-top-shadow-mg + ) (define *double-lurker-top-nav-enemy-info* (new 'static 'nav-enemy-info :idle-anim 12 @@ -261,7 +263,7 @@ ) :code (behavior () - (while #t + (loop (clone-anim-once (ppointer->handle (-> self parent-process)) (the-as int (-> self draw origin-joint-index)) @@ -279,23 +281,11 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -336,16 +326,8 @@ (set! (-> self nav extra-nav-sphere w) 9011.2) (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (ja-channel-push! 1 30) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (vector-lerp! (-> self collide-info trans) @@ -354,11 +336,7 @@ (fmin 1.0 (/ (ja-frame-num 0) (ja-aframe 44.0 0))) ) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (logior! (-> self collide-info nav-flags) (nav-flags navf0)) @@ -401,16 +379,9 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -536,14 +507,7 @@ (cond (arg2 (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! double-lurker-both-idle-ja :num! min) (transform-post) (let ((v1-13 (-> self draw shadow-ctrl))) (logior! (-> v1-13 settings flags) (shadow-flags shdf05)) @@ -553,14 +517,7 @@ ) (else (ja-channel-set! 1) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja :group! double-lurker-idle-ja :num! min) (transform-post) (move-to-ground (-> self collide-info) 40960.0 40960.0 #t (collide-kind background)) (dummy-51 self) @@ -706,16 +663,9 @@ double-lurker-default-event-handler :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -921,23 +871,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go double-lurker-resume) (none) @@ -1072,22 +1010,10 @@ double-lurker-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go double-lurker-resume) (none) @@ -1234,23 +1160,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go double-lurker-resume) (none) diff --git a/goal_src/levels/sunken/floating-launcher.gc b/goal_src/levels/sunken/floating-launcher.gc index b01199409b..4ba305a0dd 100644 --- a/goal_src/levels/sunken/floating-launcher.gc +++ b/goal_src/levels/sunken/floating-launcher.gc @@ -23,13 +23,10 @@ ) -(defskelgroup *floating-launcher-sg* floating-launcher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *floating-launcher-sg* floating-launcher floating-launcher-lod0-jg floating-launcher-idle-ja + ((floating-launcher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) (defstate floating-launcher-idle (floating-launcher) :event @@ -54,7 +51,7 @@ (suspend) (transform-post) (suspend) - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/sunken/helix-water.gc b/goal_src/levels/sunken/helix-water.gc index 7c609ae8b4..f9f460923a 100644 --- a/goal_src/levels/sunken/helix-water.gc +++ b/goal_src/levels/sunken/helix-water.gc @@ -29,13 +29,10 @@ ) -(defskelgroup *helix-slide-door-sg* helix-slide-door - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 12 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *helix-slide-door-sg* helix-slide-door helix-slide-door-lod0-jg helix-slide-door-idle-ja + ((helix-slide-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 18) + ) (deftype helix-button (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -59,13 +56,10 @@ ) -(defskelgroup *helix-button-sg* helix-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.5 0 5.4) - :longest-edge (meters 0) - ) +(defskelgroup *helix-button-sg* helix-button helix-button-lod0-jg helix-button-idle-ja + ((helix-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 5.4) + ) (deftype helix-dark-eco (dark-eco-pool) () @@ -161,7 +155,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -171,22 +165,10 @@ (defstate helix-slide-door-close (helix-slide-door) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (transform-post) (go helix-slide-door-idle-closed) @@ -199,7 +181,7 @@ (defstate helix-slide-door-idle-closed (helix-slide-door) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -295,7 +277,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -553,7 +535,7 @@ (defstate helix-button-idle-down (helix-button) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -672,7 +654,7 @@ (set! (-> self transv-y) 9216.0) (suspend) (send-event (ppointer->process (-> self dark-eco)) 'move-to (-> self root trans)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -728,7 +710,7 @@ :code (behavior () (send-event (ppointer->process (-> self dark-eco)) 'trigger) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) diff --git a/goal_src/levels/sunken/orbit-plat.gc b/goal_src/levels/sunken/orbit-plat.gc index 6f2f8d3495..c789eee04a 100644 --- a/goal_src/levels/sunken/orbit-plat.gc +++ b/goal_src/levels/sunken/orbit-plat.gc @@ -26,13 +26,10 @@ ) -(defskelgroup *orbit-plat-bottom-sg* orbit-plat-bottom - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.8) - :longest-edge (meters 0) - ) +(defskelgroup *orbit-plat-bottom-sg* orbit-plat-bottom orbit-plat-bottom-lod0-jg orbit-plat-bottom-idle-ja + ((orbit-plat-bottom-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.8) + ) (deftype orbit-plat (baseplat) ((other entity-actor :offset-assert 228) @@ -62,13 +59,10 @@ ) -(defskelgroup *orbit-plat-sg* orbit-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.4) - :longest-edge (meters 0) - ) +(defskelgroup *orbit-plat-sg* orbit-plat orbit-plat-lod0-jg orbit-plat-idle-ja + ((orbit-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.4) + ) (defpartgroup group-orbit-plat-jet :id 440 @@ -174,7 +168,7 @@ (defstate orbit-plat-bottom-idle (orbit-plat-bottom) :code (behavior () - (while #t + (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))) (spawn (-> self part2) (-> self root trans)) @@ -275,14 +269,7 @@ (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 107) self)) (initialize-skeleton self *orbit-plat-bottom-sg* '()) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! orbit-plat-idle-ja :num! min) (go orbit-plat-bottom-idle) (none) ) @@ -330,23 +317,15 @@ :code (behavior () (set! (-> self plat-status) (the-as uint 0)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (dotimes (gp-0 2) (transform-post) (suspend) - (when (not (ja-done? 0)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) - (while #t + (loop (when (nonzero? (-> self root-override riders num-riders)) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) self) @@ -366,13 +345,9 @@ (go orbit-plat-riding) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) (when (not (-> self is-reset?)) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-4 from) self) @@ -438,11 +413,7 @@ (behavior () (set! (-> self plat-status) (the-as uint 0)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (until (dummy-28 self) (when (nonzero? (-> self root-override riders num-riders)) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) @@ -463,13 +434,9 @@ (go orbit-plat-riding) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) (go orbit-plat-idle) (none) @@ -486,12 +453,8 @@ :code (behavior () (set! (-> self plat-status) (the-as uint 1)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (while #t + (ja-no-eval :num! (seek!)) + (loop (when (zero? (-> self root-override riders num-riders)) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -511,13 +474,9 @@ (go orbit-plat-still) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek!)) ) - ) ) (none) ) @@ -602,11 +561,7 @@ (vector-! a0-0 (-> self basetrans) gp-0) (let ((f30-0 (vector-length a0-0))) (set! (-> self reset-length) f30-0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (label cfg-3) (dotimes (s4-0 2) (get-rotate-point! s5-0 gp-0 (-> self basetrans) (the-as vector f30-0) (-> self rot-dir) 40960.0) @@ -621,13 +576,9 @@ ) (label cfg-9) (suspend) - (when (not (ja-done? 0)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) (b! #t cfg-3 :delay (nop!)) (none) ) @@ -806,11 +757,7 @@ (behavior () (set! (-> self plat-status) (the-as uint 3)) (logclear! (-> self nav flags) (nav-control-flags navcf19)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (while (zero? (logand (nav-control-flags navcf19) (-> self nav flags))) (dummy-27 self) (when (nonzero? (-> self root-override riders num-riders)) @@ -832,13 +779,9 @@ (go orbit-plat-riding) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) (set! (-> self is-reset?) #t) (go orbit-plat-idle) @@ -852,12 +795,8 @@ :code (behavior () (set! (-> self plat-status) (the-as uint 0)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (while #t + (ja-no-eval :num! (seek! 0.0)) + (loop (let ((v1-3 (-> self other))) (when (if v1-3 (-> v1-3 extra process) @@ -867,13 +806,9 @@ ) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) (none) ) diff --git a/goal_src/levels/sunken/puffer.gc b/goal_src/levels/sunken/puffer.gc index 434dfcbdaa..30144fffbd 100644 --- a/goal_src/levels/sunken/puffer.gc +++ b/goal_src/levels/sunken/puffer.gc @@ -71,23 +71,19 @@ ) -(defskelgroup *puffer-sg* puffer - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 5.25) - :longest-edge (meters 1.2) - :shadow 4 - ) +(defskelgroup *puffer-sg* puffer puffer-main-lod0-jg -1 + ((puffer-main-lod0-mg (meters 20)) (puffer-main-lod1-mg (meters 40)) (puffer-main-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 5.25) + :longest-edge (meters 1.2) + :shadow puffer-main-shadow-mg + ) -(defskelgroup *puffer-mean-sg* puffer - 5 - -1 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 1 0 5.25) - :longest-edge (meters 1.2) - :shadow 4 - ) +(defskelgroup *puffer-mean-sg* puffer puffer-mean-lod0-jg -1 + ((puffer-mean-lod0-mg (meters 20)) (puffer-mean-lod1-mg (meters 40)) (puffer-mean-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 5.25) + :longest-edge (meters 1.2) + :shadow puffer-main-shadow-mg + ) ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 56] (defbehavior puffer-default-event-handler puffer ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -587,7 +583,7 @@ ) :code (behavior () - (while #t + (loop (if (and (and *target* (>= (-> self fact-info-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -673,7 +669,7 @@ ) :code (behavior () - (while #t + (loop (dummy-26 self) (suspend) ) @@ -727,7 +723,7 @@ ) :code (behavior () - (while #t + (loop (dummy-26 self) (suspend) ) @@ -762,24 +758,12 @@ (cleanup-for-death self) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self root-override)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! puffer-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -892,7 +876,7 @@ ) (cond ((-> obj attacking?) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-0 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-0 @@ -934,7 +918,7 @@ ) (cond ((not (-> obj attacking?)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-1 @@ -976,7 +960,7 @@ ) (cond ((ja-done? 0) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (cond ((-> obj attacking?) (let ((s5-2 (-> obj skel root-channel 0))) @@ -1015,7 +999,7 @@ ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-4 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-4 @@ -1039,7 +1023,7 @@ ) (cond ((-> obj attacking?) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-5 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-5 @@ -1081,7 +1065,7 @@ ) (cond ((not (-> obj attacking?)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-6 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-6 @@ -1123,7 +1107,7 @@ ) (cond ((ja-done? 0) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-7 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-7 @@ -1148,7 +1132,7 @@ ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-8 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-8 diff --git a/goal_src/levels/sunken/qbert-plat.gc b/goal_src/levels/sunken/qbert-plat.gc index 83815f130a..d9e35a0dce 100644 --- a/goal_src/levels/sunken/qbert-plat.gc +++ b/goal_src/levels/sunken/qbert-plat.gc @@ -19,13 +19,10 @@ ) -(defskelgroup *qbert-plat-on-sg* qbert-plat-on - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -2 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *qbert-plat-on-sg* qbert-plat-on qbert-plat-on-lod0-jg qbert-plat-on-idle-ja + ((qbert-plat-on-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -2 0 4.5) + ) (deftype qbert-plat (rigid-body-platform) ((anchor-point vector :inline :offset-assert 736) @@ -46,13 +43,10 @@ ) -(defskelgroup *qbert-plat-sg* qbert-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -2 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *qbert-plat-sg* qbert-plat qbert-plat-lod0-jg qbert-plat-idle-ja + ((qbert-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -2 0 4.5) + ) (define *qbert-plat-constants* (new 'static 'rigid-body-platform-constants :drag-factor 2.0 @@ -120,7 +114,7 @@ :code (behavior () (set-vector! (-> self draw color-emissive) 0.0 0.0 1.0 0.0) - (while #t + (loop (let ((gp-0 (-> self parent))) (set! (-> self root-overlay trans quad) (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay trans quad) @@ -159,14 +153,7 @@ (initialize-skeleton self *qbert-plat-on-sg* '()) (logior! (-> self skel status) (janim-status inited)) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! qbert-plat-idle-ja :num! min) (go qbert-plat-on-mimic) (none) ) @@ -238,7 +225,7 @@ (defstate qbert-plat-wait-for-master (qbert-plat) :code (behavior () - (while #t + (loop (let ((v1-0 (-> self master))) (when (if v1-0 (-> v1-0 extra process) @@ -263,7 +250,7 @@ qbert-plat-event-handler :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -444,7 +431,7 @@ ) :code (behavior () - (while #t + (loop (when (not (-> self puzzle-beaten?)) (when (task-complete? *game-info* (game-task sunken-platforms)) (set! (-> self puzzle-beaten?) #t) @@ -766,7 +753,7 @@ (defstate qbert-plat-master-wait-for-door (qbert-plat-master) :code (behavior () - (while #t + (loop (let* ((v1-0 (-> self door)) (gp-0 (if v1-0 (-> v1-0 extra process) diff --git a/goal_src/levels/sunken/shover.gc b/goal_src/levels/sunken/shover.gc index cd96b1077d..ccc82ecfed 100644 --- a/goal_src/levels/sunken/shover.gc +++ b/goal_src/levels/sunken/shover.gc @@ -24,13 +24,10 @@ ) -(defskelgroup *shover-sg* shover - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *shover-sg* shover shover-lod0-jg shover-idle-ja + ((shover-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (defstate shover-idle (shover) :event diff --git a/goal_src/levels/sunken/square-platform.gc b/goal_src/levels/sunken/square-platform.gc index 761589f0d3..9246ccc8d5 100644 --- a/goal_src/levels/sunken/square-platform.gc +++ b/goal_src/levels/sunken/square-platform.gc @@ -38,13 +38,10 @@ ) -(defskelgroup *square-platform-sg* square-platform - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -11 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *square-platform-sg* square-platform square-platform-lod0-jg square-platform-idle-ja + ((square-platform-lod0-mg (meters 20)) (square-platform-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -11 0 8) + ) (deftype square-platform-button (basebutton) () @@ -286,7 +283,7 @@ :code (behavior () (set! (-> self pos-u) 0.0) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -332,7 +329,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -362,7 +359,7 @@ :code (behavior () (set! (-> self pos-u) 1.0) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -414,7 +411,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -687,7 +684,7 @@ (a0-5 (-> self plat-id-dir)) (a1-3 (-> self plat-mask)) ) - (while #t + (loop (+! v1-20 a0-5) (cond ((<= v1-20 0) diff --git a/goal_src/levels/sunken/steam-cap.gc b/goal_src/levels/sunken/steam-cap.gc index 1363cbd493..02a6f23ab9 100644 --- a/goal_src/levels/sunken/steam-cap.gc +++ b/goal_src/levels/sunken/steam-cap.gc @@ -424,13 +424,10 @@ ) ) -(defskelgroup *steam-cap-sg* steam-cap - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *steam-cap-sg* steam-cap steam-cap-lod0-jg steam-cap-idle-ja + ((steam-cap-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (defmethod dummy-20 steam-cap ((obj steam-cap)) (with-pp @@ -671,7 +668,7 @@ (the-as (function none :behavior steam-cap) rider-trans) :code (behavior () - (while #t + (loop (dummy-20 self) (dummy-21 self) (suspend) diff --git a/goal_src/levels/sunken/sun-exit-chamber.gc b/goal_src/levels/sunken/sun-exit-chamber.gc index 9af2244a5b..c684ffa7ab 100644 --- a/goal_src/levels/sunken/sun-exit-chamber.gc +++ b/goal_src/levels/sunken/sun-exit-chamber.gc @@ -31,13 +31,10 @@ ) -(defskelgroup *blue-eco-charger-orb-sg* blue-eco-charger-orb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1.1) - :longest-edge (meters 0) - ) +(defskelgroup *blue-eco-charger-orb-sg* blue-eco-charger-orb blue-eco-charger-orb-lod0-jg blue-eco-charger-orb-idle-ja + ((blue-eco-charger-orb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1.1) + ) (deftype blue-eco-charger (process-drawable) ((root-override collide-shape :offset 112) @@ -62,13 +59,10 @@ ) -(defskelgroup *blue-eco-charger-sg* blue-eco-charger - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1.9 0 2.7) - :longest-edge (meters 0) - ) +(defskelgroup *blue-eco-charger-sg* blue-eco-charger blue-eco-charger-lod0-jg blue-eco-charger-open-ja + ((blue-eco-charger-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.9 0 2.7) + ) (deftype exit-chamber-items (structure) ((door-pos vector :inline :offset-assert 0) @@ -118,13 +112,10 @@ ) -(defskelgroup *exit-chamber-sg* exit-chamber - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 4 0 16.5) - :longest-edge (meters 0) - ) +(defskelgroup *exit-chamber-sg* exit-chamber exit-chamber-lod0-jg exit-chamber-idle-ja + ((exit-chamber-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 16.5) + ) (defpartgroup group-exit-chamber-ripples :id 620 @@ -209,7 +200,7 @@ :code (behavior () (set! (-> self root trans quad) (-> self rest-pos quad)) - (while #t + (loop (let ((f0-0 (-> self parent-process 0 open-level))) (if (< 0.0 f0-0) (go blue-eco-charger-orb-active) @@ -234,7 +225,7 @@ (init-vf0-vector) (dummy-20 self (-> self parent-process 0 open-level)) (vector-reset! (-> self orbit-rotv)) - (while #t + (loop (let ((f30-0 (-> self parent-process 0 open-level))) (if (>= 0.0 f30-0) (go blue-eco-charger-orb-idle) @@ -317,14 +308,7 @@ (set! (-> self rest-pos quad) (-> self root trans quad)) (initialize-skeleton self *blue-eco-charger-orb-sg* '()) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (set-vector! (-> self orbit-rot) 0.0 0.0 0.0 1.0) (go blue-eco-charger-orb-idle) (none) @@ -371,15 +355,8 @@ (behavior () (set! (-> self open-level) 0.0) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (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))) @@ -435,33 +412,13 @@ ) :code (behavior ((arg0 symbol)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - (set! (-> self open-level) - (/ (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) + (ja :num! (seek!)) + (set! (-> self open-level) (/ (ja-frame-num 0) (the float (+ (-> (ja-group) data 0 length) -1)))) ) - (while #t + (loop (cond ((zero? (get-reminder (get-task-control (game-task sunken-room)) 0)) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 20)) @@ -495,7 +452,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -511,11 +468,7 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (while (not (ja-done? 0)) (when (dummy-20 self) (increment-success-for-hint (game-text-id sunken-blue-eco-charger-hint)) @@ -526,24 +479,8 @@ ) (update! (-> self sound)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.0) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) - (set! (-> self open-level) - (/ (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) + (ja :num! (seek! 0.0)) + (set! (-> self open-level) (/ (ja-frame-num 0) (the float (+ (-> (ja-group) data 0 length) -1)))) ) (dummy-21 self #f) (go blue-eco-charger-idle) @@ -779,7 +716,7 @@ ) :code (behavior () - (while #t + (loop (if (>= 214228270000.0 (vector-vector-distance-squared (camera-pos) (-> self root-override trans))) (logclear! (-> self draw status) (draw-status hidden)) (logior! (-> self draw status) (draw-status hidden)) @@ -863,7 +800,7 @@ (if (-> self button) (send-event (ppointer->process (-> self button)) 'untrigger) ) - (while #t + (loop (if (>= 214228270000.0 (vector-vector-distance-squared (camera-pos) (-> self root-override trans))) (logclear! (-> self draw status) (draw-status hidden)) (logior! (-> self draw status) (draw-status hidden)) @@ -926,80 +863,36 @@ (suspend) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-1 #f)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.75)) (-> self door)) (set! gp-1 #t) (send-event (ppointer->process (-> self door)) 'untrigger) ) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (set! (-> self move-player?) #t) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (load-state-want-levels 'sunken 'village2) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (dummy-24 self 51200.0) (update-trans! (-> self sound) (-> self last-pos)) (update! (-> self sound)) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (stop! (-> self sound)) (load-state-want-display-level 'village2 'display) (load-state-want-display-level 'sunken 'special) (let ((gp-2 #f)) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-32 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-32 param 1) 1.0) - (set! (-> a0-32 frame-num) 0.0) - (joint-control-channel-group! a0-32 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self wave-scale) 1.0 0.0016666667) (dummy-20 self (-> self wave-scale)) @@ -1019,11 +912,7 @@ ) ) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (kill-and-free-particles (-> self part)) @@ -1135,7 +1024,7 @@ (suspend) (logclear! (-> self draw status) (draw-status skip-bones)) ) - (while #t + (loop (dummy-20 self 1.0) (suspend) ) @@ -1201,15 +1090,7 @@ (let ((gp-1 #f) (s5-0 #f) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.25)) (-> self door)) (set! gp-1 #t) @@ -1228,54 +1109,26 @@ (spawn (-> self part) (-> self last-pos)) ) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (load-state-want-levels 'sunken 'sunkenb) (kill-and-free-particles (-> self part)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (dummy-24 self 47104.0) (update-trans! (-> self sound) (-> self last-pos)) (update! (-> self sound)) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (stop! (-> self sound)) (load-state-want-display-level 'sunkenb 'display) (load-state-want-vis 'sub) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self move-player?) #f) (if (-> self door) diff --git a/goal_src/levels/sunken/sun-iris-door.gc b/goal_src/levels/sunken/sun-iris-door.gc index 8ba2b1cedf..433da866a5 100644 --- a/goal_src/levels/sunken/sun-iris-door.gc +++ b/goal_src/levels/sunken/sun-iris-door.gc @@ -37,13 +37,10 @@ ) -(defskelgroup *sun-iris-door-sg* sun-iris-door - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *sun-iris-door-sg* sun-iris-door sun-iris-door-lod0-jg sun-iris-door-idle-ja + ((sun-iris-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.5) + ) (defmethod should-open? sun-iris-door ((obj sun-iris-door)) (let ((f30-0 1228800.0)) @@ -105,7 +102,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -140,18 +137,10 @@ :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ja-post) (go sun-iris-door-open) @@ -275,7 +264,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -310,18 +299,10 @@ :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (ja-post) (go sun-iris-door-closed) @@ -432,30 +413,10 @@ (set! (-> self proximity?) #f) (set! (-> self directional-proximity?) #f) (ja-channel-set! 1) - (cond - (arg2 - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> s5-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - ) + (if arg2 + (ja :group! sun-iris-door-idle-ja :num! max) + (ja :group! sun-iris-door-idle-ja :num! min) ) - (else - (let ((s5-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> s5-2 frame-num) 0.0) - ) - ) - ) (transform-post) (if arg2 (go sun-iris-door-open) diff --git a/goal_src/levels/sunken/sunken-fish.gc b/goal_src/levels/sunken/sunken-fish.gc index 2832a8d382..b13bd394aa 100644 --- a/goal_src/levels/sunken/sunken-fish.gc +++ b/goal_src/levels/sunken/sunken-fish.gc @@ -43,29 +43,20 @@ ) -(defskelgroup *sunkenfisha-red-yellow-sg* sunkenfisha - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 1.5 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sunkenfisha-red-yellow-sg* sunkenfisha sunkenfisha-red-yellow-lod0-jg -1 + ((sunkenfisha-red-yellow-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 2.5) + ) -(defskelgroup *sunkenfisha-yellow-blue-sg* sunkenfisha - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 1.5 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sunkenfisha-yellow-blue-sg* sunkenfisha sunkenfisha-yellow-blue-lod0-jg -1 + ((sunkenfisha-yellow-blue-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 2.5) + ) -(defskelgroup *sunkenfisha-yellow-eye-sg* sunkenfisha - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 1.5 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sunkenfisha-yellow-eye-sg* sunkenfisha sunkenfisha-yellow-eye-lod0-jg -1 + ((sunkenfisha-yellow-eye-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 2.5) + ) (defmethod dummy-22 sunkenfisha ((obj sunkenfisha)) 0 @@ -224,23 +215,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/sunken/sunken-obs.gc b/goal_src/levels/sunken/sunken-obs.gc index f736369537..6d7391a0ba 100644 --- a/goal_src/levels/sunken/sunken-obs.gc +++ b/goal_src/levels/sunken/sunken-obs.gc @@ -32,13 +32,10 @@ ) -(defskelgroup *side-to-side-plat-sg* side-to-side-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 0) - ) +(defskelgroup *side-to-side-plat-sg* side-to-side-plat side-to-side-plat-lod0-jg side-to-side-plat-idle-ja + ((side-to-side-plat-lod0-mg (meters 20)) (side-to-side-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + ) (defpartgroup group-side-to-side-plat :id 436 @@ -156,13 +153,10 @@ ) -(defskelgroup *sunkencam-sg* sunkencam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *sunkencam-sg* sunkencam sunkencam-lod0-jg -1 + ((sunkencam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defmethod set-stack-size! sunkencam ((obj sunkencam)) (stack-size-set! (-> obj main-thread) 512) @@ -181,150 +175,66 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-45 *screen-filter*)) (set! (-> v1-45 draw?) #t) (set! (-> v1-45 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.5)) (let ((gp-0 2)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-0 -1) (if (zero? gp-0) (set! (-> *screen-filter* draw?) #f) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (set-blackout-frames (seconds 0.1)) ) ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-116 *screen-filter*)) (set! (-> v1-116 draw?) #t) (set! (-> v1-116 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.1)) (let ((gp-1 2)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-1 -1) (if (zero? gp-1) (set! (-> *screen-filter* draw?) #f) ) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (let ((gp-2 *camera*)) @@ -338,39 +248,15 @@ ) ) ((= v1-0 2) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-36 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-39 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-39 param 1) 0.67) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! max 0.67) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 0.67) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.67)) ) (pov-camera-play-and-reposition (the-as art-joint-anim (-> self draw art-group data 18)) @@ -438,43 +324,24 @@ ) -(defskelgroup *seaweed-sg* seaweed - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 6 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *seaweed-sg* seaweed seaweed-lod0-jg -1 + ((seaweed-lod0-mg (meters 999999))) + :bounds (static-spherem 0 6 0 7) + ) (defstate seaweed-idle (seaweed) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! max (-> self anim-speed))) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) diff --git a/goal_src/levels/sunken/sunken-pipegame.gc b/goal_src/levels/sunken/sunken-pipegame.gc index 21bd588724..54e41b3048 100644 --- a/goal_src/levels/sunken/sunken-pipegame.gc +++ b/goal_src/levels/sunken/sunken-pipegame.gc @@ -556,7 +556,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/goal_src/levels/sunken/target-tube.gc b/goal_src/levels/sunken/target-tube.gc index 9f34caefe8..6e4a4a009d 100644 --- a/goal_src/levels/sunken/target-tube.gc +++ b/goal_src/levels/sunken/target-tube.gc @@ -590,14 +590,7 @@ ) (set-time-ratios *display* (the float gp-0)) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 105)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe (-> self tube turn-anim-frame) 0)) - ) + (ja :group! (-> self draw art-group data 105) :num! (identity (ja-aframe (-> self tube turn-anim-frame) 0))) 0 (none) ) @@ -630,35 +623,21 @@ ) :code (behavior () - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (case (ja-group) (((-> self draw art-group data 41) (-> self draw art-group data 38)) - (ja-channel-push! 1 12) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 106))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 106)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 106)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! (-> self draw art-group data 106) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self tube turn-anim-frame) 0.0) ) (else - (ja-channel-push! 1 12) + (ja-channel-push! 1 (seconds 0.04)) ) ) - (while #t + (loop (set! (-> self tube turn-anim-targ) (* 20.0 (-> self tube mod-x))) (target-tube-turn-anim) (suspend) @@ -700,15 +679,8 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 15) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 16.0 0)) - ) + (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) (f28-0 1.0) ) @@ -731,23 +703,10 @@ (suspend) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! (-> self draw art-group data 38) :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! (-> self draw art-group data 38) :num! (loop!)) ) (none) ) @@ -894,14 +853,8 @@ (copy-settings-from-target! *setting-control*) (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 76))) - (set! (-> gp-1 param 0) (ja-aframe 134.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 76)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 76) :num! (seek! (ja-aframe 134.0 0)) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (let ((gp-2 (new 'stack-no-clear 'vector))) @@ -911,11 +864,7 @@ ) ) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 134.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 134.0 0))) ) (set! (-> self control transv quad) (the-as uint128 0)) (initialize! (-> self game) 'dead (the-as game-save #f) (the-as string #f)) diff --git a/goal_src/levels/sunken/wall-plat.gc b/goal_src/levels/sunken/wall-plat.gc index 4e0b67b457..d1499f18e6 100644 --- a/goal_src/levels/sunken/wall-plat.gc +++ b/goal_src/levels/sunken/wall-plat.gc @@ -31,13 +31,10 @@ ) -(defskelgroup *wall-plat-sg* wall-plat - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 1 -2 0 6.5) - :longest-edge (meters 0) - ) +(defskelgroup *wall-plat-sg* wall-plat wall-plat-lod0-jg -1 + ((wall-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 1 -2 0 6.5) + ) (defstate wall-plat-retracted (wall-plat) :event @@ -54,7 +51,7 @@ (move-to-point! (-> self root-override) (-> self in-trans)) (transform-post) (clear-collide-with-as (-> self root-override)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -84,7 +81,7 @@ (behavior () (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (seek! (-> self extended-amount) 1.0 (* 2.5 (-> *display* seconds-per-frame))) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount)) @@ -115,7 +112,7 @@ (set! (-> self extended-amount) 1.0) (move-to-point! (-> self root-override) (-> self out-trans)) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -144,7 +141,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (seek! (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame))) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount)) @@ -187,7 +184,7 @@ :code (behavior () (let ((gp-0 #f)) - (while #t + (loop (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-lerp! s5-0 (-> self in-trans) (-> self out-trans) f30-0) diff --git a/goal_src/levels/sunken/wedge-plats.gc b/goal_src/levels/sunken/wedge-plats.gc index 72e7f5aeb7..0a31af7f79 100644 --- a/goal_src/levels/sunken/wedge-plats.gc +++ b/goal_src/levels/sunken/wedge-plats.gc @@ -30,7 +30,7 @@ (defstate wedge-plat-master-idle (wedge-plat-master) :code (behavior () - (while #t + (loop (set! (-> self rotate-inner) (the float (sar (shl (the int (+ (-> self rotate-inner) (* (-> self rotspeed) (-> *display* seconds-per-frame)))) 48) 48) @@ -78,13 +78,10 @@ ) -(defskelgroup *wedge-plat-sg* wedge-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *wedge-plat-sg* wedge-plat wedge-plat-lod0-jg wedge-plat-idle-ja + ((wedge-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) (defmethod dummy-27 wedge-plat ((obj wedge-plat)) (let* ((a0-1 (-> obj master)) @@ -134,11 +131,8 @@ (the-as (function none :behavior wedge-plat) plat-trans) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) - (while #t + (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) + (loop (if (dummy-27 self) (go wedge-plat-tip) ) @@ -170,62 +164,38 @@ (the-as (function none :behavior wedge-plat) plat-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 3))) - (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 60.0 0)) + :frame-num (ja-aframe 0.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! (ja-aframe 60.0 0))) ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 100.0 0)) + :frame-num (ja-aframe 60.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 100.0 0))) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe 100.0 0)) (dummy-27 self) (suspend) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 153.0 0)) + :frame-num (ja-aframe 100.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 153.0 0))) ) (go wedge-plat-idle) (none) @@ -282,13 +252,10 @@ ) -(defskelgroup *wedge-plat-outer-sg* wedge-plat-outer - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *wedge-plat-outer-sg* wedge-plat-outer wedge-plat-outer-lod0-jg wedge-plat-outer-idle-ja + ((wedge-plat-outer-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defmethod dummy-27 wedge-plat-outer ((obj wedge-plat-outer)) (let* ((a0-1 (-> obj master)) @@ -338,11 +305,8 @@ (the-as (function none :behavior wedge-plat-outer) plat-trans) :code (behavior () - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) + (loop + (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) (if (dummy-27 self) (go wedge-plat-outer-tip) ) @@ -373,62 +337,38 @@ (the-as (function none :behavior wedge-plat-outer) plat-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 3))) - (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 60.0 0)) + :frame-num (ja-aframe 0.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! (ja-aframe 60.0 0))) ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 100.0 0)) + :frame-num (ja-aframe 60.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 100.0 0))) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe 100.0 0)) (dummy-27 self) (suspend) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 153.0 0)) + :frame-num (ja-aframe 100.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 153.0 0))) ) (go wedge-plat-outer-idle) (none) diff --git a/goal_src/levels/sunken/whirlpool.gc b/goal_src/levels/sunken/whirlpool.gc index cdd3714538..569c6a6075 100644 --- a/goal_src/levels/sunken/whirlpool.gc +++ b/goal_src/levels/sunken/whirlpool.gc @@ -27,13 +27,10 @@ ) -(defskelgroup *whirlpool-sg* whirlpool - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0.6 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *whirlpool-sg* whirlpool whirlpool-lod0-jg whirlpool-idle-ja + ((whirlpool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0.6 0 3) + ) (defpartgroup group-whirlpool-swirl :id 447 diff --git a/goal_src/levels/swamp/billy.gc b/goal_src/levels/swamp/billy.gc index 5604eb1eda..fb0a1d8cfa 100644 --- a/goal_src/levels/swamp/billy.gc +++ b/goal_src/levels/swamp/billy.gc @@ -63,56 +63,22 @@ ) -(defskelgroup *farthy-snack-sg* farthy-snack - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *farthy-snack-sg* farthy-snack farthy-snack-lod0-jg farthy-snack-idle-ja + ((farthy-snack-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defstate billy-snack-eat (billy-snack) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-3 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja :group! farthy-snack-eat-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (deactivate self) - (while #t + (loop (suspend) ) (none) @@ -132,40 +98,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -242,43 +179,12 @@ (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 15) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-9 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 12)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) (logclear! (-> self nav flags) (nav-control-flags navcf19)) @@ -297,36 +203,18 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (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))) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-3 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) f30-0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -403,22 +291,17 @@ (none) ) -(defskelgroup *billy-sg* billy - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 1) - :shadow 2 - ) +(defskelgroup *billy-sg* billy billy-lod0-jg billy-idle-breath-ja + ((billy-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + :longest-edge (meters 1) + :shadow billy-shadow-mg + ) -(defskelgroup *billy-sidekick-sg* billy-sidekick - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *billy-sidekick-sg* billy-sidekick billy-sidekick-lod0-jg billy-sidekick-idle-ja + ((billy-sidekick-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defbehavior billy-kill-all-but-farthy billy () (let* ((gp-0 (the-as (pointer process-tree) (-> self child-override))) @@ -648,9 +531,7 @@ (lookup-text! *common-text* (game-text-id quit) #f) ) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (ja :group! (get-art-elem self)) (send-event *target* 'end-mode) (when (and (handle->process (-> self offending-rat)) (zero? (-> self num-snacks))) (send-event *camera* 'change-target (handle->process (-> self offending-rat))) @@ -1129,7 +1010,7 @@ ) :code (behavior () - (while #t + (loop (billy-game-update) (if (or (zero? (-> self num-snacks)) (and (zero? (-> self num-rats)) (-> self passed-last-stage)) @@ -1255,80 +1136,29 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) ) + (loop + (ja :group! (get-art-elem self)) (let* ((f30-0 5.0) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-43 self) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (when (ja-group? billy-idle-breath-ja) + (ja-no-eval :group! billy-idle-shoo-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/swamp/kermit.gc b/goal_src/levels/swamp/kermit.gc index 8db89c2a72..fb34f0a536 100644 --- a/goal_src/levels/swamp/kermit.gc +++ b/goal_src/levels/swamp/kermit.gc @@ -719,13 +719,11 @@ (none) ) -(defskelgroup *kermit-sg* kermit - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 -1 0 3) - :longest-edge (meters 2) - ) +(defskelgroup *kermit-sg* kermit kermit-lod0-jg kermit-idle-ja + ((kermit-lod0-mg (meters 20)) (kermit-lod1-mg (meters 40)) (kermit-lod2-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 3) + :longest-edge (meters 2) + ) (defbehavior kermit-enable-tongue kermit () (set! (-> self tongue-control enable) #t) @@ -824,15 +822,7 @@ ) (defbehavior kermit-short-hop kermit () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! kermit-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (if (>= f0-4 4.0) @@ -843,25 +833,13 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) (defbehavior kermit-long-hop kermit () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! kermit-longhop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (if (>= f0-4 7.0) @@ -872,17 +850,13 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) (defbehavior kermit-hop kermit ((arg0 float)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (set! (-> self rotate-speed) 1820444.5) (let ((f0-2 (fmin arg0 (vector-vector-distance (-> self collide-info trans) (-> self nav target-pos))))) (cond @@ -1006,19 +980,9 @@ nav-enemy-default-event-handler :code (behavior () (kermit-disable-tongue) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :group! kermit-idle-ja :num! min) + (loop + (ja :num! (loop!)) (suspend) ) (none) @@ -1062,23 +1026,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 3.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 3.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 3.0)) ) (kermit-hop 20480.0) ) @@ -1106,7 +1058,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (kermit-hop 0.0) (go kermit-chase) @@ -1183,27 +1135,15 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 4.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 4.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 4.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 4.0)) ) ) - (while #t + (loop (kermit-hop 81920.0) (nop!) ) @@ -1263,24 +1203,12 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 3.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.17)) + (loop + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 3.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 3.0)) ) (if (not (kermit-check-to-hit-player? 3640.889)) (kermit-hop 81920.0) @@ -1300,22 +1228,14 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-enable-tongue) (let ((s5-0 #f) (gp-0 #f) ) (let ((f30-0 1.0)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! kermit-lash-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self tongue-control target-pos quad) (-> (kermit-player-target-pos) quad)) (when (and (not s5-0) (>= (ja-aframe-num 0) 14.0)) @@ -1332,11 +1252,7 @@ nav-enemy-default-event-handler (seek! (-> self tongue-control forward-scale-control) f30-0 0.25) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (cond @@ -1430,17 +1346,9 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (loop + (ja-no-eval :group! kermit-turn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (sound-play-by-name (static-sound-name "kermit-stretch") @@ -1452,11 +1360,7 @@ nav-enemy-default-event-handler (the-as symbol (-> self collide-info trans)) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1503,47 +1407,23 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! kermit-miss-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (ja-aframe-num 0) 3.0) (seek! (-> self tongue-control forward-scale-control) 0.0 0.125) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-disable-tongue) - (while #t - (ja-channel-push! 1 30) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 4.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 4.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 4.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 4.0)) ) (kermit-hop 0.0) ) diff --git a/goal_src/levels/swamp/swamp-bat.gc b/goal_src/levels/swamp/swamp-bat.gc index 9dfa11465a..3d3c60adae 100644 --- a/goal_src/levels/swamp/swamp-bat.gc +++ b/goal_src/levels/swamp/swamp-bat.gc @@ -155,13 +155,10 @@ swamp-bat-slave-event-handler (swamp-bat-slave-post) ) -(defskelgroup *swamp-bat-slave-sg* swamp-bat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-bat-slave-sg* swamp-bat swamp-bat-lod0-jg swamp-bat-idle-ja + ((swamp-bat-lod0-mg (meters 20)) (swamp-bat-lod1-mg (meters 40)) (swamp-bat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + ) (defbehavior swamp-bat-slave-get-new-path swamp-bat-slave () (set! (-> self path-select) (-> self parent-process 0 path-select)) @@ -196,10 +193,8 @@ swamp-bat-slave-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) - (ja-channel-push! 1 49) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja-channel-push! 1 (seconds 0.165)) + (ja :group! swamp-bat-idle-ja) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> s5-0 quad) (-> self root-override trans quad)) (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override quat))) @@ -215,7 +210,7 @@ swamp-bat-slave-event-handler (s3-0 (the int (* f0-0 (/ 1.0 f1-0) (vector-vector-distance s5-0 (-> self idle-position))))) ) (forward-up->quaternion gp-0 s2-0 (new 'static 'vector :y 1.0 :w 1.0)) - (while #t + (loop (let ((v1-17 (- (-> *display* base-frame-counter) (-> self state-time)))) (when (>= v1-17 s3-0) 0 @@ -230,10 +225,7 @@ swamp-bat-slave-event-handler (quaternion-slerp! (-> self root-override quat) s4-0 gp-0 f30-1) ) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self idle-anim-speed))) (suspend) 0 ) @@ -247,7 +239,7 @@ swamp-bat-slave-event-handler (set! (-> self launch-ready) #t) (logior! (-> self mask) (process-mask actor-pause)) (let ((f30-2 0.0)) - (while #t + (loop (let ((f26-0 (cos f30-2)) (f28-0 (sin f30-2)) ) @@ -255,10 +247,7 @@ swamp-bat-slave-event-handler (vector+*! (-> self root-override trans) (-> self root-override trans) (-> self idle-path x-axis) f26-0) (vector+*! (-> self root-override trans) (-> self root-override trans) (-> self idle-path y-axis) f28-0) ) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self idle-anim-speed))) (suspend) (+! f30-2 (* 32768.0 (-> *display* seconds-per-frame) (-> self idle-anim-speed))) ) @@ -276,15 +265,13 @@ swamp-bat-slave-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (let ((s5-0 (new-stack-vector0))) (eval-path-curve-div! (-> self parent-process 0 path-list (-> self path-select)) s5-0 0.0 'interp) - (let ((v1-12 (-> self skel root-channel 0))) - (set! (-> v1-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) - (while #t + (ja :group! swamp-bat-idle-ja) + (loop (let ((s4-0 (- (-> *display* base-frame-counter) (-> self state-time)))) (if (>= s4-0 (seconds 0.3)) (go swamp-bat-slave-swoop) @@ -293,10 +280,7 @@ swamp-bat-slave-event-handler (vector-lerp! (-> self root-override trans) gp-0 s5-0 f0-1) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self idle-anim-speed))) (suspend) 0 ) @@ -314,39 +298,23 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self strafe-envelope) 0.0) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! swamp-bat-notice-ja :num! min) (until (ja-done? 0) (if (< (ja-aframe-num 0) 10.0) (sync-now! (-> self sync) 0.0) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self strafe-envelope) 20480.0) - (ja-channel-push! 1 30) - (let ((v1-18 (-> self skel root-channel 0))) - (set! (-> v1-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! swamp-bat-swoop-ja) + (loop (if (>= (dummy-20 self) 2.0) (go swamp-bat-slave-strafe) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) (none) @@ -361,18 +329,13 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self strafe-envelope) 20480.0) - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! swamp-bat-strafe-ja) + (loop (if (>= (dummy-20 self) 6.0) (go swamp-bat-slave-return) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) (none) @@ -387,14 +350,12 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self strafe-envelope) 0.0) - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! swamp-bat-strafe-ja) (let ((f30-0 (+ -1.0 (-> self path-point-count))) (gp-0 #t) ) - (while #t + (loop (let ((f28-0 (dummy-20 self))) (if (>= f28-0 f30-0) (go swamp-bat-slave-idle) @@ -407,10 +368,7 @@ swamp-bat-slave-event-handler ) ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -428,7 +386,7 @@ swamp-bat-slave-event-handler ) :code (behavior ((arg0 handle)) - (ja-channel-push! 1 21) + (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new-stack-vector0))) (let ((v1-1 (handle->process arg0))) (if v1-1 @@ -437,16 +395,10 @@ swamp-bat-slave-event-handler ) (set! (-> gp-0 y) (+ -6144.0 (-> gp-0 y))) (vector-normalize! gp-0 98304.0) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) + (ja :group! swamp-bat-die-ja) (until (ja-done? 0) (vector-v++! (-> self root-override trans) gp-0) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 0.5) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) (suspend) ) ) @@ -586,7 +538,7 @@ swamp-bat-slave-event-handler (process-entity-status! self (entity-perm-status dead) #t) (deactivate self) ) - (while #t + (loop (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) *target* (>= (-> self fact-override idle-distance) @@ -637,7 +589,7 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (swamp-bat-update-path) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (set! (-> self state-time) (-> *display* base-frame-counter)) diff --git a/goal_src/levels/swamp/swamp-obs.gc b/goal_src/levels/swamp/swamp-obs.gc index 17cb0b4202..98ab8dd220 100644 --- a/goal_src/levels/swamp/swamp-obs.gc +++ b/goal_src/levels/swamp/swamp-obs.gc @@ -146,13 +146,11 @@ ) -(defskelgroup *swamp-spike-sg* swamp-spike - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 5 0 6) - :longest-edge (meters 2.5) - ) +(defskelgroup *swamp-spike-sg* swamp-spike swamp-spike-lod0-jg swamp-spike-up-ja + ((swamp-spike-lod0-mg (meters 20)) (swamp-spike-lod1-mg (meters 999999))) + :bounds (static-spherem 0 5 0 6) + :longest-edge (meters 2.5) + ) (defbehavior swamp-spike-default-event-handler swamp-spike ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 @@ -204,16 +202,11 @@ (new 'stack-no-clear 'vector) (vector-z-quaternion! gp-0 (-> self root-override quat)) (set! (-> gp-0 w) (- (vector-dot gp-0 (-> self root-override trans)))) - (while #t + (loop (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-10 (-> self skel root-channel 0))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (until (>= (get-current-phase (-> self sync)) 0.5) - (let ((v1-13 (-> self skel root-channel 0))) - (set! (-> v1-13 num-func) num-func-identity) - (set! (-> v1-13 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (let ((s5-0 (or (not *target*) @@ -233,22 +226,10 @@ ) ) (else - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (logtest? (-> self draw status) (draw-status was-drawn)) (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) @@ -271,29 +252,14 @@ ) ) (set! (-> self dangerous) #t) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self dangerous) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-96 (-> self skel root-channel 0))) - (set! (-> v1-96 num-func) num-func-identity) - (set! (-> v1-96 frame-num) (the float (+ (-> v1-96 frame-group data 0 length) -1))) - ) + (ja :num-func num-func-identity :frame-num max) (until (< (get-current-phase (-> self sync)) 0.5) (suspend) ) @@ -317,22 +283,10 @@ ) ) ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-29 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) 0.0) - (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -361,14 +315,9 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja :group! (-> self draw art-group data 4)) (until (-> self open-gate) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) @@ -389,22 +338,10 @@ (-> gp-0 ppointer) ) ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go swamp-spike-gate-down) (none) @@ -511,13 +448,10 @@ ) -(defskelgroup *balance-plat-sg* balance-plat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *balance-plat-sg* balance-plat balance-plat-lod0-jg balance-plat-idle-ja + ((balance-plat-lod0-mg (meters 20)) (balance-plat-lod1-mg (meters 40)) (balance-plat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defstate balance-plat-idle (balance-plat) :event @@ -536,7 +470,7 @@ (the-as (function none :behavior balance-plat) rider-trans) :code (behavior () - (while #t + (loop (let ((f30-0 (* -0.025 (+ (-> self y-offset) (-> self y-travel)))) (f28-0 (* -0.025 (- (-> self y-offset) (-> self y-travel)))) ) @@ -710,13 +644,10 @@ ((sp-flt spt-fade-a -0.2)) ) -(defskelgroup *swamp-rock-sg* swamp-rock - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rock-sg* swamp-rock swamp-rock-lod0-jg swamp-rock-idle-ja + ((swamp-rock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (defstate swamp-rock-break (swamp-rock) :code @@ -754,7 +685,7 @@ :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -819,13 +750,10 @@ (none) ) -(defskelgroup *tar-plat-sg* tar-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *tar-plat-sg* tar-plat tar-plat-lod0-jg tar-plat-idle-ja + ((tar-plat-lod0-mg (meters 20)) (tar-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) (define *tar-plat-constants* (new 'static 'rigid-body-platform-constants :drag-factor 2.0 @@ -888,7 +816,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -926,15 +854,10 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t + (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) + (loop (suspend) ) (none) @@ -1011,13 +934,10 @@ ) -(defskelgroup *swampcam-sg* swampcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *swampcam-sg* swampcam swampcam-lod0-jg swampcam-anim-ja + ((swampcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) (deftype swamp-battlecontroller (battlecontroller) () diff --git a/goal_src/levels/swamp/swamp-rat-nest.gc b/goal_src/levels/swamp/swamp-rat-nest.gc index aceeb54a89..27e7968875 100644 --- a/goal_src/levels/swamp/swamp-rat-nest.gc +++ b/goal_src/levels/swamp/swamp-rat-nest.gc @@ -746,11 +746,8 @@ swamp-rat-nest-dummy-event-handler :code (behavior () - (while #t - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (the float (+ (-> v1-2 frame-group data 0 length) -1))) - ) + (loop + (ja :num-func num-func-identity :frame-num max) (suspend) ) (none) @@ -772,42 +769,13 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< (-> self parent-process 0 hit-points) 3) (spawn (-> self part) (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go swamp-rat-nest-dummy-idle) (none) @@ -821,39 +789,10 @@ swamp-rat-nest-dummy-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go swamp-rat-nest-dummy-idle) (none) @@ -1077,7 +1016,7 @@ swamp-rat-nest-default-event-handler :code (behavior () (swamp-rat-nest-check-dummy) - (while #t + (loop (suspend) ) (none) @@ -1118,7 +1057,7 @@ swamp-rat-nest-default-event-handler ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1149,7 +1088,7 @@ swamp-rat-nest-default-event-handler ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1232,29 +1171,20 @@ swamp-rat-nest-default-event-handler (none) ) -(defskelgroup *swamp-rat-nest-dummy-a-sg* swamp-rat-nest - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rat-nest-dummy-a-sg* swamp-rat-nest swamp-rat-nest-a-lod0-jg swamp-rat-nest-a-idle-ja + ((swamp-rat-nest-a-lod0-mg (meters 20)) (swamp-rat-nest-a-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) -(defskelgroup *swamp-rat-nest-dummy-b-sg* swamp-rat-nest - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rat-nest-dummy-b-sg* swamp-rat-nest swamp-rat-nest-b-lod0-jg swamp-rat-nest-b-idle-ja + ((swamp-rat-nest-b-lod0-mg (meters 20)) (swamp-rat-nest-b-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) -(defskelgroup *swamp-rat-nest-dummy-c-sg* swamp-rat-nest - 8 - 11 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rat-nest-dummy-c-sg* swamp-rat-nest swamp-rat-nest-c-lod0-jg swamp-rat-nest-c-idle-ja + ((swamp-rat-nest-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) (defmethod dummy-20 swamp-rat-nest-dummy-a ((obj swamp-rat-nest-dummy-a)) (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) diff --git a/goal_src/levels/swamp/swamp-rat.gc b/goal_src/levels/swamp/swamp-rat.gc index 5585ad6caa..bc47bba391 100644 --- a/goal_src/levels/swamp/swamp-rat.gc +++ b/goal_src/levels/swamp/swamp-rat.gc @@ -33,13 +33,11 @@ ) -(defskelgroup *swamp-rat-sg* swamp-rat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 4) - :longest-edge (meters 1) - ) +(defskelgroup *swamp-rat-sg* swamp-rat swamp-rat-lod0-jg swamp-rat-idle-ja + ((swamp-rat-lod0-mg (meters 20)) (swamp-rat-lod1-mg (meters 40)) (swamp-rat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 4) + :longest-edge (meters 1) + ) (defmethod dummy-44 swamp-rat ((obj swamp-rat) (arg0 process) (arg1 event-message-block)) (when ((method-of-type touching-shapes-entry prims-touching?) @@ -129,31 +127,15 @@ swamp-rat-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -167,32 +149,15 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! (ja-aframe 30.0 0))) ) + (ja-no-eval :num! (seek!)) (go-virtual nav-enemy-chase) (none) ) @@ -250,25 +215,15 @@ swamp-rat-default-event-handler (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) (set! (-> self chase-rest-time) (rand-vu-int-range (seconds 1) (seconds 4))) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.17)) + (ja :group! swamp-rat-run-ja :num! min) + (loop (when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) (seconds 1)) (set! (-> self wiggle-time) (-> *display* base-frame-counter)) (swamp-rat-update-wiggle-params) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -295,41 +250,23 @@ swamp-rat-default-event-handler :code (behavior () (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) (seconds 0.07333333)) + (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t + (loop (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! swamp-rat-celebrate-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :num! (loop!)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((gp-0 (rand-vu-int-range 300 600)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 num-func) num-func-identity) - (set! (-> v1-33 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (ja-blend-eval) (suspend) (suspend) @@ -347,35 +284,15 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! swamp-rat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -384,11 +301,7 @@ swamp-rat-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -401,23 +314,11 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-victory) (none) @@ -444,15 +345,8 @@ swamp-rat-default-event-handler (set! (-> gp-0 w) 1.0) (let ((f30-0 0.125)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - (while #t + (ja :group! swamp-rat-fall-ja :num! min) + (loop (set! f30-0 (seek f30-0 1.5 0.1)) (vector-v++! (-> self collide-info transv) gp-0) (integrate-for-enemy-with-move-to-ground! @@ -473,10 +367,7 @@ swamp-rat-default-event-handler (goto cfg-13) ) (vector-float*! (-> self collide-info scale) *identity-vector* f30-0) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -487,22 +378,10 @@ swamp-rat-default-event-handler ) (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (vector-float*! (-> self collide-info scale) *identity-vector* 1.5) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! swamp-rat-bounce-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (TODO-RENAME-46 self (-> self nav-info stop-chase-distance)) (go-virtual nav-enemy-chase) @@ -529,11 +408,11 @@ swamp-rat-default-event-handler :run-travel-speed (meters 7) :run-rotate-speed (degrees 7999.9995) :run-acceleration (meters 1) - :run-turn-time (seconds 0.07333333) + :run-turn-time (seconds 0.075) :walk-travel-speed (meters 2) :walk-rotate-speed (degrees 7999.9995) :walk-acceleration (meters 1) - :walk-turn-time (seconds 0.07333333) + :walk-turn-time (seconds 0.075) :attack-shove-back (meters 3) :attack-shove-up (meters 2) :shadow-size (meters 1) diff --git a/goal_src/levels/title/title-obs.gc b/goal_src/levels/title/title-obs.gc index f68cb39c27..8044f18ed4 100644 --- a/goal_src/levels/title/title-obs.gc +++ b/goal_src/levels/title/title-obs.gc @@ -60,77 +60,50 @@ (the-as logo-slave ((method-of-type process-drawable relocate) obj arg0)) ) -(defskelgroup *logo-sg* logo - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *logo-sg* logo logo-english-lod0-jg logo-idle-ja + ((logo-english-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) -(defskelgroup *logo-japan-sg* logo - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-japan-sg* logo logo-japan-lod0-jg logo-idle-ja + ((logo-japan-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) -(defskelgroup *logo-volumes-sg* logo-volumes - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-volumes-sg* logo-volumes logo-volumes-english-lod0-jg logo-volumes-idle-ja + ((logo-volumes-english-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) -(defskelgroup *logo-volumes-japan-sg* logo-volumes - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-volumes-japan-sg* logo-volumes logo-volumes-japan-lod0-jg logo-volumes-idle-ja + ((logo-volumes-japan-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) -(defskelgroup *logo-black-sg* logo-black - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-black-sg* logo-black logo-black-lod0-jg logo-black-idle-ja + ((logo-black-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) -(defskelgroup *logo-cam-sg* logo-cam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-cam-sg* logo-cam logo-cam-lod0-jg logo-cam-idle-ja + ((logo-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) -(defskelgroup *ndi-sg* ndi - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *ndi-sg* ndi ndi-lod0-jg ndi-idle-ja + ((ndi-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 30) + ) -(defskelgroup *ndi-volumes-sg* ndi-volumes - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *ndi-volumes-sg* ndi-volumes ndi-volumes-lod0-jg ndi-volumes-idle-ja + ((ndi-volumes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) -(defskelgroup *ndi-cam-sg* ndi-cam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *ndi-cam-sg* ndi-cam ndi-cam-lod0-jg ndi-cam-idle-ja + ((ndi-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) (defstate idle (logo-slave) :virtual #t @@ -164,7 +137,7 @@ :code (behavior () (ja-post) - (while #t + (loop (clone-anim-once (ppointer->handle (-> self parent-process)) (the-as int (-> self draw origin-joint-index)) @@ -365,23 +338,11 @@ (send-event (ppointer->process (-> self parent)) 'wait) (send-event self 'update) (ja-channel-set! 1) - (let ((a0-60 (-> self skel root-channel 0))) - (set! (-> a0-60 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-60 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-60 param 1) 1.0) - (set! (-> a0-60 frame-num) 0.0) - (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (logior! (-> self skel status) (janim-status spool)) (suspend) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 param 0) (the float (+ (-> a0-62 frame-group data 0 length) -1))) - (set! (-> a0-62 param 1) 1.0) - (joint-control-channel-group-eval! a0-62 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self anim) (-> self next-anim)) (set! (-> self next-anim) @@ -463,7 +424,7 @@ (-> (method-of-type logo startup) trans) :code (behavior () - (while #t + (loop (set! (-> self anim) (-> self next-anim)) (when (not (handle->process (-> self camera))) (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) @@ -482,23 +443,11 @@ ) (set! *spawn-actors* #f) (ja-channel-set! 1) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (logior! (-> self skel status) (janim-status spool)) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! *spawn-actors* #t) (ja-play-spooled-anim @@ -532,7 +481,7 @@ (clear-rec *art-control*) (set! *master-mode* gp-0) ) - (while #t + (loop (when (and (none-reserved? *art-control*) (not (paused?))) (let ((gp-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 0.1)) @@ -574,7 +523,7 @@ :exit (behavior () ((-> (method-of-type logo startup) exit)) - (set-blackout-frames (seconds 0.033333335)) + (set-blackout-frames (seconds 0.035)) (none) ) :trans diff --git a/goal_src/levels/training/training-obs.gc b/goal_src/levels/training/training-obs.gc index ea301d91f3..a8b387f424 100644 --- a/goal_src/levels/training/training-obs.gc +++ b/goal_src/levels/training/training-obs.gc @@ -45,13 +45,10 @@ (none) ) -(defskelgroup *training-cam-sg* trainingcam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 80) - :longest-edge (meters 0) - ) +(defskelgroup *training-cam-sg* trainingcam trainingcam-lod0-jg -1 + ((trainingcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 80) + ) (deftype training-cam (process) ((root trsq :offset-assert 112) @@ -80,7 +77,7 @@ :virtual #t :code (behavior () - (while #t + (loop (when (and *target* (< (vector-vector-distance (target-pos 0) (-> self root trans)) (-> self range)) (-> *setting-control* current play-hints) @@ -412,13 +409,10 @@ ) ) -(defskelgroup *tra-pontoon-sg* pontoonfive - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *tra-pontoon-sg* pontoonfive pontoonfive-lod0-jg pontoonfive-idle-ja + ((pontoonfive-lod0-mg (meters 20)) (pontoonfive-lod1-mg (meters 40)) (pontoonfive-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) (defmethod TODO-RENAME-30 tra-pontoon ((obj tra-pontoon)) (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) @@ -489,13 +483,10 @@ ) -(defskelgroup *tra-iris-door-sg* jng-iris-door - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *tra-iris-door-sg* jng-iris-door jng-iris-door-lod0-jg jng-iris-door-idle-ja + ((jng-iris-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defmethod TODO-RENAME-24 tra-iris-door ((obj tra-iris-door)) (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) @@ -731,21 +722,15 @@ ) -(defskelgroup *scarecrow-a-sg* scarecrow-a - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2.5 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-a-sg* scarecrow-a scarecrow-a-lod0-jg scarecrow-a-idle-ja + ((scarecrow-a-lod0-mg (meters 20)) (scarecrow-a-lod1-mg (meters 40)) (scarecrow-a-lod2-mg (meters 999999))) + :bounds (static-spherem 0 2.5 0 3) + ) -(defskelgroup *scarecrow-a-break-sg* scarecrow-a - 0 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-a-break-sg* scarecrow-a scarecrow-a-lod0-jg scarecrow-a-idle-ja + ((scarecrow-a-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) (defstate idle (scarecrow-a) :virtual #t @@ -854,24 +839,12 @@ ) :code (behavior () - (ja-channel-push! 1 36) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.12)) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -886,63 +859,27 @@ (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 21) + (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1041,21 +978,15 @@ (none) ) -(defskelgroup *scarecrow-b-sg* scarecrow-b - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3.5 0 3.8) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-b-sg* scarecrow-b scarecrow-b-lod0-jg scarecrow-b-idle-ja + ((scarecrow-b-lod0-mg (meters 20)) (scarecrow-b-lod1-mg (meters 40)) (scarecrow-b-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 3.8) + ) -(defskelgroup *scarecrow-b-break-sg* scarecrow-b - 0 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-b-break-sg* scarecrow-b scarecrow-b-lod0-jg scarecrow-b-idle-ja + ((scarecrow-b-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) (defstate idle (scarecrow-b) :virtual #t @@ -1063,24 +994,12 @@ (-> (method-of-type scarecrow-a idle) event) :code (behavior () - (ja-channel-push! 1 36) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.12)) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1095,63 +1014,27 @@ (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 21) + (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/village1/assistant.gc b/goal_src/levels/village1/assistant.gc index a5bf229b47..c54410ec88 100644 --- a/goal_src/levels/village1/assistant.gc +++ b/goal_src/levels/village1/assistant.gc @@ -17,14 +17,11 @@ ) -(defskelgroup *assistant-sg* assistant - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-sg* assistant assistant-lod0-jg assistant-idle-leaning-right-ja + ((assistant-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + :shadow assistant-shadow-mg + ) (defmethod dummy-52 assistant ((obj assistant)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -220,55 +217,20 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 60) + (if (!= (ja-group) assistant-idle-leaning-right-ja) + (ja-channel-push! 1 (seconds 0.2)) ) - (while #t + (loop (TODO-RENAME-43 self) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -277,22 +239,10 @@ ) (cond ((< (+ -1.0 (the-as float v1-47)) 0.66) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (sound-play-by-name (static-sound-name "welding-loop") @@ -303,185 +253,65 @@ 1 (the-as symbol (target-pos 0)) ) - (let ((v1-74 (-> self skel root-channel 0))) - (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) + (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)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-28 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-33 param 0) 0.0) - (set! (-> a0-33 param 1) 1.0) - (set! (-> a0-33 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-33 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (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) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) 0.0) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) (sound-stop (-> self sound-id)) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-39 param 0) 0.0) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-44 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-44 param 1) 1.0) - (set! (-> a0-44 frame-num) 0.0) - (joint-control-channel-group! a0-44 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-wiping-brow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (the float (+ (-> a0-45 frame-group data 0 length) -1))) - (set! (-> a0-45 param 1) 1.0) - (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) (else - (let ((a0-47 (-> self skel root-channel 0))) - (set! (-> a0-47 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-47 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-47 param 1) 1.0) - (set! (-> a0-47 frame-num) 0.0) - (joint-control-channel-group! a0-47 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-right-to-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 param 0) (the float (+ (-> a0-48 frame-group data 0 length) -1))) - (set! (-> a0-48 param 1) 1.0) - (joint-control-channel-group-eval! a0-48 (the-as art-joint-anim #f) num-func-seek!) - ) + (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)) - (let ((a0-52 (-> self skel root-channel 0))) - (set! (-> a0-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-52 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-52 param 1) 1.0) - (set! (-> a0-52 frame-num) 0.0) - (joint-control-channel-group! a0-52 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-leaning-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-53 (-> self skel root-channel 0))) - (set! (-> a0-53 param 0) (the float (+ (-> a0-53 frame-group data 0 length) -1))) - (set! (-> a0-53 param 1) 1.0) - (joint-control-channel-group-eval! a0-53 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-55 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-55 param 1) 1.0) - (set! (-> a0-55 frame-num) 0.0) - (joint-control-channel-group! a0-55 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-left-to-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 param 0) (the float (+ (-> a0-56 frame-group data 0 length) -1))) - (set! (-> a0-56 param 1) 1.0) - (joint-control-channel-group-eval! a0-56 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/village1/explorer.gc b/goal_src/levels/village1/explorer.gc index d046128c86..73daa61a8e 100644 --- a/goal_src/levels/village1/explorer.gc +++ b/goal_src/levels/village1/explorer.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *explorer-sg* explorer - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *explorer-sg* explorer explorer-lod0-jg explorer-idle-ja + ((explorer-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow explorer-shadow-mg + ) (defmethod dummy-52 explorer ((obj explorer)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -194,39 +191,21 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 60) + (if (!= (ja-group) explorer-idle-ja) + (ja-channel-push! 1 (seconds 0.2)) ) - (while #t + (loop (TODO-RENAME-43 self) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! explorer-idle-ja) (let* ((f30-0 2.0) (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 (* f30-0 (+ -1.0 (the-as float v1-12)))) 1)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -235,22 +214,10 @@ ) (cond ((< (+ -1.0 (the-as float v1-41)) 0.5) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-1 (-> *display* base-frame-counter))) (while (let* ((s5-0 (-> *display* base-frame-counter)) @@ -269,22 +236,10 @@ (v1-76 (the-as number (logior #x3f800000 v1-75))) ) (when (< (+ -1.0 (the-as float v1-76)) 0.75) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-2 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) @@ -299,60 +254,19 @@ (suspend) ) ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-29 param 0) 0.0) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-29 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 0.0) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-34 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! a0-34 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) (the float (+ (-> a0-35 frame-group data 0 length) -1))) - (set! (-> a0-35 param 1) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-3 (-> *display* base-frame-counter))) (while (let* ((s5-2 (-> *display* base-frame-counter)) @@ -367,79 +281,26 @@ (suspend) ) ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-39 param 0) 0.0) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-39 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) ) ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-42 param 0) 0.0) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) 0.0) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) (else - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-45 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle3-step-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-4 (-> *display* base-frame-counter))) (while (let* ((s5-3 (-> *display* base-frame-counter)) @@ -454,22 +315,10 @@ (suspend) ) ) - (let ((a0-50 (-> self skel root-channel 0))) - (set! (-> a0-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-50 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-50 param 1) 1.0) - (set! (-> a0-50 frame-num) 0.0) - (joint-control-channel-group! a0-50 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle3-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-51 (-> self skel root-channel 0))) - (set! (-> a0-51 param 0) (the float (+ (-> a0-51 frame-group data 0 length) -1))) - (set! (-> a0-51 param 1) 1.0) - (joint-control-channel-group-eval! a0-51 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-5 (-> *display* base-frame-counter))) (while (let* ((s5-4 (-> *display* base-frame-counter)) @@ -484,39 +333,10 @@ (suspend) ) ) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-55 param 0) 0.0) - (set! (-> a0-55 param 1) 1.0) - (set! (-> a0-55 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-55 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 param 0) 0.0) - (set! (-> a0-56 param 1) 1.0) - (joint-control-channel-group-eval! a0-56 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (let ((gp-6 (-> *display* base-frame-counter))) (while (let* ((s5-5 (-> *display* base-frame-counter)) @@ -531,22 +351,10 @@ (suspend) ) ) - (let ((a0-60 (-> self skel root-channel 0))) - (set! (-> a0-60 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-60 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-60 param 1) 1.0) - (set! (-> a0-60 frame-num) 0.0) - (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle3-step-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-61 (-> self skel root-channel 0))) - (set! (-> a0-61 param 0) (the float (+ (-> a0-61 frame-group data 0 length) -1))) - (set! (-> a0-61 param 1) 1.0) - (joint-control-channel-group-eval! a0-61 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/village1/farmer.gc b/goal_src/levels/village1/farmer.gc index b3b68dad10..10051806af 100644 --- a/goal_src/levels/village1/farmer.gc +++ b/goal_src/levels/village1/farmer.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *farmer-sg* farmer - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *farmer-sg* farmer farmer-lod0-jg farmer-sitting-cycle-ja + ((farmer-lod0-mg (meters 20)) (farmer-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow farmer-shadow-mg + ) (defmethod play-anim! farmer ((obj farmer) (arg0 symbol)) (case (current-status (-> obj tasks)) diff --git a/goal_src/levels/village1/fishermans-boat.gc b/goal_src/levels/village1/fishermans-boat.gc index 6439039627..446d1cf8a0 100644 --- a/goal_src/levels/village1/fishermans-boat.gc +++ b/goal_src/levels/village1/fishermans-boat.gc @@ -526,29 +526,21 @@ ) -(defskelgroup *fishermans-boat-sg* fishermans-boat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 3 0 15) - :longest-edge (meters 7.3) - ) +(defskelgroup *fishermans-boat-sg* fishermans-boat fishermans-boat-lod0-jg fishermans-boat-idle-ja + ((fishermans-boat-lod0-mg (meters 20)) (fishermans-boat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 3 0 15) + :longest-edge (meters 7.3) + ) -(defskelgroup *fb-evilbro-sg* evilbro - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *fb-evilbro-sg* evilbro evilbro-lod0-jg evilbro-idle-ja + ((evilbro-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) -(defskelgroup *fb-evilsis-sg* evilsis - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *fb-evilsis-sg* evilsis evilsis-lod0-jg evilsis-idle-ja + ((evilsis-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) (defmethod TODO-RENAME-23 fishermans-boat ((obj fishermans-boat) (arg0 float)) (local-vars (sv-128 int) (sv-144 rigid-body-control-point) (sv-160 int) (sv-176 vector)) @@ -1007,7 +999,7 @@ (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 0) (fishermans-boat-next-path-point) - (while #t + (loop (suspend) ) (none) @@ -1169,7 +1161,7 @@ (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 4) (fishermans-boat-next-path-point) - (while #t + (loop (suspend) ) (none) @@ -1204,7 +1196,7 @@ (set-continue! *game-info* "misty-start") (fishermans-boat-set-dock-point 4) (fishermans-boat-set-path-point 2) - (while #t + (loop (suspend) ) (none) @@ -1240,7 +1232,7 @@ (send-event (handle->process (-> self cam-tracker)) 'message 'release) (suspend) (send-event *camera* 'change-state cam-stick 0) - (while #t + (loop (if (and (= *cheat-mode* 'debug) (cpad-pressed? 0 triangle)) (set! (-> self auto-pilot) #f) ) @@ -1535,16 +1527,14 @@ (set! (-> self draw force-lod) 0) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) + (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) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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) @@ -1711,16 +1701,14 @@ (set! (-> self draw force-lod) 0) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) + (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) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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) diff --git a/goal_src/levels/village1/sage.gc b/goal_src/levels/village1/sage.gc index 1a46c7570e..5fc69bd7fd 100644 --- a/goal_src/levels/village1/sage.gc +++ b/goal_src/levels/village1/sage.gc @@ -18,14 +18,11 @@ ) -(defskelgroup *sage-sg* sage - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sage-sg* sage sage-lod0-jg sage-idle-ecorocks-breathe-ja + ((sage-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sage-shadow-mg + ) (defmethod play-anim! sage ((obj sage) (arg0 symbol)) (with-pp @@ -492,49 +489,18 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) ) + (loop + (ja :group! (get-art-elem self)) (let* ((f30-0 3.0) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) (TODO-RENAME-43 self) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-11 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (-> self reminder-played) (< 81920.0 (vector-vector-distance (-> self root-override trans) (camera-pos))) @@ -542,35 +508,15 @@ (go-virtual idle) ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (when (ja-group? sage-idle-ecorocks-breathe-ja) + (ja-no-eval :group! sage-idle-ecorocks-peer-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/village1/village-obs.gc b/goal_src/levels/village1/village-obs.gc index 2d76bb4453..38dbc25bc2 100644 --- a/goal_src/levels/village1/village-obs.gc +++ b/goal_src/levels/village1/village-obs.gc @@ -42,101 +42,77 @@ ;; DECOMP BEGINS -(defskelgroup *med-res-jungle-sg* medres-jungle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -80 0 -80 240) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-jungle-sg* medres-jungle medres-jungle-lod0-jg medres-jungle-idle-ja + ((medres-jungle-lod0-mg (meters 999999))) + :bounds (static-spherem -80 0 -80 240) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-jungle1-sg* medres-jungle1 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 30 0 -40 230) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-jungle1-sg* medres-jungle1 medres-jungle1-lod0-jg medres-jungle1-idle-ja + ((medres-jungle1-lod0-mg (meters 999999))) + :bounds (static-spherem 30 0 -40 230) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-jungle2-sg* medres-jungle2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 90 0 130 110) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-jungle2-sg* medres-jungle2 medres-jungle2-lod0-jg medres-jungle2-idle-ja + ((medres-jungle2-lod0-mg (meters 999999))) + :bounds (static-spherem 90 0 130 110) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-beach-sg* medres-beach - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -140 200) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach-sg* medres-beach medres-beach-lod0-jg medres-beach-idle-ja + ((medres-beach-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -140 200) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-beach1-sg* medres-beach1 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -360 200) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach1-sg* medres-beach1 medres-beach1-lod0-jg medres-beach1-idle-ja + ((medres-beach1-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -360 200) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-beach2-sg* medres-beach2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -450 180) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach2-sg* medres-beach2 medres-beach2-lod0-jg medres-beach2-idle-ja + ((medres-beach2-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -450 180) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-beach3-sg* medres-beach3 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 75 70 -480 100) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach3-sg* medres-beach3 medres-beach3-lod0-jg medres-beach3-idle-ja + ((medres-beach3-lod0-mg (meters 999999))) + :bounds (static-spherem 75 70 -480 100) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-misty-sg* medres-misty - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -40 0 -20 260) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-misty-sg* medres-misty medres-misty-lod0-jg medres-misty-idle-ja + ((medres-misty-lod0-mg (meters 999999))) + :bounds (static-spherem -40 0 -20 260) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-village11-sg* medres-village11 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -100 0 90 200) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village11-sg* medres-village11 medres-village11-lod0-jg medres-village11-idle-ja + ((medres-village11-lod0-mg (meters 999999))) + :bounds (static-spherem -100 0 90 200) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-village12-sg* medres-village12 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 40 0 -50 155) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village12-sg* medres-village12 medres-village12-lod0-jg medres-village12-idle-ja + ((medres-village12-lod0-mg (meters 999999))) + :bounds (static-spherem 40 0 -50 155) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-village13-sg* medres-village13 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 180 -40 -40 180) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village13-sg* medres-village13 medres-village13-lod0-jg medres-village13-idle-ja + ((medres-village13-lod0-mg (meters 999999))) + :bounds (static-spherem 180 -40 -40 180) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-training-sg* medres-training - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -60 220) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-training-sg* medres-training medres-training-lod0-jg medres-training-idle-ja + ((medres-training-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -60 220) + :longest-edge (meters 0.01) + ) (defpart 368 :init-specs @@ -274,13 +250,14 @@ (none) ) -(defskelgroup *windmill-sail-sg* windmill-sail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 21) - :longest-edge (meters 14.9) - ) +(defskelgroup *windmill-sail-sg* windmill-sail windmill-sail-lod0-jg windmill-sail-idle-ja + ((windmill-sail-lod0-mg (meters 20)) + (windmill-sail-lod1-mg (meters 40)) + (windmill-sail-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 21) + :longest-edge (meters 14.9) + ) (defpartgroup group-win-wind-mill :id 123 @@ -392,13 +369,11 @@ ) -(defskelgroup *sagesail-sg* sagesail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 25.5) - :longest-edge (meters 24.2) - ) +(defskelgroup *sagesail-sg* sagesail sagesail-lod0-jg sagesail-idle-ja + ((sagesail-lod0-mg (meters 20)) (sagesail-lod1-mg (meters 40)) (sagesail-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25.5) + :longest-edge (meters 24.2) + ) (defstate sagesail-idle (sagesail) :trans @@ -466,13 +441,10 @@ ) ) -(defskelgroup *windspinner-sg* windspinner - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *windspinner-sg* windspinner windspinner-lod0-jg windspinner-idle-ja + ((windspinner-lod0-mg (meters 20)) (windspinner-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) (defstate windspinner-idle (windspinner) :trans @@ -546,32 +518,19 @@ ) -(defskelgroup *mayorgears-sg* mayorgears - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *mayorgears-sg* mayorgears mayorgears-geo-jg mayorgears-idle-ja + ((mayorgears-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.5) + ) (defstate mayorgears-idle (mayorgears) :code (behavior () - (while #t - (cond - ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (loop + (if (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) + (ja :num! (loop!)) + (ja :num! (loop! 0.0)) ) - ) (suspend) ) (none) @@ -604,13 +563,10 @@ ) -(defskelgroup *reflector-middle-sg* reflector-middle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 17 0 17) - :longest-edge (meters 0) - ) +(defskelgroup *reflector-middle-sg* reflector-middle reflector-middle-geo-jg reflector-middle-idle-ja + ((reflector-middle-geo-mg (meters 999999))) + :bounds (static-spherem 0 17 0 17) + ) (defstate reflector-middle-idle (reflector-middle) :trans @@ -683,13 +639,10 @@ ) -(defskelgroup *starfish-sg* villa-starfish - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *starfish-sg* villa-starfish villa-starfish-lod0-jg villa-starfish-idle-ja + ((villa-starfish-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) (deftype starfish (nav-enemy) () @@ -726,7 +679,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -758,23 +711,11 @@ (set! (-> self target-speed) 4096.0) (set! (-> self rotate-speed) 12743.111) (set! (-> self turn-time) (seconds 0.5)) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -909,7 +850,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (and (and *target* (>= 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) @@ -954,7 +895,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (suspend) ) (none) @@ -1037,18 +978,16 @@ ) ) -(defskelgroup *hutlamp-sg* hutlamp - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.2) - :longest-edge (meters 0.7) - ) +(defskelgroup *hutlamp-sg* hutlamp hutlamp-lod0-jg hutlamp-idle-ja + ((hutlamp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.2) + :longest-edge (meters 0.7) + ) (defstate hutlamp-idle (hutlamp) :code (behavior () - (while #t + (loop (let ((f0-3 (* 1820.4445 (sin (* 65536.0 (update-clock (-> self clock))))))) (quaternion-vector-angle! (-> self pivot transform quat) *x-vector* f0-3) ) @@ -1083,13 +1022,10 @@ ) -(defskelgroup *revcycleprop-sg* revcycleprop - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.2) - :longest-edge (meters 0) - ) +(defskelgroup *revcycleprop-sg* revcycleprop revcycleprop-lod0-jg revcycleprop-idle-ja + ((revcycleprop-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.2) + ) (defstate idle (revcycleprop) :virtual #t @@ -1120,13 +1056,10 @@ ) -(defskelgroup *revcycle-sg* revcycle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.2) - :longest-edge (meters 0) - ) +(defskelgroup *revcycle-sg* revcycle revcycle-geo-jg revcycle-idle-ja + ((revcycle-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.2) + ) (defstate idle (revcycle) :virtual #t diff --git a/goal_src/levels/village1/yakow.gc b/goal_src/levels/village1/yakow.gc index af789f2020..072ecb5e59 100644 --- a/goal_src/levels/village1/yakow.gc +++ b/goal_src/levels/village1/yakow.gc @@ -9,13 +9,10 @@ ;; DECOMP BEGINS -(defskelgroup *village1cam-sg* village1cam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *village1cam-sg* village1cam village1cam-lod0-jg village1cam-anim-ja + ((village1cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defun yakow-cam () (with-pp @@ -136,14 +133,12 @@ ) -(defskelgroup *yakow-sg* yakow - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.5 0 4.4) - :longest-edge (meters 1.3) - :shadow 3 - ) +(defskelgroup *yakow-sg* yakow yakow-lod0-jg yakow-idle-ja + ((yakow-lod0-mg (meters 20)) (yakow-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.5 0 4.4) + :longest-edge (meters 1.3) + :shadow yakow-shadow-mg + ) ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 52] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 54] @@ -351,85 +346,33 @@ yakow-default-event-handler (defbehavior yakow-blend-walk-run yakow () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (let ((f30-0 (-> self final-speed))) (cond ((and (>= 409.6 (-> self final-speed)) (not (-> self rotating))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 45) + (if (not (ja-group? yakow-idle-ja)) + (ja-channel-push! 1 (seconds 0.15)) ) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) + (ja :group! yakow-idle-ja :num! min) (while (or (< (- (-> *display* base-frame-counter) gp-0) (seconds 0.2)) (< (-> self final-speed) 409.6)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (else (set! gp-0 (-> *display* base-frame-counter)) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 3 22) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s5-1 frame-num) 0.0) - ) - (let ((s5-2 (-> self skel root-channel 1))) - (set! (-> s5-2 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> s5-2 frame-num) 0.0) - ) - (let ((s5-3 (-> self skel root-channel 2))) - (set! (-> s5-3 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> s5-3 frame-num) 0.0) - ) + (when (not (ja-group? yakow-walk-ja)) + (ja-channel-push! 3 (seconds 0.075)) + (ja :group! yakow-walk-ja :num! min :frame-interp 0.0) + (ja :chan 1 :group! yakow-walk-left-ja :num! min :frame-interp 0.0) + (ja :chan 2 :group! yakow-run-ja :num! min :frame-interp 0.0) ) - (cond - ((< (-> self walk-turn-blend) 0.0) - (let ((v1-49 (-> self skel root-channel 1))) - (set! (-> v1-49 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) - ) - (else - (let ((v1-52 (-> self skel root-channel 1))) - (set! (-> v1-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) + (if (< (-> self walk-turn-blend) 0.0) + (ja :chan 1 :group! yakow-walk-left-ja) + (ja :chan 1 :group! yakow-walk-right-ja) ) - ) (cond ((< f30-0 (-> *YAKOW-bank* min-run-speed)) (set! (-> self run-mode) #f) @@ -450,12 +393,8 @@ yakow-default-event-handler (* (-> *YAKOW-bank* walk-run-blend-rate) (-> *display* seconds-per-frame)) ) ) - (let ((v1-68 (-> self skel root-channel 1))) - (set! (-> v1-68 frame-interp) (fabs (-> self walk-turn-blend))) - ) - (let ((v1-72 (-> self skel root-channel 2))) - (set! (-> v1-72 frame-interp) (-> self walk-run-blend)) - ) + (ja :chan 1 :frame-interp (fabs (-> self walk-turn-blend))) + (ja :chan 2 :frame-interp (-> self walk-run-blend)) (let* ((f0-25 (* (-> *YAKOW-bank* walk-anim-speed) f30-0)) (f1-5 (-> *YAKOW-bank* walk-speed)) (f0-26 (* f0-25 (/ 1.0 f1-5))) @@ -473,20 +412,11 @@ yakow-default-event-handler (if (-> self rotating) (set! f0-26 (fmax (-> *YAKOW-bank* min-walk-anim-speed) f0-26)) ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) f0-26) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f0-26)) ) ) - (let ((s5-4 (-> self skel root-channel 1))) - (set! (-> s5-4 num-func) num-func-identity) - (set! (-> s5-4 frame-num) (ja-frame-num 0)) - ) - (let ((s5-5 (-> self skel root-channel 2))) - (set! (-> s5-5 num-func) num-func-identity) - (set! (-> s5-5 frame-num) (ja-frame-num 0)) - ) + (ja :chan 1 :num-func num-func-identity :frame-num (ja-frame-num 0)) + (ja :chan 2 :num-func num-func-identity :frame-num (ja-frame-num 0)) (suspend) 0 ) @@ -539,8 +469,8 @@ yakow-default-event-handler ) :code (behavior () - (ja-channel-push! 1 45) - (while #t + (ja-channel-push! 1 (seconds 0.15)) + (loop (cond ((rand-vu-percent? 0.2) (dummy-10 (-> self skel effect) 'yakow-1 0.0 -1) @@ -550,44 +480,20 @@ yakow-default-event-handler ) ) (let ((f30-0 (rand-vu-float-range 0.9 1.1))) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! yakow-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (when (rand-vu-percent? 0.25) - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yakow-graze-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) (none) @@ -696,65 +602,28 @@ yakow-default-event-handler :code (behavior () (while (< 546.13336 (fabs (deg-diff (-> self dest-rot) (y-angle (-> self root-override))))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 22) + (if (not (ja-group? yakow-walk-ja)) + (ja-channel-push! 1 (seconds 0.075)) ) (seek-toward-yaw-angle! (-> self root-override) (-> self dest-rot) 16384.0 (seconds 0.5)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-loop! - ) - ) + (ja :group! yakow-walk-ja :num! (loop!)) (suspend) ) - (ja-channel-push! 1 45) - (while #t - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (loop + (ja-no-eval :group! yakow-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (rand-vu-percent? 0.5) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yakow-graze-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) (none) @@ -768,22 +637,10 @@ yakow-default-event-handler (the-as (function process int symbol event-message-block object :behavior yakow) #f) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! yakow-kicked-in-place-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go yakow-graze) (none) @@ -883,16 +740,11 @@ yakow-default-event-handler (set! (-> self enable-turn-around) #t) 1.0 (suspend) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) (cond ((< 40.96 (vector-length (-> self nav travel))) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) + (ja :group! yakow-kicked-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (ja-done? 0) (suspend) (let* ((f0-3 0.75) @@ -904,34 +756,19 @@ yakow-default-event-handler ) ) ) - (a0-6 (-> self skel root-channel 0)) ) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) f0-4) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! max f0-4)) ) ) ) (else - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! yakow-kicked-in-place-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< 40.96 (-> self final-speed)) (go yakow-run-away) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/village2/assistant-village2.gc b/goal_src/levels/village2/assistant-village2.gc index 9490db7c74..4e6763081e 100644 --- a/goal_src/levels/village2/assistant-village2.gc +++ b/goal_src/levels/village2/assistant-village2.gc @@ -42,22 +42,19 @@ (none) ) -(defskelgroup *assistant-village2-sg* assistant-village2 - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *assistant-village2-sg* assistant-village2 assistant-village2-lod0-jg assistant-village2-idle-a-ja + ((assistant-village2-lod0-mg (meters 20)) + (assistant-village2-lod1-mg (meters 40)) + (assistant-village2-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 2) + :shadow assistant-village2-shadow-mg + ) -(defskelgroup *jaws-sg* jaws - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 0.25) - :longest-edge (meters 0) - ) +(defskelgroup *jaws-sg* jaws jaws-lod0-jg jaws-idle-ja + ((jaws-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 0.25) + ) (defmethod dummy-52 assistant-levitator ((obj assistant-levitator)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -530,28 +527,14 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim (get-art-elem self)) data 0 length) -1))) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (get-art-elem self)) num-func-seek!) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) + (loop + (ja-no-eval :group! (get-art-elem self) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((v1-24 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-25 (the-as number (logior #x3f800000 v1-24))) @@ -560,22 +543,10 @@ (cond ((< f0-9 0.33333334) (TODO-RENAME-43 self) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-hut-look-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-1 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) @@ -590,39 +561,10 @@ (suspend) ) ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-21 param 0) 0.0) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-21 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 0.0) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ((< f0-9 0.6666667) @@ -635,155 +577,42 @@ 1 (the-as symbol (target-pos 0)) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-27 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-hut-start-welding-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-111 (-> self skel root-channel 0))) - (set! (-> v1-111 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + (ja :num! (seek!)) ) + (ja :group! assistant-village2-idle-hut-welding-ja) (let* ((f30-1 2.0) (v1-113 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-114 (the-as number (logior #x3f800000 v1-113))) ) (countdown (gp-3 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-114)))) 4)) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-35 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! - a0-35 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (set! (-> a0-40 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-40 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (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) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) 0.0) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-45 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! - a0-45 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 param 0) (the float (+ (-> a0-48 frame-group data 0 length) -1))) - (set! (-> a0-48 param 1) 1.0) - (joint-control-channel-group-eval! a0-48 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (sound-stop (-> self sound-id)) - (let ((a0-51 (-> self skel root-channel 0))) - (set! (-> a0-51 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-51 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-51 param 1) 1.0) - (set! (-> a0-51 frame-num) 0.0) - (joint-control-channel-group! a0-51 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-hut-stop-welding-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-52 (-> self skel root-channel 0))) - (set! (-> a0-52 param 0) (the float (+ (-> a0-52 frame-group data 0 length) -1))) - (set! (-> a0-52 param 1) 1.0) - (joint-control-channel-group-eval! a0-52 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1663,157 +1492,55 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) - (while #t + (loop (cond ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-after-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (assistant-levitator-blue-beam) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((v1-29 (-> self skel root-channel 0))) - (set! (-> v1-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! assistant-village2-idle-a-ja) (let* ((f30-0 2.0) (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-32 (the-as number (logior #x3f800000 v1-31))) ) (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-32)))) 3)) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-to-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-89 (-> self skel root-channel 0))) - (set! (-> v1-89 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (ja :num! (seek!)) ) + (ja :group! assistant-village2-idle-b-ja) (let* ((f30-1 2.0) (v1-91 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-92 (the-as number (logior #x3f800000 v1-91))) ) (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-92)))) 3)) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-to-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1832,7 +1559,7 @@ :code (behavior () (ja-channel-set! 0) - (while #t + (loop (assistant-levitator-blue-glow) (assistant-levitator-blue-beam) (update! (-> self sound)) diff --git a/goal_src/levels/village2/flutflut-bluehut.gc b/goal_src/levels/village2/flutflut-bluehut.gc index 8b29d5555f..81be545909 100644 --- a/goal_src/levels/village2/flutflut-bluehut.gc +++ b/goal_src/levels/village2/flutflut-bluehut.gc @@ -16,13 +16,10 @@ ) -(defskelgroup *flutflut-bluehut-sg* flutflut-bluehut - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.25) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-bluehut-sg* flutflut-bluehut flutflut-bluehut-lod0-jg flutflut-bluehut-idle-breathe-ja + ((flutflut-bluehut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.25) + ) (defmethod play-anim! flutflut-bluehut ((obj flutflut-bluehut) (arg0 symbol)) (current-status (-> obj tasks)) @@ -57,94 +54,30 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) + (loop + (ja :group! flutflut-bluehut-idle-breathe-ja) (let* ((f30-0 2.0) (v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-9 (the-as number (logior #x3f800000 v1-8))) ) (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-9)))) 1)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((s5-0 (-> *display* base-frame-counter))) (while (< (+ (-> *display* base-frame-counter) (seconds -0.5)) s5-0) (suspend) ) ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) 0.0) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) 0.0) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (let ((s5-1 (-> *display* base-frame-counter))) (while (< (+ (-> *display* base-frame-counter) (seconds -0.5)) s5-1) @@ -153,83 +86,28 @@ ) ) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! flutflut-bluehut-idle-start-scratch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-100 (-> self skel root-channel 0))) - (set! (-> v1-100 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (ja :num! (seek!)) ) + (ja :group! flutflut-bluehut-idle-scratch-ja) (let* ((f30-1 2.0) (v1-102 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-103 (the-as number (logior #x3f800000 v1-102))) ) (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-103)))) 6)) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-26 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-26 param 1) 1.0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! - a0-26 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-29 param 0) 0.0) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! flutflut-bluehut-idle-start-scratch-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 0.0) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) (none) diff --git a/goal_src/levels/village2/gambler.gc b/goal_src/levels/village2/gambler.gc index 254a16873a..d1305e7eaf 100644 --- a/goal_src/levels/village2/gambler.gc +++ b/goal_src/levels/village2/gambler.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *gambler-sg* gambler - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *gambler-sg* gambler gambler-lod0-jg gambler-idle-tiptoe-ja + ((gambler-lod0-mg (meters 20)) (gambler-lod1-mg (meters 40)) (gambler-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow gambler-shadow-mg + ) (defmethod play-anim! gambler ((obj gambler) (arg0 symbol)) (set! (-> obj talk-message) (game-text-id press-to-talk)) @@ -183,50 +180,15 @@ :virtual #t :code (behavior () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 60) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (when (!= (ja-group) gambler-idle-fidget-ja) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! gambler-idle-fidget-ja) ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-9 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (TODO-RENAME-43 self) (let* ((v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -235,34 +197,22 @@ ) (cond ((< f0-9 0.16666667) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! gambler-idle-tiptoe-ja) ) ((< f0-9 0.33333334) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + (ja :group! gambler-idle-look-1-ja) ) ((< f0-9 0.5) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (ja :group! gambler-idle-fidget-ja) ) ((< f0-9 0.6666667) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) + (ja :group! gambler-idle-scratch-1-ja) ) ((< f0-9 0.8333333) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) + (ja :group! gambler-idle-look-2-ja) ) (else - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) + (ja :group! gambler-idle-scratch-2-ja) ) ) ) diff --git a/goal_src/levels/village2/geologist.gc b/goal_src/levels/village2/geologist.gc index f6696f3a09..a2ce0fe05b 100644 --- a/goal_src/levels/village2/geologist.gc +++ b/goal_src/levels/village2/geologist.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *geologist-sg* geologist - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *geologist-sg* geologist geologist-lod0-jg geologist-idle-ja + ((geologist-lod0-mg (meters 20)) (geologist-lod1-mg (meters 40)) (geologist-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow geologist-shadow-mg + ) (defmethod play-anim! geologist ((obj geologist) (arg0 symbol)) (set! (-> obj talk-message) (game-text-id press-to-talk)) diff --git a/goal_src/levels/village2/sage-bluehut.gc b/goal_src/levels/village2/sage-bluehut.gc index 7b28f54c2b..28ba222032 100644 --- a/goal_src/levels/village2/sage-bluehut.gc +++ b/goal_src/levels/village2/sage-bluehut.gc @@ -31,14 +31,11 @@ ) -(defskelgroup *sage-bluehut-sg* sage-bluehut - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sage-bluehut-sg* sage-bluehut sage-bluehut-lod0-jg sage-bluehut-idle-ja + ((sage-bluehut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sage-bluehut-shadow-mg + ) (defmethod play-anim! sage-bluehut ((obj sage-bluehut) (arg0 symbol)) (with-pp @@ -278,16 +275,12 @@ :virtual #t :code (behavior () - (while #t + (loop (let ((gp-0 (get-art-elem self))) (cond - ((= gp-0 (-> self draw art-group data 4)) - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - gp-0 - ) - (ja-channel-push! 1 60) + ((= gp-0 sage-bluehut-idle-stand-ja) + (if (!= (ja-group) gp-0) + (ja-channel-push! 1 (seconds 0.2)) ) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-0)) (let* ((f30-0 3.0) @@ -296,113 +289,39 @@ ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-16)))) 5)) (TODO-RENAME-43 self) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-5 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-45 self) (go-virtual idle) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (ja-channel-push! 1 60) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! sage-bluehut-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-45 self) (go-virtual idle) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else (TODO-RENAME-43 self) - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - gp-0 - ) - (ja-channel-push! 1 60) + (if (!= (ja-group) gp-0) + (ja-channel-push! 1 (seconds 0.2)) ) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-0)) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-45 self) (go-virtual idle) ) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/goal_src/levels/village2/sunken-elevator.gc b/goal_src/levels/village2/sunken-elevator.gc index 248e7e1ccc..2baa07ad62 100644 --- a/goal_src/levels/village2/sunken-elevator.gc +++ b/goal_src/levels/village2/sunken-elevator.gc @@ -19,13 +19,10 @@ ) -(defskelgroup *sunken-elevator-sg* sunken-elevator - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -1 0 6.6) - :longest-edge (meters 0) - ) +(defskelgroup *sunken-elevator-sg* sunken-elevator sunken-elevator-lod0-jg sunken-elevator-pressed-ja + ((sunken-elevator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 6.6) + ) (defmethod should-teleport? sunken-elevator ((obj sunken-elevator)) (let ((f0-0 (-> (camera-pos) y))) diff --git a/goal_src/levels/village2/swamp-blimp.gc b/goal_src/levels/village2/swamp-blimp.gc index 7500d3921f..51f9c6f200 100644 --- a/goal_src/levels/village2/swamp-blimp.gc +++ b/goal_src/levels/village2/swamp-blimp.gc @@ -19,45 +19,32 @@ ;; DECOMP BEGINS -(defskelgroup *swamp-tetherrock-sg* swamp-tetherrock - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 4 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-tetherrock-sg* swamp-tetherrock swamp-tetherrock-lod0-jg swamp-tetherrock-idle-ja + ((swamp-tetherrock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 6) + ) -(defskelgroup *swamp-tetherrock-explode-sg* swamp-tetherrock-explode - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 4 0 16) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-tetherrock-explode-sg* swamp-tetherrock-explode swamp-tetherrock-explode-lod0-jg swamp-tetherrock-explode-idle-ja + ((swamp-tetherrock-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 16) + ) -(defskelgroup *precursor-arm-sg* precursor-arm - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 15 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *precursor-arm-sg* precursor-arm precursor-arm-lod0-jg precursor-arm-idle-ja + ((precursor-arm-lod0-mg (meters 999999))) + :bounds (static-spherem 0 15 0 15) + ) -(defskelgroup *swamp-rope-sg* swamp-rope - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 300) - :longest-edge (meters 66) - ) +(defskelgroup *swamp-rope-sg* swamp-rope swamp-rope-lod0-jg swamp-rope-idle-ja + ((swamp-rope-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 300) + :longest-edge (meters 66) + ) -(defskelgroup *swamp-blimp-sg* swamp-blimp - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 10 60 0 95) - :longest-edge (meters 40) - ) +(defskelgroup *swamp-blimp-sg* swamp-blimp swamp-blimp-lod0-jg swamp-blimp-idle-ja + ((swamp-blimp-lod0-mg (meters 20)) (swamp-blimp-lod1-mg (meters 999999))) + :bounds (static-spherem 10 60 0 95) + :longest-edge (meters 40) + ) (defpartgroup group-tetherrock-explode :id 285 @@ -639,7 +626,7 @@ (behavior () (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (when (= (get-task-status (-> self entity extra perm task)) (task-status invalid)) (if (not (-> self child)) (go swamp-tetherrock-die) @@ -916,7 +903,7 @@ ) :code (behavior () - (while #t + (loop (let ((s4-0 (new 'static 'vector :y 1.0 :w 1.0)) (s3-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) @@ -1009,7 +996,7 @@ (behavior () (cleanup-for-death self) (deactivate self) - (while #t + (loop (suspend) ) (none) @@ -1027,7 +1014,7 @@ ) (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) (close-specific-task! (-> self entity extra perm task) (task-status need-resolution)) - (while #t + (loop (cond ((< -40960.0 (-> self y-offset)) (set! (-> self y-offset) (- (-> self y-offset) (* 409.6 (-> *display* time-adjust-ratio)))) @@ -1111,7 +1098,7 @@ ) :code (behavior () - (while #t + (loop (set! (-> self tension) 1.5) (let* ((f26-0 (+ 225.0 (* 150.0 (sin (rand-vu-float-range 0.0 16384.0))))) (f0-5 (+ 4096.0 (* 8192.0 (sin (rand-vu-float-range 0.0 16384.0))))) @@ -1300,31 +1287,19 @@ ) (set! (-> self state-time) (the-as time-frame (the int (* f30-1 (+ -1.0 (the-as float v1-6)))))) ) - (ja-channel-push! 1 150) - (while #t + (ja-channel-push! 1 (seconds 0.5)) + (loop (let* ((f30-2 0.3) (f28-1 0.25) (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-11 (the-as number (logior #x3f800000 v1-10))) (f30-3 (+ f30-2 (* f28-1 (+ -1.0 (the-as float v1-11))))) ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) f30-3) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max f30-3) :frame-num 0.0) (until (ja-done? 0) (swamp-rope-break-code) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-3) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-3)) ) ) ) @@ -1384,10 +1359,8 @@ swamp-rope-trans :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (while #t + (ja :group! swamp-blimp-idle-ja) + (loop (let* ((f0-1 (* 2000.0 (- (-> self old-scale) (-> self root scale y)))) (f1-3 (+ 0.5 f0-1)) ) @@ -1405,10 +1378,7 @@ (set! (-> (the-as swamp-rope a0-4) frame vector-overlay quad) (-> self root trans quad)) ) ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (* (-> self frame value) (the float (ja-num-frames 0)))) - ) + (ja :num-func num-func-identity :frame-num (* (-> self frame value) (the float (ja-num-frames 0)))) (suspend) ) (none) @@ -1422,10 +1392,8 @@ swamp-rope-trans :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (while #t + (ja :group! swamp-blimp-idle-ja) + (loop (let* ((a0-3 (-> self other-entity)) (v1-3 (if a0-3 (-> a0-3 extra process) @@ -1437,10 +1405,7 @@ ) ) (TODO-RENAME-10 (-> self frame) 0.0) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (* (-> self frame value) (the float (ja-num-frames 0)))) - ) + (ja :num-func num-func-identity :frame-num (* (-> self frame value) (the float (ja-num-frames 0)))) (suspend) ) (none) @@ -1556,7 +1521,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-copy! gp-0 (-> self rot-at-init)) - (while #t + (loop (quaternion-vector-angle! (-> self rot-at-init) (new 'static 'vector :y 1.0 :w 1.0) @@ -1680,10 +1645,8 @@ (the-as (function none :behavior swamp-blimp) blimp-trans) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (while #t + (ja :group! swamp-blimp-idle-ja) + (loop (when (< 300 (-> self arm-timer)) (set! (-> self arm-timer) (- (the-as time-frame (-> self arm-timer)) (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)) @@ -1712,10 +1675,7 @@ (go swamp-blimp-bye-bye) ) ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (none) diff --git a/goal_src/levels/village2/village2-obs.gc b/goal_src/levels/village2/village2-obs.gc index bf7604dfe1..c793b41526 100644 --- a/goal_src/levels/village2/village2-obs.gc +++ b/goal_src/levels/village2/village2-obs.gc @@ -18,13 +18,10 @@ ) -(defskelgroup *village2cam-sg* village2cam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *village2cam-sg* village2cam village2cam-lod0-jg -1 + ((village2cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) (defmethod set-stack-size! village2cam ((obj village2cam)) (stack-size-set! (-> obj main-thread) 512) @@ -38,41 +35,17 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 1) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 2) @@ -93,29 +66,23 @@ ) ) -(defskelgroup *med-res-rolling-sg* medres-rolling - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -520 110 70 100) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-rolling-sg* medres-rolling medres-rolling-lod0-jg medres-rolling-idle-ja + ((medres-rolling-lod0-mg (meters 999999))) + :bounds (static-spherem -520 110 70 100) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-rolling1-sg* medres-rolling1 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -300 30 -20 120) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-rolling1-sg* medres-rolling1 medres-rolling1-lod0-jg medres-rolling1-idle-ja + ((medres-rolling1-lod0-mg (meters 999999))) + :bounds (static-spherem -300 30 -20 120) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-village2-sg* medres-village2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -60 65 0 90) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village2-sg* medres-village2 medres-village2-lod0-jg medres-village2-idle-ja + ((medres-village2-lod0-mg (meters 999999))) + :bounds (static-spherem -60 65 0 90) + :longest-edge (meters 0.01) + ) (deftype pontoon (rigid-body-platform) ((anchor-point vector :inline :offset-assert 736) @@ -155,7 +122,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -310,21 +277,17 @@ ) -(defskelgroup *pontoonfive-sg* pontoonfive - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 3.5) - ) +(defskelgroup *pontoonfive-sg* pontoonfive pontoonfive-lod0-jg pontoonfive-idle-ja + ((pontoonfive-lod0-mg (meters 20)) (pontoonfive-lod1-mg (meters 40)) (pontoonfive-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :longest-edge (meters 3.5) + ) -(defskelgroup *pontoonten-sg* pontoonten - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 4) - ) +(defskelgroup *pontoonten-sg* pontoonten pontoonten-lod0-jg pontoonten-idle-ja + ((pontoonten-lod0-mg (meters 20)) (pontoonten-lod1-mg (meters 40)) (pontoonten-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + :longest-edge (meters 4) + ) (defmethod TODO-RENAME-30 pontoonfive ((obj pontoonfive)) (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) @@ -525,13 +488,10 @@ ) -(defskelgroup *allpontoons-sg* allpontoons - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 32 0 -5 34) - :longest-edge (meters 0) - ) +(defskelgroup *allpontoons-sg* allpontoons allpontoons-lod0-jg allpontoons-idle-ja + ((allpontoons-lod0-mg (meters 999999))) + :bounds (static-spherem 32 0 -5 34) + ) (defstate allpontoons-be-clone (allpontoons) :event @@ -592,7 +552,7 @@ ) :code (behavior () - (while #t + (loop (when (and (nonzero? (-> self task)) (task-closed? (the-as game-task (-> self task)) (task-status need-resolution))) (cleanup-for-death self) (deactivate self) @@ -631,13 +591,11 @@ ) -(defskelgroup *fireboulder-sg* fireboulder - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.5 0 6) - :longest-edge (meters 3.5) - ) +(defskelgroup *fireboulder-sg* fireboulder fireboulder-lod0-jg fireboulder-idle-ja + ((fireboulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 6) + :longest-edge (meters 3.5) + ) (defbehavior fireboulder-disable-blocking-collision fireboulder () (let ((v1-1 (-> self root-override root-prim))) @@ -703,9 +661,7 @@ (behavior () (fireboulder-disable-blocking-collision) (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) (vector-reset! (-> self draw origin)) @@ -732,33 +688,8 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-rotate-y! (-> self root-override quat) @@ -766,11 +697,7 @@ (* 455.1111 (-> *display* time-adjust-ratio)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -832,33 +759,8 @@ :code (behavior () (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cond ((zero? (-> self task)) @@ -894,11 +796,7 @@ ) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -981,51 +879,19 @@ ) -(defskelgroup *ceilingflag-sg* ceilingflag - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -4 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *ceilingflag-sg* ceilingflag ceilingflag-geo-jg ceilingflag-idle-ja + ((ceilingflag-geo-mg (meters 999999))) + :bounds (static-spherem 0 -4 0 7) + ) (defstate ceilingflag-idle (ceilingflag) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1060,13 +926,10 @@ ) -(defskelgroup *exit-chamber-dummy-sg* exit-chamber-dummy - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 5 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *exit-chamber-dummy-sg* exit-chamber-dummy exit-chamber-dummy-lod0-jg -1 + ((exit-chamber-dummy-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5 0 15) + ) (defmethod skip-reminder? exit-chamber-dummy ((obj exit-chamber-dummy)) (case (get-reminder (get-task-control (game-task sunken-room)) 0) @@ -1178,13 +1041,10 @@ ) -(defskelgroup *ogreboss-village2-sg* ogreboss-village2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-village2-sg* ogreboss-village2 ogreboss-village2-lod0-jg ogreboss-village2-idle-ja + ((ogreboss-village2-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 15) + ) (defpartgroup group-ogreboulder-trail :id 564 @@ -1599,23 +1459,11 @@ ) ) ) - (ja-channel-push! 1 60) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((v1-72 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-73 (the-as number (logior #x3f800000 v1-72))) @@ -1640,23 +1488,11 @@ ) ) ) - (ja-channel-push! 1 60) - (let ((a0-69 (-> self skel root-channel 0))) - (set! (-> a0-69 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-69 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-69 param 1) 1.0) - (set! (-> a0-69 frame-num) 0.0) - (joint-control-channel-group! a0-69 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-70 (-> self skel root-channel 0))) - (set! (-> a0-70 param 0) (the float (+ (-> a0-70 frame-group data 0 length) -1))) - (set! (-> a0-70 param 1) 1.0) - (joint-control-channel-group-eval! a0-70 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogreboss-village2-idle) (none) @@ -1670,106 +1506,53 @@ ogreboss-village2-trans :code (behavior () - (while #t - (ja-channel-push! 1 30) + (loop + (ja-channel-push! 1 (seconds 0.1)) (let ((v1-0 (rand-vu-int-range 0 2))) (cond ((zero? v1-0) - (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) (ja-aframe 140.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (ja-aframe 140.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 140.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 140.0 0))) ) (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.167)) (suspend) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-3 param 0) (ja-aframe 168.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 140.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) + :num! (seek! (ja-aframe 168.0 0)) + :frame-num (ja-aframe 140.0 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 168.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 168.0 0))) ) (let ((gp-5 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.167)) (suspend) ) ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 168.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 168.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else (dotimes (gp-7 4) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1781,23 +1564,11 @@ ) (cond ((< 0.6666667 f0-33) - (ja-channel-push! 1 60) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-27 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((not (handle->process (-> self boulder))) diff --git a/goal_src/levels/village2/warrior.gc b/goal_src/levels/village2/warrior.gc index 73e63ae81b..85e9d1deed 100644 --- a/goal_src/levels/village2/warrior.gc +++ b/goal_src/levels/village2/warrior.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *warrior-sg* warrior - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *warrior-sg* warrior warrior-lod0-jg warrior-idle-ja + ((warrior-lod0-mg (meters 20)) (warrior-lod1-mg (meters 40)) (warrior-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow warrior-shadow-mg + ) (defmethod dummy-52 warrior ((obj warrior)) (let ((v1-1 (-> obj draw shadow-ctrl))) diff --git a/goal_src/levels/village3/assistant-village3.gc b/goal_src/levels/village3/assistant-village3.gc index 2889d62991..63df0a096d 100644 --- a/goal_src/levels/village3/assistant-village3.gc +++ b/goal_src/levels/village3/assistant-village3.gc @@ -16,14 +16,11 @@ ) -(defskelgroup *assistant-village3-sg* assistant-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-village3-sg* assistant-village3 assistant-village3-lod0-jg assistant-village3-idle-ja + ((assistant-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-village3-shadow-mg + ) (defmethod dummy-52 assistant-villagec ((obj assistant-villagec)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -145,31 +142,15 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) - (while #t + (loop (TODO-RENAME-43 self) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village3-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (while (let* ((s5-0 (-> *display* base-frame-counter)) @@ -184,29 +165,10 @@ (suspend) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) diff --git a/goal_src/levels/village3/minecart.gc b/goal_src/levels/village3/minecart.gc index ec1a94602a..d486ac5b18 100644 --- a/goal_src/levels/village3/minecart.gc +++ b/goal_src/levels/village3/minecart.gc @@ -7,13 +7,13 @@ ;; DECOMP BEGINS -(defskelgroup *minecartsteel-sg* minecartsteel - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *minecartsteel-sg* minecartsteel minecartsteel-lod0-jg minecartsteel-idle-ja + ((minecartsteel-lod0-mg (meters 20)) + (minecartsteel-lod1-mg (meters 40)) + (minecartsteel-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 4) + ) (deftype minecartsteel (process-drawable) ((root-override collide-shape-moving :offset 112) @@ -54,26 +54,12 @@ :code (behavior () (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self anim))) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) - (* (get-current-phase (-> self sync)) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -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))) + ) (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) (update-trans! (-> self sound) a1-1) ) diff --git a/goal_src/levels/village3/miners.gc b/goal_src/levels/village3/miners.gc index c2fc2a910e..c292440c95 100644 --- a/goal_src/levels/village3/miners.gc +++ b/goal_src/levels/village3/miners.gc @@ -10,22 +10,13 @@ ;; DECOMP BEGINS (defbehavior miners-anim-loop minershort () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (get-art-elem self)) ) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 2.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 2.0)) (if (= (-> self next-state name) 'idle) (TODO-RENAME-43 self) ) @@ -43,14 +34,11 @@ ) -(defskelgroup *minertall-sg* minertall - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *minertall-sg* minertall minertall-lod0-jg minertall-idle-ja + ((minertall-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow minertall-shadow-mg + ) (defmethod dummy-52 minertall ((obj minertall)) (let ((v1-1 (-> obj draw shadow-ctrl))) @@ -142,14 +130,11 @@ ) -(defskelgroup *minershort-sg* minershort - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *minershort-sg* minershort minershort-lod0-jg minershort-idle-ja + ((minershort-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow minershort-shadow-mg + ) (defpartgroup group-minershort-candle :id 566 @@ -637,52 +622,20 @@ ) -(defskelgroup *cavegem-sg* cavegem - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *cavegem-sg* cavegem cavegem-lod0-jg cavegem-idle-ja + ((cavegem-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 9) + ) (defstate idle (cavegem) :virtual #t :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/village3/sage-village3.gc b/goal_src/levels/village3/sage-village3.gc index 9a120dbc2e..b31594f682 100644 --- a/goal_src/levels/village3/sage-village3.gc +++ b/goal_src/levels/village3/sage-village3.gc @@ -19,32 +19,23 @@ ) -(defskelgroup *sage-village3-sg* sage-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sage-village3-sg* sage-village3 sage-village3-lod0-jg sage-village3-idle-ja + ((sage-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow sage-village3-shadow-mg + ) -(defskelgroup *evilbro-village3-sg* evilbro-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilbro-village3-sg* evilbro-village3 evilbro-village3-lod0-jg evilbro-village3-idle-ja + ((evilbro-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilbro-village3-shadow-mg + ) -(defskelgroup *evilsis-village3-sg* evilsis-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilsis-village3-sg* evilsis-village3 evilsis-village3-lod0-jg evilsis-village3-idle-ja + ((evilsis-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilsis-village3-shadow-mg + ) (defmethod play-anim! sage-villagec ((obj sage-villagec) (arg0 symbol)) (with-pp diff --git a/goal_src/levels/village3/village3-obs.gc b/goal_src/levels/village3/village3-obs.gc index e96f6468da..cd811ec399 100644 --- a/goal_src/levels/village3/village3-obs.gc +++ b/goal_src/levels/village3/village3-obs.gc @@ -7,37 +7,29 @@ ;; DECOMP BEGINS -(defskelgroup *med-res-ogre-sg* medres-ogre - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -450 350) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-ogre-sg* medres-ogre medres-ogre-lod0-jg medres-ogre-idle-ja + ((medres-ogre-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -450 350) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-ogre2-sg* medres-ogre2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -950 320) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-ogre2-sg* medres-ogre2 medres-ogre2-lod0-jg medres-ogre2-idle-ja + ((medres-ogre2-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -950 320) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-ogre3-sg* medres-ogre3 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -100 0 -1370 300) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-ogre3-sg* medres-ogre3 medres-ogre3-lod0-jg medres-ogre3-idle-ja + ((medres-ogre3-lod0-mg (meters 999999))) + :bounds (static-spherem -100 0 -1370 300) + :longest-edge (meters 0.01) + ) -(defskelgroup *med-res-finalboss-sg* medres-finalboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 80 120 -150 470) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-finalboss-sg* medres-finalboss medres-finalboss-lod0-jg medres-finalboss-idle-ja + ((medres-finalboss-lod0-mg (meters 999999))) + :bounds (static-spherem 80 120 -150 470) + :longest-edge (meters 0.01) + ) (deftype villagec-lava (water-anim) () @@ -93,14 +85,11 @@ ) -(defskelgroup *gondola-sg* gondola - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 -5.5 0 6.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *gondola-sg* gondola gondola-lod0-jg gondola-idle-down-ja + ((gondola-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -5.5 0 6.5) + :shadow gondola-shadow-mg + ) (defstate idle (gondola) :virtual #t @@ -127,9 +116,7 @@ ) ) ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja :group! (-> self draw art-group data 4)) ) (else (set! (-> self anim) (new 'static 'spool-anim @@ -147,13 +134,11 @@ ) ) ) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) ) ) (transform-post) - (while #t + (loop (when (and *target* (and (< (vector-vector-distance (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) (target-pos 0) @@ -442,18 +427,15 @@ :flag-assert #x16004000b0 (:methods (idle () _type_ :state 20) - (active (basic symbol) _type_ :state 21) + (active (handle symbol) _type_ :state 21) ) ) -(defskelgroup *pistons-sg* pistons - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 6 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *pistons-sg* pistons pistons-lod0-jg pistons-idle-ja + ((pistons-lod0-mg (meters 999999))) + :bounds (static-spherem 0 6 0 8) + ) (defstate idle (pistons) :virtual #t @@ -461,7 +443,7 @@ (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('update) - (go-virtual active (the-as basic (process->handle arg0)) #f) + (go-virtual active (process->handle arg0) #f) ) ) ) @@ -478,7 +460,7 @@ (defstate active (pistons) :virtual #t :code - (behavior ((arg0 basic) (arg1 symbol)) + (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) @@ -489,19 +471,16 @@ ) ) ) - (while #t + (loop (set! f30-0 (seek f30-0 1.0 (* 0.2 (-> *display* seconds-per-frame)))) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) f30-0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) (ja-post) (update! (-> self sound)) (suspend) ) ) - ;; note : deleted some unused trash "code" here - (none) + ;; decompiler never gets here and fails hard + (go-virtual idle) ) ) @@ -509,22 +488,11 @@ (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *pistons-sg* '()) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "gdl-gen-loop") - :volume #x400 - :fo-max 100 - ) - (-> obj root trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "gdl-gen-loop" :fo-max 100) (-> obj root trans)) ) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) - (go (method-of-object obj active) #f #t) + (go (method-of-object obj active) (the-as handle #f) #t) (go (method-of-object obj idle)) ) (none) @@ -542,13 +510,10 @@ ) -(defskelgroup *gondolacables-sg* gondolacables - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 120) - :longest-edge (meters 0) - ) +(defskelgroup *gondolacables-sg* gondolacables gondolacables-lod0-jg gondolacables-idle-ja + ((gondolacables-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 120) + ) (defstate idle (gondolacables) :virtual #t @@ -567,40 +532,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/goal_src/levels/village_common/oracle.gc b/goal_src/levels/village_common/oracle.gc index dab15d9dad..85de588323 100644 --- a/goal_src/levels/village_common/oracle.gc +++ b/goal_src/levels/village_common/oracle.gc @@ -20,13 +20,10 @@ ) -(defskelgroup *oracle-sg* oracle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *oracle-sg* oracle oracle-lod0-jg oracle-idle-ja + ((oracle-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) (defmethod play-anim! oracle ((obj oracle) (arg0 symbol)) (set! (-> obj talk-message) (game-text-id press-to-talk)) diff --git a/goal_src/levels/village_common/villagep-obs.gc b/goal_src/levels/village_common/villagep-obs.gc index 96df5e5840..5a1e064c6c 100644 --- a/goal_src/levels/village_common/villagep-obs.gc +++ b/goal_src/levels/village_common/villagep-obs.gc @@ -75,40 +75,21 @@ (ja-channel-set! 1) (send-event self 'do-effect 'death-warp-in -1.0) (sound-play-by-name (static-sound-name "warpgate-tele") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-3 param 0) (ja-aframe 50.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 40.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 41) + :num! (seek! (ja-aframe 50.0 0)) + :frame-num (ja-aframe 40.0 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 50.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 50.0 0))) ) (restore-collide-with-as (-> self control)) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 41)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 50.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 41) :num! (seek!) :frame-num (ja-aframe 50.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) - (set! (-> a0-26 param 1) 1.0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (target-falling-anim -1 99) + (target-falling-anim -1 (seconds 0.33)) (none) ) :post @@ -129,7 +110,7 @@ (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (and (and *target* (>= 20480.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (and (>= (-> self level-slot) 0) (not (movie?)) @@ -293,7 +274,7 @@ (s4-0 #f) (s3-0 gp-0) ) - (while #t + (loop (when (zero? s2-0) (cond ((cpad-pressed? 0 right) @@ -491,13 +472,10 @@ ) -(defskelgroup *warp-gate-switch-sg* warp-gate-switch - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1.5) - :longest-edge (meters 0) - ) +(defskelgroup *warp-gate-switch-sg* warp-gate-switch warp-gate-switch-lod0-jg warp-gate-switch-down-ja + ((warp-gate-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1.5) + ) (defmethod TODO-RENAME-27 warp-gate-switch ((obj warp-gate-switch)) (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) @@ -910,13 +888,10 @@ ) ) -(defskelgroup *village-cam-sg* village-cam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 80) - :longest-edge (meters 0) - ) +(defskelgroup *village-cam-sg* village-cam village-cam-lod0-jg -1 + ((village-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 80) + ) (deftype village-cam (process) ((root-override trsq :offset-assert 112) @@ -946,7 +921,7 @@ :code (behavior () (local-vars (v1-18 symbol)) - (while #t + (loop (let ((v1-5 (and (and *target* (>= (-> self range) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) diff --git a/goal_src/pc/pckernel-h.gc b/goal_src/pc/pckernel-h.gc index ab3e257d5b..18e4cb71f7 100644 --- a/goal_src/pc/pckernel-h.gc +++ b/goal_src/pc/pckernel-h.gc @@ -136,21 +136,6 @@ :pack-me ) -;; general fixes -(deftype pc-fixes (structure) - ((crash-sagecage symbol) ;; citadel - (crash-dma symbol) ;; general out of memory crash - (crash-light-eco symbol) ;; why does this one even happen? - (crash-moles symbol) ;; dont know either - (lockout-pelican symbol) ;; kill pelican during chase - (lockout-pipegame symbol) ;; last buzzer is pipegame - (lockout-gambler symbol) ;; talk without completing - (fix-movies symbol) ;; bad camera and single-frame crappiness - (fix-credits symbol) ;; one of the credits lines has the wrong color!! - ) - :pack-me - ) - ;; bingo integration. placeholder for now. (deftype pc-bingo-info (structure) () @@ -275,8 +260,6 @@ (third-camera-vflip? symbol) ;; third-person vertical camera flipped (money-starburst? symbol) ;; add a starburst to the money - (fixes pc-fixes :inline) ;; extra game fixes - (bingo pc-bingo-info :inline) ;; bingo integration. does nothing for now. (secrets pc-game-secrets :inline) ;; hidden goodies and additional secrets! @@ -301,7 +284,6 @@ (reset-gfx (_type_) none) (reset-ps2 (_type_) none) (reset-misc (_type_) none) - (reset-fixes (_type_) none) (reset-extra (_type_) none) (draw (_type_ dma-buffer) none) (set-display-mode! (_type_ symbol) int) @@ -378,7 +360,6 @@ (reset-input obj) (reset-ps2 obj) (reset-misc obj) - (reset-fixes obj) (reset-extra obj) (none)) @@ -453,20 +434,6 @@ (set! (-> obj money-starburst?) #f) (none)) -(defmethod reset-fixes pc-settings ((obj pc-settings)) - "Set the default fixes settings" - - (set! (-> obj fixes crash-sagecage) #t) - (set! (-> obj fixes crash-dma) #t) - (set! (-> obj fixes crash-light-eco) #t) - (set! (-> obj fixes crash-moles) #t) - (set! (-> obj fixes lockout-pelican) #t) - (set! (-> obj fixes lockout-pipegame) #t) - (set! (-> obj fixes lockout-gambler) #t) - (set! (-> obj fixes fix-movies) #f) - (set! (-> obj fixes fix-credits) #t) - (none)) - (defmethod reset-extra pc-settings ((obj pc-settings)) "Set the default goodies settings" diff --git a/goal_src/pc/pckernel.gc b/goal_src/pc/pckernel.gc index 8610d676ef..58ea8ba66f 100644 --- a/goal_src/pc/pckernel.gc +++ b/goal_src/pc/pckernel.gc @@ -551,21 +551,6 @@ (set! (-> obj scenes-seen i) (file-stream-read-int file)) ) ) - (("fixes") - (dosettings (file) - (case-str *pc-temp-string* - (("crash-sagecage") (set! (-> obj fixes crash-sagecage) (file-stream-read-symbol file))) - (("crash-dma") (set! (-> obj fixes crash-dma) (file-stream-read-symbol file))) - (("crash-light-eco") (set! (-> obj fixes crash-light-eco) (file-stream-read-symbol file))) - (("crash-moles") (set! (-> obj fixes crash-moles) (file-stream-read-symbol file))) - (("lockout-pelican") (set! (-> obj fixes lockout-pelican) (file-stream-read-symbol file))) - (("lockout-pipegame") (set! (-> obj fixes lockout-pipegame) (file-stream-read-symbol file))) - (("lockout-gambler") (set! (-> obj fixes lockout-gambler) (file-stream-read-symbol file))) - (("fix-movies") (set! (-> obj fixes fix-movies) (file-stream-read-symbol file))) - (("fix-credits") (set! (-> obj fixes fix-credits) (file-stream-read-symbol file))) - ) - ) - ) (("secrets") (dosettings (file) (case-str *pc-temp-string* @@ -682,18 +667,6 @@ ) (format file "~% )~%") - (format file " (fixes~%") - (format file " (crash-sagecage ~A)~%" (-> obj fixes crash-sagecage)) - (format file " (crash-dma ~A)~%" (-> obj fixes crash-dma)) - (format file " (crash-light-eco ~A)~%" (-> obj fixes crash-light-eco)) - (format file " (crash-moles ~A)~%" (-> obj fixes crash-moles)) - (format file " (lockout-pelican ~A)~%" (-> obj fixes lockout-pelican)) - (format file " (lockout-pipegame ~A)~%" (-> obj fixes lockout-pipegame)) - (format file " (lockout-gambler ~A)~%" (-> obj fixes lockout-gambler)) - (format file " (fix-movies ~A)~%" (-> obj fixes fix-movies)) - (format file " (fix-credits ~A)~%" (-> obj fixes fix-credits)) - (format file " )~%") - (format file " (secrets~%") (format file " (art #x~X)~%" (-> obj secrets art)) (format file " (hard-rats? ~A)~%" (-> obj secrets hard-rats?)) diff --git a/goalc/compiler/compilation/CompilerControl.cpp b/goalc/compiler/compilation/CompilerControl.cpp index 43560e910e..563a85c31e 100644 --- a/goalc/compiler/compilation/CompilerControl.cpp +++ b/goalc/compiler/compilation/CompilerControl.cpp @@ -130,6 +130,7 @@ Val* Compiler::compile_asm_file(const goos::Object& form, const goos::Object& re bool no_code = false; bool disassemble = false; bool no_time_prints = false; + bool no_throw = false; std::vector> timing; Timer total_timer; @@ -157,6 +158,8 @@ Val* Compiler::compile_asm_file(const goos::Object& form, const goos::Object& re write = true; } else if (setting == ":no-code") { no_code = true; + } else if (setting == ":no-throw") { + no_throw = true; } else if (setting == ":disassemble") { disassemble = true; last_was_disasm = true; @@ -171,87 +174,93 @@ Val* Compiler::compile_asm_file(const goos::Object& form, const goos::Object& re // READ Timer reader_timer; - auto code = m_goos.reader.read_from_file({filename}); - timing.emplace_back("read", reader_timer.getMs()); + try { + auto code = m_goos.reader.read_from_file({filename}); + timing.emplace_back("read", reader_timer.getMs()); - Timer compile_timer; - std::string obj_file_name = filename; + Timer compile_timer; + std::string obj_file_name = filename; - // Extract object name from file name. - for (int idx = int(filename.size()) - 1; idx-- > 0;) { - if (filename.at(idx) == '\\' || filename.at(idx) == '/') { - obj_file_name = filename.substr(idx + 1); - break; + // Extract object name from file name. + for (int idx = int(filename.size()) - 1; idx-- > 0;) { + if (filename.at(idx) == '\\' || filename.at(idx) == '/') { + obj_file_name = filename.substr(idx + 1); + break; + } } - } - obj_file_name = obj_file_name.substr(0, obj_file_name.find_last_of('.')); + obj_file_name = obj_file_name.substr(0, obj_file_name.find_last_of('.')); - // COMPILE - auto obj_file = compile_object_file(obj_file_name, code, !no_code); - timing.emplace_back("compile", compile_timer.getMs()); + // COMPILE + auto obj_file = compile_object_file(obj_file_name, code, !no_code); + timing.emplace_back("compile", compile_timer.getMs()); - if (color) { - // register allocation - Timer color_timer; - color_object_file(obj_file); - timing.emplace_back("color", color_timer.getMs()); + if (color) { + // register allocation + Timer color_timer; + color_object_file(obj_file); + timing.emplace_back("color", color_timer.getMs()); - // code/object file generation - Timer codegen_timer; - std::vector data; - std::string disasm; - if (disassemble) { - codegen_and_disassemble_object_file(obj_file, &data, &disasm); - if (disasm_filename == "") { - printf("%s\n", disasm.c_str()); + // code/object file generation + Timer codegen_timer; + std::vector data; + std::string disasm; + if (disassemble) { + codegen_and_disassemble_object_file(obj_file, &data, &disasm); + if (disasm_filename == "") { + printf("%s\n", disasm.c_str()); + } else { + file_util::write_text_file(disasm_filename, disasm); + } } else { - file_util::write_text_file(disasm_filename, disasm); + data = codegen_object_file(obj_file); + } + timing.emplace_back("codegen", codegen_timer.getMs()); + + // send to target + if (load) { + if (m_listener.is_connected()) { + m_listener.send_code(data, obj_file_name); + } else { + printf("WARNING - couldn't load because listener isn't connected\n"); // todo log warn + } + } + + // save file + if (write) { + auto path = file_util::get_file_path({"out", "obj", obj_file_name + ".o"}); + file_util::create_dir_if_needed_for_file(path); + file_util::write_binary_file(path, (void*)data.data(), data.size()); } } else { - data = codegen_object_file(obj_file); - } - timing.emplace_back("codegen", codegen_timer.getMs()); + if (load) { + printf("WARNING - couldn't load because coloring is not enabled\n"); + } - // send to target - if (load) { - if (m_listener.is_connected()) { - m_listener.send_code(data, obj_file_name); - } else { - printf("WARNING - couldn't load because listener isn't connected\n"); // todo log warn + if (write) { + printf("WARNING - couldn't write because coloring is not enabled\n"); + } + + if (disassemble) { + printf("WARNING - couldn't disassemble because coloring is not enabled\n"); } } - // save file - if (write) { - auto path = file_util::get_file_path({"out", "obj", obj_file_name + ".o"}); - file_util::create_dir_if_needed_for_file(path); - file_util::write_binary_file(path, (void*)data.data(), data.size()); + if (m_settings.print_timing) { + printf("F: %36s ", obj_file_name.c_str()); + timing.emplace_back("total", total_timer.getMs()); + for (auto& e : timing) { + printf(" %12s %4.0f", e.first.c_str(), e.second); + } + printf("\n"); + } else { + auto total_time = total_timer.getMs(); + if (total_time > 10.0 && color && !no_time_prints) { + fmt::print("[ASM-FILE] {} took {:.2f} ms\n", obj_file_name, total_time); + } } - } else { - if (load) { - printf("WARNING - couldn't load because coloring is not enabled\n"); - } - - if (write) { - printf("WARNING - couldn't write because coloring is not enabled\n"); - } - - if (disassemble) { - printf("WARNING - couldn't disassemble because coloring is not enabled\n"); - } - } - - if (m_settings.print_timing) { - printf("F: %36s ", obj_file_name.c_str()); - timing.emplace_back("total", total_timer.getMs()); - for (auto& e : timing) { - printf(" %12s %4.0f", e.first.c_str(), e.second); - } - printf("\n"); - } else { - auto total_time = total_timer.getMs(); - if (total_time > 10.0 && color && !no_time_prints) { - fmt::print("[ASM-FILE] {} took {:.2f} ms\n", obj_file_name, total_time); + } catch (std::runtime_error& e) { + if (!no_throw) { + throw_compiler_error(form, "Error while compiling file: {}", e.what()); } } diff --git a/test/decompiler/FormRegressionTest.cpp b/test/decompiler/FormRegressionTest.cpp index c573815163..246a833b39 100644 --- a/test/decompiler/FormRegressionTest.cpp +++ b/test/decompiler/FormRegressionTest.cpp @@ -233,8 +233,9 @@ std::unique_ptr FormRegressionTest::make_function( test->func, *dts); // move variables into lets. + LetRewriteStats dummy; insert_lets(test->func, test->func.ir2.env, *test->func.ir2.form_pool, - test->func.ir2.top_form); + test->func.ir2.top_form, dummy); } } @@ -322,4 +323,4 @@ void FormRegressionTest::test_with_stack_structures(const std::string& code, } std::unique_ptr FormRegressionTest::parser; -std::unique_ptr FormRegressionTest::dts; \ No newline at end of file +std::unique_ptr FormRegressionTest::dts; diff --git a/test/decompiler/reference/decompiler-macros.gc b/test/decompiler/reference/decompiler-macros.gc index 632f8d84a7..1533a843c0 100644 --- a/test/decompiler/reference/decompiler-macros.gc +++ b/test/decompiler/reference/decompiler-macros.gc @@ -862,10 +862,26 @@ ) ;; art-h +(desfun art-elt->index (ag-name elt-name) + (if (number? elt-name) + elt-name + (let ((ag-info (assoc ag-name *art-info*))) + (if (null? ag-info) + -1 + (let ((elt-info (assoc elt-name (cdr ag-info)))) + (if (null? elt-info) + -1 + (cadr elt-info)) + ) + ) + ) + ) + ) + (defmacro defskelgroup (name art-name joint-geom joint-anim lods &key (shadow 0) &key bounds - &key longest-edge + &key (longest-edge 0.0) &key (texture-level 0) &key (sort 0) &key (version 6) ;; do NOT use this! @@ -879,18 +895,18 @@ :longest-edge ,longest-edge :version ,version :max-lod ,(- (length lods) 1) - :shadow ,shadow + :shadow ,(art-elt->index (string->symbol-format "{}-ag" art-name) shadow) :texture-level ,texture-level :sort ,sort ))) ;; set joint geometry and joint bones - (set! (-> skel jgeo) ,joint-geom) - (set! (-> skel janim) ,joint-anim) + (set! (-> skel jgeo) ,(art-elt->index (string->symbol-format "{}-ag" art-name) joint-geom)) + (set! (-> skel janim) ,(art-elt->index (string->symbol-format "{}-ag" art-name) joint-anim)) ;; set lods ,@(apply-i (lambda (x i) `(begin - (set! (-> skel mgeo ,i) ,(car x)) + (set! (-> skel mgeo ,i) ,(art-elt->index (string->symbol-format "{}-ag" art-name) (car x))) (set! (-> skel lod-dist ,i) ,(cadr x)) ) ) lods) @@ -969,4 +985,139 @@ )) ) +;; process-drawable +(defmacro ja-group (&key (chan 0)) + "get the frame group for self. default channel is 0, the base channel. returns #f if no frame group." + `(if (> (-> self skel active-channels) ,chan) + (-> self skel root-channel ,chan frame-group)) + ) + +(defmacro ja-group? (group &key (chan 0)) + "is self in this frame group on this channel? default is channel 0, which is the base channel." + `(= (ja-group) ,group) + ) + +(defmacro ja (&key (chan 0) + &key (group! #f) + &key (num! #f) + &key (param0 #f) + &key (param1 #f) + &key (num-func #f) + &key (frame-num #f) + &key (frame-interp #f) + &key (dist #f) + &key (eval? #t) + ) + "set various joint anim parameters for self and eval them. + you can use this for playing animations! + + chan = the channel to modify. defaults to 0 (base channel). this is usually what you want. + group! = when not #f, set this as the new frame-group. defaults to #f + num! = set the frame playback function. this is what determines what frame an animation is at. funcs below. + #f = no func will be set, and there wont be a frame eval. + num-func = sets the num-func field for the channel. this lets you change the function with eval'ing. + param0 = 1st parameter for the playback function. ONLY USE THESE WITH num-func !! + param1 = 2nd parameter for the playback function. ONLY USE THESE WITH num-func !! + frame-num = set the frame-num field. + frame-interp = set the frame-interp field. + dist = set the dist field. + + available num! functions: + - (+!) = advance anim. + - (-!) = reverse anim. + - (identity num) = play 'num' frame. + - (seek! target speed) = animate towards frame target at a speed. + speed is optional and defaults to 1.0 when not provided. + target is optional and defaults to the last frame of the animation. + if you want to set the speed, you therefore must also set the target. + target can be max (no quote), which is just the same as the default value. + - (loop! speed) = loop animation at a speed. default speed is 1.0 when not provided. + - (chan channel) = copy frame from another channel. + - min = the start of the animation. + - max = the end of the animation. + " + + (let* ((num-args (if (pair? num!) (cdr num!) '())) + (num! (if (pair? num!) (car num!) num!)) + (nf (cond + ((or (eq? num! 'identity) + (eq? num! 'min) + (eq? num! 'max) + ) + 'num-func-identity) + ((eq? num! 'none) 'num-func-none) + ((eq? num! '+!) 'num-func-+!) + ((eq? num! '-!) 'num-func--!) + ((eq? num! 'seek!) 'num-func-seek!) + ((eq? num! 'loop!) 'num-func-loop!) + ((eq? num! 'blend-in!) 'num-func-blend-in!) + ((eq? num! 'chan) 'num-func-chan) + )) + (p0 (if param0 param0 + (cond + ((eq? num! 'chan) `(the float ,(car num-args))) + ((eq? num! '+!) (if (null? num-args) 1.0 (car num-args))) + ((eq? num! '-!) (if (null? num-args) 1.0 (car num-args))) + ((eq? num! 'loop!) (if (null? num-args) 1.0 (if (eq? 'max (car num-args)) + (if group! + `(the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + `(the float (1- (-> ja-ch frame-group data 0 length))) + ) + (car num-args)))) + ((eq? num! 'seek!) (if (or (null? num-args) (eq? (car num-args) 'max)) + (if group! + `(the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + `(the float (1- (-> ja-ch frame-group data 0 length))) + ) + (car num-args))) + ))) + (p1 (if param1 param1 + (cond + ((eq? num! 'seek!) (if (or (null? num-args) (null? (cdr num-args))) 1.0 (cadr num-args))) + ))) + (frame-num (if (eq? 'max frame-num) (if group! + `(the float (1- (-> (the art-joint-anim ,group!) data 0 length))) + `(the float (1- (-> ja-ch frame-group data 0 length))) + ) + frame-num)) + (frame-group (if (or p0 p1 frame-num (not nf)) group! #f)) + ) + `(let ((ja-ch (-> self skel root-channel ,chan))) + ,(if frame-interp `(set! (-> ja-ch frame-interp) ,frame-interp) `(none)) + ,(if dist `(set! (-> ja-ch dist) ,dist) `(none)) + ,(if frame-group `(set! (-> ja-ch frame-group) (the art-joint-anim ,frame-group)) `(none)) + ,(if p0 `(set! (-> ja-ch param 0) ,p0) `(none)) + ,(if p1 `(set! (-> ja-ch param 1) ,p1) `(none)) + ,(if num-func `(set! (-> ja-ch num-func) ,num-func) `(none)) + ,(if frame-num `(set! (-> ja-ch frame-num) ,frame-num) `(none)) + ,(if nf + `(,(if eval? 'joint-control-channel-group-eval! 'joint-control-channel-group!) + ja-ch (the art-joint-anim ,group!) ,nf) + `(none)) + ,(cond + ((eq? num! 'min) `(set! (-> ja-ch frame-num) 0.0)) + ((eq? num! 'max) (if group! + `(set! (-> ja-ch frame-num) (the float (1- (-> (the art-joint-anim ,group!) data 0 length)))) + `(set! (-> ja-ch frame-num) (the float (1- (-> ja-ch frame-group data 0 length)))) + )) + ((eq? num! 'identity) `(set! (-> ja-ch frame-num) ,(car num-args))) + (#t `(none)) + ) + )) + ) + +(defmacro ja-no-eval (&key (chan 0) + &key (group! #f) + &key (num! #f) + &key (param0 #f) + &key (param1 #f) + &key (num-func #f) + &key (frame-num #f) + &key (frame-interp #f) + &key (dist #f) + ) + `(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) + ) + + diff --git a/test/decompiler/reference/engine/ambient/mood_REF.gc b/test/decompiler/reference/engine/ambient/mood_REF.gc index 40c956e0cd..1dc0c4aa21 100644 --- a/test/decompiler/reference/engine/ambient/mood_REF.gc +++ b/test/decompiler/reference/engine/ambient/mood_REF.gc @@ -2811,8 +2811,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/test/decompiler/reference/engine/anim/joint_REF.gc b/test/decompiler/reference/engine/anim/joint_REF.gc index 054dfac254..4443a9e246 100644 --- a/test/decompiler/reference/engine/anim/joint_REF.gc +++ b/test/decompiler/reference/engine/anim/joint_REF.gc @@ -668,20 +668,20 @@ ) ;; definition for function joint-control-channel-eval +;; INFO: Return type mismatch float vs none. (defun joint-control-channel-eval ((arg0 joint-control-channel)) - (let ((f0-2 ((-> arg0 num-func) arg0 (-> arg0 param 0) (-> arg0 param 1)))) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) - f0-2 - ) + ((-> arg0 num-func) arg0 (-> arg0 param 0) (-> arg0 param 1)) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + (none) ) ;; definition for function joint-control-channel-eval! +;; INFO: Return type mismatch float vs none. (defun joint-control-channel-eval! ((arg0 joint-control-channel) (arg1 (function joint-control-channel float float float))) (set! (-> arg0 num-func) arg1) - (let ((f0-2 (arg1 arg0 (-> arg0 param 0) (-> arg0 param 1)))) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) - f0-2 - ) + (arg1 arg0 (-> arg0 param 0) (-> arg0 param 1)) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + (none) ) ;; definition for function joint-control-channel-group-eval! diff --git a/test/decompiler/reference/engine/camera/cam-combiner_REF.gc b/test/decompiler/reference/engine/camera/cam-combiner_REF.gc index c4ea1dd4f3..439eb45dcb 100644 --- a/test/decompiler/reference/engine/camera/cam-combiner_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-combiner_REF.gc @@ -173,7 +173,7 @@ :code (behavior () (local-vars (sv-160 cam-rotation-tracker)) - (while #t + (loop (when (and (zero? (logand (-> *camera* master-options) 2)) (!= (-> self tracking-status) 0)) (set! (-> self tracking-status) (the-as uint 0)) 0 diff --git a/test/decompiler/reference/engine/camera/cam-layout_REF.gc b/test/decompiler/reference/engine/camera/cam-layout_REF.gc index 58f4dc76d0..ac77090df1 100644 --- a/test/decompiler/reference/engine/camera/cam-layout_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-layout_REF.gc @@ -314,7 +314,7 @@ (sv-288 int) ) (let ((s4-0 0)) - (while #t + (loop (set! sv-16 (new 'static 'res-tag)) (let ((s3-0 (the-as (inline-array vector) ((method-of-type res-lump get-property-data) arg0 @@ -3994,7 +3994,7 @@ (defstate cam-layout-active (cam-layout) :code (behavior () - (while #t + (loop (cam-layout-entity-info (the-as entity-actor (-> self cam-entity))) (cam-layout-entity-volume-info) (cam-layout-do-menu *clm*) diff --git a/test/decompiler/reference/engine/camera/cam-master_REF.gc b/test/decompiler/reference/engine/camera/cam-master_REF.gc index 4d8a0d1730..874fecf7bc 100644 --- a/test/decompiler/reference/engine/camera/cam-master_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-master_REF.gc @@ -545,7 +545,7 @@ (defun in-cam-entity-volume? ((arg0 vector) (arg1 entity) (arg2 float) (arg3 symbol)) (local-vars (sv-16 res-tag)) (let ((s2-0 0)) - (while #t + (loop (set! sv-16 (new 'static 'res-tag)) (let ((v1-1 (the-as object ((method-of-type res-lump get-property-data) arg1 @@ -902,7 +902,7 @@ ) :code (behavior () - (while #t + (loop (if (and *dproc* *debug-segment*) (add-frame (-> *display* frames (-> *display* on-screen) frame profile-bar 0) @@ -977,7 +977,7 @@ (defstate list-keeper-active (camera-master) :code (behavior () - (while #t + (loop (change-to-last-brother self) (suspend) ) 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 6a6dc69db5..6e17ed5234 100644 --- a/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc @@ -46,7 +46,7 @@ ) :code (behavior () - (while #t + (loop (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) @@ -441,7 +441,7 @@ ) :code (behavior () - (while #t + (loop (let ((a2-0 (-> *camera* local-down))) (if (logtest? (-> self options) 8) (set! a2-0 (the-as vector #f)) @@ -561,7 +561,7 @@ ) :code (behavior () - (while #t + (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 19b8712a91..66cec758b7 100644 --- a/test/decompiler/reference/engine/camera/cam-states_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-states_REF.gc @@ -26,7 +26,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> self trans quad) (-> self saved-pt quad)) @@ -82,7 +82,7 @@ ) :code (behavior () - (while #t + (loop (format *stdcon* "ERROR : stayed in cam-fixed-read-entity~%") (suspend) ) @@ -121,7 +121,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (vector<-cspace! (-> self trans) @@ -204,7 +204,7 @@ ) (vector-normalize-copy! s5-0 (-> v1-11 vector 2) (the-as float 1.0)) ) - (while #t + (loop (when (not (paused?)) (let ((s0-0 (-> (the-as pov-camera (-> *camera* pov-handle process 0)) @@ -284,7 +284,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (vector<-cspace! (-> self trans) @@ -357,7 +357,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) (cam-standoff-calc-trans) @@ -410,7 +410,7 @@ ) :code (behavior () - (while #t + (loop (format *stdcon* "ERROR : stayed in cam-standoff-read-entity~%") (suspend) ) @@ -491,7 +491,7 @@ :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (when (not (paused?)) (let ((s4-0 (vector-reset! (new-stack-vector0))) (s5-0 (new-stack-matrix0)) @@ -670,7 +670,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (let ((s5-0 (vector-reset! (new-stack-vector0))) (s4-0 (vector-reset! (new-stack-vector0))) @@ -844,7 +844,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (cam-calc-follow! (-> self tracking) (-> self trans) #t) (new 'stack 'curve) @@ -879,7 +879,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) @@ -949,7 +949,7 @@ (init! gp-0 s4-0 (the-as float 81.92) (fmax 819.2 (vector-length s5-0)) (the-as float 0.75)) (set! (-> gp-0 vel quad) (-> s5-0 quad)) ) - (while #t + (loop (when (not (paused?)) (set! (-> gp-0 target x) (-> (target-pos 0) x)) (set! (-> gp-0 target z) (-> (target-pos 0) z)) @@ -1253,7 +1253,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (cam-circular-code) ) @@ -1284,7 +1284,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1327,7 +1327,7 @@ ) (vector--float*! s5-0 s5-0 (-> *camera* local-down) (-> *CAMERA-bank* default-string-min-y)) (set! (-> arg0 quad) (-> s5-0 quad)) - (while #t + (loop (vector--float*! s4-0 arg0 (-> *camera* local-down) (-> *camera* target-height)) (if (< (fill-and-probe-using-line-sphere *collide-cache* @@ -3084,7 +3084,7 @@ ) :code (behavior () - (while #t + (loop (when (not (paused?)) (set-string-parms) (cam-string-code) @@ -3333,7 +3333,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (cam-stick-code) ) @@ -3515,7 +3515,7 @@ ) :code (behavior () - (while #t + (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 dc74a12e5d..7308f73b2a 100644 --- a/test/decompiler/reference/engine/camera/camera_REF.gc +++ b/test/decompiler/reference/engine/camera/camera_REF.gc @@ -695,7 +695,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) diff --git a/test/decompiler/reference/engine/camera/pov-camera_REF.gc b/test/decompiler/reference/engine/camera/pov-camera_REF.gc index bfb66f2e1e..f4b62274ef 100644 --- a/test/decompiler/reference/engine/camera/pov-camera_REF.gc +++ b/test/decompiler/reference/engine/camera/pov-camera_REF.gc @@ -74,40 +74,16 @@ ;; INFO: Return type mismatch int vs none. (defbehavior pov-camera-play-and-reposition pov-camera ((arg0 art-joint-anim) (arg1 vector) (arg2 float)) (let ((s4-0 #f)) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) arg0) - (set! (-> v1-2 param 0) (the float (+ (-> arg0 data 0 length) -1))) - (set! (-> v1-2 param 1) arg2) - (set! (-> v1-2 frame-num) 0.0) - (joint-control-channel-group! v1-2 arg0 num-func-seek!) - ) + (ja-no-eval :group! arg0 :num! (seek! max arg2) :frame-num 0.0) (until (ja-done? 0) - (let ((v1-4 (and (not s4-0) (< (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -4 - ) - ) - (ja-frame-num 0) - ) - ) - ) - ) + (let ((v1-4 (and (not s4-0) (< (the float (+ (-> (ja-group) data 0 length) -4)) (ja-frame-num 0))))) (when v1-4 (set! s4-0 #t) (send-event *camera* 'teleport-to-vector-start-string arg1) ) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) arg2) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg2)) ) ) 0 @@ -153,40 +129,11 @@ (push-setting! *setting-control* self 'sfx-volume 'rel (-> self sfx-volume-movie) 0) (cond ((= (-> self anim-name type) string) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (check-for-abort self) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= (-> self anim-name type) spool-anim) @@ -221,7 +168,7 @@ ) :code (behavior () - (set-blackout-frames (seconds 0.033333335)) + (set-blackout-frames (seconds 0.035)) (suspend) (suspend) (go-virtual pov-camera-done-playing) diff --git a/test/decompiler/reference/engine/data/art-h_REF.gc b/test/decompiler/reference/engine/data/art-h_REF.gc index fbe513c03c..b9847c72df 100644 --- a/test/decompiler/reference/engine/data/art-h_REF.gc +++ b/test/decompiler/reference/engine/data/art-h_REF.gc @@ -307,7 +307,7 @@ ;; definition of type skeleton-group (deftype skeleton-group (basic) - ((art-group-name basic :offset-assert 4) + ((art-group-name string :offset-assert 4) (jgeo int32 :offset-assert 8) (janim int32 :offset-assert 12) (bounds vector :inline :offset-assert 16) diff --git a/test/decompiler/reference/engine/debug/anim-tester_REF.gc b/test/decompiler/reference/engine/debug/anim-tester_REF.gc index 21d3ac3b47..df2ceb8cc6 100644 --- a/test/decompiler/reference/engine/debug/anim-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/anim-tester_REF.gc @@ -261,7 +261,7 @@ (let ((v1-88 (-> arg0 the-node))) "is this node the start of the list. #t = start" (when (not (not (-> v1-88 prev))) - (while #t + (loop (let ((v1-92 (-> arg0 the-node))) "return the previous node in the list" (let ((v1-93 (-> v1-92 prev))) @@ -298,7 +298,7 @@ (let ((v1-107 (-> arg0 the-node))) "is this node the end of the list. #t = end" (when (not (not (-> v1-107 next))) - (while #t + (loop (let ((v1-111 (-> arg0 the-node))) "return the next node in the list" (let ((v1-112 (-> v1-111 next))) @@ -1324,7 +1324,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-15 tailpred) v1-15)) (let ((v1-17 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the previous node in the list" (set! v1-17 (-> (the-as anim-test-obj v1-17) prev)) (let ((a0-23 (the-as anim-test-obj v1-17))) @@ -1348,7 +1348,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-21 tailpred) v1-21)) (let ((v1-23 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the next node in the list" (set! v1-23 (-> (the-as anim-test-obj v1-23) next)) (let ((a0-40 (the-as anim-test-obj v1-23))) @@ -1501,7 +1501,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-17 tailpred) v1-17)) (let ((v1-19 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the previous node in the list" (set! v1-19 (-> (the-as anim-test-sequence v1-19) prev)) (let ((a0-24 (the-as anim-test-sequence v1-19))) @@ -1525,7 +1525,7 @@ "is the list empty, #t = empty" (when (not (= (-> v1-23 tailpred) v1-23)) (let ((v1-25 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) - (while #t + (loop "return the next node in the list" (set! v1-25 (-> (the-as anim-test-sequence v1-25) next)) (let ((a0-42 (the-as anim-test-sequence v1-25))) @@ -2461,7 +2461,7 @@ (s4-0 (-> arg0 playing-item)) ) (when (logtest? (-> v0-0 flags) 5) - (while #t + (loop (+! s4-0 1) (if (>= s4-0 (glst-num-elements (-> arg0 item-list))) (set! s4-0 0) @@ -2509,7 +2509,7 @@ :code (behavior () (local-vars (s4-0 glst-node) (s5-1 anim-test-seq-item) (gp-2 anim-test-sequence)) - (while #t + (loop (logclear! (-> self flags) (anim-tester-flags fanimt0)) (let ((v1-2 (-> self obj-list))) "is the list empty, #t = empty" @@ -2587,27 +2587,18 @@ (s4-1 (logior! (-> self flags) (anim-tester-flags fanimt0)) (if (nonzero? (-> s5-1 blend)) - (ja-channel-push! 1 (the int (* (the float (-> s5-1 blend)) (-> self anim-gspeed)))) + (ja-channel-push! 1 (the-as time-frame (the int (* (the float (-> s5-1 blend)) (-> self anim-gspeed))))) (ja-channel-set! 1) ) (cond ((= (-> self anim-first) -1.0) - (let ((s3-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-0 s4-1 num-func-identity) - (set! (-> s3-0 frame-num) 0.0) - ) + (ja :group! s4-1 :num! min) ) ((= (-> self anim-first) -2.0) - (let ((s3-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-1 s4-1 num-func-identity) - (set! (-> s3-1 frame-num) (the float (+ (-> s4-1 data 0 length) -1))) - ) + (ja :group! s4-1 :num! max) ) (else - (let ((s3-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-2 s4-1 num-func-identity) - (set! (-> s3-2 frame-num) (-> self anim-first)) - ) + (ja :group! s4-1 :num! (identity (-> self anim-first))) ) ) (when (nonzero? (-> s5-1 blend)) @@ -2629,36 +2620,16 @@ (let ((v1-73 (= (-> self anim-last) -2.0))) (cond ((or v1-73 (>= (-> self anim-last) (-> self anim-first))) - (cond - ((= (-> self anim-last) -2.0) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 param 0) (the float (+ (-> a0-42 frame-group data 0 length) -1))) - (set! (-> a0-42 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-42 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (-> self anim-last)) - (set! (-> a0-43 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (if (= (-> self anim-last) -2.0) + (ja :num! (seek! max (-> self anim-speed))) + (ja :num! (seek! (-> self anim-last) (-> self anim-speed))) ) - ) ) ((= (-> self anim-last) -1.0) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 param 0) 0.0) - (set! (-> a0-44 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-44 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self anim-speed))) ) (else - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (-> self anim-last)) - (set! (-> a0-45 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (-> self anim-last) (-> self anim-speed))) ) ) ) diff --git a/test/decompiler/reference/engine/debug/part-tester_REF.gc b/test/decompiler/reference/engine/debug/part-tester_REF.gc index daa70d3d34..c96ead71c4 100644 --- a/test/decompiler/reference/engine/debug/part-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/part-tester_REF.gc @@ -46,7 +46,7 @@ (defstate part-tester-idle (part-tester) :code (behavior () - (while #t + (loop (let ((gp-0 (entity-by-name *part-tester-name*))) (when gp-0 (let ((s5-0 (-> gp-0 extra process))) diff --git a/test/decompiler/reference/engine/debug/viewer_REF.gc b/test/decompiler/reference/engine/debug/viewer_REF.gc index 9a47fb99a7..0f62eefbd8 100644 --- a/test/decompiler/reference/engine/debug/viewer_REF.gc +++ b/test/decompiler/reference/engine/debug/viewer_REF.gc @@ -35,23 +35,17 @@ (defstate viewer-process (viewer) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (-> self janim)) - (set! (-> a0-0 param 0) (the float (+ (-> self janim data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (-> self janim) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self janim) + :num! + (seek! (the float (+ (-> self janim data 0 length) -1))) + :frame-num 0.0 + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 31 1.0 1.0 1.0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/engine/draw/drawable-tree_REF.gc b/test/decompiler/reference/engine/draw/drawable-tree_REF.gc index 5ee003c6c6..048e742a11 100644 --- a/test/decompiler/reference/engine/draw/drawable-tree_REF.gc +++ b/test/decompiler/reference/engine/draw/drawable-tree_REF.gc @@ -67,7 +67,7 @@ (t1-6 (&+ arg0 t1-5)) (t2-3 (&+ arg0 t2-2)) ) - (while #t + (loop (let ((t3-0 (-> t1-6 0))) (set! t1-6 (&-> t1-6 1)) (let ((t4-0 128)) diff --git a/test/decompiler/reference/engine/draw/process-drawable_REF.gc b/test/decompiler/reference/engine/draw/process-drawable_REF.gc index 16e8a1752a..90e07659a9 100644 --- a/test/decompiler/reference/engine/draw/process-drawable_REF.gc +++ b/test/decompiler/reference/engine/draw/process-drawable_REF.gc @@ -404,7 +404,7 @@ :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) @@ -456,15 +456,7 @@ ) ) ) - (let ((s4-0 (load-to-heap-by-name - (-> s1-0 art-group) - (the-as string (-> 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)) @@ -761,7 +753,7 @@ ) ;; definition for function ja-channel-push! -(defbehavior ja-channel-push! process-drawable ((arg0 int) (arg1 int)) +(defbehavior ja-channel-push! process-drawable ((arg0 int) (arg1 time-frame)) (cond ((or (zero? (-> self skel active-channels)) (zero? arg1) @@ -1052,7 +1044,7 @@ ;; definition for function anim-loop (defbehavior anim-loop process-drawable () (logior! (-> self mask) (process-mask sleep-code)) - (while #t + (loop (nop!) (suspend) ) diff --git a/test/decompiler/reference/engine/game/collectables_REF.gc b/test/decompiler/reference/engine/game/collectables_REF.gc index b529906023..b5f5a3e06e 100644 --- a/test/decompiler/reference/engine/game/collectables_REF.gc +++ b/test/decompiler/reference/engine/game/collectables_REF.gc @@ -466,12 +466,9 @@ (transform-post) (animate self) (suspend) - (when (nonzero? (-> self skel)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) 0.5) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop! 0.5)) ) - ) ) ) (set! (-> self root-override trans quad) (-> self jump-pos quad)) @@ -629,7 +626,7 @@ ) :code (behavior () - (while #t + (loop (let ((gp-0 (-> self part)) (s5-0 (-> self root-override root-prim prim-core)) ) @@ -719,7 +716,7 @@ ) :code (behavior ((arg0 handle)) - (while #t + (loop (set! (-> self root-override trans quad) (-> self base quad)) (add-blue-motion #t #f #t #f) (update-transforms! (-> self root-override)) @@ -1222,24 +1219,18 @@ ) ;; failed to figure out what this is: -(defskelgroup *money-sg* money - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 0.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *money-sg* money money-lod0-jg money-idle-ja + ((money-lod0-mg (meters 20)) (money-lod1-mg (meters 40)) (money-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 0.6) + :texture-level 2 + ) ;; failed to figure out what this is: -(defskelgroup *fuel-cell-sg* fuel-cell - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *fuel-cell-sg* fuel-cell fuel-cell-lod0-jg fuel-cell-idle-ja + ((fuel-cell-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; definition of type money (deftype money (eco-collectable) @@ -1290,7 +1281,7 @@ :virtual #t :code (behavior () - (while #t + (loop (quaternion-rotate-y! (-> self root-override quat) (-> self root-override quat) @@ -1325,7 +1316,7 @@ :virtual #t :code (behavior ((arg0 handle)) - (while #t + (loop (quaternion-rotate-y! (-> self root-override quat) (-> self root-override quat) @@ -1687,10 +1678,8 @@ (behavior () 0.5 (let ((f28-0 0.0)) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (while #t + (ja :group! (-> self draw art-group data 2)) + (loop (let ((f30-0 (vector-vector-distance (-> self base) (target-pos 0)))) (set! f28-0 (if (and (< f30-0 (-> *FACT-bank* suck-suck-dist)) (zero? (logand (-> self flags) (collectable-flags anim)))) @@ -1706,10 +1695,7 @@ (transform-post) (fuel-cell-animate) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) f30-1) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-1)) ) ) ) @@ -2314,9 +2300,7 @@ (set! (-> self root-override trans quad) (-> self draw origin quad)) (set! (-> self base quad) (-> self root-override trans quad)) (ja-channel-set! 1) - (let ((v1-20 (-> self skel root-channel 0))) - (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) + (ja :group! (-> self draw art-group data 2)) (logclear! (-> self draw status) (draw-status hidden)) (vector-reset! (-> self draw origin)) (go-virtual wait) @@ -2362,14 +2346,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *buzzer-sg* buzzer - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *buzzer-sg* buzzer buzzer-lod0-jg buzzer-idle-ja + ((buzzer-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; definition of type buzzer (deftype buzzer (eco-collectable) @@ -2427,7 +2408,7 @@ (go-virtual pickup #t (the-as handle #f)) ) ) - (while #t + (loop (transform-post) (animate self) (suspend) @@ -2993,14 +2974,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *ecovalve-sg* ecovalve - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *ecovalve-sg* ecovalve ecovalve-geo-jg ecovalve-idle-ja + ((ecovalve-geo-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; failed to figure out what this is: (defstate ecovalve-idle (ecovalve) @@ -3009,7 +2987,7 @@ (transform-post) (suspend) (transform-post) - (while #t + (loop (if (not ((-> self block-func) (the-as vent (ppointer->process (-> self parent))))) (set-vector! (-> self offset-target) 0.0 0.0 0.0 1.0) ) @@ -3245,7 +3223,7 @@ ) :code (behavior () - (while #t + (loop (let ((a0-0 (-> self part)) (a1-0 (-> self root-override trans)) (gp-0 (-> self sound)) @@ -3275,7 +3253,7 @@ ) :code (behavior () - (while #t + (loop (if (not ((-> self block-func) self)) (go vent-wait-for-touch) ) diff --git a/test/decompiler/reference/engine/game/crates_REF.gc b/test/decompiler/reference/engine/game/crates_REF.gc index 3161f9a985..429ad5f159 100644 --- a/test/decompiler/reference/engine/game/crates_REF.gc +++ b/test/decompiler/reference/engine/game/crates_REF.gc @@ -2,64 +2,49 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *crate-barrel-sg* crate - 17 - 21 - ((18 (meters 20)) (19 (meters 40)) (20 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-barrel-sg* crate crate-barrel-lod0-jg crate-barrel-idle-ja + ((crate-barrel-lod0-mg (meters 20)) (crate-barrel-lod1-mg (meters 40)) (crate-barrel-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; failed to figure out what this is: -(defskelgroup *crate-bucket-sg* crate - 22 - 24 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-bucket-sg* crate crate-bucket-lod0-jg crate-bucket-idle-ja + ((crate-bucket-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :texture-level 2 + ) ;; failed to figure out what this is: -(defskelgroup *crate-wood-sg* crate - 0 - 16 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-wood-sg* crate crate-wood-lod0-jg crate-idle-ja + ((crate-wood-lod0-mg (meters 20)) (crate-wood-lod1-mg (meters 40)) (crate-wood-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; failed to figure out what this is: -(defskelgroup *crate-iron-sg* crate - 4 - 16 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-iron-sg* crate crate-iron-lod0-jg crate-idle-ja + ((crate-iron-lod0-mg (meters 20)) (crate-iron-lod1-mg (meters 40)) (crate-iron-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; failed to figure out what this is: -(defskelgroup *crate-steel-sg* crate - 8 - 16 - ((9 (meters 20)) (10 (meters 40)) (11 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-steel-sg* crate crate-steel-lod0-jg crate-idle-ja + ((crate-steel-lod0-mg (meters 20)) (crate-steel-lod1-mg (meters 40)) (crate-steel-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; failed to figure out what this is: -(defskelgroup *crate-darkeco-sg* crate - 12 - 16 - ((13 (meters 20)) (14 (meters 40)) (15 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *crate-darkeco-sg* crate crate-darkeco-lod0-jg crate-idle-ja + ((crate-darkeco-lod0-mg (meters 20)) + (crate-darkeco-lod1-mg (meters 40)) + (crate-darkeco-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; definition of type crate-bank (deftype crate-bank (basic) @@ -778,7 +763,7 @@ (suspend) (update-transforms! (-> self root-override)) (logior! (-> self mask) (process-mask sleep)) - (while #t + (loop (suspend) ) (none) @@ -834,7 +819,7 @@ :code (behavior ((arg0 handle)) (set! (-> self target) arg0) - (while #t + (loop (let* ((gp-0 (handle->process (-> self target))) (v1-4 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) gp-0 @@ -1507,7 +1492,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (suspend) (update-transforms! (-> self root-override)) - (while #t + (loop (set! (-> self state-time) (-> *display* base-frame-counter)) (ja-post) (logior! (-> self mask) (process-mask sleep-code)) @@ -1597,7 +1582,7 @@ :virtual #t :code (behavior () - (while #t + (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/game-save_REF.gc b/test/decompiler/reference/engine/game/game-save_REF.gc index e516863a72..29b1bc2414 100644 --- a/test/decompiler/reference/engine/game/game-save_REF.gc +++ b/test/decompiler/reference/engine/game/game-save_REF.gc @@ -1515,7 +1515,7 @@ auto-save-post (suspend) (goto cfg-1) ) - (while #t + (loop (set! (-> self result) (the-as mc-status-code (mc-check-result))) (case (-> self result) (((mc-status-code busy)) @@ -1560,7 +1560,7 @@ auto-save-post (suspend) (goto cfg-6) ) - (while #t + (loop (set! (-> self result) (the-as mc-status-code (mc-check-result))) (case (-> self result) (((mc-status-code busy)) @@ -1627,7 +1627,7 @@ auto-save-post (suspend) (goto cfg-7) ) - (while #t + (loop (set! (-> self result) (the-as mc-status-code (mc-check-result))) (let ((v1-24 (-> self result))) (set! gp-0 (cond @@ -1690,7 +1690,7 @@ auto-save-post (suspend) (goto cfg-6) ) - (while #t + (loop (set! (-> self result) (the-as mc-status-code (mc-check-result))) (let ((v1-22 (-> self result))) (set! gp-0 (cond diff --git a/test/decompiler/reference/engine/game/generic-obs_REF.gc b/test/decompiler/reference/engine/game/generic-obs_REF.gc index 6fd65ecbd5..2c74e151f9 100644 --- a/test/decompiler/reference/engine/game/generic-obs_REF.gc +++ b/test/decompiler/reference/engine/game/generic-obs_REF.gc @@ -94,7 +94,7 @@ (defstate swingpole-stance (swingpole) :code (behavior () - (while #t + (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)) @@ -431,17 +431,7 @@ (('done) (case (-> self anim-mode) (('play1 'play) - (>= (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -2 - ) - ) - ) + (>= (ja-frame-num 0) (the float (+ (-> (ja-group) data 0 length) -2))) ) ) ) @@ -475,19 +465,10 @@ ) (when (and (-> self new-joint-anim) (nonzero? (-> self skel)) - (and (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self new-joint-anim) - ) - (!= (-> self anim-mode) 'clone-anim) - ) + (and (!= (ja-group) (-> self new-joint-anim)) (!= (-> self anim-mode) 'clone-anim)) ) - (ja-channel-push! 1 (the-as int (-> self new-joint-anim-blend))) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! gp-0 (-> self new-joint-anim) num-func-identity) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (the-as time-frame (-> self new-joint-anim-blend))) + (ja :group! (-> self new-joint-anim) :num! min) ) (let ((v1-20 (handle->process (-> self cur-grab-handle)))) (when v1-20 @@ -513,7 +494,7 @@ :code (behavior () (logclear! (-> self mask) (process-mask heap-shrunk)) - (while #t + (loop ((-> self cur-post-hook)) (if (!= (-> self anim-mode) 'clone-anim) (ja-post) @@ -521,25 +502,16 @@ (suspend) (case (-> self anim-mode) (('loop) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (('play) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (('copy-parent) - (let ((v1-18 (-> self skel root-channel 0))) - (set! (-> v1-18 num-func) num-func-identity) - (set! (-> v1-18 frame-num) - (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) - ) - ) + (ja :num-func num-func-identity + :frame-num + (-> (the-as process-drawable (ppointer->process (-> self parent))) skel root-channel 0 frame-num) + ) ) (('clone-parent) (let ((gp-0 (ppointer->process (-> self parent)))) @@ -571,11 +543,7 @@ (('still) ) (('play1) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) - (set! (-> a0-33 param 1) 1.0) - (joint-control-channel-group-eval! a0-33 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (if (ja-done? 0) (deactivate self) ) @@ -644,10 +612,7 @@ (set! (-> self draw?) #t) (cond ((nonzero? (-> self skel)) - (set! (-> self new-joint-anim) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set! (-> self new-joint-anim) (ja-group)) (set! (-> self anim-mode) 'loop) ) (else @@ -1359,19 +1324,16 @@ (vf17 :class vf) ) (init-vf0-vector) - (while #t + (loop (let ((a0-1 (level-get *level* (-> self level))) (v1-3 (-> *game-info* current-continue level)) ) (cond ((and a0-1 (or (= (-> a0-1 display?) 'special) (= (-> a0-1 display?) 'special-vis))) (logclear! (-> self draw status) (draw-status hidden)) - (when (nonzero? (-> self skel)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop!)) ) - ) ) ((or (and a0-1 (= (-> a0-1 status) 'active)) (= v1-3 'firecanyon)) (logior! (-> self draw status) (draw-status hidden)) @@ -1384,12 +1346,9 @@ (if (nonzero? (-> self part)) (spawn (-> self part) (-> self root trans)) ) - (when (nonzero? (-> self skel)) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop!)) ) - ) ) ) ) @@ -1515,7 +1474,7 @@ ) :code (behavior () - (while #t + (loop (when (-> self enable) (spawn (-> self part) (-> self root trans)) (if (nonzero? (-> self sound)) @@ -1957,7 +1916,7 @@ :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (when (not (paused?)) (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) (send-event *camera* 'teleport) @@ -2028,7 +1987,7 @@ :code (behavior () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (when (not (paused?)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) diff --git a/test/decompiler/reference/engine/game/powerups_REF.gc b/test/decompiler/reference/engine/game/powerups_REF.gc index cbe49060f0..d2ab1fb23c 100644 --- a/test/decompiler/reference/engine/game/powerups_REF.gc +++ b/test/decompiler/reference/engine/game/powerups_REF.gc @@ -43,7 +43,7 @@ ) (cond ((zero? arg5) - (while #t + (loop (suspend) ) ) @@ -642,12 +642,7 @@ ) ) (let ((f0-8 (lerp-scale 60.0 90.0 (-> self control unknown-float01) 0.0 81920.0))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 104) - ) - ) + (if (not (ja-group? (-> self draw art-group data 104))) (set! f0-8 (* 0.75 f0-8)) ) (seek! (-> self control unknown-float141) f0-8 (* 100.0 (-> *display* seconds-per-frame))) 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 fd69622499..14ffb78db9 100644 --- a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc +++ b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc @@ -293,22 +293,13 @@ ;; definition for function process-taskable-anim-loop (defbehavior process-taskable-anim-loop process-taskable () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (get-art-elem self)) ) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (if (= (-> self next-state name) 'idle) (TODO-RENAME-43 self) ) @@ -452,7 +443,7 @@ (if (nonzero? *camera-look-through-other*) (set! *camera-look-through-other* 2) ) - (set-letterbox-frames (seconds 0.016666668)) + (set-letterbox-frames (seconds 0.017)) (draw-npc-shadow self) (none) ) @@ -533,10 +524,7 @@ (else (when (not arg1) (format #t "ERROR: ~S ~S got #f from anim picker~%" (-> self name) (-> self state name)) - (set! arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set! arg1 (ja-group)) ) (when (not (type-type? (-> arg1 type) art-joint-anim)) (format @@ -545,58 +533,23 @@ (-> self name) (-> self state name) ) - (set! arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set! arg1 (ja-group)) ) (format #t "~S ~S anim ~S~%" (-> self name) (-> self state name) (-> (the-as art-joint-anim arg1) name)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim arg1)) (when (< (ja-num-frames 0) 3) (suspend) (suspend) 0 ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-30 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (when (and *debug-segment* (= (get-response (-> self query)) 'no)) - (let ((v1-106 (-> self skel root-channel 0))) - (set! (-> v1-106 num-func) num-func-identity) - (set! (-> v1-106 frame-num) (the float (+ (-> v1-106 frame-group data 0 length) -1))) + (if (and *debug-segment* (= (get-response (-> self query)) 'no)) + (ja :num-func num-func-identity :frame-num max) ) - ) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) @@ -821,9 +774,7 @@ ) (else (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (ja :group! (get-art-elem self)) (restore-collide-with-as (-> self root-override)) (process-entity-status! self (entity-perm-status bit-3) #t) (let ((v1-7 (-> self draw shadow-ctrl))) @@ -1395,7 +1346,7 @@ ) :code (behavior () - (while #t + (loop (let ((s2-0 (-> self hand process 0))) (when (not s2-0) (format #t "ERROR: othercam parent invalid~%") diff --git a/test/decompiler/reference/engine/game/voicebox_REF.gc b/test/decompiler/reference/engine/game/voicebox_REF.gc index b5d76edc48..59a387ca04 100644 --- a/test/decompiler/reference/engine/game/voicebox_REF.gc +++ b/test/decompiler/reference/engine/game/voicebox_REF.gc @@ -61,13 +61,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *voicebox-sg* speaker - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *voicebox-sg* speaker speaker-lod0-jg speaker-idle-ja + ((speaker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for function voicebox-track ;; INFO: Return type mismatch int vs none. @@ -193,12 +190,9 @@ voicebox-track :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) 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 9525f7e8e1..0bb8182df9 100644 --- a/test/decompiler/reference/engine/gfx/time-of-day_REF.gc +++ b/test/decompiler/reference/engine/gfx/time-of-day_REF.gc @@ -82,7 +82,7 @@ (defstate time-of-day-tick (time-of-day-proc) :code (behavior () - (while #t + (loop (+! (-> self frame) (the int (* (-> self time-ratio) (-> *display* time-adjust-ratio)))) (when (>= (-> self frame) 300) (while (>= (-> self frame) 300) diff --git a/test/decompiler/reference/engine/level/load-boundary_REF.gc b/test/decompiler/reference/engine/level/load-boundary_REF.gc index e4df254011..f09d65911e 100644 --- a/test/decompiler/reference/engine/level/load-boundary_REF.gc +++ b/test/decompiler/reference/engine/level/load-boundary_REF.gc @@ -1144,7 +1144,7 @@ ) (set! (-> s5-0 v1-7 v2) (the-as uint 1)) ) - (while #t + (loop (let ((a1-11 -1)) (let ((f0-0 268435460.0)) (dotimes (v1-10 (the-as int s4-0)) @@ -1255,7 +1255,7 @@ ;; WARN: Expression building failed: Function split-monotone-polygon has a return type of none, but the expression builder found a return statement. (defun split-monotone-polygon ((arg0 load-boundary) (arg1 int)) (let ((s5-0 *triangulation-buffer*)) - (while #t + (loop (when (= (-> s5-0 (-> s5-0 (-> s5-0 arg1 v0) v0) v0) arg1) (let ((v1-10 (-> arg0 tri-cnt))) (set! (-> arg0 data v1-10 v0) (the-as uint arg1)) diff --git a/test/decompiler/reference/engine/load/decomp_REF.gc b/test/decompiler/reference/engine/load/decomp_REF.gc index 61bc8621ac..b0e575c839 100644 --- a/test/decompiler/reference/engine/load/decomp_REF.gc +++ b/test/decompiler/reference/engine/load/decomp_REF.gc @@ -6,8 +6,8 @@ (defun unpack-comp-rle ((out (pointer int8)) (in (pointer int8))) (local-vars (current-input int) (copy-length int)) (nop!) - (while #t - (while #t + (loop + (loop (set! current-input (-> in 0)) (set! in (&-> in 1)) (b! (<= current-input 0) cfg-5 :delay (nop!)) diff --git a/test/decompiler/reference/engine/load/loader_REF.gc b/test/decompiler/reference/engine/load/loader_REF.gc index 1fc2148813..5c1f9425ce 100644 --- a/test/decompiler/reference/engine/load/loader_REF.gc +++ b/test/decompiler/reference/engine/load/loader_REF.gc @@ -832,16 +832,9 @@ (when (or (handle->process (-> *art-control* spool-lock)) (!= *master-mode* 'game)) (cond (arg1 - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg1 - ) - (ja-channel-push! 1 15) - (let ((s2-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s2-0 arg1 num-func-identity) - (set! (-> s2-0 frame-num) 0.0) - ) + (when (!= (ja-group) arg1) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! arg1 :num! min) ) ) (else @@ -855,12 +848,9 @@ ) (spool-push *art-control* (-> arg0 name) spool-part self -9.0) (suspend) - (when arg1 - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + (if arg1 + (ja :num! (loop!)) ) - ) ) ) (let ((v1-46 (process->ppointer self))) @@ -876,16 +866,9 @@ (when (!= (file-status *art-control* (-> arg0 name) spool-part) 'active) (cond (arg1 - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg1 - ) + (when (!= (ja-group) arg1) (ja-channel-set! 1) - (let ((s2-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s2-2 arg1 num-func-identity) - (set! (-> s2-2 frame-num) 0.0) - ) + (ja :group! arg1 :num! min) ) ) (else @@ -899,12 +882,9 @@ (spool-push *art-control* (-> arg0 name) spool-part self -20.0) (format #t "WARNING: ---------------------> loader stall on art ~S ~D~%" (-> arg0 name) spool-part) (suspend) - (when arg1 - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-loop!) + (if arg1 + (ja :num! (loop!)) ) - ) ) ) (spool-push *art-control* (-> arg0 name) spool-part self -20.0) @@ -912,13 +892,7 @@ (cond (s2-4 (ja-channel-set! 1) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) s2-4) - (set! (-> a0-42 param 0) (the float (+ (-> s2-4 data 0 length) -1))) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 s2-4 num-func-seek!) - ) + (ja-no-eval :group! s2-4 :num! (seek!) :frame-num 0.0) (when (zero? spool-part) (str-play-async (-> arg0 name) spool-sound) (set! (-> *art-control* active-stream) (-> arg0 name)) @@ -956,13 +930,8 @@ (set! sv-32 sv-72) (set! sv-48 (the-as int (-> *display* base-frame-counter))) (suspend) - (let ((f0-14 (* (- (the float (current-str-pos spool-sound)) sv-24) f30-0)) - (a0-69 (-> self skel root-channel 0)) - ) - (set! (-> a0-69 param 0) (the float (+ (-> a0-69 frame-group data 0 length) -1))) - (set! (-> a0-69 param 1) 1.0) - (set! (-> a0-69 frame-num) f0-14) - (joint-control-channel-group! a0-69 (the-as art-joint-anim #f) num-func-seek!) + (let ((f0-14 (* (- (the float (current-str-pos spool-sound)) sv-24) f30-0))) + (ja-no-eval :num! (seek!) :frame-num f0-14) ) (set! v0-39 (current-str-pos spool-sound)) (set! sv-72 v0-39) @@ -997,16 +966,12 @@ (clear-pending-settings-from-process *setting-control* self 'spooling) (cond ((and arg1 (>= arg2 0)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (set! (-> self skel root-channel 0 frame-group) arg1) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (spool-push *art-control* (-> arg0 name) arg2 self -20.0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else diff --git a/test/decompiler/reference/engine/sparticle/sparticle-launcher_REF.gc b/test/decompiler/reference/engine/sparticle/sparticle-launcher_REF.gc index 7ae64adac6..e9017ccedd 100644 --- a/test/decompiler/reference/engine/sparticle/sparticle-launcher_REF.gc +++ b/test/decompiler/reference/engine/sparticle/sparticle-launcher_REF.gc @@ -922,9 +922,7 @@ (set! (-> obj local-clock) 0) (set! (-> obj fade) 1.0) (set! (-> obj matrix) 0) - (set! (-> obj last-spawn-frame) - (the-as int (+ (-> *display* real-actual-frame-counter) (seconds -0.006666667))) - ) + (set! (-> obj last-spawn-frame) (the-as int (+ (-> *display* real-actual-frame-counter) (seconds -0.007)))) (set! (-> obj last-spawn-time) 0) (dotimes (s3-0 (-> arg0 length)) (let* ((a0-2 (-> arg0 launcher s3-0)) diff --git a/test/decompiler/reference/engine/target/sidekick_REF.gc b/test/decompiler/reference/engine/target/sidekick_REF.gc index 1a35242b1d..f9d0714f30 100644 --- a/test/decompiler/reference/engine/target/sidekick_REF.gc +++ b/test/decompiler/reference/engine/target/sidekick_REF.gc @@ -194,7 +194,7 @@ ) ) (set! (-> self draw shadow) (the-as shadow-geo (if (and (movie?) (-> self shadow-in-movie?)) - (-> self draw art-group data 2) + sidekick-shadow-mg ) ) ) @@ -214,16 +214,14 @@ ) ;; failed to figure out what this is: -(defskelgroup *sidekick-sg* sidekick - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 1) - :shadow 2 - :texture-level 2 - :sort 1 - ) +(defskelgroup *sidekick-sg* sidekick sidekick-lod0-jg -1 + ((sidekick-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :longest-edge (meters 1) + :shadow sidekick-shadow-mg + :texture-level 2 + :sort 1 + ) ;; definition for function init-sidekick ;; INFO: Return type mismatch object vs none. diff --git a/test/decompiler/reference/engine/target/target-death_REF.gc b/test/decompiler/reference/engine/target/target-death_REF.gc index c13e184f75..6f4f496716 100644 --- a/test/decompiler/reference/engine/target/target-death_REF.gc +++ b/test/decompiler/reference/engine/target/target-death_REF.gc @@ -2,14 +2,11 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *deathcam-sg* deathcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *deathcam-sg* deathcam deathcam-lod0-jg deathcam-idle-ja + ((deathcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :texture-level 2 + ) ;; definition for symbol *auto-continue*, type symbol (define *auto-continue* #f) @@ -468,9 +465,7 @@ ) ) (ja-channel-set! 1) - (let ((v1-264 (-> self skel root-channel 0))) - (set! (-> v1-264 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! eichar-stance-loop-ja) (suspend) (logior! (-> self control status) (cshape-moving-flags onsurf onground tsurf)) (go target-stance) @@ -755,19 +750,10 @@ (defbehavior target-hit-setup-anim target ((arg0 attack-info)) (case (-> arg0 angle) (('back) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 74) - ) - ) - (ja-channel-push! 1 22) + (when (not (ja-group? eichar-hit-from-back-ja)) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 74)) - num-func-identity - ) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim eichar-hit-from-back-ja) num-func-identity) (let ((f0-0 0.0)) (set! (-> gp-1 frame-num) f0-0) f0-0 @@ -776,19 +762,10 @@ ) ) (('up 'up-forward) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 75) - ) - ) - (ja-channel-push! 1 22) + (when (not (ja-group? eichar-hit-up-ja)) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 75)) - num-func-identity - ) + (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim eichar-hit-up-ja) num-func-identity) (let ((f0-1 0.0)) (set! (-> gp-2 frame-num) f0-1) f0-1 @@ -797,16 +774,8 @@ ) ) (('air 'jump) - (ja-channel-push! 1 15) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num 0.0) (when (= (-> arg0 angle) 'air) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) (dummy-10 (-> self skel effect) 'group-smack-surface (the-as float 0.0) 5) @@ -814,32 +783,15 @@ ) ) (('shove) - (ja-channel-push! 1 15) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 78))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 78)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 78)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! eichar-smack-surface-ja :num! (seek!) :frame-num 0.0) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 73) - ) - ) - (ja-channel-push! 1 22) + (when (not (ja-group? eichar-hit-from-front-ja)) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-5 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 73)) - num-func-identity - ) + (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim eichar-hit-from-front-ja) num-func-identity) (let ((f0-10 0.0)) (set! (-> gp-5 frame-num) f0-10) f0-10 @@ -879,31 +831,12 @@ ) (set-quaternion! (-> self control) (-> self control dir-targ)) #t - (let ((f28-1 (* 1.05 (/ (* -60.0 arg3) (* (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - (ja-step 0) - ) - ) - ) - ) - ) + (let ((f28-1 (* 1.05 (/ (* -60.0 arg3) (* (the float (+ (-> (ja-group) data 0 length) -1)) (ja-step 0)))))) (until v1-40 (+! f30-1 (* (-> arg0 shove-back) f28-1 (-> *display* seconds-per-frame))) (set! s2-1 (target-hit-push s3-1 s1-1 f30-1 (* (-> arg0 shove-back) f28-1) arg0)) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-40 (or (ja-done? 0) (and arg1 (logtest? (-> self control status) (cshape-moving-flags onsurf))))) ) (while (and (or (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) s2-1) (!= s2-1 'stuck)) @@ -1140,16 +1073,8 @@ ;; INFO: Return type mismatch int vs none. (defbehavior target-death-anim target ((arg0 spool-anim)) (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 76))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 76)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 76)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-deatha-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if arg0 (spool-push *art-control* (-> arg0 name) 0 self (the-as float -99.0)) @@ -1163,11 +1088,7 @@ ) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) 0 (none) @@ -1229,16 +1150,16 @@ (set! (-> self control unknown-surface00) *dive-mods*) (set! (-> self control dynam gravity-max) 6144.0) (set! (-> self control dynam gravity-length) 6144.0) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 0.7) (gp-3 (-> self skel root-channel 0)) ) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 93))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim eichar-swim-walk-to-down-ja)) (set! (-> gp-3 param 0) (ja-aframe (the-as float 73.0) 0)) (let ((f30-1 (seek f30-0 (the-as float 0.05) (* 1.5 (-> *display* seconds-per-frame))))) (set! (-> gp-3 param 1) f30-1) (set! (-> gp-3 frame-num) 0.0) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 93)) num-func-seek!) + (joint-control-channel-group! gp-3 (the-as art-joint-anim eichar-swim-walk-to-down-ja) num-func-seek!) (until (ja-done? 0) (suspend) (let ((gp-4 (-> self skel root-channel 0))) @@ -1349,25 +1270,12 @@ (none) ) ) - (target-falling-anim (seconds 0.1) 99) - (ja-channel-push! 1 90) - (let ((a0-75 (-> self skel root-channel 0))) - (set! (-> a0-75 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-75 param 0) 0.5) - (set! (-> a0-75 frame-num) 0.0) - (joint-control-channel-group! a0-75 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-loop!) - ) + (target-falling-anim (seconds 0.1) (seconds 0.33)) + (ja-channel-push! 1 (seconds 0.3)) + (ja-no-eval :group! eichar-launch-jump-loop-ja :num! (loop! 0.5) :frame-num 0.0) (let ((gp-12 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-12) (seconds 0.8)) - (let ((a0-76 (-> self skel root-channel 0))) - (set! (-> a0-76 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-76 param 0) 0.5) - (joint-control-channel-group-eval! - a0-76 - (the-as art-joint-anim (-> self draw art-group data 43)) - num-func-loop! - ) - ) + (ja :group! eichar-launch-jump-loop-ja :num! (loop! 0.5)) (suspend) ) ) @@ -1375,23 +1283,11 @@ ) (('target-hit-ground-hard) (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((a0-81 (-> self skel root-channel 0))) - (set! (-> a0-81 frame-group) (the-as art-joint-anim (-> self draw art-group data 77))) - (set! (-> a0-81 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 77)) data 0 length) -1)) - ) - (set! (-> a0-81 param 1) 1.0) - (set! (-> a0-81 frame-num) 0.0) - (joint-control-channel-group! a0-81 (the-as art-joint-anim (-> self draw art-group data 77)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-death-painful-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (('sharkey) diff --git a/test/decompiler/reference/engine/target/target-util_REF.gc b/test/decompiler/reference/engine/target/target-util_REF.gc index a35e704c88..87e8426f15 100644 --- a/test/decompiler/reference/engine/target/target-util_REF.gc +++ b/test/decompiler/reference/engine/target/target-util_REF.gc @@ -2,16 +2,14 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *jchar-sg* eichar - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 3) - :longest-edge (meters 1) - :shadow 2 - :texture-level 2 - :sort 1 - ) +(defskelgroup *jchar-sg* eichar eichar-lod0-jg -1 + ((eichar-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3) + :longest-edge (meters 1) + :shadow eichar-shadow-mg + :texture-level 2 + :sort 1 + ) ;; definition for symbol *target-shadow-control*, type shadow-control (define *target-shadow-control* @@ -867,11 +865,7 @@ (when (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-15 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-15 (ja-group))) (or (not (or (= v1-15 (-> self draw art-group data 59)) (= v1-15 (-> self draw art-group data 60)) (= v1-15 (-> self draw art-group data 61)) @@ -1221,11 +1215,7 @@ (set! (-> arg0 group 4) arg6) (dotimes (s3-0 3) (set! (-> arg0 chan s3-0) (+ arg1 s3-0)) - (let ((s2-0 (-> self skel root-channel (-> arg0 chan s3-0)))) - (set! (-> s2-0 frame-interp) (fabs (-> arg0 blend s3-0))) - (joint-control-channel-group-eval! s2-0 (the-as art-joint-anim arg2) num-func-identity) - (set! (-> s2-0 frame-num) 0.0) - ) + (ja :chan (-> arg0 chan s3-0) :group! arg2 :num! min :frame-interp (fabs (-> arg0 blend s3-0))) ) arg0 ) @@ -1243,34 +1233,14 @@ (set! (-> arg0 blend 2) (seek (the-as float (-> arg0 blend 2)) f30-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-7))))) ) ) - (cond - ((>= (-> arg0 blend 1) 0.0) - (let ((v1-4 (-> self skel root-channel (-> arg0 chan 1)))) - (set! (-> v1-4 frame-interp) (fabs (-> arg0 blend 1))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> arg0 group 1))) - ) - ) - (else - (let ((v1-7 (-> self skel root-channel (-> arg0 chan 1)))) - (set! (-> v1-7 frame-interp) (fabs (-> arg0 blend 1))) - (set! (-> v1-7 frame-group) (the-as art-joint-anim (-> arg0 group 2))) - ) + (if (>= (-> arg0 blend 1) 0.0) + (ja :chan (-> arg0 chan 1) :group! (-> arg0 group 1) :frame-interp (fabs (-> arg0 blend 1))) + (ja :chan (-> arg0 chan 1) :group! (-> arg0 group 2) :frame-interp (fabs (-> arg0 blend 1))) ) - ) - (cond - ((>= (-> arg0 blend 2) 0.0) - (let ((v1-10 (-> self skel root-channel (-> arg0 chan 2)))) - (set! (-> v1-10 frame-interp) (fabs (-> arg0 blend 2))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> arg0 group 4))) - ) - ) - (else - (let ((v1-13 (-> self skel root-channel (-> arg0 chan 2)))) - (set! (-> v1-13 frame-interp) (fabs (-> arg0 blend 2))) - (set! (-> v1-13 frame-group) (the-as art-joint-anim (-> arg0 group 3))) - ) + (if (>= (-> arg0 blend 2) 0.0) + (ja :chan (-> arg0 chan 2) :group! (-> arg0 group 4) :frame-interp (fabs (-> arg0 blend 2))) + (ja :chan (-> arg0 chan 2) :group! (-> arg0 group 3) :frame-interp (fabs (-> arg0 blend 2))) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/target/target2_REF.gc b/test/decompiler/reference/engine/target/target2_REF.gc index 29d1e3d38a..c85d6acef8 100644 --- a/test/decompiler/reference/engine/target/target2_REF.gc +++ b/test/decompiler/reference/engine/target/target2_REF.gc @@ -22,72 +22,32 @@ (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)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 112))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 112)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 112)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-trip-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (send-event *camera* 'joystick (-> (new 'static 'array int32 1 0) 0) (-> (new 'static 'array int32 1 0) 0)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 0.3)) (suspend) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 19.0) 0)) - (set! (-> s5-0 param 1) 0.05) - (joint-control-channel-group-eval! s5-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 19.0) 0) 0.05)) (suspend) ) ) - (ja-channel-push! 1 90) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 36))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 36)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 40.0) 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 36)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.3)) + (ja-no-eval :group! eichar-painful-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 40.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 37))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 37)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 37)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-painful-land-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go target-stance) @@ -147,14 +107,7 @@ (when a0-0 (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! eichar-stance-loop-ja :num! min) ) ) ((-> target-stance exit)) @@ -177,23 +130,14 @@ (not (or (= v1-13 'locked) (= v1-13 'active))) ) (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-1 (-> self skel root-channel 1))) - (set! (-> a0-1 param 0) 0.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-2 (-> self skel root-channel 2))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) ) (ja-play-spooled-anim (-> self control unknown-spoolanim00) - (the-as art-joint-anim (-> self draw art-group data 5)) - (the-as art-joint-anim (-> self draw art-group data 5)) + (the-as art-joint-anim eichar-stance-loop-ja) + (the-as art-joint-anim eichar-stance-loop-ja) (the-as (function process-drawable symbol) (lambda () (!= (-> *cpad-list* cpads 0 stick0-speed) 0.0))) ) (set! (-> self control unknown-uint20) (the-as uint #f)) @@ -374,7 +318,7 @@ ) :code (behavior () - (while #t + (loop (dotimes (gp-0 (-> self nb-of-particles)) (if (= (-> self particles gp-0 part matrix) -1) (set! (-> self particles gp-0 part matrix) (sprite-allocate-user-hvdf)) @@ -395,7 +339,7 @@ (-> hud-waiting event) :code (behavior () - (while #t + (loop (seekl! (-> self in-out-position) 0 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (zero? (-> self in-out-position)) (go hud-normal) @@ -417,7 +361,7 @@ (-> hud-waiting event) :code (behavior () - (while #t + (loop (if (or (not *progress-process*) (= (-> *progress-process* 0 next-state name) 'progress-going-out) (= (-> *progress-process* 0 next-state name) 'progress-gone) @@ -435,7 +379,7 @@ (defstate hud-going-out (first-person-hud) :code (behavior () - (while #t + (loop (seekl! (-> self in-out-position) 4096 (the int (* 350.0 (-> *display* time-adjust-ratio)))) (if (= (-> self in-out-position) 4096) (deactivate self) @@ -542,7 +486,7 @@ (set! (-> a1-0 num-params) 0) (set! (-> a1-0 message) 'dist-from-interp-src) (and (< (send-event-function *camera* a1-0) 4915.2) - (< (- (-> *display* base-frame-counter) (-> self state-time)) (the-as time-frame 21)) + (< (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.07)) (zero? (ja-group-size)) ) ) @@ -735,7 +679,7 @@ ) (ja-channel-set! 0) (set! (-> self control transv quad) (the-as uint128 0)) - (while #t + (loop (if (!= (-> self cam-user-mode) 'look-around) (go target-stance-look-around) ) @@ -965,16 +909,12 @@ (+! gp-0 (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter))) (suspend) ) - (if (or (> gp-0 0) (let ((v1-11 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-11 (-> self draw art-group data 34)) - (= v1-11 (-> self draw art-group data 38)) - (= v1-11 (-> self draw art-group data 42)) - (= v1-11 (-> self draw art-group data 43)) - (= v1-11 (-> self draw art-group data 41)) + (if (or (> gp-0 0) (let ((v1-11 (ja-group))) + (or (= v1-11 eichar-jump-ja) + (= v1-11 eichar-jump-loop-ja) + (= v1-11 eichar-launch-jump-ja) + (= v1-11 eichar-launch-jump-loop-ja) + (= v1-11 eichar-duck-high-jump-ja) ) ) ) @@ -982,142 +922,69 @@ ) ) (-> self control unknown-spoolanim00) - (while #t + (loop (let ((gp-1 (-> self control unknown-spoolanim00))) (case gp-1 (('stance) (cond - ((or (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (< 0.5 (-> self skel root-channel 6 frame-interp)) - ) - (let ((v1-32 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-32 (-> self draw art-group data 28)) - (= v1-32 (-> self draw art-group data 29)) - (= v1-32 (-> self draw art-group data 54)) - (= v1-32 (-> self draw art-group data 55)) + ((or (and (ja-group? eichar-walk-ja) (< 0.5 (-> self skel root-channel 6 frame-interp))) + (let ((v1-32 (ja-group))) + (or (= v1-32 eichar-run-squash-ja) + (= v1-32 eichar-run-squash-weak-ja) + (= v1-32 eichar-attack-from-stance-run-end-ja) + (= v1-32 eichar-attack-from-stance-run-alt-end-ja) ) ) ) - (ja-channel-push! 1 45) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-39 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-run-to-stance-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-42 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-run-to-stance-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) - ((let ((v1-87 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and (or (= v1-87 (-> self draw art-group data 39)) (= v1-87 (-> self draw art-group data 35))) - (not (ja-max? 0)) - ) - ) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) (the float (+ (-> a0-54 frame-group data 0 length) -1))) - (set! (-> a0-54 param 1) 1.0) - (joint-control-channel-group! a0-54 (the-as art-joint-anim #f) num-func-seek!) + ((let ((v1-87 (ja-group))) + (and (or (= v1-87 eichar-jump-short-land-ja) (= v1-87 eichar-jump-land-ja)) (not (ja-max? 0))) ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) ) - ((not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (ja-group-size) 1) - ) - ) - (ja-channel-push! 1 22) + ((not (and (ja-group? eichar-stance-loop-ja) (= (ja-group-size) 1))) + (ja-channel-push! 1 (seconds 0.075)) ) ) - (while #t - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-63 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-63 param 1) 1.0) - (set! (-> a0-63 frame-num) 0.0) - (joint-control-channel-group! a0-63 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-stance-loop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (('shock-in) - (ja-channel-push! 1 60) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 18.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! eichar-shocked-ja :num! (seek! (ja-aframe (the-as float 18.0) 0)) :frame-num 0.0) (until (ja-done? 0) (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 18.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 18.0) 0))) ) - (while #t + (loop (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) @@ -1125,33 +992,16 @@ ) ) (('shock-out) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 88) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? eichar-shocked-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) - (set! (-> s5-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 88)) data 0 length) -1)) - ) - (set! (-> s5-2 param 1) 1.0) - (set! (-> s5-2 frame-num) (ja-aframe (the-as float 18.0) 0)) - (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) - ) + (ja-no-eval :group! eichar-shocked-ja :num! (seek!) :frame-num (ja-aframe (the-as float 18.0) 0)) (until (ja-done? 0) (if (!= gp-1 (-> self control unknown-spoolanim00)) (goto cfg-94) ) (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-uint20) (the-as uint 'stance)) ) @@ -1258,72 +1108,37 @@ ) ) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 83) - ) + ((ja-group? (-> self draw art-group data 83)) (while (not (-> self control unknown-int21)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (suspend) ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 37.0) 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe (the-as float 37.0) 0)) ) (else (while (not (-> self control unknown-int21)) (suspend) ) (suspend) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 80))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 80)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 80)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 80) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (set! (-> self anim-seed) (the-as uint (if (rand-vu-percent? (the-as float 0.1)) 0 1 ) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 80))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 80)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 80)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 80) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1340,22 +1155,14 @@ (-> target-pole-cycle exit) :code (behavior ((arg0 object) (arg1 object) (arg2 float)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 81))) - (set! (-> s3-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 81)) data 0 length) -1)) - ) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0)) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 81)) num-func-seek!) - ) + (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) + ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set-forward-vel arg2) (go target-pole-flip-up-jump (the-as float arg0) (the-as float arg1)) @@ -1383,45 +1190,22 @@ (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) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 83)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 83) :num! min) (let ((f0-1 (target-height-above-ground)) (f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) (while (not (and (< (fabs (/ f0-1 (* 0.0033333334 f1-1))) 40.0) (and (< f1-1 0.0) (ja-min? 0)))) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! f0-1 (target-height-above-ground)) (set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) ) - (ja-channel-push! 1 75) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) (none) ) @@ -1437,20 +1221,13 @@ (-> target-pole-cycle exit) :code (behavior ((arg0 float) (arg1 float) (arg2 float)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 82))) - (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (ja-aframe-num 0)) 0)) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 82)) num-func-seek!) - ) + (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) + ) (until (ja-done? 0) (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-1 param 1) 1.0) - (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 16.0) 0))) ) (set-forward-vel arg2) (go target-pole-flip-forward-jump arg0 arg1) @@ -1483,11 +1260,7 @@ (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ((the-as (function none :behavior target) (-> target-pole-flip-up-jump code))) (none) @@ -1580,101 +1353,40 @@ ) ) (while (< 0.0 (-> self control unknown-float110)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - ) - (ja-channel-push! 1 45) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? eichar-jump-loop-ja)) + (ja-channel-push! 1 (seconds 0.15)) + (ja :group! eichar-jump-loop-ja :num! min) ) (suspend) ) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (cond ((< (the-as float (-> self control unknown-uint20)) -0.3) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 48)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja :group! eichar-edge-grab-swing-right-ja :num! min) ) ((< 0.3 (the-as float (-> self control unknown-uint20))) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 47)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) - ) + (ja :group! eichar-edge-grab-swing-left-ja :num! min) ) (else - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 46)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) + (ja :group! eichar-falling-to-edge-grab-ja :num! min) ) ) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ja-channel-set! 1) - (while #t - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-edge-grab-stance0-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (+! (-> self anim-seed) 1) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 45))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 45)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 45)) num-func-seek!) - ) + (ja-no-eval :group! eichar-edge-grab-stance1-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1705,15 +1417,7 @@ (logclear! (-> self control root-prim prim-core action) (collide-action ca-3 ca-7)) (set! (-> self control transv quad) (the-as uint128 0)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 49))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 49)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 49)) num-func-seek!) - ) + (ja-no-eval :group! eichar-edge-grab-to-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (target-compute-edge-rider) (TODO-RENAME-9 (-> self align)) @@ -1722,11 +1426,7 @@ (move-by-vector! (-> self control) s4-0) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (set! (-> self control transv quad) (the-as uint128 0)) @@ -1752,13 +1452,7 @@ (set-quaternion! (-> self control) (-> self control dir-targ)) (send-event *camera* 'damp-up) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 191.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) - ) + (ja-no-eval :group! eichar-edge-grab-off-ja :num! (seek! (ja-aframe (the-as float 191.0) 0)) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (when (zero? (logand (-> self align flags) (align-flags algf00))) @@ -1766,11 +1460,7 @@ (move-by-vector! (-> self control) gp-0) ) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 191.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 191.0) 0))) ) ) (set! (-> self control transv quad) (the-as uint128 0)) @@ -1837,7 +1527,7 @@ :code (behavior () (let ((gp-0 (the-as handle #f))) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (level-hint-spawn (game-text-id daxter-you-can-shoot-with-yellow-eco) "sksp0145" @@ -1856,23 +1546,16 @@ ) ) ) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 84))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 9.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 84)) num-func-seek!) - ) + (ja-no-eval :group! eichar-yellow-running-blast-ja + :num! (seek! (ja-aframe (the-as float 9.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> *run-attack-mods* turnvv) 0.0) ) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 9.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 9.0) 0))) ) (let ((s5-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)))) (set! (-> s5-2 y) 0.0) @@ -1906,15 +1589,7 @@ (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) ) ) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 84))) - (set! (-> s5-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 84)) data 0 length) -1)) - ) - (set! (-> s5-3 param 1) 1.0) - (set! (-> s5-3 frame-num) (ja-aframe (the-as float 9.0) 0)) - (joint-control-channel-group! s5-3 (the-as art-joint-anim (-> self draw art-group data 84)) num-func-seek!) - ) + (ja-no-eval :group! eichar-yellow-running-blast-ja :num! (seek!) :frame-num (ja-aframe (the-as float 9.0) 0)) (until (ja-done? 0) (if (or (< (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint30)))) (the-as uint 30) @@ -1924,11 +1599,7 @@ (send-event (handle->process gp-0) 'die) ) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) @@ -2000,21 +1671,14 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 86))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 86)) num-func-seek!) - ) + (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)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 15.0) 0))) ) (suspend) (let ((gp-2 (new-stack-vector0))) @@ -2033,11 +1697,7 @@ ) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (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))) @@ -2068,22 +1728,10 @@ (suspend) ) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 86))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 86)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-frame-num 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 86)) num-func-seek!) - ) + (ja-no-eval :group! eichar-yellow-jumping-blast-ja :num! (seek!) :frame-num (ja-frame-num 0)) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (logtest? (-> self control status) (cshape-moving-flags onsurf)) (go target-stance) @@ -2114,29 +1762,25 @@ (set! (-> self control unknown-surface00) *double-jump-mods*) (set! (-> self control unknown-surface00) *walk-mods*) ) - (ja-channel-push! 1 15) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 87))) - (set! (-> s5-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 87)) data 0 length) -1)) - ) - (set! (-> s5-0 param 1) (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 3.0 - ) - ) - ) - (set! (-> s5-0 frame-num) (ja-aframe - (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - (-> (new 'static 'array int32 1 0) 0) - 6.0 - ) - ) - 0 - ) - ) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 87)) num-func-seek!) - ) + (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)) + 2.0 + 3.0 + ) + ) + ) + :frame-num + (ja-aframe + (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + (-> (new 'static 'array int32 1 0) 0) + 6.0 + ) + ) + 0 + ) + ) (until (ja-done? 0) (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) @@ -2174,16 +1818,13 @@ (the-as float 1.0) ) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) - (set! (-> a0-30 param 1) (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 3.0 - ) - ) - ) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + 2.0 + 3.0 + ) + ) + ) + ) ) (go target-falling 'target-eco-powerup) (none) @@ -2308,92 +1949,54 @@ (let ((gp-0 105) (f30-0 0.0) ) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 23)) (= v1-2 (-> self draw art-group data 18))) + ((or (= v1-2 eichar-walk-ja) (= v1-2 eichar-run-ja)) (set! gp-0 15) (set! f30-0 (ja-frame-num 0)) ) - ((let ((v1-9 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-9 (-> self draw art-group data 34)) (= v1-9 (-> self draw art-group data 38))) + ((let ((v1-9 (ja-group))) + (or (= v1-9 eichar-jump-ja) (= v1-9 eichar-jump-loop-ja)) ) (set! gp-0 30) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 92) - ) + ((ja-group? eichar-swim-walk-ja) (set! gp-0 120) ) ) ) (cond - ((and (= (ja-group-size) 6) (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 89) - ) - ) + ((and (= (ja-group-size) 6) (ja-group? eichar-wade-shallow-walk-ja)) ) (else - (ja-channel-push! 6 gp-0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 dist) (-> *TARGET-bank* wade-shallow-walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 89)) - num-func-identity + (ja-channel-push! 6 (the-as time-frame gp-0)) + (ja :group! eichar-wade-shallow-walk-ja + :num! (identity f30-0) + :dist (-> *TARGET-bank* wade-shallow-walk-cycle-dist) ) - (set! (-> gp-1 frame-num) f30-0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 dist) (-> *TARGET-bank* wade-deep-walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 90)) - num-func-identity + (ja :chan 1 + :group! eichar-wade-deep-walk-ja + :num! (identity f30-0) + :dist (-> *TARGET-bank* wade-deep-walk-cycle-dist) ) - (set! (-> gp-2 frame-num) f30-0) - ) - (let ((gp-3 (-> self skel root-channel 2))) - (set! (-> gp-3 frame-interp) 0.0) - (set! (-> gp-3 dist) (-> *TARGET-bank* walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 23)) - num-func-identity + (ja :chan 2 + :group! eichar-walk-ja + :num! (identity f30-0) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-cycle-dist) ) - (set! (-> gp-3 frame-num) f30-0) - ) - (let ((gp-4 (-> self skel root-channel 3))) - (set! (-> gp-4 frame-interp) 0.0) - (set! (-> gp-4 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity + (ja :chan 3 + :group! eichar-walk-down-ja + :num! (identity f30-0) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-down-cycle-dist) ) - (set! (-> gp-4 frame-num) f30-0) - ) - (let ((gp-5 (-> self skel root-channel 4))) - (set! (-> gp-5 frame-interp) 0.0) - (set! (-> gp-5 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity + (ja :chan 4 + :group! eichar-walk-left-ja + :num! (identity f30-0) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-side-cycle-dist) ) - (set! (-> gp-5 frame-num) f30-0) - ) ) ) ) @@ -2411,7 +2014,7 @@ ) (gp-6 0) ) - (while #t + (loop (let ((f0-10 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control unknown-float61))))) (f24-0 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control unknown-float62))))) ) @@ -2422,42 +2025,27 @@ (set! f28-0 (seek f28-0 f24-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-14))))) ) ) - (let ((v1-84 (-> self skel root-channel 3))) - (set! (-> v1-84 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! (-> v1-84 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) - (cond - ((>= f30-1 0.0) - (let ((v1-87 (-> self skel root-channel 3))) - (set! (-> v1-87 frame-interp) (fabs f30-1)) - (set! (-> v1-87 dist) (-> *TARGET-bank* walk-up-cycle-dist)) - (set! (-> v1-87 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - ) - ) - (else - (let ((v1-90 (-> self skel root-channel 3))) - (set! (-> v1-90 frame-interp) (fabs f30-1)) - (set! (-> v1-90 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! (-> v1-90 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) + (ja :chan 3 :group! eichar-walk-down-ja :dist (-> *TARGET-bank* walk-down-cycle-dist)) + (if (>= f30-1 0.0) + (ja :chan 3 :group! eichar-walk-up-ja :frame-interp (fabs f30-1) :dist (-> *TARGET-bank* walk-up-cycle-dist)) + (ja :chan 3 + :group! eichar-walk-down-ja + :frame-interp (fabs f30-1) + :dist (-> *TARGET-bank* walk-down-cycle-dist) + ) ) - ) - (cond - ((>= f28-0 0.0) - (let ((v1-93 (-> self skel root-channel 4))) - (set! (-> v1-93 frame-interp) (fabs f28-0)) - (set! (-> v1-93 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - ) - (else - (let ((v1-96 (-> self skel root-channel 4))) - (set! (-> v1-96 frame-interp) (fabs f28-0)) - (set! (-> v1-96 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-96 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - ) + (if (>= f28-0 0.0) + (ja :chan 4 + :group! eichar-walk-right-ja + :frame-interp (fabs f28-0) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) + (ja :chan 4 + :group! eichar-walk-left-ja + :frame-interp (fabs f28-0) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) ) - ) (let* ((f0-30 (- (-> self water height) (-> self control trans y))) (f24-1 (lerp-scale (the-as float (-> (new 'static 'array int32 1 0) 0)) @@ -2489,33 +2077,17 @@ ) ) (set! (-> self skel root-channel 1 frame-interp) f24-1) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 param 0) (/ (-> self control unknown-float01) - (* 60.0 (/ (dummy-9 (-> self skel)) (-> *TARGET-bank* run-cycle-length))) - ) - ) - (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((s5-3 (-> self skel root-channel 5))) - (set! (-> s5-3 frame-interp) (lerp f26-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) f24-1)) - ) - ) - (let ((a0-66 (-> self skel root-channel 1))) - (set! (-> a0-66 param 0) 0.0) - (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-67 (-> self skel root-channel 2))) - (set! (-> a0-67 param 0) 0.0) - (joint-control-channel-group-eval! a0-67 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-68 (-> self skel root-channel 3))) - (set! (-> a0-68 param 0) 0.0) - (joint-control-channel-group-eval! a0-68 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-69 (-> self skel root-channel 4))) - (set! (-> a0-69 param 0) 0.0) - (joint-control-channel-group-eval! a0-69 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (loop! (/ (-> self control unknown-float01) + (* 60.0 (/ (dummy-9 (-> self skel)) (-> *TARGET-bank* run-cycle-length))) + ) + ) + ) + (ja :chan 5 :frame-interp (lerp f26-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) f24-1)) ) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) + (ja :chan 3 :num! (chan 0)) + (ja :chan 4 :num! (chan 0)) (when (and (>= (- (-> *display* base-frame-counter) (the-as time-frame gp-6)) (seconds 0.2)) (< (- (-> self water height) (-> self control trans y)) 4096.0) ) @@ -2660,13 +2232,9 @@ (go target-swim-down) ) (if (and (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) - (let ((gp-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((gp-0 (ja-group))) (ja-aframe-num 0) - (if (or (and (= gp-0 (-> self draw art-group data 96)) #t) (and (= gp-0 (-> self draw art-group data 95)) #t)) + (if (or (and (= gp-0 eichar-swim-up-ja) #t) (and (= gp-0 eichar-swim-down-to-up-ja) #t)) #f #t ) @@ -2684,29 +2252,22 @@ ) :code (behavior () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 96)) (= v1-2 (-> self draw art-group data 95))) - (ja-channel-push! 1 22) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 97))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 97)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) - (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) - 1.0 - 2.0 - ) - ) - ) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 97)) num-func-seek!) - ) + ((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! + max + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + 1.0 + 2.0 + ) + ) + ) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) (let ((a0-9 (-> self skel root-channel 0))) @@ -2723,36 +2284,21 @@ ) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 92) - ) - (ja-channel-push! 1 249) + ((ja-group? eichar-swim-walk-ja) + (ja-channel-push! 1 (seconds 0.83)) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 91)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (loop + (ja :group! eichar-swim-stance-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek!)) ) - ) ) ) (none) @@ -2835,33 +2381,14 @@ ) :code (behavior () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) - (= v1-2 (-> self draw art-group data 97)) - ) - (ja-channel-push! 1 90) + ((or (= v1-2 eichar-swim-up-ja) (= v1-2 eichar-swim-down-to-up-ja) (= v1-2 eichar-swim-up-to-stance-ja)) + (ja-channel-push! 1 (seconds 0.3)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 97) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 92))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 92)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 19.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 92)) num-func-seek!) - ) + ((ja-group? eichar-swim-up-to-stance-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-swim-walk-ja :num! (seek!) :frame-num (ja-aframe (the-as float 19.0) 0)) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (if (zero? (logand (-> self align flags) (align-flags algf00))) @@ -2870,28 +2397,16 @@ ) ) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) ) - (while #t - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 92))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 92)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 92)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-swim-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (if (zero? (logand (-> self align flags) (align-flags algf00))) @@ -2900,11 +2415,7 @@ ) ) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3000,29 +2511,17 @@ (s5-0 3000) (f30-0 0.0) ) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (set! f30-0 (cond - ((or (= v1-2 (-> self draw art-group data 91)) - (= v1-2 (-> self draw art-group data 92)) - (= v1-2 (-> self draw art-group data 97)) - (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) + ((or (= v1-2 eichar-swim-stance-ja) + (= v1-2 eichar-swim-walk-ja) + (= v1-2 eichar-swim-up-to-stance-ja) + (= v1-2 eichar-swim-up-ja) + (= v1-2 eichar-swim-down-to-up-ja) ) - (ja-channel-push! 1 22) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 93))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 93)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 93)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! eichar-swim-walk-to-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) @@ -3030,53 +2529,22 @@ (dummy-13 (-> self water) (the-as float 0.7) (-> self control trans) 1 *null-vector*) ) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) + (ja :num! (seek!)) ) + (ja :group! eichar-swim-down-ja :num! min) f30-0 ) (else - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (((-> self draw art-group data 63) - (-> self draw art-group data 66) - (-> self draw art-group data 64) - (-> self draw art-group data 67) - ) - (ja-channel-push! 1 22) + (case (ja-group) + ((eichar-flop-down-ja eichar-moving-flop-down-ja eichar-flop-down-loop-ja eichar-moving-flop-down-loop-ja) + (ja-channel-push! 1 (seconds 0.075)) (set! gp-0 120) - (let ((s4-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! (-> s4-1 frame-num) (ja-aframe (the-as float 124.0) 0)) - ) + (ja :group! eichar-swim-down-ja :num! (identity (ja-aframe (the-as float 124.0) 0))) -16384.0 ) (else - (ja-channel-push! 1 22) - (let ((s4-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! (-> s4-2 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! eichar-swim-down-ja :num! min) f30-0 ) ) @@ -3084,7 +2552,7 @@ ) ) ) - (while #t + (loop (if (and (or (zero? (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons square) ) @@ -3124,17 +2592,15 @@ ) ) (suspend) - (let ((s4-4 (-> self skel root-channel 0))) - (set! (-> s4-4 param 0) (lerp-scale - (the-as float 0.4) - (the-as float 1.0) - (vector-length (-> self control transv)) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 16384.0) - ) - ) - (joint-control-channel-group-eval! s4-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (lerp-scale + (the-as float 0.4) + (the-as float 1.0) + (vector-length (-> self control transv)) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 16384.0) + ) + ) + ) ) ) (none) @@ -3184,18 +2650,10 @@ ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 1.0)) (let ((gp-0 #t)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 95))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 95)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 95)) num-func-seek!) - ) + (ja-no-eval :group! eichar-swim-down-to-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (target-swim-tilt (the-as float (if (< 8192.0 (-> self water swim-depth)) @@ -3225,22 +2683,11 @@ (TODO-RENAME-10 (-> self align) 2 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 96)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (while #t + (ja :group! eichar-swim-up-ja :num! min) + (loop (target-swim-tilt (the-as float (if (< 8192.0 (-> self water swim-depth)) 0.3 @@ -3263,10 +2710,7 @@ (set! (-> self control transv y) (+ 8192.0 (* 8192.0 f30-0))) ) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) (set! f30-0 (seek f30-0 (the-as float 1.0) (-> *display* seconds-per-frame))) ) ) @@ -3327,28 +2771,17 @@ :code (behavior ((arg0 float) (arg1 float)) (die-on-next-update! (-> self water bob)) - (ja-channel-push! 1 15) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 98)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! eichar-swim-jump-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (TODO-RENAME-9 (-> self align)) (if (zero? (logand (-> self align flags) (align-flags algf00))) (+! (-> self water align-offset) (* 0.6 (-> self align delta trans y))) ) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 2.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek! max 2.0)) ) - ) ) (let ((f30-0 (fmax 0.0 (- (-> self water bob-offset))))) (let ((s4-1 (new-stack-vector0))) @@ -3411,41 +2844,19 @@ (else (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.1)) (ja-channel-push! 1 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 36)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! eichar-painful-land-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek!)) ) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 37)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) ) + (ja :group! eichar-painful-land-end-ja :num! min) (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (ja :num! (seek!)) ) - ) ) (go target-stance) ) @@ -3469,22 +2880,12 @@ (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 45) + (ja-channel-push! 1 (seconds 0.15)) (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) - (let ((s2-0 (-> self skel root-channel 0))) - (set! (-> s2-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - (set! (-> s2-0 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> s2-0 param 1) 3.0) - (set! (-> s2-0 frame-num) 0.0) - (joint-control-channel-group! s2-0 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) - ) + (ja-no-eval :group! eichar-duck-stance-ja :num! (seek! (ja-aframe (the-as float 15.0) 0) 3.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s2-1 (-> self skel root-channel 0))) - (set! (-> s2-1 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> s2-1 param 1) 3.0) - (joint-control-channel-group-eval! s2-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 15.0) 0) 3.0)) ) (if arg1 (send-event *camera* 'change-state arg1 180) @@ -3619,44 +3020,20 @@ ) ) (set! (-> self control unknown-uint20) (the-as uint #t)) - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 101))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 101)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 101)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! eichar-periscope-grab-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process arg0) 'change-mode) (while (-> self control unknown-spoolanim00) (suspend) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 101))) - (set! (-> a0-16 param 0) 0.0) - (set! (-> a0-16 param 1) 2.0) - (set! (-> a0-16 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 101)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 101)) num-func-seek!) - ) + (ja-no-eval :group! eichar-periscope-grab-ja :num! (seek! 0.0 2.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 0.0) - (set! (-> a0-17 param 1) 2.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 2.0)) ) (go target-stance) (none) @@ -3695,20 +3072,10 @@ (when gp-0 (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) (ja-channel-set! 1) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) gp-0) - (set! (-> a0-4 param 0) (the float (+ (-> gp-0 data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 gp-0 num-func-seek!) - ) + (ja-no-eval :group! gp-0 :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) ) diff --git a/test/decompiler/reference/engine/target/target_REF.gc b/test/decompiler/reference/engine/target/target_REF.gc index f52313abfb..7abdec8c0f 100644 --- a/test/decompiler/reference/engine/target/target_REF.gc +++ b/test/decompiler/reference/engine/target/target_REF.gc @@ -2,109 +2,50 @@ (in-package goal) ;; definition for function target-falling-anim -(defbehavior target-falling-anim target ((arg0 time-frame) (arg1 int)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) +(defbehavior target-falling-anim target ((arg0 time-frame) (arg1 time-frame)) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 38)) (= v1-2 (-> self draw art-group data 62))) + ((or (= v1-2 eichar-jump-loop-ja) (= v1-2 eichar-attack-uppercut-ja)) ) - ((let ((v1-8 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-8 (-> self draw art-group data 44)) (= v1-8 (-> self draw art-group data 45))) - ) - (ja-channel-push! 1 45) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) + ((let ((v1-8 (ja-group))) + (or (= v1-8 eichar-edge-grab-stance0-ja) (= v1-8 eichar-edge-grab-stance1-ja)) ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-edge-grab-off-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 50) - ) + ((ja-group? eichar-edge-grab-off-ja) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 86) - ) - (ja-channel-push! 1 45) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> s5-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe (the-as float 20.0) 0)) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + ((ja-group? eichar-yellow-jumping-blast-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 20.0) 0)) (until (ja-done? 0) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) - (set! (-> a0-33 param 1) 1.0) - (joint-control-channel-group-eval! a0-33 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (suspend) ) ) (else (ja-channel-push! 1 arg1) - (let ((v1-82 (-> self skel root-channel 0))) - (set! (-> v1-82 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - ) + (ja :group! eichar-jump-loop-ja) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) ) ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-42 param 0) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) (let ((s5-1 (-> *display* base-frame-counter))) (while (or (= arg0 -1) (< (- (-> *display* base-frame-counter) s5-1) arg0)) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-43 param 0) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) ) #f @@ -113,58 +54,23 @@ ;; definition for function target-falling-anim-trans ;; INFO: Return type mismatch int vs none. (defbehavior target-falling-anim-trans target () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (b! - (or (= v1-2 (-> self draw art-group data 38)) (= v1-2 (-> self draw art-group data 35))) - cfg-7 - :delay - (empty-form) - ) - ) - (ja-channel-push! 1 99) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (let ((v1-2 (ja-group))) + (b! (or (= v1-2 eichar-jump-loop-ja) (= v1-2 eichar-jump-land-ja)) cfg-7 :delay (empty-form)) ) + (ja-channel-push! 1 (seconds 0.33)) + (ja :group! eichar-jump-loop-ja) (b! #t cfg-23 :delay (nop!)) (label cfg-7) (cond - ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) - ) - (ja-channel-push! 1 6) - (let ((v1-21 (-> self skel root-channel 0))) - (set! (-> v1-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - ) + ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) (not (ja-group? eichar-jump-land-ja))) + (ja-channel-push! 1 (seconds 0.02)) + (ja :group! eichar-jump-land-ja) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) + ((ja-group? eichar-jump-loop-ja) + (ja :num! (loop!)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? eichar-jump-land-ja) + (ja :num! (seek!)) ) ) (label cfg-23) @@ -215,16 +121,12 @@ ;; definition for function target-hit-ground-anim (defbehavior target-hit-ground-anim target ((arg0 symbol)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond - ((or (= v1-2 (-> self draw art-group data 63)) - (= v1-2 (-> self draw art-group data 64)) - (= v1-2 (-> self draw art-group data 66)) - (= v1-2 (-> self draw art-group data 67)) + ((or (= v1-2 eichar-flop-down-ja) + (= v1-2 eichar-flop-down-loop-ja) + (= v1-2 eichar-moving-flop-down-ja) + (= v1-2 eichar-moving-flop-down-loop-ja) ) (let ((gp-0 (or (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (< (-> self control unknown-float01) 61440.0) @@ -240,14 +142,14 @@ (ja-channel-set! 1) (let ((s5-0 (-> self skel root-channel 0))) (set! (-> s5-0 frame-group) (the-as art-joint-anim (if gp-0 - (-> self draw art-group data 65) - (-> self draw art-group data 68) + eichar-flop-down-land-ja + eichar-moving-flop-down-land-ja ) ) ) (set! (-> s5-0 param 0) (the float (+ (-> (the-as art-joint-anim (if gp-0 - (-> self draw art-group data 65) - (-> self draw art-group data 68) + eichar-flop-down-land-ja + eichar-moving-flop-down-land-ja ) ) data @@ -264,8 +166,8 @@ (joint-control-channel-group! s5-0 (the-as art-joint-anim (if gp-0 - (-> self draw art-group data 65) - (-> self draw art-group data 68) + eichar-flop-down-land-ja + eichar-moving-flop-down-land-ja ) ) num-func-seek! @@ -319,233 +221,94 @@ ) #f ) - ((let ((v1-95 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (or (= v1-95 (-> self draw art-group data 38)) - (= v1-95 (-> self draw art-group data 42)) - (= v1-95 (-> self draw art-group data 43)) - ) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (>= (ja-aframe-num 0) 38.0) - ) + ((let ((v1-95 (ja-group))) + (or (or (= v1-95 eichar-jump-loop-ja) (= v1-95 eichar-launch-jump-ja) (= v1-95 eichar-launch-jump-loop-ja)) + (and (ja-group? eichar-jump-ja) (>= (ja-aframe-num 0) 38.0)) ) ) - (ja-channel-push! 1 6) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.02)) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (>= (ja-aframe-num 0) 35.0) - ) + ((and (ja-group? eichar-jump-ja) (>= (ja-aframe-num 0) 35.0)) (ja-channel-set! 1) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) - (set! (-> a0-44 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) - ) - (set! (-> a0-44 param 1) 1.0) - (set! (-> a0-44 frame-num) 0.0) - (joint-control-channel-group! a0-44 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-short-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (the float (+ (-> a0-45 frame-group data 0 length) -1))) - (set! (-> a0-45 param 1) 1.0) - (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 50.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-187 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-187 (-> self draw art-group data 34)) (= v1-187 (-> self draw art-group data 41))) + ((let ((v1-187 (ja-group))) + (or (= v1-187 eichar-jump-ja) (= v1-187 eichar-duck-high-jump-ja)) ) (ja-channel-set! 1) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 38.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-short-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 38.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-61 (-> self skel root-channel 0))) - (set! (-> a0-61 param 0) (the float (+ (-> a0-61 frame-group data 0 length) -1))) - (set! (-> a0-61 param 1) 1.0) - (joint-control-channel-group-eval! a0-61 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 50.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-65 (-> self skel root-channel 0))) - (set! (-> a0-65 param 0) (the float (+ (-> a0-65 frame-group data 0 length) -1))) - (set! (-> a0-65 param 1) 1.0) - (joint-control-channel-group-eval! a0-65 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-242 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-242 (-> self draw art-group data 73)) (= v1-242 (-> self draw art-group data 74))) + ((let ((v1-242 (ja-group))) + (or (= v1-242 eichar-hit-from-front-ja) (= v1-242 eichar-hit-from-back-ja)) ) - (let ((f30-2 (the-as float (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 74) - ) + (let ((f30-2 (the-as float (if (ja-group? eichar-hit-from-back-ja) 24576.0 -24576.0 ) ) ) ) - (ja-channel-push! 1 12) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) - (set! (-> gp-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) - ) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 38.0) 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-jump-short-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 38.0) 0)) (until (ja-done? 0) (set-forward-vel f30-2) (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 50.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-86 (-> self skel root-channel 0))) - (set! (-> a0-86 param 0) (the float (+ (-> a0-86 frame-group data 0 length) -1))) - (set! (-> a0-86 param 1) 1.0) - (joint-control-channel-group-eval! a0-86 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-305 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-305 (-> self draw art-group data 34)) - (= v1-305 (-> self draw art-group data 56)) - (= v1-305 (-> self draw art-group data 57)) - (= v1-305 (-> self draw art-group data 58)) - (= v1-305 (-> self draw art-group data 68)) - (= v1-305 (-> self draw art-group data 65)) - (= v1-305 (-> self draw art-group data 62)) + ((let ((v1-305 (ja-group))) + (or (= v1-305 eichar-jump-ja) + (= v1-305 eichar-attack-from-jump-ja) + (= v1-305 eichar-attack-from-jump-loop-ja) + (= v1-305 eichar-attack-from-jump-end-ja) + (= v1-305 eichar-moving-flop-down-land-ja) + (= v1-305 eichar-flop-down-land-ja) + (= v1-305 eichar-attack-uppercut-ja) ) ) - (ja-channel-push! 1 12) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe (the-as float 42.0) 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-jump-land-ja :num! (seek!) :frame-num (ja-aframe (the-as float 42.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-113 (-> self skel root-channel 0))) - (set! (-> a0-113 param 0) (the float (+ (-> a0-113 frame-group data 0 length) -1))) - (set! (-> a0-113 param 1) 1.0) - (joint-control-channel-group-eval! a0-113 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-119 (-> self skel root-channel 0))) - (set! (-> a0-119 param 0) (the float (+ (-> a0-119 frame-group data 0 length) -1))) - (set! (-> a0-119 param 1) 1.0) - (joint-control-channel-group! a0-119 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? eichar-jump-land-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -642,235 +405,93 @@ (let ((s5-0 22) (gp-0 (new 'stack 'ground-tween-info)) ) - (let ((v1-3 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-3 (ja-group))) (cond - ((or (= v1-3 (-> self draw art-group data 89)) (= v1-3 (-> self draw art-group data 90))) + ((or (= v1-3 eichar-wade-shallow-walk-ja) (= v1-3 eichar-wade-deep-walk-ja)) (set! s5-0 45) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 71) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 72))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 72)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 72)) num-func-seek!) - ) + ((ja-group? eichar-wheel-flip-ja) + (ja-no-eval :group! eichar-wheel-flip-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) + ((ja-group? eichar-attack-from-stance-ja) (cond ((rand-vu-percent? (the-as float 0.3)) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 53)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-alt-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 52)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 79))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 79)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 79)) num-func-seek!) - ) + ((ja-group? eichar-smack-surface-ja) + (ja-no-eval :group! eichar-smack-surface-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 84) - ) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 85))) - (set! (-> a0-37 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 85)) data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 85)) num-func-seek!) - ) + ((ja-group? eichar-yellow-running-blast-ja) + (ja-no-eval :group! eichar-yellow-running-blast-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! s5-0 0) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) + ((ja-group? eichar-attack-punch-ja) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - ) - (set! (-> s4-0 param 0) (the float (+ (-> (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! - s4-0 - (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) + (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 ) - num-func-seek! - ) - ) (until (ja-done? 0) (seek! (-> self control unknown-float81) (the-as float 0.0) (-> *display* seconds-per-frame)) (suspend) - (let ((a0-50 (-> self skel root-channel 0))) - (set! (-> a0-50 param 0) (the float (+ (-> a0-50 frame-group data 0 length) -1))) - (set! (-> a0-50 param 1) 1.0) - (joint-control-channel-group-eval! a0-50 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (rot->dir-targ! (-> self control)) ) - ((let ((v1-206 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-206 (-> self draw art-group data 31)) (= v1-206 (-> self draw art-group data 32))) - ) - (ja-channel-push! 1 12) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - (set! (-> a0-62 param 0) 0.0) - (set! (-> a0-62 param 1) 1.2) - (set! (-> a0-62 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-62 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) + ((let ((v1-206 (ja-group))) + (or (= v1-206 eichar-duck-stance-ja) (= v1-206 eichar-duck-walk-ja)) ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-stance-to-duck-ja :num! (seek! 0.0 1.2) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) 0.0) - (set! (-> a0-63 param 1) 1.2) - (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 1.2)) ) (set! s5-0 12) ) - ((or (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (begin (set! s5-0 45) (< 0.5 (-> self skel root-channel 6 frame-interp))) - ) - (let ((v1-243 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-243 (-> self draw art-group data 28)) - (= v1-243 (-> self draw art-group data 29)) - (= v1-243 (-> self draw art-group data 54)) - (= v1-243 (-> self draw art-group data 55)) + ((or (and (ja-group? eichar-walk-ja) (begin (set! s5-0 45) (< 0.5 (-> self skel root-channel 6 frame-interp)))) + (let ((v1-243 (ja-group))) + (or (= v1-243 eichar-run-squash-ja) + (= v1-243 eichar-run-squash-weak-ja) + (= v1-243 eichar-attack-from-stance-run-end-ja) + (= v1-243 eichar-attack-from-stance-run-alt-end-ja) ) ) ) (let ((f30-1 (the-as float (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) + ((ja-group? eichar-walk-ja) (let ((f0-57 (+ 50.0 (* 0.8333333 (+ -25.0 (ja-aframe-num 0)))))) (- f0-57 (* (the float (the int (/ f0-57 50.0))) 50.0)) ) @@ -883,124 +504,70 @@ ) ) (set! s5-0 45) - (ja-channel-push! 3 s5-0) + (ja-channel-push! 3 (the-as time-frame s5-0)) (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 4)) - (the-as uint (-> self draw art-group data 13)) - (the-as uint (-> self draw art-group data 16)) - (the-as uint (-> self draw art-group data 7)) - (the-as uint (-> self draw art-group data 10)) - ) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 num-func) num-func-identity) - (set! (-> s4-1 frame-num) (ja-aframe f30-1 0)) + (the-as uint eichar-run-to-stance-loop-ja) + (the-as uint eichar-run-to-stance-loop-up-ja) + (the-as uint eichar-run-to-stance-loop-down-ja) + (the-as uint eichar-run-to-stance-loop-left-ja) + (the-as uint eichar-run-to-stance-loop-right-ja) ) + (ja :num-func num-func-identity :frame-num (ja-aframe f30-1 0)) ) - (let ((a0-89 (-> self skel root-channel 1))) - (set! (-> a0-89 param 0) 0.0) - (joint-control-channel-group-eval! a0-89 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-90 (-> self skel root-channel 2))) - (set! (-> a0-90 param 0) 0.0) - (joint-control-channel-group-eval! a0-90 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) (dotimes (s4-2 3) (until (ja-done? 0) (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-92 (-> self skel root-channel 0))) - (set! (-> a0-92 param 0) (the float (+ (-> a0-92 frame-group data 0 length) -1))) - (set! (-> a0-92 param 1) 1.0) - (joint-control-channel-group-eval! a0-92 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-93 (-> self skel root-channel 1))) - (set! (-> a0-93 param 0) 0.0) - (joint-control-channel-group-eval! a0-93 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-94 (-> self skel root-channel 2))) - (set! (-> a0-94 param 0) 0.0) - (joint-control-channel-group-eval! a0-94 (the-as art-joint-anim #f) num-func-chan) - ) - ) - (let ((v1-298 (-> self skel root-channel 0))) - (set! (-> v1-298 num-func) num-func-identity) - (set! (-> v1-298 frame-num) 0.0) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) ) + (ja :num-func num-func-identity :frame-num 0.0) ) (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 3)) - (the-as uint (-> self draw art-group data 12)) - (the-as uint (-> self draw art-group data 15)) - (the-as uint (-> self draw art-group data 6)) - (the-as uint (-> self draw art-group data 9)) + (the-as uint eichar-run-to-stance-ja) + (the-as uint eichar-run-to-stance-up-ja) + (the-as uint eichar-run-to-stance-down-ja) + (the-as uint eichar-run-to-stance-left-ja) + (the-as uint eichar-run-to-stance-right-ja) ) (until (ja-done? 0) (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-99 (-> self skel root-channel 0))) - (set! (-> a0-99 param 0) (the float (+ (-> a0-99 frame-group data 0 length) -1))) - (set! (-> a0-99 param 1) 1.0) - (joint-control-channel-group-eval! a0-99 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-100 (-> self skel root-channel 1))) - (set! (-> a0-100 param 0) 0.0) - (joint-control-channel-group-eval! a0-100 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-101 (-> self skel root-channel 2))) - (set! (-> a0-101 param 0) 0.0) - (joint-control-channel-group-eval! a0-101 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) ) ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (>= (-> self control unknown-float01) 5734.4) - ) + ((and (ja-group? eichar-walk-ja) (>= (-> self control unknown-float01) 5734.4)) (set! s5-0 45) ) ) ) - (if (not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (ja-group-size) 3) - ) - ) - (ja-channel-push! 3 s5-0) + (if (not (and (ja-group? eichar-stance-loop-ja) (= (ja-group-size) 3))) + (ja-channel-push! 3 (the-as time-frame s5-0)) ) (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 5)) - (the-as uint (-> self draw art-group data 14)) - (the-as uint (-> self draw art-group data 17)) - (the-as uint (-> self draw art-group data 8)) - (the-as uint (-> self draw art-group data 11)) + (the-as uint eichar-stance-loop-ja) + (the-as uint eichar-stance-loop-up-ja) + (the-as uint eichar-stance-loop-down-ja) + (the-as uint eichar-stance-loop-left-ja) + (the-as uint eichar-stance-loop-right-ja) ) - (while #t + (loop (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-115 (-> self skel root-channel 0))) - (set! (-> a0-115 param 0) 1.0) - (joint-control-channel-group-eval! a0-115 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-116 (-> self skel root-channel 1))) - (set! (-> a0-116 param 0) 0.0) - (joint-control-channel-group-eval! a0-116 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-117 (-> self skel root-channel 2))) - (set! (-> a0-117 param 0) 0.0) - (joint-control-channel-group-eval! a0-117 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) (if (can-play-stance-amibent?) (go target-stance-ambient) ) @@ -1102,289 +669,170 @@ (gp-0 #f) ) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 33) - ) + ((ja-group? eichar-turn-around-ja) (set! f30-0 1.0) - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - (ja-channel-push! 7 22) + ((ja-group? eichar-duck-roll-ja) + (ja-channel-push! 7 (seconds 0.075)) (set! f30-0 1.0) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) + ((ja-group? eichar-attack-from-stance-ja) (let ((f30-1 (fmax 0.8 (fmin 1.0 (* 0.000048828126 (-> self control unknown-float01)))))) (cond ((and (rand-vu-percent? (the-as float 0.3)) (< 20480.0 (-> self control unknown-float01))) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-0 param 1) f30-1) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-alt-end-ja + :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-1 param 1) f30-1) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 55))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 55)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) f30-1) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 55)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1)) ) + (ja-no-eval :group! eichar-attack-from-stance-run-alt-end-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) f30-1) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-1)) ) ) (else - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-2 param 1) f30-1) - (set! (-> s5-2 frame-num) 0.0) - (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-stance-end-ja + :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-3 param 1) f30-1) - (joint-control-channel-group-eval! s5-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 54))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 54)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) f30-1) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 54)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 29.0) 0) f30-1)) ) + (ja-no-eval :group! eichar-attack-from-stance-run-end-ja :num! (seek! max f30-1) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) f30-1) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-1)) ) ) ) ) - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) (set! f30-0 1.0) (set! f28-0 30.0) ) (else - (let ((v1-108 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-108 (ja-group))) (cond - ((or (= v1-108 (-> self draw art-group data 59)) (= v1-108 (-> self draw art-group data 60))) + ((or (= v1-108 eichar-attack-punch-ja) (= v1-108 eichar-attack-punch-end-ja)) (set! f30-0 1.0) (set! f28-0 30.0) - (ja-channel-push! 7 45) + (ja-channel-push! 7 (seconds 0.15)) ) - ((let ((v1-116 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-116 (-> self draw art-group data 84)) (= v1-116 (-> self draw art-group data 85))) + ((let ((v1-116 (ja-group))) + (or (= v1-116 eichar-yellow-running-blast-ja) (= v1-116 eichar-yellow-running-blast-end-ja)) ) (set! f30-0 1.0) (set! f28-0 26.0) - (ja-channel-push! 7 30) + (ja-channel-push! 7 (seconds 0.1)) ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + ((and (ja-group? eichar-walk-ja) (= (-> self skel root-channel 0) (-> self skel channel))) (set! f28-0 (ja-aframe-num 0)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 102) - ) + ((ja-group? (-> self draw art-group data 102)) (set! f28-0 (ja-aframe-num 0)) - (ja-channel-push! 7 30) + (ja-channel-push! 7 (seconds 0.1)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 89) - ) + ((ja-group? eichar-wade-shallow-walk-ja) (set! f28-0 (ja-aframe-num 0)) - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) ) - ((let ((v1-146 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and (or (or (= v1-146 (-> self draw art-group data 38)) - (= v1-146 (-> self draw art-group data 71)) - (= v1-146 (-> self draw art-group data 58)) - (= v1-146 (-> self draw art-group data 62)) - (= v1-146 (-> self draw art-group data 65)) - (= v1-146 (-> self draw art-group data 68)) + ((let ((v1-146 (ja-group))) + (and (or (or (= v1-146 eichar-jump-loop-ja) + (= v1-146 eichar-wheel-flip-ja) + (= v1-146 eichar-attack-from-jump-end-ja) + (= v1-146 eichar-attack-uppercut-ja) + (= v1-146 eichar-flop-down-land-ja) + (= v1-146 eichar-moving-flop-down-land-ja) ) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (< 30.0 (ja-aframe-num 0)) - ) + (and (ja-group? eichar-jump-ja) (< 30.0 (ja-aframe-num 0))) ) (< 12288.0 (-> self control unknown-float01)) ) ) - (let ((s5-4 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (let ((s5-4 (ja-group)) (f30-2 (-> self control ground-impact-vel)) ) - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (((-> self draw art-group data 71) (-> self draw art-group data 58)) - (ja-channel-push! 1 15) + (case (ja-group) + ((eichar-wheel-flip-ja eichar-attack-from-jump-end-ja) + (ja-channel-push! 1 (seconds 0.05)) ) (else (ja-channel-set! 1) ) ) (cond - ((< (the-as float (if (= s5-4 (-> self draw art-group data 34)) + ((< (the-as float (if (= s5-4 eichar-jump-ja) 77824.0 102400.0 ) ) f30-2 ) - (let ((s5-5 (-> self skel root-channel 0))) - (set! (-> s5-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - (set! (-> s5-5 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-5 param 1) 1.00001) - (set! (-> s5-5 frame-num) 0.0) - (joint-control-channel-group! s5-5 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) - ) + (ja-no-eval :group! eichar-run-squash-ja + :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-6 (-> self skel root-channel 0))) - (set! (-> s5-6 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-6 param 1) 1.00001) - (joint-control-channel-group-eval! s5-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001)) ) ) - ((< (the-as float (if (= s5-4 (-> self draw art-group data 34)) + ((< (the-as float (if (= s5-4 eichar-jump-ja) 61440.0 102400.0 ) ) f30-2 ) - (let ((s5-7 (-> self skel root-channel 0))) - (set! (-> s5-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - (set! (-> s5-7 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-7 param 1) 1.00001) - (set! (-> s5-7 frame-num) (ja-aframe (the-as float -1.0) 0)) - (joint-control-channel-group! s5-7 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) - ) + (ja-no-eval :group! eichar-run-squash-ja + :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001) + :frame-num (ja-aframe (the-as float -1.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((s5-8 (-> self skel root-channel 0))) - (set! (-> s5-8 param 0) (ja-aframe (the-as float 3.0) 0)) - (set! (-> s5-8 param 1) 1.00001) - (joint-control-channel-group-eval! s5-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 3.0) 0) 1.00001)) ) ) (else - (let ((s5-9 (-> self skel root-channel 0))) - (set! (-> s5-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) - (set! (-> s5-9 param 0) (ja-aframe (the-as float 4.0) 0)) - (set! (-> s5-9 param 1) 1.00001) - (set! (-> s5-9 frame-num) 0.0) - (joint-control-channel-group! s5-9 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) - ) + (ja-no-eval :group! eichar-run-squash-weak-ja + :num! (seek! (ja-aframe (the-as float 4.0) 0) 1.00001) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((s5-10 (-> self skel root-channel 0))) - (set! (-> s5-10 param 0) (ja-aframe (the-as float 4.0) 0)) - (set! (-> s5-10 param 1) 1.00001) - (joint-control-channel-group-eval! s5-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 4.0) 0) 1.00001)) ) ) ) ) (until (ja-done? 0) (suspend) - (let ((a0-116 (-> self skel root-channel 0))) - (set! (-> a0-116 param 0) (the float (+ (-> a0-116 frame-group data 0 length) -1))) - (set! (-> a0-116 param 1) - (/ (* (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)) + ) ) - ) - (joint-control-channel-group-eval! a0-116 (the-as art-joint-anim #f) num-func-seek!) - ) + ) ) (set! f28-0 30.0) (set! f30-0 1.0) (ja-channel-set! 7) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (ja-channel-push! 7 15) + ((ja-group? eichar-jump-ja) + (ja-channel-push! 7 (seconds 0.05)) (set! gp-0 #t) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (ja-channel-push! 7 45) + ((ja-group? eichar-smack-surface-ja) + (ja-channel-push! 7 (seconds 0.15)) ) (else - (ja-channel-push! 7 15) + (ja-channel-push! 7 (seconds 0.05)) ) ) ) @@ -1392,75 +840,44 @@ ) (set! (-> self skel root-channel 3 command) 'push) (set! (-> self skel root-channel 6 command) 'stack) - (let ((v1-265 (-> self skel root-channel 0))) - (set! (-> v1-265 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - ) + (ja :group! eichar-walk-ja) (let ((f28-1 (ja-aframe f28-0 0))) - (let ((s5-11 (-> self skel root-channel 0))) - (set! (-> s5-11 frame-interp) 0.0) - (set! (-> s5-11 dist) (-> *TARGET-bank* walk-cycle-dist)) - (joint-control-channel-group-eval! - s5-11 - (the-as art-joint-anim (-> self draw art-group data 23)) - num-func-identity + (ja :group! eichar-walk-ja :num! (identity f28-1) :frame-interp 0.0 :dist (-> *TARGET-bank* walk-cycle-dist)) + (ja :chan 1 + :group! eichar-walk-down-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-down-cycle-dist) ) - (set! (-> s5-11 frame-num) f28-1) - ) - (let ((s5-12 (-> self skel root-channel 1))) - (set! (-> s5-12 frame-interp) 0.0) - (set! (-> s5-12 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (joint-control-channel-group-eval! - s5-12 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity + (ja :chan 2 + :group! eichar-walk-left-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* walk-side-cycle-dist) ) - (set! (-> s5-12 frame-num) f28-1) - ) - (let ((s5-13 (-> self skel root-channel 2))) - (set! (-> s5-13 frame-interp) 0.0) - (set! (-> s5-13 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (joint-control-channel-group-eval! - s5-13 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity + (ja :chan 4 + :group! eichar-run-down-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* run-down-cycle-dist) ) - (set! (-> s5-13 frame-num) f28-1) - ) - (let ((s5-14 (-> self skel root-channel 4))) - (set! (-> s5-14 frame-interp) 0.0) - (set! (-> s5-14 dist) (-> *TARGET-bank* run-down-cycle-dist)) - (joint-control-channel-group-eval! - s5-14 - (the-as art-joint-anim (-> self draw art-group data 20)) - num-func-identity + (ja :chan 5 + :group! eichar-run-left-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* run-side-cycle-dist) ) - (set! (-> s5-14 frame-num) f28-1) - ) - (let ((s5-15 (-> self skel root-channel 5))) - (set! (-> s5-15 frame-interp) 0.0) - (set! (-> s5-15 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (joint-control-channel-group-eval! - s5-15 - (the-as art-joint-anim (-> self draw art-group data 22)) - num-func-identity + (ja :chan 3 + :group! eichar-run-ja + :num! (identity f28-1) + :frame-interp 0.0 + :dist (-> *TARGET-bank* run-cycle-dist) ) - (set! (-> s5-15 frame-num) f28-1) - ) - (let ((s5-16 (-> self skel root-channel 3))) - (set! (-> s5-16 frame-interp) 0.0) - (set! (-> s5-16 dist) (-> *TARGET-bank* run-cycle-dist)) - (joint-control-channel-group-eval! - s5-16 - (the-as art-joint-anim (-> self draw art-group data 18)) - num-func-identity - ) - (set! (-> s5-16 frame-num) f28-1) - ) ) (let ((f28-2 0.0) (f26-1 0.0) ) - (while #t + (loop (let ((f22-0 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control unknown-float61))))) (f24-0 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control unknown-float62))))) ) @@ -1487,84 +904,59 @@ ) (cond ((>= f28-2 0.0) - (let ((v1-329 (-> self skel root-channel 1))) - (set! (-> v1-329 frame-interp) (fabs f28-2)) - (set! (-> v1-329 dist) (-> *TARGET-bank* walk-up-cycle-dist)) - (set! (-> v1-329 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - ) - (let ((v1-332 (-> self skel root-channel 4))) - (set! (-> v1-332 frame-interp) (fabs f28-2)) - (set! (-> v1-332 dist) (-> *TARGET-bank* run-up-cycle-dist)) - (set! (-> v1-332 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) - ) + (ja :chan 1 :group! eichar-walk-up-ja :frame-interp (fabs f28-2) :dist (-> *TARGET-bank* walk-up-cycle-dist)) + (ja :chan 4 :group! eichar-run-up-ja :frame-interp (fabs f28-2) :dist (-> *TARGET-bank* run-up-cycle-dist)) ) (else - (let ((v1-335 (-> self skel root-channel 1))) - (set! (-> v1-335 frame-interp) (fabs f28-2)) - (set! (-> v1-335 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! (-> v1-335 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) - (let ((v1-338 (-> self skel root-channel 4))) - (set! (-> v1-338 frame-interp) (fabs f28-2)) - (set! (-> v1-338 dist) (-> *TARGET-bank* run-down-cycle-dist)) - (set! (-> v1-338 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - ) + (ja :chan 1 + :group! eichar-walk-down-ja + :frame-interp (fabs f28-2) + :dist (-> *TARGET-bank* walk-down-cycle-dist) + ) + (ja :chan 4 + :group! eichar-run-down-ja + :frame-interp (fabs f28-2) + :dist (-> *TARGET-bank* run-down-cycle-dist) + ) ) ) (cond ((>= f26-1 0.0) - (let ((v1-341 (-> self skel root-channel 2))) - (set! (-> v1-341 frame-interp) (fabs f26-1)) - (set! (-> v1-341 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-341 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - (let ((v1-344 (-> self skel root-channel 5))) - (set! (-> v1-344 frame-interp) (fabs f26-1)) - (set! (-> v1-344 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (set! (-> v1-344 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) + (ja :chan 2 + :group! eichar-walk-right-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) + (ja :chan 5 + :group! eichar-run-right-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* run-side-cycle-dist) + ) ) (else - (let ((v1-347 (-> self skel root-channel 2))) - (set! (-> v1-347 frame-interp) (fabs f26-1)) - (set! (-> v1-347 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! (-> v1-347 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - ) - (let ((v1-350 (-> self skel root-channel 5))) - (set! (-> v1-350 frame-interp) (fabs f26-1)) - (set! (-> v1-350 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (set! (-> v1-350 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - ) + (ja :chan 2 + :group! eichar-walk-left-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* walk-side-cycle-dist) + ) + (ja :chan 5 + :group! eichar-run-left-ja + :frame-interp (fabs f26-1) + :dist (-> *TARGET-bank* run-side-cycle-dist) + ) ) ) (set! (-> self skel root-channel 6 frame-interp) f30-0) (let* ((f1-19 (dummy-9 (-> self skel))) (f0-92 (/ (-> self control unknown-float01) (* 60.0 (/ f1-19 (-> *TARGET-bank* run-cycle-length))))) - (a0-182 (-> self skel root-channel 0)) ) - (set! (-> a0-182 param 0) f0-92) - (joint-control-channel-group-eval! a0-182 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-183 (-> self skel root-channel 1))) - (set! (-> a0-183 param 0) 0.0) - (joint-control-channel-group-eval! a0-183 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-184 (-> self skel root-channel 2))) - (set! (-> a0-184 param 0) 0.0) - (joint-control-channel-group-eval! a0-184 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-185 (-> self skel root-channel 3))) - (set! (-> a0-185 param 0) 0.0) - (joint-control-channel-group-eval! a0-185 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-186 (-> self skel root-channel 4))) - (set! (-> a0-186 param 0) 0.0) - (joint-control-channel-group-eval! a0-186 (the-as art-joint-anim #f) num-func-chan) - ) - (let ((a0-187 (-> self skel root-channel 5))) - (set! (-> a0-187 param 0) 0.0) - (joint-control-channel-group-eval! a0-187 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (loop! f0-92)) ) + (ja :chan 1 :num! (chan 0)) + (ja :chan 2 :num! (chan 0)) + (ja :chan 3 :num! (chan 0)) + (ja :chan 4 :num! (chan 0)) + (ja :chan 5 :num! (chan 0)) (if (and gp-0 (!= (-> self skel root-channel 0) (-> self skel channel))) (ja-blend-eval) ) @@ -1628,24 +1020,13 @@ ) :code (behavior () - (ja-channel-push! 1 12) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 33)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (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)) (TODO-RENAME-9 (-> self align)) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 2.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 16 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) ) @@ -1689,31 +1070,14 @@ ) :code (behavior () - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - ) - (ja-channel-push! 1 30) - ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 31)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) + (if (not (ja-group? eichar-duck-stance-ja)) + (ja-channel-push! 1 (seconds 0.1)) ) + (loop + (ja-no-eval :group! eichar-duck-stance-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1840,31 +1204,8 @@ ) ) 0 - (when (and arg1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (and (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - extra - ) - #t - ) - ) - (let ((v1-57 (res-lump-struct - (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - extra - ) - 'collide-offset - vector - :time - (ja-frame-num 0) - ) - ) - ) + (when (and arg1 (ja-group) (and (-> (ja-group) extra) #t)) + (let ((v1-57 (res-lump-struct (-> (ja-group) extra) 'collide-offset vector :time (ja-frame-num 0)))) (cond (v1-57 (set! v0-2 (-> self control unknown-vector13)) @@ -1913,14 +1254,8 @@ ) (logtest? (-> self state-flags) (state-flags sf13)) ) - (let ((v1-13 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and (not (or (= v1-13 (-> self draw art-group data 70)) (= v1-13 (-> self draw art-group data 69)))) - (can-exit-duck?) - ) + (let ((v1-13 (ja-group))) + (and (not (or (= v1-13 eichar-duck-roll-end-ja) (= v1-13 eichar-duck-roll-ja))) (can-exit-duck?)) ) ) (go target-stance) @@ -1956,82 +1291,32 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 70))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 70)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 70)) num-func-seek!) - ) + ((ja-group? eichar-duck-roll-ja) + (ja-no-eval :group! eichar-duck-roll-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + ((and (ja-group? eichar-duck-stance-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 32) - ) - (ja-channel-push! 1 30) + ((ja-group? eichar-duck-walk-ja) + (ja-channel-push! 1 (seconds 0.1)) ) (else - (ja-channel-push! 1 12) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! eichar-stance-to-duck-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (while #t - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 31)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) - ) + (loop + (ja-no-eval :group! eichar-duck-stance-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2048,12 +1333,7 @@ (behavior () (set! (-> self control unknown-float81) 1.0) (target-collide-set! 'duck (the-as float 1.0)) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - ) + (if (not (ja-group? eichar-duck-roll-ja)) (set! (-> self control unknown-surface00) *duck-mods*) ) (none) @@ -2105,54 +1385,28 @@ :code (behavior () (cond - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 32) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + ((and (ja-group? eichar-duck-walk-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (ja-channel-push! 1 135) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 32)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + ((ja-group? eichar-duck-stance-ja) + (ja-channel-push! 1 (seconds 0.45)) + (ja :group! eichar-duck-walk-ja :num! min) ) (else - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 32)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! eichar-duck-walk-ja :num! min) ) ) - (while #t + (loop (if (= (-> self skel root-channel 0) (-> self skel channel)) (set! (-> self control unknown-surface00) *duck-mods*) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) - (fmin 1.0 (/ (-> self control unknown-float01) - (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) - ) - ) - ) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-loop!) - ) + (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) @@ -2242,11 +1496,7 @@ (* 0.003921569 (the float (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton 6))) ) ) - (target-falling-trans #f (the-as time-frame (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 ) @@ -2293,41 +1543,12 @@ ) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) - (ja-channel-push! 2 15) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) + (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)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-+!) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) + (ja :group! eichar-jump-ja :num! (+!)) + (ja :chan 1 :group! eichar-jump-forward-ja :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -2348,14 +1569,10 @@ ) (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) ) - (let ((a0-10 (-> self skel root-channel 1))) - (set! (-> a0-10 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-10 param 0) 0.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) ) - (target-falling-anim -1 60) + (target-falling-anim -1 (seconds 0.2)) (none) ) :post @@ -2379,41 +1596,16 @@ :code (behavior ((arg0 float) (arg1 float)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 3.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 3.0) 0)) (until (ja-done? 0) (set! (-> self control unknown-dword70) 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-6 param 0) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) (none) ) @@ -2447,11 +1639,7 @@ target-exit :trans (behavior () - (target-falling-trans #f (the-as time-frame (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 ) @@ -2490,40 +1678,16 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 2 15) + (ja-channel-push! 2 (seconds 0.05)) (dummy-10 (-> self skel effect) 'jump-double (the-as float -1.0) -1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 5.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) + (ja-no-eval :group! eichar-jump-ja :num! (seek!) :frame-num (ja-aframe (the-as float 5.0) 0)) + (ja :chan 1 :group! eichar-jump-forward-ja :num! (chan 0)) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) ) - (target-falling-anim -1 60) + (target-falling-anim -1 (seconds 0.2)) (none) ) :post @@ -2575,11 +1739,7 @@ target-exit :trans (behavior () - (target-falling-trans #f (the-as time-frame (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (target-falling-trans #f (the-as time-frame (if (ja-group? eichar-jump-loop-ja) 15 -1 ) @@ -2641,49 +1801,22 @@ target-exit :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (if (not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - ) - (ja-channel-push! 1 12) + (if (not (and (ja-group? eichar-duck-stance-ja) (= (-> self skel root-channel 0) (-> self skel channel)))) + (ja-channel-push! 1 (seconds 0.04)) ) (case arg2 (('launch) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) - (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) 0.0) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 42)) num-func-seek!) - ) + (ja-no-eval :group! eichar-launch-jump-ja :num! (seek! (ja-aframe (the-as float 16.0) 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-1 param 1) 1.0) - (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 16.0) 0))) ) ) (else - (let ((s3-2 (-> self skel root-channel 0))) - (set! (-> s3-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> s3-2 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-2 param 1) 1.0) - (set! (-> s3-2 frame-num) 0.0) - (joint-control-channel-group! s3-2 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe (the-as float 16.0) 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s3-3 (-> self skel root-channel 0))) - (set! (-> s3-3 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-3 param 1) 1.0) - (joint-control-channel-group-eval! s3-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 16.0) 0))) ) ) ) @@ -2757,43 +1890,17 @@ ) (cond ((= arg2 'launch) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-7 param 0) f28-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! eichar-launch-jump-loop-ja :num! (loop! f28-0) :frame-num 0.0) + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-8 param 0) f28-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 43)) - num-func-loop! - ) - ) + (ja :group! eichar-launch-jump-loop-ja :num! (loop! f28-0)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! eichar-jump-loop-ja :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! eichar-jump-loop-ja :num! (loop!)) ) ) ) @@ -2830,7 +1937,7 @@ ) :code (behavior ((arg0 symbol)) - (target-falling-anim -1 99) + (target-falling-anim -1 (seconds 0.33)) (none) ) :post @@ -2846,12 +1953,8 @@ (cond ((= arg0 'stuck) ) - ((let ((v1-4 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-4 (-> self draw art-group data 42)) (= v1-4 (-> self draw art-group data 43))) + ((let ((v1-4 (ja-group))) + (or (= v1-4 eichar-launch-jump-ja) (= v1-4 eichar-launch-jump-loop-ja)) ) (dummy-10 (-> self skel effect) 'group-blue-hit-ground-effect (the-as float 0.0) -1) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.3)) @@ -2968,16 +2071,12 @@ ) :code (behavior () - (ja-channel-push! 1 15) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 51))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 51)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) (-> self control unknown-surface01 align-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 51)) num-func-seek!) - ) + (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)) + :frame-num 0.0 + ) (until (ja-done? 0) (when (and (= (-> self fact-info-target eco-type) (pickup-type eco-red)) (>= (-> self fact-info-target eco-level) 1.0) @@ -3004,11 +2103,7 @@ (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self control unknown-surface01 align-speed))) ) (go target-stance) (none) @@ -3206,15 +2301,8 @@ (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) ) - (ja-channel-push! 1 6) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 59)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.02)) + (ja :group! eichar-attack-punch-ja :num! min) (set! (-> self control dynam gravity-max) 368640.0) (set! (-> self control dynam gravity-length) 368640.0) (let ((f28-0 0.0) @@ -3229,14 +2317,10 @@ (and (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-39 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (not (or (= v1-39 (-> self draw art-group data 59)) - (= v1-39 (-> self draw art-group data 60)) - (= v1-39 (-> self draw art-group data 61)) + (let ((v1-39 (ja-group))) + (or (not (or (= v1-39 eichar-attack-punch-ja) + (= v1-39 eichar-attack-punch-end-ja) + (= v1-39 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -3285,11 +2369,7 @@ (vector-matrix*! (-> self control unknown-vector120) s5-1 (-> self control unknown-matrix01)) ) (suspend) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 param 0) (the float (+ (-> a0-44 frame-group data 0 length) -1))) - (set! (-> a0-44 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! a0-44 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self control unknown-surface01 align-speed))) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> *run-attack-mods* turnvv) 0.0) ) @@ -3302,14 +2382,10 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *TARGET-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-121 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (not (or (= v1-121 (-> self draw art-group data 59)) - (= v1-121 (-> self draw art-group data 60)) - (= v1-121 (-> self draw art-group data 61)) + (let ((v1-121 (ja-group))) + (or (not (or (= v1-121 eichar-attack-punch-ja) + (= v1-121 eichar-attack-punch-end-ja) + (= v1-121 eichar-attack-punch-alt-end-ja) ) ) (< 4096.0 (target-height-above-ground)) @@ -3372,11 +2448,7 @@ (let* ((f1-5 (/ f0-1 (* (-> self control dynam gravity-length) (-> *display* seconds-per-frame)))) (f30-0 (* 0.5 f1-5 (-> *display* seconds-per-frame) f0-1)) ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 62) - ) + (if (ja-group? eichar-attack-uppercut-ja) (set! f30-0 (fmax 0.0 @@ -3458,34 +2530,15 @@ ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 56))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 56)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 56)) num-func-seek!) - ) + (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) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 16 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 57)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (ja :num! (seek!)) ) + (ja :group! eichar-attack-from-jump-loop-ja :num! min) (let ((f30-0 393216.0)) (let ((f0-8 (target-height-above-ground)) (f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -3500,23 +2553,12 @@ (* f30-0 (-> *display* seconds-per-frame)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! f0-8 (target-height-above-ground)) (set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 58))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 58)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 58)) num-func-seek!) - ) + (ja-no-eval :group! eichar-attack-from-jump-end-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cond ((< (ja-aframe-num 0) 32.0) @@ -3543,11 +2585,7 @@ ) ) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go target-falling #f) @@ -3573,32 +2611,20 @@ target-exit :code (behavior ((arg0 float) (arg1 float)) - (let ((s3-0 (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - ) - (s4-0 (-> self skel root-channel 0)) - ) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 62))) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 7.0) 0)) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) (the-as float (if s3-0 - (ja-aframe (the-as float 5.0) 0) - 0.0 - ) - ) - ) - (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 62)) num-func-seek!) + (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 + (ja-aframe (the-as float 5.0) 0) + 0.0 + ) + ) + ) ) (until (ja-done? 0) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 7.0) 0)) - (set! (-> s4-1 param 1) 1.0) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 7.0) 0))) ) (go target-attack-uppercut-jump arg0 arg1) (none) @@ -3658,11 +2684,7 @@ ) (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) circle) (can-feet?) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 62) - ) + (ja-group? eichar-attack-uppercut-ja) (>= (ja-aframe-num 0) 12.0) ) (go target-attack-air 'uppercut) @@ -3687,11 +2709,7 @@ (TODO-RENAME-9 (-> self align)) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.9) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.9)) (TODO-RENAME-9 (-> self align)) (let* ((gp-0 (-> self align)) (s5-0 (method-of-object gp-0 TODO-RENAME-10)) @@ -3803,12 +2821,8 @@ (behavior () (delete-back-vel) (let ((gp-1 (logtest? (-> self control status) (cshape-moving-flags onsurf)))) - (when (and (not gp-1) (let ((v1-6 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or (= v1-6 (-> self draw art-group data 64)) (= v1-6 (-> self draw art-group data 66))) + (when (and (not gp-1) (let ((v1-6 (ja-group))) + (or (= v1-6 eichar-flop-down-loop-ja) (= v1-6 eichar-moving-flop-down-ja)) ) ) (when (and (or (< (target-move-dist (seconds 0.1)) 1638.4) @@ -3873,14 +2887,7 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) ) - (when (and (not (-> self control unknown-symbol30)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 63) - ) - (>= (ja-aframe-num 0) 8.0) - ) + (when (and (not (-> self control unknown-symbol30)) (ja-group? eichar-flop-down-ja) (>= (ja-aframe-num 0) 8.0)) (target-start-attack) (target-danger-set! 'flop #f) ) @@ -3889,65 +2896,25 @@ :code (behavior ((arg0 float) (arg1 float) (arg2 float)) (ja-channel-set! 2) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 63))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 63)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 63)) num-func-seek!) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 66))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 66)) - num-func-chan - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! (-> gp-0 frame-interp) (lerp-scale - (the-as float 0.0) - (the-as float 1.0) - (-> self control unknown-float01) - (the-as float 0.0) - (the-as float 40960.0) - ) - ) - (set! (-> gp-0 param 0) (the float (+ (-> gp-0 frame-group data 0 length) -1))) - (set! (-> gp-0 param 1) 1.0) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (seek!) :frame-interp (lerp-scale + (the-as float 0.0) + (the-as float 1.0) + (-> self control unknown-float01) + (the-as float 0.0) + (the-as float 40960.0) + ) + ) ) (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) (target-danger-set! 'flop-down #f) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 64)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 67)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja :group! eichar-flop-down-loop-ja :num! min) + (ja :chan 1 :group! eichar-moving-flop-down-loop-ja :num! min) (let ((f30-0 1.0)) (let ((gp-3 (new-stack-vector0))) (let ((f0-18 (vector-dot (-> self control dynam gravity-normal) (-> self control unknown-vector120)))) @@ -3986,24 +2953,17 @@ ) ) (suspend) - (while #t + (loop (+! (-> self control unknown-uint20) 1) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-+!) - ) - (let ((gp-5 (-> self skel root-channel 1))) - (set! (-> gp-5 frame-interp) (lerp-scale - (the-as float 0.0) - (the-as float 1.0) - (-> self control unknown-float01) - (the-as float 0.0) - (the-as float 40960.0) - ) - ) - (set! (-> gp-5 param 0) 0.0) - (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (+!)) + (ja :chan 1 :num! (chan 0) :frame-interp (lerp-scale + (the-as float 0.0) + (the-as float 1.0) + (-> self control unknown-float01) + (the-as float 0.0) + (the-as float 40960.0) + ) + ) (set! f30-0 (* f30-0 (fmin 1.0 (-> self control unknown-float140)))) (let ((gp-6 (new-stack-vector0)) (f28-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -4098,12 +3058,8 @@ ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) ) - (let ((v1-33 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (if (and (or (= v1-33 (-> self draw art-group data 65)) (= v1-33 (-> self draw art-group data 68))) + (let ((v1-33 (ja-group))) + (if (and (or (= v1-33 eichar-flop-down-land-ja) (= v1-33 eichar-moving-flop-down-land-ja)) (>= (ja-aframe-num 0) 28.0) ) (logior! (-> *flop-land-mods* flags) (surface-flags surf10)) @@ -4165,15 +3121,8 @@ (let ((s5-0 0) (f30-0 1.0) ) - (ja-channel-push! 1 12) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 69)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja :group! eichar-duck-roll-ja :num! min) (until (ja-done? 0) (if (cpad-pressed? (-> self control unknown-cpad-info00 number) x) (set! gp-0 (the-as int (-> *display* base-frame-counter))) @@ -4213,11 +3162,7 @@ ) ) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! f30-0 (* f30-0 (fmin 1.0 (-> self control unknown-float140)))) ) ) @@ -4288,13 +3233,7 @@ ) (if (and (cpad-pressed? (-> self control unknown-cpad-info00 number) circle) (can-feet?) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + (and (ja-group? eichar-jump-loop-ja) (= (-> self skel root-channel 0) (-> self skel channel))) ) (go target-attack-air #f) ) @@ -4302,15 +3241,8 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 12) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 71)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja :group! eichar-wheel-flip-ja :num! min) (let ((f30-0 1.0)) (until (or (ja-max? 0) (and (>= (ja-aframe-num 0) 4.0) (logtest? (-> self control status) (cshape-moving-flags onsurf))) @@ -4343,32 +3275,16 @@ (vector-matrix*! (-> self control unknown-vector120) s4-1 (-> self control unknown-matrix01)) ) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! f30-0 (* f30-0 (fmin 1.0 (-> self control unknown-float140)))) ) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.01)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - ) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? eichar-jump-loop-ja)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! eichar-jump-loop-ja :num! min) ) ) (let ((gp-2 (new-stack-vector0)) @@ -4388,24 +3304,10 @@ ) ) (suspend) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (else - (let ((v1-85 (-> self skel root-channel 0))) - (set! (-> v1-85 num-func) num-func-identity) - (set! (-> v1-85 frame-num) (the float (+ (-> v1-85 frame-group data 0 length) -1))) - ) + (if (ja-group? eichar-jump-loop-ja) + (ja :num! (loop!)) + (ja :num-func num-func-identity :frame-num max) ) - ) ) (target-land-effect) (set! (-> self state-hook-time) (-> *display* base-frame-counter)) @@ -4433,11 +3335,7 @@ (none) ) ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (if (ja-group? eichar-jump-loop-ja) (go target-hit-ground #f) (go target-stance) ) diff --git a/test/decompiler/reference/engine/ui/hud-classes_REF.gc b/test/decompiler/reference/engine/ui/hud-classes_REF.gc index e07d1ad421..824f1a4944 100644 --- a/test/decompiler/reference/engine/ui/hud-classes_REF.gc +++ b/test/decompiler/reference/engine/ui/hud-classes_REF.gc @@ -1013,14 +1013,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *fuelcell-naked-sg* fuelcell-naked - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.6) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *fuelcell-naked-sg* fuelcell-naked fuelcell-naked-lod0-jg fuelcell-naked-idle-ja + ((fuelcell-naked-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.6) + :texture-level 2 + ) ;; failed to figure out what this is: (defpart 313 diff --git a/test/decompiler/reference/engine/ui/hud_REF.gc b/test/decompiler/reference/engine/ui/hud_REF.gc index 13d63db405..4c0721e6b1 100644 --- a/test/decompiler/reference/engine/ui/hud_REF.gc +++ b/test/decompiler/reference/engine/ui/hud_REF.gc @@ -284,7 +284,7 @@ :code (behavior () (logior! (-> self mask) (process-mask sleep-code)) - (while #t + (loop (suspend) ) (none) @@ -362,7 +362,7 @@ ) :code (behavior () - (while #t + (loop (if (not (paused?)) (seekl! (-> self offset) 0 (the int (* 15.0 (-> *display* time-adjust-ratio)))) ) @@ -426,7 +426,7 @@ (-> hud-arriving event) :code (behavior ((arg0 int)) - (while #t + (loop (if (not (paused?)) (seekl! (-> self offset) 128 (the int (* (the float arg0) (-> *display* time-adjust-ratio)))) ) @@ -512,7 +512,7 @@ (f24-0 (-> self root-override scale y)) (f22-0 (-> self root-override scale z)) ) - (while #t + (loop (let ((f0-7 (* f30-0 (-> *display* seconds-per-frame)))) (+! f26-0 f0-7) (when (< 1.0 f26-0) diff --git a/test/decompiler/reference/engine/ui/progress/progress_REF.gc b/test/decompiler/reference/engine/ui/progress/progress_REF.gc index 4e13924def..04e013605d 100644 --- a/test/decompiler/reference/engine/ui/progress/progress_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress_REF.gc @@ -1116,7 +1116,7 @@ ) :code (behavior () - (while #t + (loop (when (hud-hidden?) (dotimes (gp-0 (-> self nb-of-particles)) (if (= (-> self particles gp-0 part matrix) -1) @@ -2122,7 +2122,7 @@ ) :code (behavior () - (while #t + (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)) (>= (-> self task-index) 0) @@ -2452,7 +2452,7 @@ ) :code (behavior () - (while #t + (loop (seekl! (-> self in-out-position) 0 (the int (* 170.0 (-> *display* time-adjust-ratio)))) (when (< (-> self in-out-position) 2867) (seekl! @@ -2490,7 +2490,7 @@ ) :code (behavior () - (while #t + (loop (seekl! (-> self transition-offset) 512 @@ -2523,7 +2523,7 @@ ) :code (behavior () - (while #t + (loop (cond ((cpad-pressed? 0 left) (if (> (-> self current-debug-string) 0) diff --git a/test/decompiler/reference/kernel/gstate_REF.gc b/test/decompiler/reference/kernel/gstate_REF.gc index 7a63251a2e..bcfbff2833 100644 --- a/test/decompiler/reference/kernel/gstate_REF.gc +++ b/test/decompiler/reference/kernel/gstate_REF.gc @@ -141,7 +141,7 @@ ;; INFO: Return type mismatch none vs symbol. ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 2] (defun looping-code () - (while #t + (loop (suspend) ) (the-as symbol #f) diff --git a/test/decompiler/reference/levels/beach/beach-obs_REF.gc b/test/decompiler/reference/levels/beach/beach-obs_REF.gc index 75673e39ed..b0e58d5e2d 100644 --- a/test/decompiler/reference/levels/beach/beach-obs_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-obs_REF.gc @@ -2,13 +2,10 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *beachcam-sg* beachcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 60) - :longest-edge (meters 0) - ) +(defskelgroup *beachcam-sg* beachcam beachcam-lod0-jg beachcam-anim-ja + ((beachcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 60) + ) ;; definition of type windmill-one (deftype windmill-one (process-drawable) @@ -34,13 +31,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *windmill-one-sg* windmill-one - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem -12 -8 -1 16) - :longest-edge (meters 7.5) - ) +(defskelgroup *windmill-one-sg* windmill-one windmill-one-lod0-jg windmill-one-idle-ja + ((windmill-one-lod0-mg (meters 20)) (windmill-one-lod1-mg (meters 40)) (windmill-one-lod2-mg (meters 999999))) + :bounds (static-spherem -12 -8 -1 16) + :longest-edge (meters 7.5) + ) ;; failed to figure out what this is: (defstate windmill-one-idle (windmill-one) @@ -61,23 +56,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.5) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.5) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) ) (none) @@ -251,13 +234,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *grottopole-sg* grottopole - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -8 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *grottopole-sg* grottopole grottopole-lod0-jg grottopole-idle-ja + ((grottopole-lod0-mg (meters 20)) (grottopole-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -8 0 9) + ) ;; failed to figure out what this is: (defstate grottopole-idle (grottopole) @@ -309,17 +289,10 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -482,13 +455,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *ecoventrock-sg* ecoventrock - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 1 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *ecoventrock-sg* ecoventrock ecoventrock-lod0-jg ecoventrock-idle-ja + ((ecoventrock-lod0-mg (meters 20)) (ecoventrock-lod1-mg (meters 999999))) + :bounds (static-spherem 0 1 0 3) + ) ;; failed to figure out what this is: (defpartgroup group-beach-harvester-rock-explosion @@ -654,7 +624,7 @@ :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -860,13 +830,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *kickrock-sg* kickrock - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *kickrock-sg* kickrock kickrock-lod0-jg kickrock-idle-ja + ((kickrock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; failed to figure out what this is: (defstate flying-rock-rolling (flying-rock) @@ -1063,19 +1030,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *bladeassm-sg* bladeassm - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 10) - ) +(defskelgroup *bladeassm-sg* bladeassm bladeassm-lod0-jg bladeassm-idle-ja + ((bladeassm-lod0-mg (meters 20)) (bladeassm-lod1-mg (meters 40)) (bladeassm-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + :longest-edge (meters 10) + ) ;; failed to figure out what this is: (defstate bladeassm-idle (bladeassm) :code (behavior () - (while #t + (loop (+! (-> self angle) (* 3640.889 (-> *display* seconds-per-frame))) (set! (-> self angle) (the float (sar (shl (the int (-> self angle)) 48) 48))) (pusher-post) @@ -1175,22 +1140,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *flutflutegg-sg* flutflutegg - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3.5 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *flutflutegg-sg* flutflutegg flutflutegg-lod0-jg flutflutegg-idle-ja + ((flutflutegg-lod0-mg (meters 20)) (flutflutegg-lod1-mg (meters 40)) (flutflutegg-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 3.5) + ) ;; failed to figure out what this is: -(defskelgroup *flutflut-naked-sg* flutflut - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-naked-sg* flutflut flutflut-lod0-jg flutflut-flutflut-idle-ja + ((flutflut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for method 7 of type flutflutegg ;; INFO: Return type mismatch process-drawable vs flutflutegg. @@ -1329,7 +1288,7 @@ :code (behavior () (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1370,7 +1329,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (+! (-> self pos) (* (-> self vel) (-> *display* seconds-per-frame))) (set! (-> self vel) (* 0.95 (-> self vel))) (move! (-> self wobbler)) @@ -1437,7 +1396,7 @@ ) ) (close-specific-task! (game-task beach-flutflut) (task-status need-reminder)) - (while #t + (loop (vector-float*! (-> self root-override transv) (-> self dir) (-> self vel)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until v1-25 @@ -1485,34 +1444,13 @@ (suspend) (update-transforms! (-> self root-override)) (when (not arg0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 5) :num! max) (while (and (not (task-closed? (game-task beach-flutflut) (task-status need-reward-speech))) (zero? (logand (-> self ambients-played) 1024)) ) @@ -1542,17 +1480,8 @@ (ja-channel-set! 1) (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 0.0) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-3 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - ) - (while #t + (ja :group! (-> self draw art-group data 6) :num! max) + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -1644,13 +1573,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *harvester-sg* harvester - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 7 0 11) - :longest-edge (meters 0) - ) +(defskelgroup *harvester-sg* harvester harvester-lod0-jg harvester-idle-ja + ((harvester-lod0-mg (meters 20)) (harvester-lod1-mg (meters 40)) (harvester-lod2-mg (meters 999999))) + :bounds (static-spherem 0 7 0 11) + ) ;; failed to figure out what this is: (defstate harvester-idle (harvester) @@ -1669,16 +1595,9 @@ (if (and (-> self alt-actor) (logtest? (-> self alt-actor extra perm status) (entity-perm-status complete))) (go harvester-inflate #t) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - ) + (ja :group! (-> self draw art-group data 5) :num! (identity (ja-aframe 1.0 0))) (ja-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -1691,41 +1610,17 @@ :code (behavior ((arg0 symbol)) (when (not arg0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (while #t - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/beach/beach-part_REF.gc b/test/decompiler/reference/levels/beach/beach-part_REF.gc index 4c0f076936..4f487785d1 100644 --- a/test/decompiler/reference/levels/beach/beach-part_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-part_REF.gc @@ -101,7 +101,7 @@ (defstate beach-part-grotto-1 (beach-part) :code (behavior () - (while #t + (loop (when (is-visible? self) (let* ((gp-0 (camera-pos)) (f0-0 (vector-vector-distance (-> self root trans) gp-0)) diff --git a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc index 41f9dd6b35..5238a3c65d 100644 --- a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc @@ -2,13 +2,11 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *lrocklrg-sg* lrocklrg - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 11) - ) +(defskelgroup *lrocklrg-sg* lrocklrg lrocklrg-lod0-jg lrocklrg-idle-ja + ((lrocklrg-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :longest-edge (meters 11) + ) ;; failed to figure out what this is: (defpartgroup group-beach-rocks-start @@ -324,7 +322,7 @@ ) (ja-channel-set! 0) (ja-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -339,7 +337,7 @@ (-> (the-as state (method-of-type beach-rock idle)) event) :code (behavior () - (while #t + (loop (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) (suspend) ) @@ -392,14 +390,7 @@ ) (logclear! (-> self draw status) (draw-status hidden)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (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))) @@ -476,9 +467,7 @@ *entity-pool* (game-task none) ) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (TODO-RENAME-9 (-> self align)) (let ((v1-6 (first-transform (-> self align)))) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) 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 d6fc166c84..1926172710 100644 --- a/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc @@ -23,14 +23,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *bird-lady-beach-sg* bird-lady-beach - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *bird-lady-beach-sg* bird-lady-beach bird-lady-beach-lod0-jg bird-lady-beach-idle-ja + ((bird-lady-beach-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow bird-lady-beach-shadow-mg + ) ;; failed to figure out what this is: (defstate idle (bird-lady-beach) diff --git a/test/decompiler/reference/levels/beach/bird-lady_REF.gc b/test/decompiler/reference/levels/beach/bird-lady_REF.gc index ceb56a623c..f60dde40e0 100644 --- a/test/decompiler/reference/levels/beach/bird-lady_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *bird-lady-sg* bird-lady - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *bird-lady-sg* bird-lady bird-lady-lod0-jg bird-lady-idle-ja + ((bird-lady-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 2.5) + :shadow bird-lady-shadow-mg + ) ;; definition for method 52 of type bird-lady ;; INFO: Return type mismatch shadow-flags vs none. diff --git a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc index b8c6dc42de..c0ccd2676a 100644 --- a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc @@ -78,13 +78,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *lurkercrab-sg* lurkercrab - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *lurkercrab-sg* lurkercrab lurkercrab-lod0-jg lurkercrab-idle-ja + ((lurkercrab-lod0-mg (meters 20)) (lurkercrab-lod1-mg (meters 40)) (lurkercrab-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + ) ;; definition for method 44 of type lurkercrab ;; INFO: Return type mismatch symbol vs object. @@ -232,59 +229,29 @@ nav-enemy-default-event-handler (behavior () (set! (-> self target-speed) 0.0) (set! (-> self draw force-lod) 2) - (ja-channel-push! 1 22) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - ) + (ja-channel-push! 1 (seconds 0.075)) + (loop + (ja :group! lurkercrab-idle-ja :num! (identity (ja-aframe 1.0 0))) (let ((gp-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 3)) (suspend) ) ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> gp-2 param 0) (ja-aframe 19.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-idle-ja :num! (seek! (ja-aframe 19.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 19.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 19.0 0)) + (ja :num! (seek! (ja-aframe 19.0 0))) ) + (ja :num-func num-func-identity :frame-num (ja-aframe 19.0 0)) (let ((gp-5 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 1)) (suspend) ) ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> gp-6 param 0) (ja-aframe 1.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 19.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-idle-ja :num! (seek! (ja-aframe 1.0 0)) :frame-num (ja-aframe 19.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 1.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 1.0 0))) ) ) (none) @@ -334,67 +301,29 @@ nav-enemy-default-event-handler ) :code (behavior () - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (ja-channel-push! 1 22) - (while #t + (ja-channel-push! 1 (seconds 0.075)) + (loop (dotimes (gp-0 6) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) 1.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (nav-enemy-rnd-int-range 2 6) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 1.0 0)) - ) + (ja :group! lurkercrab-idle-ja :num! (identity (ja-aframe 1.0 0))) (let ((gp-2 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 2)) (suspend) @@ -402,74 +331,32 @@ nav-enemy-default-event-handler ) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-idle-to-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-3 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 30.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 30.0 0))) ) (lurkercrab-vulnerable) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) (dotimes (gp-5 2) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> s5-0 param 0) (ja-aframe 60.0 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe 60.0 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 60.0 0))) ) ) (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-6 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-to-walk-ja :num! (seek! (ja-aframe 90.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 90.0 0))) ) ) (none) @@ -518,137 +405,51 @@ nav-enemy-default-event-handler :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (loop + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (lurkercrab-vulnerable) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 30.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> gp-2 param 0) (ja-aframe 120.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + (ja :num! (seek! (ja-aframe 30.0 0))) ) + (ja-no-eval :group! lurkercrab-snip-ja :num! (seek! (ja-aframe 120.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 120.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-4 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + (ja :num! (seek! (ja-aframe 120.0 0))) ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-5 param 1) 1.0) - (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-6 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + (ja :num! (seek! (ja-aframe 60.0 0))) ) + (ja-no-eval :group! lurkercrab-peek-ja :num! (seek! (ja-aframe 60.0 0)) :frame-num (ja-aframe 30.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 60.0 0))) ) (lurkercrab-invulnerable) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags navenmf6)) - (let ((gp-8 (-> self skel root-channel 0))) - (set! (-> gp-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-8 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-8 param 1) 1.0) - (set! (-> gp-8 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-8 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-peek-to-walk-ja :num! (seek! (ja-aframe 90.0 0)) :frame-num (ja-aframe 60.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-9 (-> self skel root-channel 0))) - (set! (-> gp-9 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-9 param 1) 1.0) - (joint-control-channel-group-eval! gp-9 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek! (ja-aframe 90.0 0))) ) + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-38 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (set! (-> a0-38 frame-num) 0.0) - (joint-control-channel-group! a0-38 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! lurkercrab-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) - (set! (-> a0-39 param 1) 1.0) - (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -696,17 +497,10 @@ nav-enemy-default-event-handler :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-channel-push! 1 22) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! (-> self draw art-group data (-> self nav-info victory-anim))) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (go-virtual nav-enemy-patrol) @@ -731,20 +525,10 @@ nav-enemy-default-event-handler (set! (-> self momentum-speed) 57344.0) (set! (-> self target-speed) 0.0) (set! (-> self orient) #f) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> gp-0 param 0) (ja-aframe 18.0 0)) - (set! (-> gp-0 param 1) 0.75) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! lurkercrab-kickback-ja :num! (seek! (ja-aframe 18.0 0) 0.75) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 18.0 0)) - (set! (-> gp-1 param 1) 0.75) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 18.0 0) 0.75)) ) (let ((gp-2 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.25)) diff --git a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc index 3f191d6faf..b146ceeaa2 100644 --- a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *lurkerpuppy-sg* lurkerpuppy - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *lurkerpuppy-sg* lurkerpuppy lurkerpuppy-lod0-jg lurkerpuppy-idle-ja + ((lurkerpuppy-lod0-mg (meters 20)) (lurkerpuppy-lod1-mg (meters 40)) (lurkerpuppy-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + :shadow lurkerpuppy-shadow-mg + ) ;; failed to figure out what this is: nav-enemy-default-event-handler @@ -41,28 +38,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 51) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-chase) (none) @@ -80,58 +62,30 @@ nav-enemy-default-event-handler :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + ((ja-group? lurkerpuppy-jump-land-ja) + (ja-channel-push! 1 (seconds 0.17)) + (ja-no-eval :group! lurkerpuppy-run-ja :num! (seek!) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) ) ) (let ((f30-0 (rand-vu-float-range 0.9 1.1))) - (while #t + (loop (if (rand-vu-percent? 0.25) (sound-play-by-name (static-sound-name "puppy-bark") (new-sound-id) 1024 0 0 1 #t) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) f30-0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkerpuppy-run-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (go-virtual nav-enemy-attack) ) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) f30-0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -153,16 +107,10 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (seconds 0.1)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t + (loop (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! lurkerpuppy-celebrate-ja :num! (seek! (ja-aframe 12.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (let ((f0-3 (ja-aframe-num 0))) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -171,33 +119,18 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 12.0 0) f30-0)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) - (let ((v1-31 (-> self skel root-channel 0))) - (set! (-> v1-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((v1-34 (-> self skel root-channel 0))) - (set! (-> v1-34 num-func) num-func-identity) - (set! (-> v1-34 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! lurkerpuppy-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) (let ((gp-2 (rand-vu-int-range 750 900)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-2) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (ja-blend-eval) (suspend) ) @@ -220,35 +153,15 @@ nav-enemy-default-event-handler (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! lurkerpuppy-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.4) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! lurkerpuppy-idle-ja :num! (seek! max 1.4) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -257,11 +170,7 @@ nav-enemy-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.4) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.4)) ) (go-virtual nav-enemy-patrol) (none) @@ -300,17 +209,9 @@ nav-enemy-default-event-handler :code (behavior () (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 4) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! lurkerpuppy-celebrate-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -319,11 +220,7 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go-virtual nav-enemy-chase) diff --git a/test/decompiler/reference/levels/beach/lurkerworm_REF.gc b/test/decompiler/reference/levels/beach/lurkerworm_REF.gc index 514119c464..334a576395 100644 --- a/test/decompiler/reference/levels/beach/lurkerworm_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerworm_REF.gc @@ -66,13 +66,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *lurkerworm-sg* lurkerworm - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 6.5) - :longest-edge (meters 1.5) - ) +(defskelgroup *lurkerworm-sg* lurkerworm lurkerworm-lod0-jg lurkerworm-idle-ja + ((lurkerworm-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6.5) + :longest-edge (meters 1.5) + ) ;; failed to figure out what this is: (defpartgroup group-beach-sandworm @@ -253,10 +251,10 @@ ;; definition for function lurkerworm-prebind-function ;; INFO: Return type mismatch int vs none. -(defbehavior lurkerworm-prebind-function lurkerworm ((arg0 process) (arg1 int) (arg2 lurkerworm)) +(defbehavior lurkerworm-prebind-function lurkerworm ((arg0 pointer) (arg1 int) (arg2 lurkerworm)) (let ((v1-0 arg2) (s5-0 (new 'stack-no-clear 'quaternion)) - (gp-0 (&-> arg0 stack 324)) + (gp-0 (&+ arg0 432)) ) (quaternion-axis-angle! s5-0 -1.0 0.0 0.0 (-> v1-0 head-tilt)) (quaternion*! (the-as quaternion gp-0) (the-as quaternion gp-0) s5-0) @@ -368,7 +366,7 @@ lurkerworm-default-post-behavior ) :code (behavior () - (while #t + (loop (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) *target* (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -396,7 +394,7 @@ lurkerworm-default-post-behavior :code (behavior () (set! (-> self part local-clock) 0) - (while #t + (loop (spawn (-> self part) (-> self root-override trans)) (particle-effect self) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) @@ -425,24 +423,12 @@ lurkerworm-default-post-behavior :code (behavior () (ja-channel-set! 1) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-rise-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part) (-> self root-override trans)) (particle-effect self) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self strike-count) 3) (go lurkerworm-rest) @@ -479,15 +465,7 @@ lurkerworm-default-post-behavior (if gp-1 (+! (-> self strike-count) -1) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (particle-effect self) @@ -519,11 +497,7 @@ lurkerworm-default-post-behavior ) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if gp-1 (go lurkerworm-strike) @@ -542,34 +516,17 @@ lurkerworm-default-post-behavior lurkerworm-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 40) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-0 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (particle-effect self) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 13.0 0))) ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 40) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.135)) (go lurkerworm-rest) (none) ) @@ -588,24 +545,12 @@ lurkerworm-default-post-behavior ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-sink-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part2) (-> self root-override trans)) (particle-effect self) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go lurkerworm-idle) (none) @@ -629,22 +574,10 @@ lurkerworm-default-post-behavior (set! (-> v1-3 prim-core collide-as) (collide-kind)) ) 0 - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! lurkerworm-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) @@ -739,9 +672,7 @@ lurkerworm-default-post-behavior (set! (-> obj twister) (new 'process 'twister 3 15 1092.2667 72.81778 0.25 0.001)) (TODO-RENAME-9 (-> obj twister) 3 9 910.2222) (set! (-> obj head-tilt) 0.0) - (set! (-> obj skel prebind-function) - (the-as (function pointer int process-drawable none) lurkerworm-prebind-function) - ) + (set! (-> obj skel prebind-function) lurkerworm-prebind-function) (set! (-> obj skel postbind-function) lurkerworm-joint-callback) (set! (-> obj root-override nav-radius) 12288.0) (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) diff --git a/test/decompiler/reference/levels/beach/mayor_REF.gc b/test/decompiler/reference/levels/beach/mayor_REF.gc index c7c00417db..320ff1f720 100644 --- a/test/decompiler/reference/levels/beach/mayor_REF.gc +++ b/test/decompiler/reference/levels/beach/mayor_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *mayor-sg* mayor - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *mayor-sg* mayor mayor-lod0-jg mayor-idle-ja + ((mayor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow mayor-shadow-mg + ) ;; definition for method 52 of type mayor ;; INFO: Return type mismatch int vs none. diff --git a/test/decompiler/reference/levels/beach/pelican_REF.gc b/test/decompiler/reference/levels/beach/pelican_REF.gc index 7767de05ff..2a91eb162f 100644 --- a/test/decompiler/reference/levels/beach/pelican_REF.gc +++ b/test/decompiler/reference/levels/beach/pelican_REF.gc @@ -146,14 +146,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *pelican-sg* pelican - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3 0 5) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *pelican-sg* pelican pelican-lod0-jg pelican-fly-ja + ((pelican-lod0-mg (meters 20)) (pelican-lod1-mg (meters 40)) (pelican-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3 0 5) + :shadow pelican-shadow-mg + ) ;; definition for function pelican-path-update (defbehavior pelican-path-update pelican ((arg0 float) (arg1 int) (arg2 float) (arg3 float) (arg4 symbol)) @@ -177,95 +174,47 @@ ;; definition for function pelican-fly (defbehavior pelican-fly pelican ((arg0 (function pelican int)) (arg1 (function pelican int))) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? pelican-fly-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) (let ((s4-0 (arg0 self))) (dotimes (s3-0 s4-0) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! pelican-fly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (let ((s4-1 (arg1 self))) (when (> s4-1 0) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> s3-1 param 0) (ja-aframe 12.0 0)) - (set! (-> s3-1 param 1) 1.0) - (set! (-> s3-1 frame-num) 0.0) - (joint-control-channel-group! s3-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! pelican-fly-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s3-2 (-> self skel root-channel 0))) - (set! (-> s3-2 param 0) (ja-aframe 12.0 0)) - (set! (-> s3-2 param 1) 1.0) - (joint-control-channel-group-eval! s3-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 12.0 0))) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 0.25) - (joint-control-channel-group! a0-18 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 300) + (ja-no-eval :num! (loop! 0.25)) + (ja-channel-push! 1 (seconds 1)) (dotimes (s3-3 s4-1) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! pelican-glide-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) 1.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja-no-eval :num! (loop!)) ) ) ) @@ -503,14 +452,8 @@ ) :code (behavior ((arg0 path-control) (arg1 curve-control) (arg2 time-frame)) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> gp-0 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (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)))) @@ -530,34 +473,14 @@ ) ) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-2 param 1) 0.5) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 60) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + (ja :num! (seek! (ja-aframe 48.0 0) 0.5)) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! pelican-fly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -716,81 +639,36 @@ (ja-channel-set! 1) ) (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.25) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 75) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :num! (loop! 0.25)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! pelican-fly-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (until (vector= (-> self root-override trans) (-> self state-vector)) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop!)) ) + (ja-no-eval :num! (loop!)) (set! (-> self state-float 0) (* 4.0 (-> self state-float 0))) - (ja-channel-push! 1 15) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! pelican-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 150) + (ja-channel-push! 1 (seconds 0.5)) ) ) (send-event (handle->process (-> self cam-tracker)) 'message 'release) - (while #t - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (loop + (ja-no-eval :group! pelican-sleep-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -866,7 +744,7 @@ :command-list '((10 send-event camera 'teleport-to-vector-start-string (static-vectorm -179 16 -421))) ) - (the-as art-joint-anim (-> self draw art-group data 10)) + (the-as art-joint-anim pelican-sleep-ja) (the-as art-joint-anim #f) (the-as (function process-drawable symbol) false-func) ) @@ -956,12 +834,7 @@ ) :post (behavior () - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - ) + (if (not (ja-group? pelican-sleep-ja)) (quaternion-identity! (-> self root-override quat)) ) (pelican-post) diff --git a/test/decompiler/reference/levels/beach/sculptor_REF.gc b/test/decompiler/reference/levels/beach/sculptor_REF.gc index 1e6d7d0219..95a031a5bb 100644 --- a/test/decompiler/reference/levels/beach/sculptor_REF.gc +++ b/test/decompiler/reference/levels/beach/sculptor_REF.gc @@ -21,23 +21,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *sculptor-muse-sg* sculptor-muse - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sculptor-muse-sg* sculptor-muse sculptor-muse-lod0-jg sculptor-muse-idle-ja + ((sculptor-muse-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + ) ;; failed to figure out what this is: -(defskelgroup *sculptor-sg* sculptor - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sculptor-sg* sculptor sculptor-lod0-jg sculptor-sigh-ja + ((sculptor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sculptor-shadow-mg + ) ;; definition for method 52 of type sculptor ;; INFO: Return type mismatch int vs none. @@ -253,89 +247,43 @@ :virtual #t :code (behavior () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim #f) num-func-seek!) + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (get-art-elem self)) ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) (case (current-status (-> self tasks)) (((task-status invalid) (task-status need-resolution)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-from-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (muse-to-idle (the-as muse self)) ) ) - (while #t + (loop (let ((v1-43 (current-status (-> self tasks)))) (cond ((or (= v1-43 (task-status invalid)) (= v1-43 (task-status need-resolution))) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-to-small-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((f30-0 4.0) (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-69 (the-as number (logior #x3f800000 v1-68))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-69)))) 4)) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-small-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -343,149 +291,53 @@ (v1-98 (the-as number (logior #x3f800000 v1-97))) (f30-1 (+ -1.0 (the-as float v1-98))) ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-small-to-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-34 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! a0-34 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-from-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) (the float (+ (-> a0-35 frame-group data 0 length) -1))) - (set! (-> a0-35 param 1) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (< f30-1 0.5) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-37 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-to-huge-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((f30-2 2.0) (v1-190 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-191 (the-as number (logior #x3f800000 v1-190))) ) (countdown (gp-2 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-191)))) 2)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-42 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-huge-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-45 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-huge-to-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-48 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-48 param 1) 1.0) - (set! (-> a0-48 frame-num) 0.0) - (joint-control-channel-group! a0-48 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-51 (-> self skel root-channel 0))) - (set! (-> a0-51 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-51 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-51 param 1) 1.0) - (set! (-> a0-51 frame-num) 0.0) - (joint-control-channel-group! a0-51 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-from-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-52 (-> self skel root-channel 0))) - (set! (-> a0-52 param 0) (the float (+ (-> a0-52 frame-group data 0 length) -1))) - (set! (-> a0-52 param 1) 1.0) - (joint-control-channel-group-eval! a0-52 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -497,22 +349,10 @@ (v1-288 (the-as number (logior #x3f800000 v1-287))) ) (countdown (gp-3 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-288)))) 4)) - (let ((a0-57 (-> self skel root-channel 0))) - (set! (-> a0-57 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-57 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-57 param 1) 1.0) - (set! (-> a0-57 frame-num) 0.0) - (joint-control-channel-group! a0-57 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-58 (-> self skel root-channel 0))) - (set! (-> a0-58 param 0) (the float (+ (-> a0-58 frame-group data 0 length) -1))) - (set! (-> a0-58 param 1) 1.0) - (joint-control-channel-group-eval! a0-58 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -522,75 +362,27 @@ (< (+ -1.0 (the-as float v1-317)) 0.5) ) ) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-62 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-62 param 1) 1.0) - (set! (-> a0-62 frame-num) 0.0) - (joint-control-channel-group! a0-62 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-sigh-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) (the float (+ (-> a0-63 frame-group data 0 length) -1))) - (set! (-> a0-63 param 1) 1.0) - (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-65 (-> self skel root-channel 0))) - (set! (-> a0-65 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-65 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-65 param 1) 1.0) - (set! (-> a0-65 frame-num) 0.0) - (joint-control-channel-group! a0-65 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! sculptor-strikestart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-66 (-> self skel root-channel 0))) - (set! (-> a0-66 param 0) (the float (+ (-> a0-66 frame-group data 0 length) -1))) - (set! (-> a0-66 param 1) 1.0) - (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-68 (-> self skel root-channel 0))) - (set! (-> a0-68 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-68 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-68 param 1) 1.0) - (set! (-> a0-68 frame-num) 0.0) - (joint-control-channel-group! a0-68 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-strikemiddle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-69 (-> self skel root-channel 0))) - (set! (-> a0-69 param 0) (the float (+ (-> a0-69 frame-group data 0 length) -1))) - (set! (-> a0-69 param 1) 1.0) - (joint-control-channel-group-eval! a0-69 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-71 (-> self skel root-channel 0))) - (set! (-> a0-71 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-71 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-71 param 1) 1.0) - (set! (-> a0-71 frame-num) 0.0) - (joint-control-channel-group! a0-71 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sculptor-strikeend-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-72 (-> self skel root-channel 0))) - (set! (-> a0-72 param 0) (the float (+ (-> a0-72 frame-group data 0 length) -1))) - (set! (-> a0-72 param 1) 1.0) - (joint-control-channel-group-eval! a0-72 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/beach/seagull_REF.gc b/test/decompiler/reference/levels/beach/seagull_REF.gc index 74ce4356f2..20411f90b2 100644 --- a/test/decompiler/reference/levels/beach/seagull_REF.gc +++ b/test/decompiler/reference/levels/beach/seagull_REF.gc @@ -228,13 +228,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *seagull-sg* seagull - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *seagull-sg* seagull seagull-lod0-jg seagull-idle-ja + ((seagull-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; definition for method 25 of type seagull ;; INFO: Return type mismatch int vs none. @@ -433,15 +430,8 @@ (move-to-ground (-> self root-override) 40960.0 40960.0 #t (collide-kind background)) (update-transforms! (-> self root-override)) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) - (while #t + (ja :group! seagull-idle-ja :num! (identity (ja-aframe 0.0 0))) + (loop (let* ((f30-0 4.0) (v1-14 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-15 (the-as number (logior #x3f800000 v1-14))) @@ -458,20 +448,10 @@ ) (cond ((zero? gp-1) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-2 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! seagull-idle-ja :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 4.0 0))) ) (let* ((f30-2 60.0) (v1-37 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -482,20 +462,10 @@ (suspend) ) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-5 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! seagull-idle-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 10.0 0))) ) (let* ((f30-3 60.0) (v1-55 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -506,71 +476,31 @@ (suspend) ) ) - (let ((gp-8 (-> self skel root-channel 0))) - (set! (-> gp-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-8 param 0) (ja-aframe 14.0 0)) - (set! (-> gp-8 param 1) 1.0) - (set! (-> gp-8 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! gp-8 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! seagull-idle-ja :num! (seek! (ja-aframe 14.0 0)) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-9 (-> self skel root-channel 0))) - (set! (-> gp-9 param 0) (ja-aframe 14.0 0)) - (set! (-> gp-9 param 1) 1.0) - (joint-control-channel-group-eval! gp-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 14.0 0))) ) ) ((= gp-1 2) - (let ((gp-10 (-> self skel root-channel 0))) - (set! (-> gp-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-10 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-10 param 1) 1.0) - (set! (-> gp-10 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! seagull-peck-ja :num! (seek! (ja-aframe 4.0 0)) :frame-num (ja-aframe 0.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-11 (-> self skel root-channel 0))) - (set! (-> gp-11 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-11 param 1) 1.0) - (joint-control-channel-group-eval! gp-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 4.0 0))) ) ) ((= gp-1 3) - (let ((gp-12 (-> self skel root-channel 0))) - (set! (-> gp-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-12 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-12 param 1) 1.0) - (set! (-> gp-12 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! gp-12 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! seagull-peck-ja :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 4.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-13 (-> self skel root-channel 0))) - (set! (-> gp-13 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-13 param 1) 1.0) - (joint-control-channel-group-eval! gp-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 8.0 0))) ) ) ((= gp-1 4) - (let ((gp-14 (-> self skel root-channel 0))) - (set! (-> gp-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-14 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-14 param 1) 1.0) - (set! (-> gp-14 frame-num) (ja-aframe 8.0 0)) - (joint-control-channel-group! gp-14 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! seagull-peck-ja :num! (seek! (ja-aframe 12.0 0)) :frame-num (ja-aframe 8.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-15 (-> self skel root-channel 0))) - (set! (-> gp-15 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-15 param 1) 1.0) - (joint-control-channel-group-eval! gp-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 12.0 0))) ) ) ) @@ -716,13 +646,7 @@ :code (behavior () (set! (-> self part-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> gp-0 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (when (and (>= (ja-frame-num 0) (ja-aframe 2.0 0)) (>= (ja-aframe 3.0 0) (ja-frame-num 0))) (let* ((v1-13 self) @@ -756,18 +680,10 @@ ) (dummy-27 self) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 4.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 4.0 0))) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 20) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.067)) (go seagull-flying) (none) ) @@ -789,16 +705,8 @@ (behavior () (set! (-> self max-tilt) 1820.4445) (let ((gp-0 0)) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! seagull-fly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (when (-> self teleport) @@ -951,11 +859,7 @@ 0 (dummy-27 self) (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (+! gp-0 1) (when (>= gp-0 0) @@ -997,16 +901,8 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self max-tilt) 4551.1113) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! seagull-slowfly-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (when (-> self teleport) @@ -1147,11 +1043,7 @@ ) ) (suspend) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) (the float (+ (-> a0-54 frame-group data 0 length) -1))) - (set! (-> a0-54 param 1) 1.0) - (joint-control-channel-group-eval! a0-54 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1227,27 +1119,12 @@ ) 0 ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 40) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 0.0 0)) - ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.135)) + (ja :group! seagull-land-ja :num! (identity (ja-aframe 0.0 0))) (while (< 0.0 f30-0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! f30-0 (- f30-0 (-> *display* seconds-per-frame))) (fill-cache-integrate-and-collide! (-> self root-override) @@ -1291,11 +1168,7 @@ ) (while (not (ja-done? 0)) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (let* ((v1-59 self) (f1-23 (the float (sar (shl (the int (- (-> self heading) (-> v1-59 heading))) 48) 48))) (f0-47 (- (-> v1-59 tilt))) @@ -1560,7 +1433,7 @@ (defstate seagullflock-idle (seagullflock) :code (behavior () - (while #t + (loop (if (> (-> self teleport-frames) 0) (go seagullflock-at-waterfall) ) diff --git a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc index 1829cecfe2..1d0fffd909 100644 --- a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc +++ b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *assistant-lavatube-end-sg* assistant-lavatube-end - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-lavatube-end-sg* assistant-lavatube-end assistant-lavatube-end-lod0-jg assistant-lavatube-end-idle-ja + ((assistant-lavatube-end-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-lavatube-end-shadow-mg + ) ;; definition for method 32 of type assistant-lavatube-end (defmethod play-anim! assistant-lavatube-end ((obj assistant-lavatube-end) (arg0 symbol)) @@ -108,50 +105,15 @@ ) :code (behavior () - (while #t - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 3)) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc index 640c801ed5..893c093576 100644 --- a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc @@ -34,58 +34,46 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-arm-a-sg* citb-arm - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 9) - ) +(defskelgroup *citb-arm-a-sg* citb-arm citb-arm-a-lod0-jg citb-arm-a-idle-ja + ((citb-arm-a-lod0-mg (meters 20)) (citb-arm-a-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + :longest-edge (meters 9) + ) ;; failed to figure out what this is: -(defskelgroup *citb-arm-b-sg* citb-arm - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 10) - ) +(defskelgroup *citb-arm-b-sg* citb-arm citb-arm-b-lod0-jg citb-arm-b-idle-ja + ((citb-arm-b-lod0-mg (meters 20)) (citb-arm-b-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + :longest-edge (meters 10) + ) ;; failed to figure out what this is: -(defskelgroup *citb-arm-c-sg* citb-arm - 8 - 11 - ((9 (meters 20)) (10 (meters 999999))) - :bounds (static-spherem 0 0 0 25) - :longest-edge (meters 11) - ) +(defskelgroup *citb-arm-c-sg* citb-arm citb-arm-c-lod0-jg citb-arm-c-idle-ja + ((citb-arm-c-lod0-mg (meters 20)) (citb-arm-c-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25) + :longest-edge (meters 11) + ) ;; failed to figure out what this is: -(defskelgroup *citb-arm-d-sg* citb-arm - 12 - 15 - ((13 (meters 20)) (14 (meters 999999))) - :bounds (static-spherem 0 0 0 29) - :longest-edge (meters 8) - ) +(defskelgroup *citb-arm-d-sg* citb-arm citb-arm-d-lod0-jg citb-arm-d-idle-ja + ((citb-arm-d-lod0-mg (meters 20)) (citb-arm-d-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 29) + :longest-edge (meters 8) + ) ;; failed to figure out what this is: -(defskelgroup *citb-arm-shoulder-a-sg* citb-arm-shoulder - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 10) - ) +(defskelgroup *citb-arm-shoulder-a-sg* citb-arm-shoulder citb-arm-shoulder-a-lod0-jg citb-arm-shoulder-a-idle-ja + ((citb-arm-shoulder-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + :longest-edge (meters 10) + ) ;; failed to figure out what this is: -(defskelgroup *citb-arm-shoulder-b-sg* citb-arm-shoulder - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 10) - ) +(defskelgroup *citb-arm-shoulder-b-sg* citb-arm-shoulder citb-arm-shoulder-b-lod0-jg citb-arm-shoulder-b-idle-ja + ((citb-arm-shoulder-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + :longest-edge (meters 10) + ) ;; failed to figure out what this is: (defstate idle (citb-arm-section) @@ -95,7 +83,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (while #t + (loop (cond ((< (- (-> (target-pos 0) y) (-> self root trans y)) -122880.0) (set! (-> self draw force-lod) 1) @@ -428,40 +416,32 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-disc-a-sg* citb-disc - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 7.5) - ) +(defskelgroup *citb-disc-a-sg* citb-disc citb-disc-a-lod0-jg citb-disc-a-idle-ja + ((citb-disc-a-lod0-mg (meters 20)) (citb-disc-a-lod1-mg (meters 40)) (citb-disc-a-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 7.5) + ) ;; failed to figure out what this is: -(defskelgroup *citb-disc-b-sg* citb-disc - 5 - 9 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 7.5) - ) +(defskelgroup *citb-disc-b-sg* citb-disc citb-disc-b-lod0-jg citb-disc-b-idle-ja + ((citb-disc-b-lod0-mg (meters 20)) (citb-disc-b-lod1-mg (meters 40)) (citb-disc-b-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 7.5) + ) ;; failed to figure out what this is: -(defskelgroup *citb-disc-c-sg* citb-disc - 10 - 14 - ((11 (meters 20)) (12 (meters 40)) (13 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 11) - ) +(defskelgroup *citb-disc-c-sg* citb-disc citb-disc-c-lod0-jg citb-disc-c-idle-ja + ((citb-disc-c-lod0-mg (meters 20)) (citb-disc-c-lod1-mg (meters 40)) (citb-disc-c-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 11) + ) ;; failed to figure out what this is: -(defskelgroup *citb-disc-d-sg* citb-disc - 15 - 19 - ((16 (meters 20)) (17 (meters 40)) (18 (meters 999999))) - :bounds (static-spherem 0 0 0 12) - :longest-edge (meters 8) - ) +(defskelgroup *citb-disc-d-sg* citb-disc citb-disc-d-lod0-jg citb-disc-d-idle-ja + ((citb-disc-d-lod0-mg (meters 20)) (citb-disc-d-lod1-mg (meters 40)) (citb-disc-d-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 12) + :longest-edge (meters 8) + ) ;; definition of type citb-disc (deftype citb-disc (process-drawable) @@ -508,7 +488,7 @@ (the-as (function none :behavior citb-disc) rider-trans) :code (behavior () - (while #t + (loop (update! (-> self sound)) (quaternion-axis-angle! (-> self root-override quat) @@ -704,13 +684,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-iris-door-sg* citb-iris-door - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *citb-iris-door-sg* citb-iris-door citb-iris-door-lod0-jg citb-iris-door-idle-ja + ((citb-iris-door-lod0-mg (meters 20)) (citb-iris-door-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for method 24 of type citb-iris-door ;; INFO: Return type mismatch int vs none. @@ -747,13 +724,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-button-sg* citb-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-button-sg* citb-button citb-button-lod0-jg citb-button-idle-ja + ((citb-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; definition of type citb-button (deftype citb-button (basebutton) @@ -868,13 +842,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-launcher-sg* citb-launcher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *citb-launcher-sg* citb-launcher citb-launcher-lod0-jg citb-launcher-idle-ja + ((citb-launcher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for method 23 of type citb-launcher (defmethod get-unlit-skel citb-launcher ((obj citb-launcher)) @@ -908,85 +879,66 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-sg* citb-robotboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 17 0 18) - :longest-edge (meters 6) - ) +(defskelgroup *citb-robotboss-sg* citb-robotboss citb-robotboss-lod0-jg citb-robotboss-idle-ja + ((citb-robotboss-lod0-mg (meters 999999))) + :bounds (static-spherem 0 17 0 18) + :longest-edge (meters 6) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-head-sg* citb-robotboss - 6 - 8 - ((7 (meters 999999))) - :bounds (static-spherem 0 30 10 12) - :longest-edge (meters 2) - ) +(defskelgroup *citb-robotboss-head-sg* citb-robotboss citb-robotboss-head-lod0-jg citb-robotboss-head-idle-ja + ((citb-robotboss-head-lod0-mg (meters 999999))) + :bounds (static-spherem 0 30 10 12) + :longest-edge (meters 2) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-nose-sg* citb-robotboss - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 10 20 15) - :longest-edge (meters 0) - ) +(defskelgroup *citb-robotboss-nose-sg* citb-robotboss citb-robotboss-nose-lod0-jg citb-robotboss-nose-idle-ja + ((citb-robotboss-nose-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 20 15) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-gun-sg* citb-robotboss - 9 - 11 - ((10 (meters 999999))) - :bounds (static-spherem 0 28 -10 14) - :longest-edge (meters 5) - ) +(defskelgroup *citb-robotboss-gun-sg* citb-robotboss citb-robotboss-gun-lod0-jg citb-robotboss-gun-idle-ja + ((citb-robotboss-gun-lod0-mg (meters 999999))) + :bounds (static-spherem 0 28 -10 14) + :longest-edge (meters 5) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-leftshoulder-sg* citb-robotboss - 12 - 14 - ((13 (meters 999999))) - :bounds (static-spherem 17 27 0 14) - :longest-edge (meters 6) - ) +(defskelgroup *citb-robotboss-leftshoulder-sg* citb-robotboss citb-robotboss-leftshoulder-lod0-jg citb-robotboss-leftshoulder-idle-ja + ((citb-robotboss-leftshoulder-lod0-mg (meters 999999))) + :bounds (static-spherem 17 27 0 14) + :longest-edge (meters 6) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-rightshoulder-sg* citb-robotboss - 15 - 17 - ((16 (meters 999999))) - :bounds (static-spherem -17 27 0 14) - :longest-edge (meters 6) - ) +(defskelgroup *citb-robotboss-rightshoulder-sg* citb-robotboss citb-robotboss-rightshoulder-lod0-jg citb-robotboss-rightshoulder-idle-ja + ((citb-robotboss-rightshoulder-lod0-mg (meters 999999))) + :bounds (static-spherem -17 27 0 14) + :longest-edge (meters 6) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-leftarm-sg* citb-robotboss - 18 - 20 - ((19 (meters 999999))) - :bounds (static-spherem 15 5 -10 20) - :longest-edge (meters 9) - ) +(defskelgroup *citb-robotboss-leftarm-sg* citb-robotboss citb-robotboss-leftarm-lod0-jg citb-robotboss-leftarm-idle-ja + ((citb-robotboss-leftarm-lod0-mg (meters 999999))) + :bounds (static-spherem 15 5 -10 20) + :longest-edge (meters 9) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-rightarm-sg* citb-robotboss - 21 - 23 - ((22 (meters 999999))) - :bounds (static-spherem -15 0 -8 16) - :longest-edge (meters 3) - ) +(defskelgroup *citb-robotboss-rightarm-sg* citb-robotboss citb-robotboss-rightarm-lod0-jg citb-robotboss-rightarm-idle-ja + ((citb-robotboss-rightarm-lod0-mg (meters 999999))) + :bounds (static-spherem -15 0 -8 16) + :longest-edge (meters 3) + ) ;; failed to figure out what this is: -(defskelgroup *citb-robotboss-belly-sg* citb-robotboss - 24 - 26 - ((25 (meters 999999))) - :bounds (static-spherem 0 -2 3 10) - :longest-edge (meters 3) - ) +(defskelgroup *citb-robotboss-belly-sg* citb-robotboss citb-robotboss-belly-lod0-jg citb-robotboss-belly-idle-ja + ((citb-robotboss-belly-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -2 3 10) + :longest-edge (meters 3) + ) ;; definition of type citb-robotboss (deftype citb-robotboss (process-drawable) @@ -1236,7 +1188,7 @@ (send-event (ppointer->process gp-7) 'draw #t) ) (update-transforms! (-> self root-override)) - (while #t + (loop (when (-> self shield-on) (update! (-> self sound)) (spawn (-> self part) (-> self root-override trans)) @@ -1293,13 +1245,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-coil-sg* citb-coil - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *citb-coil-sg* citb-coil citb-coil-lod0-jg citb-coil-idle-ja + ((citb-coil-lod0-mg (meters 20)) (citb-coil-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition of type citb-coil (deftype citb-coil (process-drawable) @@ -1355,40 +1304,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1406,23 +1326,11 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go citb-coil-broken) (none) @@ -1435,24 +1343,12 @@ (defstate citb-coil-broken (citb-coil) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (spawn (-> self part-off) (-> self root trans)) (suspend) ) @@ -1483,13 +1379,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-hose-sg* citb-hose - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *citb-hose-sg* citb-hose citb-hose-lod0-jg citb-hose-idle-ja + ((citb-hose-lod0-mg (meters 20)) (citb-hose-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition of type citb-hose (deftype citb-hose (process-drawable) @@ -1531,23 +1424,11 @@ citb-hose-event-handler :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1562,23 +1443,11 @@ citb-hose-event-handler :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go citb-hose-idle) (none) @@ -1594,23 +1463,11 @@ :code (behavior () (process-entity-status! self (entity-perm-status complete) #t) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -1678,22 +1535,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-generator-sg* citb-generator - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *citb-generator-sg* citb-generator citb-generator-lod0-jg citb-generator-idle-ja + ((citb-generator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; failed to figure out what this is: -(defskelgroup *citb-generator-broken-sg* citb-generator - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *citb-generator-broken-sg* citb-generator citb-generator-broken-lod0-jg citb-generator-idle-ja + ((citb-generator-broken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; definition of type citb-generator (deftype citb-generator (process-drawable) @@ -1865,7 +1716,7 @@ (behavior () (lods-assign! (-> self draw) (-> self normal-look)) (update-transforms! (-> self root-override)) - (while #t + (loop (spawn (-> self part) (-> self root-override trans)) (update! (-> self sound)) (if (-> self mushroom) @@ -2080,13 +1931,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citadelcam-sg* citadelcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *citadelcam-sg* citadelcam citadelcam-lod0-jg citadelcam-idle-ja + ((citadelcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) ;; definition of type citadelcam (deftype citadelcam (process-drawable) diff --git a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc index d9787b1d1f..ace9971d86 100644 --- a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc @@ -2,13 +2,10 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *citb-sagecage-sg* citb-sagecage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -6 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *citb-sagecage-sg* citb-sagecage citb-sagecage-lod0-jg citb-sagecage-redsage-idle-ja + ((citb-sagecage-lod0-mg (meters 20)) (citb-sagecage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 7) + ) ;; definition of type citb-sagecage (deftype citb-sagecage (process-drawable) @@ -136,7 +133,7 @@ (the-as (function none :behavior citb-sagecage) rider-trans) :code (behavior () - (while #t + (loop (cond ((-> self cloning) (let ((gp-0 (ppointer->process (-> self parent-override)))) @@ -154,10 +151,7 @@ ) ) (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (suspend) @@ -252,64 +246,46 @@ ) ;; failed to figure out what this is: -(defskelgroup *redsage-sg* redsage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *redsage-sg* redsage redsage-lod0-jg redsage-redsage-idle-ja + ((redsage-lod0-mg (meters 20)) (redsage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :shadow redsage-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *bluesage-sg* bluesage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *bluesage-sg* bluesage bluesage-lod0-jg bluesage-bluesage-idle-ja + ((bluesage-lod0-mg (meters 20)) (bluesage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow bluesage-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *yellowsage-sg* yellowsage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *yellowsage-sg* yellowsage yellowsage-lod0-jg yellowsage-yellowsage-idle-ja + ((yellowsage-lod0-mg (meters 20)) (yellowsage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :shadow yellowsage-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *green-sagecage-sg* green-sagecage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *green-sagecage-sg* green-sagecage green-sagecage-lod0-jg green-sagecage-green-sagecage-idle-ja + ((green-sagecage-lod0-mg (meters 20)) (green-sagecage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow green-sagecage-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *evilbro-citadel-sg* evilbro-citadel - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilbro-citadel-sg* evilbro-citadel evilbro-citadel-lod0-jg evilbro-citadel-idle-ja + ((evilbro-citadel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :shadow evilbro-citadel-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *evilsis-citadel-sg* evilsis-citadel - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilsis-citadel-sg* evilsis-citadel evilsis-citadel-lod0-jg evilsis-citadel-idle-ja + ((evilsis-citadel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + :shadow evilsis-citadel-shadow-mg + ) ;; definition of type citb-sage (deftype citb-sage (process-taskable) diff --git a/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc b/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc index 09384fe92e..d0db474014 100644 --- a/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc @@ -22,13 +22,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-bunny-sg* citb-bunny - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0.25 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *citb-bunny-sg* citb-bunny citb-bunny-lod0-jg citb-bunny-idle-ja + ((citb-bunny-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0.25 0 2) + ) ;; definition for symbol *citb-bunny-nav-enemy-info*, type nav-enemy-info (define *citb-bunny-nav-enemy-info* (new 'static 'nav-enemy-info 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 3fa37cd5a6..4208d69cf5 100644 --- a/test/decompiler/reference/levels/citadel/citb-drop-plat_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-drop-plat_REF.gc @@ -2,49 +2,34 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *citb-drop-plat-sg* citb-drop-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-sg* citb-drop-plat citb-drop-plat-lod0-jg citb-drop-plat-idle-ja + ((citb-drop-plat-lod0-mg (meters 20)) (citb-drop-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *citb-drop-plat-red-sg* citb-drop-plat - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-red-sg* citb-drop-plat citb-drop-plat-red-lod0-jg citb-drop-plat-red-idle-ja + ((citb-drop-plat-red-lod0-mg (meters 20)) (citb-drop-plat-red-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *citb-drop-plat-green-sg* citb-drop-plat - 8 - 11 - ((9 (meters 20)) (10 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-green-sg* citb-drop-plat citb-drop-plat-green-lod0-jg citb-drop-plat-green-idle-ja + ((citb-drop-plat-green-lod0-mg (meters 20)) (citb-drop-plat-green-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *citb-drop-plat-blue-sg* citb-drop-plat - 12 - 15 - ((13 (meters 20)) (14 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-blue-sg* citb-drop-plat citb-drop-plat-blue-lod0-jg citb-drop-plat-blue-idle-ja + ((citb-drop-plat-blue-lod0-mg (meters 20)) (citb-drop-plat-blue-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *citb-drop-plat-yellow-sg* citb-drop-plat - 16 - 19 - ((17 (meters 20)) (18 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *citb-drop-plat-yellow-sg* citb-drop-plat citb-drop-plat-yellow-lod0-jg citb-drop-plat-yellow-idle-ja + ((citb-drop-plat-yellow-lod0-mg (meters 20)) (citb-drop-plat-yellow-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; definition of type drop-plat (deftype drop-plat (process-drawable) @@ -111,7 +96,7 @@ (update-transforms! (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self mask) (process-mask actor-pause)) - (while #t + (loop (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self duration)) (go drop-plat-drop) ) @@ -158,7 +143,7 @@ (logior! (-> self draw status) (draw-status hidden)) (ja-post) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self delay)) (let ((v1-14 (logclear (-> self draw status) (draw-status hidden))) (a0-5 (-> self draw)) @@ -196,7 +181,7 @@ ) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> gp-0 y) (-> (the-as process-drawable (-> self parent 0)) root trans y)) - (while #t + (loop (let ((f0-6 (fmax 0.0 (- 1.0 (* 0.0033333334 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) @@ -248,7 +233,7 @@ ) ) ) - (while #t + (loop (vector-v++! (-> self root-override transv) (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 0.0) @@ -562,7 +547,7 @@ :code (behavior () (citb-drop-plat-drop-all-children) - (while #t + (loop (suspend) ) (none) @@ -592,7 +577,7 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (citb-drop-plat-spawn-children) - (while #t + (loop (if (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (+ (-> self duration) (seconds 2))) (or (not *target*) (< (-> self idle-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) diff --git a/test/decompiler/reference/levels/citadel/citb-plat_REF.gc b/test/decompiler/reference/levels/citadel/citb-plat_REF.gc index cb6b0b193d..ae6998c0fe 100644 --- a/test/decompiler/reference/levels/citadel/citb-plat_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-plat_REF.gc @@ -2,40 +2,34 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *plat-citb-sg* plat-citb - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(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))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *plat-eco-citb-unlit-sg* plat-eco-citb - 0 - 8 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-citb-unlit-sg* plat-eco-citb plat-eco-citb-lod0-jg plat-eco-citb-idle-ja + ((plat-eco-citb-lod0-mg (meters 20)) + (plat-eco-citb-lod1-mg (meters 40)) + (plat-eco-citb-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *plat-eco-citb-lit-sg* plat-eco-citb - 4 - 8 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-citb-lit-sg* plat-eco-citb plat-eco-citb-lit-lod0-jg plat-eco-citb-idle-ja + ((plat-eco-citb-lit-lod0-mg (meters 20)) + (plat-eco-citb-lit-lod1-mg (meters 40)) + (plat-eco-citb-lit-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *citb-chain-plat-sg* citb-chain-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *citb-chain-plat-sg* citb-chain-plat citb-chain-plat-lod0-jg citb-chain-plat-idle-ja + ((citb-chain-plat-lod0-mg (meters 20)) (citb-chain-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; definition of type citb-base-plat (deftype citb-base-plat (process-drawable) @@ -384,7 +378,7 @@ (suspend) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (let ((f30-0 (- 1.0 (* 0.0011111111 (the float (- (-> *display* base-frame-counter) (-> self state-time))))))) (when (< f30-0 0.0) (set! (-> self root-override trans y) (-> self rise-height)) @@ -737,13 +731,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-rotatebox-sg* citb-rotatebox - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -5 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *citb-rotatebox-sg* citb-rotatebox citb-rotatebox-lod0-jg citb-rotatebox-idle-ja + ((citb-rotatebox-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -5 0 10) + ) ;; definition of type citb-rotatebox (deftype citb-rotatebox (citb-base-plat) @@ -769,40 +760,11 @@ (the-as (function none :behavior citb-rotatebox) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (or (not *target*) (< (+ 8192.0 (-> self idle-distance)) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) @@ -851,13 +813,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-donut-sg* citb-donut - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *citb-donut-sg* citb-donut citb-donut-lod0-jg citb-donut-idle-ja + ((citb-donut-lod0-mg (meters 20)) (citb-donut-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition of type citb-donut (deftype citb-donut (citb-base-plat) @@ -937,13 +896,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-stopbox-sg* citb-stopbox - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -2 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *citb-stopbox-sg* citb-stopbox citb-stopbox-lod0-jg citb-stopbox-idle-ja + ((citb-stopbox-lod0-mg (meters 20)) (citb-stopbox-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -2 0 5.5) + ) ;; definition of type citb-stopbox (deftype citb-stopbox (plat) @@ -1058,13 +1014,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-firehose-sg* citb-firehose - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *citb-firehose-sg* citb-firehose citb-firehose-lod0-jg citb-firehose-idle-ja + ((citb-firehose-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 15) + ) ;; failed to figure out what this is: (defstate citb-firehose-idle (citb-firehose) @@ -1080,7 +1033,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1111,7 +1064,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1165,24 +1118,12 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (restore-collide-with-as (-> self root-override)) (sound-play-by-name (static-sound-name "eco-torch") @@ -1194,44 +1135,20 @@ (the-as symbol (-> self blast-pos)) ) (dotimes (gp-1 2) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self blast-pos quad) (-> self node-list data 5 bone transform vector 3 quad)) (citb-firehose-blast-particles) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 30) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go citb-firehose-active) (none) @@ -1287,13 +1204,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *citb-exit-plat-sg* citb-exit-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *citb-exit-plat-sg* citb-exit-plat citb-exit-plat-lod0-jg citb-exit-plat-idle-ja + ((citb-exit-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; definition of type citb-exit-plat (deftype citb-exit-plat (plat-button) @@ -1340,7 +1254,7 @@ (behavior () (logior! (-> self draw status) (draw-status hidden)) (clear-collide-with-as (-> self root-override)) - (while #t + (loop (suspend) ) (none) @@ -1356,7 +1270,7 @@ (logclear! (-> self draw status) (draw-status hidden)) (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (let ((f30-0 (- 1.0 (* 0.0016666667 (the float (- (-> *display* base-frame-counter) (-> self state-time))))))) (when (< f30-0 0.0) (set! (-> self root-override trans y) (-> self rise-height)) diff --git a/test/decompiler/reference/levels/common/babak_REF.gc b/test/decompiler/reference/levels/common/babak_REF.gc index 36d566adeb..c4c2dc8c44 100644 --- a/test/decompiler/reference/levels/common/babak_REF.gc +++ b/test/decompiler/reference/levels/common/babak_REF.gc @@ -22,14 +22,12 @@ ) ;; failed to figure out what this is: -(defskelgroup *babak-sg* babak - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2 0 3) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *babak-sg* babak babak-lod0-jg -1 + ((babak-lod0-mg (meters 20)) (babak-lod1-mg (meters 40)) (babak-lod2-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3) + :longest-edge (meters 1) + :shadow babak-shadow-mg + ) ;; failed to figure out what this is: (defstate nav-enemy-patrol (babak) @@ -37,32 +35,16 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + ((ja-group? babak-give-up-hop-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! babak-walk-ja :num! (seek!) :frame-num (ja-aframe 12.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) ((the-as (function none) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) @@ -77,61 +59,29 @@ (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 14) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 51) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-7 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + ((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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) + (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) ) ) - (while #t + (loop (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -148,89 +98,41 @@ (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! babak-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! babak-turn-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 0.75) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? babak-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! babak-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-percent? 0.3) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! babak-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) ) @@ -246,7 +148,7 @@ (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -255,36 +157,16 @@ ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! babak-give-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! babak-give-up-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -293,11 +175,7 @@ (-> self turn-time) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -309,33 +187,17 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! (ja-aframe 32.0 0) 0.5) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.5)) ) (go-virtual nav-enemy-chase) (none) diff --git a/test/decompiler/reference/levels/common/basebutton_REF.gc b/test/decompiler/reference/levels/common/basebutton_REF.gc index 5b8b735ac3..171dc548f3 100644 --- a/test/decompiler/reference/levels/common/basebutton_REF.gc +++ b/test/decompiler/reference/levels/common/basebutton_REF.gc @@ -60,13 +60,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *generic-button-sg* generic-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *generic-button-sg* generic-button generic-button-lod0-jg generic-button-idle-ja + ((generic-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; definition for method 30 of type basebutton ;; Used lq/sq @@ -169,18 +166,10 @@ (the-as (function none :behavior basebutton) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! max (-> self anim-speed))) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) (TODO-RENAME-29 self (-> self event-down) (-> self notify-actor)) (go-virtual basebutton-down-idle) @@ -279,18 +268,10 @@ (the-as (function none :behavior basebutton) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0 (-> self anim-speed))) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self anim-speed))) ) (TODO-RENAME-29 self (-> self event-up) (-> self notify-actor)) (go-virtual basebutton-up-idle) @@ -675,21 +656,11 @@ :code (behavior ((arg0 vector) (arg1 vector)) (send-event *camera* 'change-state cam-fixed 0) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-0 param 0) (ja-aframe 16.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (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) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 16.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 16.0 0))) ) (vector-! (-> self control transv) (-> self control unknown-vector102) (-> self control trans)) (vector-xz-normalize! (-> self control transv) 32768.0) @@ -764,20 +735,10 @@ ) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-3 param 0) (ja-aframe 40.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! eichar-duck-high-jump-ja :num! (seek! (ja-aframe 40.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 40.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 40.0 0))) ) (anim-loop) (none) diff --git a/test/decompiler/reference/levels/common/baseplat_REF.gc b/test/decompiler/reference/levels/common/baseplat_REF.gc index da1414128f..29968f2d66 100644 --- a/test/decompiler/reference/levels/common/baseplat_REF.gc +++ b/test/decompiler/reference/levels/common/baseplat_REF.gc @@ -62,7 +62,7 @@ (suspend) (transform-post) (suspend) - (while #t + (loop (when (not (-> self bouncing)) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -213,14 +213,11 @@ eco-door-event-handler eco-door-event-handler :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) (update-transforms! (-> self root-override)) (ja-post) - (while #t + (loop (when (and *target* (>= (-> self open-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -276,11 +273,7 @@ eco-door-event-handler (sound-play-by-name (-> self open-sound) (new-sound-id) 1024 0 0 1 #t) (clear-collide-with-as (-> self root-override)) (until (ja-done? 0) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self speed))) (if (and gp-0 (rand-vu-percent? 0.5)) (spawn-projectile-blue *target*) ) @@ -304,15 +297,12 @@ eco-door-event-handler (set! (-> self state-time) (-> *display* base-frame-counter)) (process-entity-status! self (entity-perm-status complete) #t) (clear-collide-with-as (-> self root-override)) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) (the float (+ (-> v1-6 frame-group data 0 length) -1))) - ) + (ja :num-func num-func-identity :frame-num max) (logior! (-> self draw status) (draw-status hidden)) (suspend) (update-transforms! (-> self root-override)) (ja-post) - (while #t + (loop (let ((f30-0 (vector4-dot (-> self out-dir) (target-pos 0))) (f28-0 (vector4-dot (-> self out-dir) (camera-pos))) ) @@ -351,11 +341,7 @@ eco-door-event-handler ) (sound-play-by-name (-> self close-sound) (new-sound-id) 1024 0 0 1 #t) (until (ja-done? 0) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self speed))) (suspend) ) (if (-> self locked) diff --git a/test/decompiler/reference/levels/common/battlecontroller_REF.gc b/test/decompiler/reference/levels/common/battlecontroller_REF.gc index 460842be66..f3fd82050c 100644 --- a/test/decompiler/reference/levels/common/battlecontroller_REF.gc +++ b/test/decompiler/reference/levels/common/battlecontroller_REF.gc @@ -475,7 +475,7 @@ battlecontroller-default-event-handler (if (-> self prespawn) (battlecontroller-fill-all-spawners) ) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> self state-time) (-> *display* base-frame-counter)) (when (and *target* @@ -551,7 +551,7 @@ battlecontroller-default-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (battlecontroller-camera-on) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 0)) diff --git a/test/decompiler/reference/levels/common/blocking-plane_REF.gc b/test/decompiler/reference/levels/common/blocking-plane_REF.gc index 7b4e75a6fe..668fc4c297 100644 --- a/test/decompiler/reference/levels/common/blocking-plane_REF.gc +++ b/test/decompiler/reference/levels/common/blocking-plane_REF.gc @@ -22,20 +22,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *ef-plane-sg* ef-plane - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *ef-plane-sg* ef-plane ef-plane-lod0-jg ef-plane-idle-ja + ((ef-plane-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; failed to figure out what this is: (defstate blocking-plane-idle (blocking-plane) :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) diff --git a/test/decompiler/reference/levels/common/joint-exploder_REF.gc b/test/decompiler/reference/levels/common/joint-exploder_REF.gc index a07684e18d..3d9201d737 100644 --- a/test/decompiler/reference/levels/common/joint-exploder_REF.gc +++ b/test/decompiler/reference/levels/common/joint-exploder_REF.gc @@ -611,10 +611,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self tuning duration)) (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -753,10 +750,7 @@ (logior! (-> self skel status) (janim-status inited)) (set! (-> self anim) (the-as art-joint-anim (-> self draw art-group data arg1))) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! gp-1 (-> self anim) num-func-identity) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self anim) :num! min) (ja-post) (TODO-RENAME-23 self) (set! (-> self die-if-below-y) (+ -102400.0 (-> self root trans y))) diff --git a/test/decompiler/reference/levels/common/launcherdoor_REF.gc b/test/decompiler/reference/levels/common/launcherdoor_REF.gc index 6d0a345c4e..60e216fb5e 100644 --- a/test/decompiler/reference/levels/common/launcherdoor_REF.gc +++ b/test/decompiler/reference/levels/common/launcherdoor_REF.gc @@ -34,22 +34,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *launcherdoor-sg* launcherdoor - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *launcherdoor-sg* launcherdoor launcherdoor-geo-jg -1 + ((launcherdoor-geo-mg (meters 20)) (launcherdoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *launcherdoor-maincave-sg* launcherdoor-maincave - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *launcherdoor-maincave-sg* launcherdoor-maincave launcherdoor-maincave-geo-jg -1 + ((launcherdoor-maincave-geo-mg (meters 20)) (launcherdoor-maincave-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: (defstate launcherdoor-closed (launcherdoor) @@ -66,31 +60,20 @@ ) ) (restore-collide-with-as (-> self root-override)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (when arg0 - (let ((v1-22 (-> self skel root-channel 0))) - (set! (-> v1-22 num-func) num-func-identity) - (set! (-> v1-22 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self draw force-lod) 1) ) (suspend) - (while #t + (loop (if (and *target* (= (-> *target* control unknown-surface00 name) 'launch-jump) (< (-> *target* control trans y) (-> self thresh-y)) ) (go launcherdoor-open #f) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 0.0) - (set! (-> a0-13 param 1) (-> self close-speed)) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 (-> self close-speed))) (suspend) (when (ja-done? 0) (set! (-> self draw force-lod) 1) @@ -136,18 +119,11 @@ ) (set! (-> self draw force-lod) 0) (clear-collide-with-as (-> self root-override)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - (when arg0 - (let ((v1-16 (-> self skel root-channel 0))) - (set! (-> v1-16 num-func) num-func-identity) - (set! (-> v1-16 frame-num) (the float (+ (-> v1-16 frame-group data 0 length) -1))) + (ja-no-eval :num! (seek!)) + (if arg0 + (ja :num-func num-func-identity :frame-num max) ) - ) - (while #t + (loop (when (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump) (< (+ 4096.0 (-> self root-override trans y)) (-> *target* control trans y)) @@ -164,11 +140,7 @@ ) (go launcherdoor-closed #f) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) (-> self open-speed)) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self open-speed))) (suspend) ) (none) diff --git a/test/decompiler/reference/levels/common/nav-enemy_REF.gc b/test/decompiler/reference/levels/common/nav-enemy_REF.gc index 96ef13b010..124c0b1ac3 100644 --- a/test/decompiler/reference/levels/common/nav-enemy_REF.gc +++ b/test/decompiler/reference/levels/common/nav-enemy_REF.gc @@ -724,10 +724,7 @@ nav-enemy-default-event-handler (vector-xz-normalize! (-> self hit-from-dir) 1.0) ) (set! (-> self collide-info transv y) 65502.96) - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 num-func) num-func-identity) - (set! (-> v1-14 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self state-time) (-> *display* base-frame-counter)) (logclear! (-> self collide-info status) (cshape-moving-flags onsurf onground tsurf)) (until (ja-done? 0) @@ -752,11 +749,7 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) arg2) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg2)) ) ) ) @@ -769,22 +762,12 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-turn-to-face-dir nav-enemy ((arg0 vector) (arg1 float)) (local-vars (v1-16 symbol)) (let ((s4-0 (-> *display* base-frame-counter))) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info turn-anim))) - ) - ) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data (-> self nav-info turn-anim))) + (ja :num-func num-func-identity :frame-num 0.0) (until v1-16 (seek-toward-heading-vec! (-> self collide-info) arg0 (-> self rotate-speed) (-> self turn-time)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.75) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) (set! v1-16 (or (>= (- (-> *display* base-frame-counter) s4-0) (seconds 10)) (nav-enemy-facing-direction? arg0 arg1)) ) @@ -860,23 +843,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -956,123 +929,53 @@ nav-enemy-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-8 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-8 param 1) f30-0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-11 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 1.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-17 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-17 param 1) f30-0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) f30-0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -1111,25 +1014,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info notice-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (seek-toward-heading-vec! (-> self collide-info) @@ -1138,11 +1029,7 @@ nav-enemy-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -1154,11 +1041,7 @@ nav-enemy-default-event-handler ;; definition for function ja-group-index? (defbehavior ja-group-index? nav-enemy ((arg0 int)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data arg0) - ) + (ja-group? (-> self draw art-group data arg0)) ) ;; failed to figure out what this is: @@ -1199,58 +1082,26 @@ nav-enemy-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info notice-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-6 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -1349,21 +1200,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -1420,23 +1263,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -1592,34 +1425,16 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-stare) @@ -1644,7 +1459,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) @@ -1788,27 +1603,14 @@ nav-enemy-default-event-handler ;; Used lq/sq (defbehavior nav-enemy-execute-custom-jump nav-enemy ((arg0 int) (arg1 float) (arg2 float)) (when (logtest? (-> self nav-enemy-flags) (nav-enemy-flags standing-jump)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data arg0))) - (set! (-> s3-0 param 0) (ja-aframe arg1 0)) - (set! (-> s3-0 param 1) arg2) - (set! (-> s3-0 frame-num) 0.0) - (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data arg0)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data arg0) :num! (seek! (ja-aframe arg1 0) arg2) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe arg1 0)) - (set! (-> s3-1 param 1) arg2) - (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe arg1 0) arg2)) ) ) (logclear! (-> self collide-info status) (cshape-moving-flags onsurf onground tsurf)) @@ -1817,52 +1619,26 @@ nav-enemy-default-event-handler (cond ((logtest? (-> self nav-enemy-flags) (nav-enemy-flags drop-jump)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data (-> self nav-info run-anim)) - ) + ((ja-group? (-> self draw art-group data (-> self nav-info run-anim))) ) (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 1.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) - (let ((v1-39 (-> self skel root-channel 0))) - (set! (-> v1-39 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 num-func) num-func-identity) - (set! (-> v1-42 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data (-> self nav-info run-anim))) + (ja :num-func num-func-identity :frame-num 0.0) ) ) ) (else - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 1.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) - (let ((v1-49 (-> self skel root-channel 0))) - (set! (-> v1-49 frame-group) (the-as art-joint-anim (-> self draw art-group data arg0))) - ) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 num-func) num-func-identity) - (set! (-> s5-1 frame-num) (ja-aframe arg1 0)) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data arg0)) + (ja :num-func num-func-identity :frame-num (ja-aframe arg1 0)) ) ) (while (< (the float (- (-> *display* base-frame-counter) (-> self jump-time))) (-> self jump-trajectory time)) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (ja-blend-eval) ) (set! (-> self collide-info trans quad) (-> self jump-dest quad)) @@ -1887,39 +1663,17 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-jump-land-anim ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-jump-land-anim nav-enemy () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek!) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) 0 (none) @@ -2076,41 +1830,18 @@ nav-enemy-default-event-handler ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-identity + (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)))) ) - (set! (-> gp-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -2131,34 +1862,21 @@ nav-enemy-default-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf11)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 num-func) num-func-identity) - (set! (-> v1-9 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data (-> self nav-info idle-anim))) + (ja :num-func num-func-identity :frame-num 0.0) (while (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf11)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (nav-enemy-turn-to-face-point (-> self event-param-point) 910.2222) (let ((gp-0 (nav-enemy-rnd-int-range 0 150)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) (suspend) ) ) @@ -2193,7 +1911,7 @@ nav-enemy-default-event-handler (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) diff --git a/test/decompiler/reference/levels/common/orb-cache_REF.gc b/test/decompiler/reference/levels/common/orb-cache_REF.gc index 8860366996..b5eede9290 100644 --- a/test/decompiler/reference/levels/common/orb-cache_REF.gc +++ b/test/decompiler/reference/levels/common/orb-cache_REF.gc @@ -46,13 +46,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *orb-cache-top-sg* orb-cache-top - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *orb-cache-top-sg* orb-cache-top orb-cache-top-lod0-jg orb-cache-top-idle-ja + ((orb-cache-top-lod0-mg (meters 20)) (orb-cache-top-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: (defstate orb-cache-top-idle (orb-cache-top) @@ -107,14 +104,7 @@ ) ) (process-entity-status! self (entity-perm-status complete) #f) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-2 frame-num) (ja-aframe 0.0 0)) - ) + (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) (transform-post) (anim-loop) (none) @@ -269,7 +259,7 @@ ) ) ) - (while #t + (loop (calculate-pos self #t) (while (not (or (not *target*) (< (-> self inactive-distance) (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans)) @@ -332,14 +322,7 @@ (if (not arg0) (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 0.0 0)) - ) + (ja :group! (-> self draw art-group data 3) :num! (identity (ja-aframe 0.0 0))) (new 'stack-no-clear 'vector) (set! (-> self basetrans y) (+ 2048.0 (-> self root-pos))) (anim-loop) diff --git a/test/decompiler/reference/levels/common/plat-button_REF.gc b/test/decompiler/reference/levels/common/plat-button_REF.gc index d7c3b9f123..aecae5e9da 100644 --- a/test/decompiler/reference/levels/common/plat-button_REF.gc +++ b/test/decompiler/reference/levels/common/plat-button_REF.gc @@ -53,13 +53,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *plat-button-sg* plat-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -1 0 6.6) - :longest-edge (meters 0) - ) +(defskelgroup *plat-button-sg* plat-button plat-button-geo-jg plat-button-pressed-ja + ((plat-button-geo-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 6.6) + ) ;; definition for method 30 of type plat-button (defmethod should-teleport? plat-button ((obj plat-button)) @@ -99,64 +96,28 @@ :code (behavior () (let ((gp-0 (can-activate? self))) - (cond - (gp-0 - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (if gp-0 + (ja-no-eval :num! (seek! 0.0)) + (ja-no-eval :num! (seek!)) ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - ) - (while #t + (loop (if (should-teleport? self) (go-virtual plat-button-teleport-to-other-end) ) (let ((s5-0 (can-activate? self))) (when (!= s5-0 gp-0) (set! gp-0 s5-0) - (cond - (s5-0 - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (if s5-0 + (ja-no-eval :num! (seek! 0.0)) + (ja-no-eval :num! (seek!)) ) - (else - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - ) ) (when (not (ja-done? 0)) (rider-trans) - (cond - (s5-0 - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.0) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (if s5-0 + (ja :num! (seek! 0.0)) + (ja :num! (seek!)) ) - (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - ) (rider-post) ) ) @@ -196,18 +157,10 @@ (the-as (function none :behavior plat-button) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self go-back-if-lost-player?) #t) (process-entity-status! self (entity-perm-status complete) #t) @@ -413,7 +366,7 @@ ) (sound-stop (-> self sound-id)) (sound-play-by-name (static-sound-name "elev-land") (new-sound-id) 1024 0 0 1 #t) - (while #t + (loop (if (or (not *target*) (< 268435460.0 (vector-vector-xz-distance-squared (-> self root-override trans) (target-pos 0))) ) diff --git a/test/decompiler/reference/levels/common/plat-eco_REF.gc b/test/decompiler/reference/levels/common/plat-eco_REF.gc index 4e9fdf4736..fc8df86d5f 100644 --- a/test/decompiler/reference/levels/common/plat-eco_REF.gc +++ b/test/decompiler/reference/levels/common/plat-eco_REF.gc @@ -36,22 +36,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *plat-eco-unlit-sg* plat-eco - 0 - 8 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-unlit-sg* plat-eco plat-eco-lod0-jg plat-eco-idle-ja + ((plat-eco-lod0-mg (meters 20)) (plat-eco-lod1-mg (meters 40)) (plat-eco-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *plat-eco-lit-sg* plat-eco - 0 - 8 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-lit-sg* plat-eco plat-eco-lod0-jg plat-eco-idle-ja + ((plat-eco-lit-lod0-mg (meters 20)) (plat-eco-lit-lod1-mg (meters 40)) (plat-eco-lit-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: (defstate plat-idle (plat-eco) @@ -172,7 +166,7 @@ :code (behavior ((arg0 handle)) (set! (-> self target) arg0) - (while #t + (loop (let* ((gp-0 (handle->process (-> self target))) (v1-4 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) gp-0 diff --git a/test/decompiler/reference/levels/common/plat_REF.gc b/test/decompiler/reference/levels/common/plat_REF.gc index 29265a1ce0..9a45fff55c 100644 --- a/test/decompiler/reference/levels/common/plat_REF.gc +++ b/test/decompiler/reference/levels/common/plat_REF.gc @@ -86,31 +86,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *plat-sg* plat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-sg* plat plat-lod0-jg plat-idle-ja + ((plat-lod0-mg (meters 20)) (plat-lod1-mg (meters 40)) (plat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *plat-jungleb-sg* plat-jungleb - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-jungleb-sg* plat-jungleb plat-jungleb-lod0-jg plat-jungleb-idle-ja + ((plat-jungleb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *plat-sunken-sg* plat-sunken - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 3.2) - :longest-edge (meters 0) - ) +(defskelgroup *plat-sunken-sg* plat-sunken plat-sunken-lod0-jg plat-sunken-idle-ja + ((plat-sunken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 3.2) + ) ;; definition for method 23 of type plat (defmethod get-unlit-skel plat ((obj plat)) @@ -238,7 +229,7 @@ (plat-trans) (rider-post) (suspend) - (while #t + (loop (when (not (-> self bouncing)) (plat-trans) (rider-post) diff --git a/test/decompiler/reference/levels/common/rigid-body_REF.gc b/test/decompiler/reference/levels/common/rigid-body_REF.gc index 5bdc34e25b..4f81e587f8 100644 --- a/test/decompiler/reference/levels/common/rigid-body_REF.gc +++ b/test/decompiler/reference/levels/common/rigid-body_REF.gc @@ -725,7 +725,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -751,7 +751,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/common/ropebridge_REF.gc b/test/decompiler/reference/levels/common/ropebridge_REF.gc index 3aa2df9b28..89a42a4f08 100644 --- a/test/decompiler/reference/levels/common/ropebridge_REF.gc +++ b/test/decompiler/reference/levels/common/ropebridge_REF.gc @@ -567,58 +567,46 @@ ) ;; failed to figure out what this is: -(defskelgroup *ropebridge-32-sg* ropebridge-32 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 4) - ) +(defskelgroup *ropebridge-32-sg* ropebridge-32 ropebridge-32-lod0-jg ropebridge-32-idle-ja + ((ropebridge-32-lod0-mg (meters 20)) (ropebridge-32-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 4) + ) ;; failed to figure out what this is: -(defskelgroup *snow-bridge-36-sg* snow-bridge-36 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.8) - ) +(defskelgroup *snow-bridge-36-sg* snow-bridge-36 snow-bridge-36-lod0-jg snow-bridge-36-idle-ja + ((snow-bridge-36-lod0-mg (meters 20)) (snow-bridge-36-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.8) + ) ;; failed to figure out what this is: -(defskelgroup *ropebridge-52-sg* ropebridge-52 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.6) - ) +(defskelgroup *ropebridge-52-sg* ropebridge-52 ropebridge-52-lod0-jg ropebridge-52-idle-ja + ((ropebridge-52-lod0-mg (meters 20)) (ropebridge-52-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.6) + ) ;; failed to figure out what this is: -(defskelgroup *ropebridge-70-sg* ropebridge-70 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.6) - ) +(defskelgroup *ropebridge-70-sg* ropebridge-70 ropebridge-70-lod0-jg ropebridge-70-idle-ja + ((ropebridge-70-lod0-mg (meters 20)) (ropebridge-70-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.6) + ) ;; failed to figure out what this is: -(defskelgroup *ropebridge-36-sg* ropebridge-36 - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 4) - ) +(defskelgroup *ropebridge-36-sg* ropebridge-36 ropebridge-36-lod0-jg ropebridge-36-idle-ja + ((ropebridge-36-lod0-mg (meters 20)) (ropebridge-36-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 4) + ) ;; failed to figure out what this is: -(defskelgroup *vil3-bridge-36-sg* vil3-bridge-36 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 3.6) - ) +(defskelgroup *vil3-bridge-36-sg* vil3-bridge-36 vil3-bridge-36-lod0-jg vil3-bridge-36-idle-ja + ((vil3-bridge-36-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 3.6) + ) ;; failed to figure out what this is: (defstate ropebridge-idle (ropebridge) @@ -676,7 +664,7 @@ ) :code (behavior () - (while #t + (loop (suspend) (detect-riders! (-> self root-override)) (when (-> self do-physics?) @@ -706,7 +694,7 @@ ;; INFO: Return type mismatch symbol vs none. ;; WARN: Expression building failed: Function (method 20 ropebridge) has a return type of none, but the expression builder found a return statement. (defmethod set-vel-from-impact ropebridge ((obj ropebridge) (arg0 uint) (arg1 vector) (arg2 int) (arg3 float)) - (while #t + (loop (let ((f0-2 (fabs (- (-> arg1 z) (-> obj spring-point (the-as int arg0) local-pos z))))) (if (< (-> obj tuning max-bonk-influence-dist) f0-2) (return #f) @@ -780,7 +768,7 @@ ;; INFO: Return type mismatch symbol vs none. ;; WARN: Expression building failed: Function (method 22 ropebridge) has a return type of none, but the expression builder found a return statement. (defmethod set-vel-from-rider ropebridge ((obj ropebridge) (arg0 uint) (arg1 vector) (arg2 int)) - (while #t + (loop (let ((f0-0 (vector-vector-distance arg1 (the-as vector (-> obj spring-point (the-as int arg0)))))) (if (< (-> obj tuning max-influence-dist) f0-0) (return #f) diff --git a/test/decompiler/reference/levels/common/sharkey_REF.gc b/test/decompiler/reference/levels/common/sharkey_REF.gc index 8bb0041a8c..fb98fbb7f3 100644 --- a/test/decompiler/reference/levels/common/sharkey_REF.gc +++ b/test/decompiler/reference/levels/common/sharkey_REF.gc @@ -76,13 +76,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *sharkey-sg* sharkey - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *sharkey-sg* sharkey sharkey-lod0-jg sharkey-idle-ja + ((sharkey-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) ;; definition for method 44 of type sharkey ;; INFO: Return type mismatch symbol vs object. @@ -321,21 +318,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (until (= (-> self collide-info trans y) (-> self y-min)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self anim-speed))) (seek! (-> self anim-speed) 1.0 0.05) (seek! (-> self collide-info trans y) (-> self y-min) (* (-> self y-speed) (-> *display* seconds-per-frame))) (dummy-10 (-> self water)) @@ -367,26 +354,14 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (set! (-> self nav target-pos quad) (-> self spawn-point quad)) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-3 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (seek! (-> self anim-speed) 1.0 0.05) (cond @@ -400,11 +375,7 @@ nav-enemy-default-event-handler ) ) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -463,25 +434,15 @@ nav-enemy-default-event-handler (sound-play-by-name (static-sound-name "bigshark-bite") (new-sound-id) 1024 0 0 1 #t) (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (ja-channel-push! 1 30) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> s4-1 param 0) (ja-aframe 3.0 0)) - (set! (-> s4-1 param 1) 2.0) - (set! (-> s4-1 frame-num) 0.0) - (joint-control-channel-group! s4-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! sharkey-chomp-ja :num! (seek! (ja-aframe 3.0 0) 2.0) :frame-num 0.0) (until (ja-done? 0) (sharkey-get-player-position s5-0) (setup-from-to-duration! (-> self jump-trajectory) gp-0 s5-0 3.0 -291.27112) (set! (-> self attack-time) (ja-aframe-num 0)) (sharkey-follow-trajectory (-> self attack-time)) (suspend) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 param 0) (ja-aframe 3.0 0)) - (set! (-> s4-2 param 1) 2.0) - (joint-control-channel-group-eval! s4-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 3.0 0) 2.0)) ) ) (let ((a1-7 (new 'stack-no-clear 'event-message-block))) @@ -502,15 +463,7 @@ nav-enemy-default-event-handler (f26-0 (-> self collide-info trans y)) ) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 3)) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 3.0 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (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))) @@ -532,11 +485,7 @@ nav-enemy-default-event-handler ) (set! (-> self collide-info trans y) f26-0) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -623,32 +572,18 @@ nav-enemy-default-event-handler :code (behavior () (set! (-> self player-water-time) (-> *display* base-frame-counter)) - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) (sound-play-by-name (static-sound-name "bigshark-idle") (new-sound-id) 1024 0 0 1 #t) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-3 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info run-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (seek! (-> self anim-speed) 1.0 (* 3.0 (-> *display* seconds-per-frame))) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -685,34 +620,18 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.17)) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (seek! (-> self anim-speed) 1.0 0.05) (seek! (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -739,21 +658,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) + (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) + (loop + (ja :num! (loop! (-> self anim-speed))) (seek! (-> self anim-speed) 1.0 0.05) (seek! (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) (suspend) @@ -772,34 +681,16 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max (-> self anim-speed)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (go-virtual nav-enemy-stare) diff --git a/test/decompiler/reference/levels/common/water-anim_REF.gc b/test/decompiler/reference/levels/common/water-anim_REF.gc index 1309aeb44b..3c731103ff 100644 --- a/test/decompiler/reference/levels/common/water-anim_REF.gc +++ b/test/decompiler/reference/levels/common/water-anim_REF.gc @@ -24,436 +24,292 @@ ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-dark-eco-qbert-sg* water-anim-sunken-dark-eco - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 40) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-dark-eco-qbert-sg* water-anim-sunken-dark-eco water-anim-sunken-dark-eco-qbert-lod0-jg -1 + ((water-anim-sunken-dark-eco-qbert-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 40) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-dark-eco-platform-room-sg* water-anim-sunken-dark-eco - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-dark-eco-platform-room-sg* water-anim-sunken-dark-eco water-anim-sunken-dark-eco-platform-room-lod0-jg -1 + ((water-anim-sunken-dark-eco-platform-room-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-dark-eco-helix-room-sg* water-anim-sunken-dark-eco - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 0 21) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-dark-eco-helix-room-sg* water-anim-sunken-dark-eco water-anim-sunken-dark-eco-helix-room-lod0-jg -1 + ((water-anim-sunken-dark-eco-helix-room-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 21) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-big-room-sg* water-anim-sunken - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 15 0 -36 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-big-room-sg* water-anim-sunken water-anim-sunken-big-room-lod0-jg -1 + ((water-anim-sunken-big-room-lod0-mg (meters 999999))) + :bounds (static-spherem 15 0 -36 70) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-first-room-from-entrance-sg* water-anim-sunken - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-first-room-from-entrance-sg* water-anim-sunken water-anim-sunken-first-room-from-entrance-lod0-jg -1 + ((water-anim-sunken-first-room-from-entrance-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 50) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-qbert-room-sg* water-anim-sunken - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 0 48) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-qbert-room-sg* water-anim-sunken water-anim-sunken-qbert-room-lod0-jg -1 + ((water-anim-sunken-qbert-room-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 48) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-first-right-branch-sg* water-anim-sunken - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-first-right-branch-sg* water-anim-sunken water-anim-sunken-first-right-branch-lod0-jg -1 + ((water-anim-sunken-first-right-branch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-circular-with-bullys-sg* water-anim-sunken - 8 - -1 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-circular-with-bullys-sg* water-anim-sunken water-anim-sunken-circular-with-bullys-lod0-jg -1 + ((water-anim-sunken-circular-with-bullys-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-hall-with-one-whirlpool-sg* water-anim-sunken - 10 - -1 - ((11 (meters 999999))) - :bounds (static-spherem 0 0 0 27) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-hall-with-one-whirlpool-sg* water-anim-sunken water-anim-sunken-hall-with-one-whirlpool-lod0-jg -1 + ((water-anim-sunken-hall-with-one-whirlpool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 27) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-hall-with-three-whirlpools-sg* water-anim-sunken - 12 - -1 - ((13 (meters 999999))) - :bounds (static-spherem 0 0 0 26) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-hall-with-three-whirlpools-sg* water-anim-sunken water-anim-sunken-hall-with-three-whirlpools-lod0-jg -1 + ((water-anim-sunken-hall-with-three-whirlpools-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 26) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-start-of-helix-slide-sg* water-anim-sunken - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 0 0 25) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-start-of-helix-slide-sg* water-anim-sunken water-anim-sunken-start-of-helix-slide-lod0-jg -1 + ((water-anim-sunken-start-of-helix-slide-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-room-above-exit-chamber-sg* water-anim-sunken - 16 - -1 - ((17 (meters 999999))) - :bounds (static-spherem 0 0 0 45) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-room-above-exit-chamber-sg* water-anim-sunken water-anim-sunken-room-above-exit-chamber-lod0-jg -1 + ((water-anim-sunken-room-above-exit-chamber-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 45) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-hall-before-big-room-sg* water-anim-sunken - 18 - -1 - ((19 (meters 999999))) - :bounds (static-spherem 5 0 -3 24) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-hall-before-big-room-sg* water-anim-sunken water-anim-sunken-hall-before-big-room-lod0-jg -1 + ((water-anim-sunken-hall-before-big-room-lod0-mg (meters 999999))) + :bounds (static-spherem 5 0 -3 24) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-short-piece-sg* water-anim-sunken - 20 - -1 - ((21 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-short-piece-sg* water-anim-sunken water-anim-sunken-short-piece-lod0-jg -1 + ((water-anim-sunken-short-piece-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-sunken-big-room-upper-water-sg* water-anim-sunken - 22 - -1 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 27) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-sunken-big-room-upper-water-sg* water-anim-sunken water-anim-sunken-big-room-upper-water-lod0-jg -1 + ((water-anim-sunken-big-room-upper-water-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 27) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-maincave-center-pool-sg* water-anim-maincave - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-center-pool-sg* water-anim-maincave water-anim-maincave-center-pool-lod0-jg -1 + ((water-anim-maincave-center-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 70) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-maincave-lower-right-pool-sg* water-anim-maincave - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 6 0 5 61) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-lower-right-pool-sg* water-anim-maincave water-anim-maincave-lower-right-pool-lod0-jg -1 + ((water-anim-maincave-lower-right-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 6 0 5 61) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-maincave-mid-right-pool-sg* water-anim-maincave - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 0 37) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-mid-right-pool-sg* water-anim-maincave water-anim-maincave-mid-right-pool-lod0-jg -1 + ((water-anim-maincave-mid-right-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 37) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-maincave-lower-left-pool-sg* water-anim-maincave - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem -1 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-lower-left-pool-sg* water-anim-maincave water-anim-maincave-lower-left-pool-lod0-jg -1 + ((water-anim-maincave-lower-left-pool-lod0-mg (meters 999999))) + :bounds (static-spherem -1 0 0 20) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-maincave-mid-left-pool-sg* water-anim-maincave - 8 - -1 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 51) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-mid-left-pool-sg* water-anim-maincave water-anim-maincave-mid-left-pool-lod0-jg -1 + ((water-anim-maincave-mid-left-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 51) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-maincave-water-with-crystal-sg* water-anim-maincave-water - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -3 22) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-maincave-water-with-crystal-sg* water-anim-maincave-water water-anim-maincave-water-with-crystal-lod0-jg -1 + ((water-anim-maincave-water-with-crystal-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -3 22) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-robocave-main-pool-sg* water-anim-robocave - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 54) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-robocave-main-pool-sg* water-anim-robocave water-anim-robocave-main-pool-lod0-jg -1 + ((water-anim-robocave-main-pool-lod0-mg (meters 20)) (water-anim-robocave-main-pool-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 54) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-by-arena-sg* water-anim-misty - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -2.5 19) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-by-arena-sg* water-anim-misty water-anim-misty-mud-by-arena-lod0-jg -1 + ((water-anim-misty-mud-by-arena-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -2.5 19) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-above-skeleton-sg* water-anim-misty - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-above-skeleton-sg* water-anim-misty water-anim-misty-mud-above-skeleton-lod0-jg -1 + ((water-anim-misty-mud-above-skeleton-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-behind-skeleton-sg* water-anim-misty - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 0 4 25) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-behind-skeleton-sg* water-anim-misty water-anim-misty-mud-behind-skeleton-lod0-jg -1 + ((water-anim-misty-mud-behind-skeleton-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 4 25) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-above-skull-back-sg* water-anim-misty - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-above-skull-back-sg* water-anim-misty water-anim-misty-mud-above-skull-back-lod0-jg -1 + ((water-anim-misty-mud-above-skull-back-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-above-skull-front-sg* water-anim-misty - 8 - -1 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 16) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-above-skull-front-sg* water-anim-misty water-anim-misty-mud-above-skull-front-lod0-jg -1 + ((water-anim-misty-mud-above-skull-front-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 16) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-other-near-skull-sg* water-anim-misty - 10 - -1 - ((11 (meters 999999))) - :bounds (static-spherem 0 0 0 13) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-other-near-skull-sg* water-anim-misty water-anim-misty-mud-other-near-skull-lod0-jg -1 + ((water-anim-misty-mud-other-near-skull-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 13) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-near-skull-sg* water-anim-misty - 12 - -1 - ((13 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-near-skull-sg* water-anim-misty water-anim-misty-mud-near-skull-lod0-jg -1 + ((water-anim-misty-mud-near-skull-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-under-spine-sg* water-anim-misty - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 0 0 16) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-under-spine-sg* water-anim-misty water-anim-misty-mud-under-spine-lod0-jg -1 + ((water-anim-misty-mud-under-spine-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 16) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-by-dock-sg* water-anim-misty - 16 - -1 - ((17 (meters 999999))) - :bounds (static-spherem 0 0 0 21) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-by-dock-sg* water-anim-misty water-anim-misty-mud-by-dock-lod0-jg -1 + ((water-anim-misty-mud-by-dock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 21) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-island-near-dock-sg* water-anim-misty - 18 - -1 - ((19 (meters 999999))) - :bounds (static-spherem -1 0 -1 15) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-island-near-dock-sg* water-anim-misty water-anim-misty-mud-island-near-dock-lod0-jg -1 + ((water-anim-misty-mud-island-near-dock-lod0-mg (meters 999999))) + :bounds (static-spherem -1 0 -1 15) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-mud-lonely-island-sg* water-anim-misty - 20 - -1 - ((21 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-mud-lonely-island-sg* water-anim-misty water-anim-misty-mud-lonely-island-lod0-jg -1 + ((water-anim-misty-mud-lonely-island-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-misty-dark-eco-pool-sg* water-anim-misty - 22 - -1 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 17) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-misty-dark-eco-pool-sg* water-anim-misty water-anim-misty-dark-eco-pool-lod0-jg -1 + ((water-anim-misty-dark-eco-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 17) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-ogre-lava-sg* water-anim-ogre - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 112) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-ogre-lava-sg* water-anim-ogre water-anim-ogre-lava-lod0-jg -1 + ((water-anim-ogre-lava-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 112) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-jungle-river-sg* water-anim-jungle - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 91) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-jungle-river-sg* water-anim-jungle water-anim-jungle-river-lod0-jg -1 + ((water-anim-jungle-river-lod0-mg (meters 20)) (water-anim-jungle-river-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 91) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-village3-lava-sg* water-anim-village3 - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 15 0 10 163) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village3-lava-sg* water-anim-village3 water-anim-village3-lava-lod0-jg -1 + ((water-anim-village3-lava-lod0-mg (meters 20)) (water-anim-village3-lava-lod1-mg (meters 999999))) + :bounds (static-spherem 15 0 10 163) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-training-lake-sg* water-anim-training - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem -18 0 0 52) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-training-lake-sg* water-anim-training water-anim-training-lake-lod0-jg -1 + ((water-anim-training-lake-lod0-mg (meters 999999))) + :bounds (static-spherem -18 0 0 52) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-darkcave-water-with-crystal-sg* water-anim-darkcave - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 19) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-darkcave-water-with-crystal-sg* water-anim-darkcave water-anim-darkcave-water-with-crystal-lod0-jg -1 + ((water-anim-darkcave-water-with-crystal-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 19) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-rolling-water-back-sg* water-anim-rolling - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem -10 0 0 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-rolling-water-back-sg* water-anim-rolling water-anim-rolling-water-back-lod0-jg -1 + ((water-anim-rolling-water-back-lod0-mg (meters 999999))) + :bounds (static-spherem -10 0 0 70) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-rolling-water-front-sg* water-anim-rolling - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 70) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-rolling-water-front-sg* water-anim-rolling water-anim-rolling-water-front-lod0-jg -1 + ((water-anim-rolling-water-front-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 70) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-finalboss-dark-eco-pool-sg* water-anim-finalboss - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 19) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-finalboss-dark-eco-pool-sg* water-anim-finalboss water-anim-finalboss-dark-eco-pool-lod0-jg -1 + ((water-anim-finalboss-dark-eco-pool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 19) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-lavatube-energy-lava-sg* water-anim-lavatube - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 -7 0 25) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-lavatube-energy-lava-sg* water-anim-lavatube water-anim-lavatube-energy-lava-lod0-jg -1 + ((water-anim-lavatube-energy-lava-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -7 0 25) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-village1-rice-paddy-sg* water-anim-village1 - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem -15 0 0 27) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-rice-paddy-sg* water-anim-village1 water-anim-village1-rice-paddy-lod0-jg -1 + ((water-anim-village1-rice-paddy-lod0-mg (meters 999999))) + :bounds (static-spherem -15 0 0 27) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-village1-fountain-sg* water-anim-village1 - 6 - -1 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-fountain-sg* water-anim-village1 water-anim-village1-fountain-lod0-jg -1 + ((water-anim-village1-fountain-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.5) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-village1-rice-paddy-mid-sg* water-anim-village1 - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 35) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-rice-paddy-mid-sg* water-anim-village1 water-anim-village1-rice-paddy-mid-lod0-jg -1 + ((water-anim-village1-rice-paddy-mid-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 35) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-village1-rice-paddy-top-sg* water-anim-village1 - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 6 0 -17 20) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village1-rice-paddy-top-sg* water-anim-village1 water-anim-village1-rice-paddy-top-lod0-jg -1 + ((water-anim-village1-rice-paddy-top-lod0-mg (meters 999999))) + :bounds (static-spherem 6 0 -17 20) + ) ;; failed to figure out what this is: -(defskelgroup *water-anim-village2-bucket-sg* water-anim-village2 - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 0.7) - :longest-edge (meters 0) - ) +(defskelgroup *water-anim-village2-bucket-sg* water-anim-village2 water-anim-village2-bucket-lod0-jg -1 + ((water-anim-village2-bucket-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 0.7) + ) ;; definition of type water-anim-look (deftype water-anim-look (structure) @@ -769,7 +625,7 @@ ) :code (behavior () - (while #t + (loop (ja-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) diff --git a/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc b/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc index 2842ade164..21ed638f5d 100644 --- a/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc +++ b/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc @@ -58,13 +58,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *cavecrystal-sg* cavecrystal - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 4.7 0 5.4) - :longest-edge (meters 0) - ) +(defskelgroup *cavecrystal-sg* cavecrystal cavecrystal-lod0-jg -1 + ((cavecrystal-lod0-mg (meters 20)) (cavecrystal-lod1-mg (meters 999999))) + :bounds (static-spherem 0 4.7 0 5.4) + ) ;; definition for method 20 of type cavecrystal ;; INFO: Return type mismatch int vs none. @@ -92,13 +89,13 @@ (f30-1 (* 0.1 (cos (* 65536.0 f0-2)))) ) (cond - ((>= (seconds 0.06666667) gp-1) + ((>= (seconds 0.067) gp-1) (let ((v1-11 (* 0.05 (the float gp-1)))) (fmax 0.0 (fmin 2.0 (+ (* 2.0 v1-11) (* v1-11 f30-1)))) ) ) ((>= (seconds 0.6) gp-1) - (let ((a2-0 (* 0.00625 (the float (+ gp-1 (seconds -0.06666667)))))) + (let ((a2-0 (* 0.00625 (the float (+ gp-1 (seconds -0.067)))))) (fmin 2.0 (+ (lerp 2.0 1.0 a2-0) f30-1)) ) ) diff --git a/test/decompiler/reference/levels/demo/demo-obs_REF.gc b/test/decompiler/reference/levels/demo/demo-obs_REF.gc index 8a2497dd53..4c3b1f11b4 100644 --- a/test/decompiler/reference/levels/demo/demo-obs_REF.gc +++ b/test/decompiler/reference/levels/demo/demo-obs_REF.gc @@ -147,7 +147,7 @@ (-> gp-17 ppointer) ) ) - (while #t + (loop (suspend) ) (none) @@ -155,7 +155,3 @@ :post target-no-move-post ) - - - - diff --git a/test/decompiler/reference/levels/finalboss/final-door_REF.gc b/test/decompiler/reference/levels/finalboss/final-door_REF.gc index fe91b2961e..27c3b98f19 100644 --- a/test/decompiler/reference/levels/finalboss/final-door_REF.gc +++ b/test/decompiler/reference/levels/finalboss/final-door_REF.gc @@ -64,31 +64,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *power-left-sg* power-left - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 11 0 12) - :longest-edge (meters 0) - ) +(defskelgroup *power-left-sg* power-left power-left-lod0-jg power-left-idle-ja + ((power-left-lod0-mg (meters 999999))) + :bounds (static-spherem 0 11 0 12) + ) ;; failed to figure out what this is: -(defskelgroup *power-right-sg* power-right - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 11 0 12) - :longest-edge (meters 0) - ) +(defskelgroup *power-right-sg* power-right power-right-lod0-jg power-right-idle-ja + ((power-right-lod0-mg (meters 999999))) + :bounds (static-spherem 0 11 0 12) + ) ;; failed to figure out what this is: -(defskelgroup *powercellalt-sg* powercellalt - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *powercellalt-sg* powercellalt powercellalt-lod0-jg powercellalt-idle-ja + ((powercellalt-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; failed to figure out what this is: (defstate idle (final-door) @@ -138,43 +129,19 @@ (behavior ((arg0 symbol)) (case (-> self type) ((power-left) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.353) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.353) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 0.353) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.353)) ) ) (else - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.353) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.353) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 0.353) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.353)) ) ) ) @@ -254,7 +221,7 @@ :code (behavior () (ja-post) - (while #t + (loop (if (and (and *target* (>= 61440.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (and (zero? (logand (-> *target* state-flags) (state-flags sf08))) (and (>= (-> *game-info* fuel) 100.0) @@ -340,12 +307,9 @@ (transform-post) (spawn (-> self part) (the-as vector (-> self root-override root-prim prim-core))) (suspend) - (when (nonzero? (-> self skel)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.5) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) + (if (nonzero? (-> self skel)) + (ja :num! (loop! 0.5)) ) - ) ) ) (set! (-> self root-override trans quad) (-> self jump-pos quad)) @@ -380,7 +344,7 @@ :virtual #t :code (behavior () - (while #t + (loop (vector<-cspace! (-> self root-override trans) (-> (the-as process-drawable (-> self parent 0)) node-list data (-> self index)) @@ -450,7 +414,7 @@ ) :trans (behavior () - (set-letterbox-frames (seconds 0.016666668)) + (set-letterbox-frames (seconds 0.017)) (none) ) :code @@ -463,21 +427,11 @@ (set-quaternion! (-> self control) (the-as quaternion (new 'static 'vector :y -0.8472 :w 0.5312))) (rot->dir-targ! (-> self control)) (transform-post) - (ja-channel-push! 1 60) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) - (set! (-> s4-1 param 0) (ja-aframe 18.0 0)) - (set! (-> s4-1 param 1) 1.0) - (set! (-> s4-1 frame-num) 0.0) - (joint-control-channel-group! s4-1 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 88) :num! (seek! (ja-aframe 18.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 param 0) (ja-aframe 18.0 0)) - (set! (-> s4-2 param 1) 1.0) - (joint-control-channel-group-eval! s4-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 18.0 0))) ) (let ((s4-3 (-> (handle->process (the-as handle arg0)) entity)) (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) 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 af9af4ca14..973d3d2e8c 100644 --- a/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc +++ b/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc @@ -62,14 +62,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *green-eco-lurker-sg* green-eco-lurker - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.95) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *green-eco-lurker-sg* green-eco-lurker green-eco-lurker-lod0-jg -1 + ((green-eco-lurker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.95) + :shadow green-eco-lurker-shadow-mg + ) ;; definition for symbol *green-eco-lurker-nav-enemy-info*, type nav-enemy-info (define *green-eco-lurker-nav-enemy-info* (new 'static 'nav-enemy-info @@ -471,7 +468,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -579,7 +576,7 @@ ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "blob-out") (new-sound-id) @@ -591,45 +588,21 @@ ) (cond ((zero? (nav-enemy-rnd-int-count 2)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! green-eco-lurker-jump-with-flip-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! green-eco-lurker-jump-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -672,23 +645,11 @@ (logclear! (-> v1-4 settings flags) (shadow-flags shdf05)) ) 0 - (ja-channel-push! 1 60) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! green-eco-lurker-jump-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) (go-virtual nav-enemy-chase) @@ -703,7 +664,7 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -720,61 +681,29 @@ (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 8) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 60) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-7 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + ((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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) + (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) ) ) - (while #t + (loop (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -786,33 +715,17 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! (ja-aframe 32.0 0) 0.5) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.5)) ) (go-virtual nav-enemy-chase) (none) diff --git a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc index 31731a5109..98988ba625 100644 --- a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc +++ b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc @@ -82,22 +82,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *light-eco-big-sg* light-eco - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *light-eco-big-sg* light-eco light-eco-big-lod0-jg -1 + ((light-eco-big-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 9) + ) ;; failed to figure out what this is: -(defskelgroup *light-eco-small-sg* light-eco - 3 - -1 - ((4 (meters 999999))) - :bounds (static-spherem 0 0 0 1.5) - :longest-edge (meters 0) - ) +(defskelgroup *light-eco-small-sg* light-eco light-eco-small-lod0-jg -1 + ((light-eco-small-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1.5) + ) ;; failed to figure out what this is: (defpartgroup group-light-eco-mother-growing @@ -503,12 +497,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -561,12 +552,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -593,12 +581,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -678,19 +663,8 @@ (logclear! (-> self mask) (process-mask actor-pause)) (initialize-skeleton self *light-eco-small-sg* '()) (ja-channel-set! 1) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-no-eval :num! (seek!)) + (ja :group! light-eco-small-idle-ja :num! min) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 692) self)) (transform-post) (go light-eco-child-appear) @@ -824,10 +798,7 @@ (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (go light-eco-mother-active) (none) @@ -849,12 +820,9 @@ ) :code (behavior () - (while #t + (loop (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -878,10 +846,7 @@ (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) @@ -928,19 +893,8 @@ (logclear! (-> self mask) (process-mask actor-pause)) (initialize-skeleton self *light-eco-big-sg* '()) (ja-channel-set! 1) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-no-eval :num! (seek!)) + (ja :group! light-eco-big-idle-ja :num! min) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 691) self)) (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 690) self)) (set! (-> self sound) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc index 5725e6bdfc..0e37b23749 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc @@ -194,10 +194,8 @@ ) ;; failed to figure out what this is: -(defskelgroup *robotboss-sg* robotboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -10 0 80) - :longest-edge (meters 19.9) - ) +(defskelgroup *robotboss-sg* robotboss robotboss-basic-lod0-jg robotboss-idle-ja + ((robotboss-basic-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -10 0 80) + :longest-edge (meters 19.9) + ) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc index 66e015f48d..aa8d95e306 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc @@ -2,13 +2,11 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *med-res-snow1-sg* medres-snowback - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -360 100 100 380) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-snow1-sg* medres-snowback 0 2 + ((1 (meters 999999))) + :bounds (static-spherem -360 100 100 380) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: (defstate cam-robotboss (camera-slave) @@ -54,7 +52,7 @@ ) :code (behavior () - (while #t + (loop (when #t (let ((a2-0 (new-stack-vector0))) (vector-! a2-0 (-> *camera* tpos-curr-adj) (-> self pivot-pt)) @@ -130,13 +128,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *ecoclaw-sg* ecoclaw - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *ecoclaw-sg* ecoclaw ecoclaw-lod0-jg ecoclaw-idle-ja + ((ecoclaw-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 9) + ) ;; definition for function ecoclaw-beam-particle-callback ;; INFO: Return type mismatch int vs none. @@ -291,41 +286,12 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -340,7 +306,7 @@ ecoclaw-handler :code (behavior () - (while #t + (loop (if (-> self particles 0 kind) (go ecoclaw-activate) ) @@ -391,13 +357,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *silodoor-sg* silodoor - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 25) - :longest-edge (meters 0) - ) +(defskelgroup *silodoor-sg* silodoor silodoor-lod0-jg silodoor-idle-ja + ((silodoor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25) + ) ;; failed to figure out what this is: (defstate idle (silodoor) @@ -420,13 +383,9 @@ (the-as (function none :behavior silodoor) rider-trans) :code (behavior () - (while #t + (loop (when (not (movie?)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (* (-> self part-opened) (the float (ja-num-frames 0)))) - (set! (-> gp-0 param 1) 0.01) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (* (-> self part-opened) (the float (ja-num-frames 0))) 0.01)) (cond ((< 0.01 (fabs (- (* (-> self part-opened) (the float (ja-num-frames 0))) (ja-aframe-num 0)))) (if (nonzero? (-> self sound)) @@ -466,10 +425,7 @@ (suspend) ) (logclear! (-> self draw status) (draw-status hidden)) - (let ((v1-12 (-> self skel root-channel 0))) - (set! (-> v1-12 num-func) num-func-identity) - (set! (-> v1-12 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self part-opened) 0.0) (go-virtual idle) (none) @@ -567,13 +523,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *finalbosscam-sg* finalbosscam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *finalbosscam-sg* finalbosscam finalbosscam-lod0-jg finalbosscam-idle-ja + ((finalbosscam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for function robotboss-manipy-trans-hook ;; INFO: Return type mismatch int vs none. diff --git a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc index e847ec30d1..5d47b34b13 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc @@ -252,7 +252,7 @@ ) :code (behavior () - (while #t + (loop (format *stdcon* "debug trajectory~%") (suspend) ) @@ -292,13 +292,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *darkecobomb-sg* darkecobomb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.5 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *darkecobomb-sg* darkecobomb darkecobomb-lod0-jg darkecobomb-idle-ja + ((darkecobomb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 6) + ) ;; failed to figure out what this is: (defstate darkecobomb-explode (darkecobomb) @@ -441,11 +438,7 @@ (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (the int (-> self countdown-time))) (go darkecobomb-explode #f) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) + (when (ja-group? (-> self draw art-group data 5)) (let ((gp-2 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-2 (-> self node-list data 5)) (spawn (-> self part) gp-2) @@ -456,41 +449,17 @@ :code (behavior () (sound-play-by-name (static-sound-name "bomb-open") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) (-> self anim-speed)) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -519,32 +488,16 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -573,40 +526,16 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -673,13 +602,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *greenshot-sg* greenshot - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *greenshot-sg* greenshot greenshot-lod0-jg greenshot-idle-ja + ((greenshot-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: (defstate greenshot-idle (greenshot) @@ -702,40 +628,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -849,13 +746,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *redring-sg* redring - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 40) - :longest-edge (meters 0) - ) +(defskelgroup *redring-sg* redring redring-lod0-jg redring-idle-ja + ((redring-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 40) + ) ;; definition for function redshot-trans ;; INFO: Return type mismatch object vs none. @@ -955,11 +849,8 @@ ) :code (behavior () - (while #t - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (* 0.000016276043 (-> self ring radius-primary))) - ) + (loop + (ja :num-func num-func-identity :frame-num (* 0.000016276043 (-> self ring radius-primary))) (suspend) ) (none) @@ -997,7 +888,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1030,7 +921,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1145,7 +1036,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc index 1231425d61..b5bd71ad19 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc @@ -7,31 +7,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *robotboss-blueeco-sg* robotboss-blueeco - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 200) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-blueeco-sg* robotboss-blueeco robotboss-blueeco-lod0-jg robotboss-blueeco-idle-ja + ((robotboss-blueeco-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 200) + ) ;; failed to figure out what this is: -(defskelgroup *robotboss-redeco-sg* robotboss-redeco - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 200) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-redeco-sg* robotboss-redeco robotboss-redeco-lod0-jg robotboss-redeco-idle-ja + ((robotboss-redeco-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 200) + ) ;; failed to figure out what this is: -(defskelgroup *robotboss-yelloweco-sg* robotboss-yelloweco - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 200) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-yelloweco-sg* robotboss-yelloweco robotboss-yelloweco-lod0-jg robotboss-yelloweco-idle-ja + ((robotboss-yelloweco-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 200) + ) ;; definition for function robotboss-cut-cam-exit ;; INFO: Return type mismatch symbol vs none. @@ -50,15 +41,7 @@ (defbehavior robotboss-cut-cam robotboss ((arg0 float) (arg1 float) (arg2 int)) (let ((f0-0 (ja-aframe-num 0))) (cond - ((or (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg2 - ) - ) - (< f0-0 arg0) - (< arg1 f0-0) - ) + ((or (not (ja-group? arg2)) (< f0-0 arg0) (< arg1 f0-0)) (robotboss-cut-cam-exit) ) ((or (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -95,7 +78,7 @@ (hide-hud-quick) (set! *camera-look-through-other* 2) (when (< (-> self valid-frames) 2) - (set-blackout-frames (seconds 0.033333335)) + (set-blackout-frames (seconds 0.035)) (+! (-> self valid-frames) 1) ) ) @@ -319,31 +302,14 @@ ;; definition for function robotboss-anim-blend-loop (defbehavior robotboss-anim-blend-loop robotboss ((arg0 art-joint-anim)) - (let ((s5-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((s5-0 (ja-group))) (ja-channel-push! 2 0) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s4-0 arg0 num-func-identity) - (set! (-> s4-0 frame-num) 0.0) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! gp-1 s5-0 num-func-identity) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! arg0 :num! min) + (ja :chan 1 :group! s5-0 :num! min) ) - (while #t - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 frame-interp) (- 1.0 (ease-loc-t self))) - (set! (-> gp-2 param 0) 0.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-chan) - ) + (loop + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0) :frame-interp (- 1.0 (ease-loc-t self))) (suspend) ) (none) @@ -626,169 +592,45 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 40960.0 :z 81920.0) (-> self dda yellow-bomb-time)) (play-ambient (-> self ambient) "GOL-AM20" #t (the-as vector #f)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-52 (-> self skel root-channel 0))) - (set! (-> v1-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 2)) (robotboss-darkecobomb (new 'static 'vector :y 40960.0 :z -81920.0) (+ -150.0 (-> self dda yellow-bomb-time))) ) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-93 (-> self skel root-channel 0))) - (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-25 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-25 param 1) 1.0) - (set! (-> a0-25 frame-num) 0.0) - (joint-control-channel-group! - a0-25 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 3)) (robotboss-darkecobomb (new 'static 'vector :x 81920.0 :y 40960.0) (+ -300.0 (-> self dda yellow-bomb-time))) ) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-134 (-> self skel root-channel 0))) - (set! (-> v1-134 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) - ) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-34 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! - a0-34 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-yellow-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 4)) (robotboss-darkecobomb (new 'static 'vector :x -81920.0 :y 40960.0) (+ -450.0 (-> self dda yellow-bomb-time))) @@ -796,57 +638,17 @@ (set! (-> self des-cam-entity) "camera-365") ) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 30) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-183 (-> self skel root-channel 0))) - (set! (-> v1-183 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - ) - ) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-48 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-48 param 1) 1.0) - (set! (-> a0-48 frame-num) 0.0) - (joint-control-channel-group! - a0-48 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-yellow-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-yellow-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1125,89 +927,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 30) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - ) + (when (not (ja-group? robotboss-idle-hover-no-yellow-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-yellow-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1260,17 +995,7 @@ ;; definition for function robotboss-is-yellow-hit (defbehavior robotboss-is-yellow-hit robotboss () - (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 28) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) + (or (ja-group? robotboss-yellow-hit-ja) (ja-group? robotboss-yellow-last-hit-ja)) ) ;; definition for function robotboss-time-to-shoot-yellow @@ -1395,10 +1120,8 @@ (robotboss-yellow-eco-off) (set! (-> self took-hit) #f) (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-yellow-last-hit-ja) (set! (-> self yellow-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 27)) @@ -1440,14 +1163,12 @@ (play-ambient (-> self ambient) "MAI-AM06" #t (the-as vector #f)) ) (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-54 (-> self skel root-channel 0))) - (set! (-> v1-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-yellow-hit-ja) ) ) (robotboss-position) - (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int (-> self draw art-group data 29))) + (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int robotboss-yellow-roar-ja)) (when (and (-> self keep-charging) (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) ) @@ -1461,11 +1182,7 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -1474,121 +1191,39 @@ (if (nonzero? (-> self yellow-gun)) (set-mode! (-> self yellow-gun) (joint-mod-handler-mode look-at)) ) - (while #t + (loop (when (not (robotboss-time-to-shoot-yellow)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-23 (-> self skel root-channel 0))) - (set! (-> v1-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) + (when (not (ja-group? robotboss-yellow-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-yellow-idle-ja) ) - (when (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) - (let ((v1-30 (-> self skel root-channel 0))) - (set! (-> v1-30 num-func) num-func-identity) - (set! (-> v1-30 frame-num) 15.0) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) + (ja :num-func num-func-identity :frame-num 15.0) ) - ) (while (not (or (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) + (ja-group? robotboss-yellow-last-hit-ja) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-40 (-> self skel root-channel 0))) - (set! (-> v1-40 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-24 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (when (not (ja-group? robotboss-yellow-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-yellow-idle-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (robotboss-is-yellow-hit) (goto cfg-36) ) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (label cfg-36) (when (not (robotboss-is-yellow-hit)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-93 (-> self skel root-channel 0))) - (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) - ) - ) - (let ((a0-41 (-> self skel root-channel 0))) - (set! (-> a0-41 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-41 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-41 param 1) 1.0) - (set! (-> a0-41 frame-num) 0.0) - (joint-control-channel-group! - a0-41 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (when (not (ja-group? robotboss-yellow-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-yellow-idle-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (robotboss-is-yellow-hit) (goto cfg-55) @@ -1597,28 +1232,13 @@ (set! (-> self keep-charging) #t) ) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (label cfg-55) - (when (and (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) - (or (robotboss-time-to-shoot-yellow) (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 28) - ) - ) - ) + (when (and (not (ja-group? robotboss-yellow-last-hit-ja)) + (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)) @@ -1658,66 +1278,19 @@ ) ) ) - (ja-channel-push! 1 15) - (let ((v1-176 (-> self skel root-channel 0))) - (set! (-> v1-176 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - ) - ) - (let ((a0-70 (-> self skel root-channel 0))) - (set! (-> a0-70 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-70 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-70 param 1) 1.0) - (set! (-> a0-70 frame-num) 0.0) - (joint-control-channel-group! - a0-70 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! robotboss-yellow-blast-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-71 (-> self skel root-channel 0))) - (set! (-> a0-71 param 0) (the float (+ (-> a0-71 frame-group data 0 length) -1))) - (set! (-> a0-71 param 1) 1.0) - (joint-control-channel-group-eval! a0-71 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-77 (-> self skel root-channel 0))) - (set! (-> a0-77 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) - (set! (-> a0-77 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 29)) data 0 length) -1)) - ) - (set! (-> a0-77 param 1) 1.0) - (set! (-> a0-77 frame-num) 0.0) - (joint-control-channel-group! a0-77 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) - ) + (when (ja-group? robotboss-yellow-last-hit-ja) + (ja-no-eval :group! robotboss-yellow-roar-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-78 (-> self skel root-channel 0))) - (set! (-> a0-78 param 0) (the float (+ (-> a0-78 frame-group data 0 length) -1))) - (set! (-> a0-78 param 1) 1.0) - (joint-control-channel-group-eval! a0-78 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go robotboss-yellow-dark-bomb) ) @@ -1761,113 +1334,35 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-dark-return-after-red-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (cond ((and *target* (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - ) - (ja-channel-push! 1 240) - (let ((v1-55 (-> self skel root-channel 0))) - (set! (-> v1-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - ) + (when (not (ja-group? robotboss-idle-hover-lookup-no-red-ja)) + (ja-channel-push! 1 (seconds 0.8)) + (ja :group! robotboss-idle-hover-lookup-no-red-ja) ) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-64 (-> self skel root-channel 0))) - (set! (-> v1-64 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) + ((not (ja-group? robotboss-idle-hover-no-red-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-red-ja) ) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1906,102 +1401,31 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-no-red-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (-> self dda red-bomb-time)) (set! (-> self des-cam-entity) "camera-365") ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-57 (-> self skel root-channel 0))) - (set! (-> v1-57 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-19 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-red-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-red-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2033,89 +1457,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - ) + (when (not (ja-group? robotboss-idle-hover-no-red-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-red-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2299,17 +1656,7 @@ ;; definition for function robotboss-is-red-hit (defbehavior robotboss-is-red-hit robotboss () - (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 19) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - ) + (or (ja-group? robotboss-red-hit-ja) (ja-group? robotboss-red-last-hit-ja)) ) ;; failed to figure out what this is: @@ -2453,10 +1800,8 @@ ) (set! (-> self took-hit) #f) (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-10 (-> self skel root-channel 0))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-red-last-hit-ja) (set! (-> self red-smoke) #t) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-0 (-> self node-list data 51)) @@ -2492,10 +1837,8 @@ (play-ambient (-> self ambient) "MAI-AM06" #t (the-as vector #f)) ) (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-56 (-> self skel root-channel 0))) - (set! (-> v1-56 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-red-hit-ja) ) ) (robotboss-position) @@ -2503,68 +1846,25 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) (robotboss-setup-for-hits 1 5) - (while #t + (loop (until (or (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) + (ja-group? robotboss-red-last-hit-ja) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-7 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-red-idle-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) + (if (ja-group? robotboss-red-last-hit-ja) (goto cfg-24) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (label cfg-24) @@ -2579,36 +1879,9 @@ ) ) (when (not (robotboss-is-red-hit)) - (ja-channel-push! 1 60) - (let ((v1-72 (-> self skel root-channel 0))) - (set! (-> v1-72 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-red-charge-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (update! (-> self looping-sound 2)) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -2619,21 +1892,12 @@ (goto cfg-37) ) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (label cfg-37) (stop! (-> self looping-sound 2)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - ) + (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))) @@ -2678,65 +1942,18 @@ ) ) ) - (let ((v1-157 (-> self skel root-channel 0))) - (set! (-> v1-157 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - ) - ) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-56 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-56 param 1) 1.0) - (set! (-> a0-56 frame-num) 0.0) - (joint-control-channel-group! - a0-56 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (ja :group! robotboss-red-blast-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-57 (-> self skel root-channel 0))) - (set! (-> a0-57 param 0) (the float (+ (-> a0-57 frame-group data 0 length) -1))) - (set! (-> a0-57 param 1) 1.0) - (joint-control-channel-group-eval! a0-57 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - (set! (-> a0-63 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) - ) - (set! (-> a0-63 param 1) 1.0) - (set! (-> a0-63 frame-num) 0.0) - (joint-control-channel-group! a0-63 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) - ) + (when (ja-group? robotboss-red-last-hit-ja) + (ja-no-eval :group! robotboss-red-roar-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go robotboss-red-dark-bomb) ) @@ -2773,98 +1990,27 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-dark-return-after-green-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-50 (-> self skel root-channel 0))) - (set! (-> v1-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-17 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -2902,45 +2048,14 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (-> self dda green-bomb-time)) @@ -2948,57 +2063,17 @@ (play-ambient (-> self ambient) "GOL-AM11" #t (the-as vector #f)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-59 (-> self skel root-channel 0))) - (set! (-> v1-59 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-20 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3031,89 +2106,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3165,10 +2173,8 @@ (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) - (ja-channel-push! 1 60) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-roar-ja) (robotboss-yellow-eco-off) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) self) @@ -3313,20 +2319,16 @@ (< (-> self children-spawned) 1) ) (robotboss-greenshot (new 'static 'vector) (the-as float 24576.0) 600 #t) - (ja-channel-push! 1 60) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 1.2)) (< (-> self children-spawned) 3) ) (robotboss-greenshot (new 'static 'vector :x 8192.0) (the-as float 16384.0) 600 #t) (robotboss-greenshot (new 'static 'vector :z 8192.0) (the-as float 32768.0) 660 #f) - (ja-channel-push! 1 60) - (let ((v1-20 (-> self skel root-channel 0))) - (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 2.6)) (< (-> self children-spawned) 6) @@ -3334,29 +2336,23 @@ (robotboss-greenshot (new 'static 'vector :z 12288.0) (the-as float 20480.0) 600 #t) (robotboss-greenshot (new 'static 'vector :x 8192.0) (the-as float 8192.0) 660 #f) (robotboss-greenshot (new 'static 'vector) (the-as float 36864.0) 720 #f) - (ja-channel-push! 1 60) - (let ((v1-32 (-> self skel root-channel 0))) - (set! (-> v1-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 4)) (< (-> self children-spawned) 7) ) (robotboss-greenshot (new 'static 'vector) (the-as float 24576.0) 600 #t) - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 5.5)) (< (-> self children-spawned) 9) ) (robotboss-greenshot (new 'static 'vector) (the-as float 12288.0) 600 #t) (robotboss-greenshot (new 'static 'vector :x 4096.0 :z 12288.0) (the-as float 32768.0) 600 #f) - (ja-channel-push! 1 60) - (let ((v1-53 (-> self skel root-channel 0))) - (set! (-> v1-53 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-green-spawn-ja) ) ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 8)) (< (-> self children-spawned) 10) @@ -3396,69 +2392,25 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) + ((ja-group? robotboss-green-roar-ja) (go robotboss-green-dark-bomb) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + ((not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-14 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! - a0-14 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3494,98 +2446,27 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-dark-return-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-50 (-> self skel root-channel 0))) - (set! (-> v1-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-17 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3623,45 +2504,14 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-dark-shoot-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (the-as float 3600.0)) @@ -3669,72 +2519,25 @@ (play-ambient (-> self ambient) "MAI-AM04" #t (the-as vector #f)) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (cond ((and *target* (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 240) - (let ((v1-64 (-> self skel root-channel 0))) - (set! (-> v1-64 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (when (not (ja-group? robotboss-idle-hover-lookup-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.8)) + (ja :group! robotboss-idle-hover-lookup-no-blue-ja) ) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-73 (-> self skel root-channel 0))) - (set! (-> v1-73 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + ((not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-30 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3766,89 +2569,22 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + (when (not (ja-group? robotboss-idle-hover-no-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-hover-no-blue-ja) ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -3881,11 +2617,7 @@ ) (cond ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 0.4)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) + (ja-group? robotboss-idle-blue-ja) ) (spawn (-> self particle 0) s4-0) (when (and arg1 (nonzero? (-> self looping-sound 0))) @@ -3930,12 +2662,7 @@ ) (cond ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) (seconds 1.4)) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) + (not (ja-group? robotboss-blue-roar-ja)) ) (spawn (-> self particle 1) gp-0) (when (and arg1 (nonzero? (-> self looping-sound 1))) @@ -4155,10 +2882,8 @@ (robotboss-blue-done) (set! (-> self took-hit) #f) (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-blue-last-hit-ja) (sound-play-by-name (static-sound-name "explod-eye") (new-sound-id) 1024 0 0 1 #t) (set! (-> self blue-smoke) #t) (let ((gp-1 (new 'stack-no-clear 'vector))) @@ -4195,24 +2920,11 @@ (play-ambient (-> self ambient) "MAI-AM06" #t (the-as vector #f)) ) (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-54 (-> self skel root-channel 0))) - (set! (-> v1-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-blue-hit-ja) ) ) - (when (not (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 33) - ) - ) - ) + (when (not (or (ja-group? robotboss-blue-roar-ja) (ja-group? robotboss-blue-last-hit-ja))) ) (robotboss-blue-beam 8 #t) (robotboss-blue-beam 9 #f) @@ -4241,74 +2953,26 @@ ) ) (robotboss-position) - (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int (-> self draw art-group data 5))) + (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int robotboss-blue-roar-ja)) (none) ) :code (behavior () - (ja-channel-push! 1 120) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-32 (-> self skel root-channel 0))) - (set! (-> v1-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (loop + (when (not (ja-group? robotboss-idle-blue-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! robotboss-idle-blue-ja) ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (<= (-> self hits-to-go) 0) (let ((a1-6 (new 'stack-no-clear 'event-message-block))) @@ -4327,43 +2991,12 @@ ) ) ) - (ja-channel-push! 1 30) - (let ((v1-74 (-> self skel root-channel 0))) - (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-20 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! robotboss-blue-roar-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go robotboss-blue-dark-bomb) ) diff --git a/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc b/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc index 2104fe720c..1101414be4 100644 --- a/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/sage-finalboss_REF.gc @@ -2,40 +2,34 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *robotboss-cinematic-sg* robotboss-cinematic - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -10 0 2000) - :longest-edge (meters 0) - ) +(defskelgroup *robotboss-cinematic-sg* robotboss-cinematic robotboss-cinematic-lod0-jg robotboss-cinematic-idle-ja + ((robotboss-cinematic-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -10 0 2000) + ) ;; failed to figure out what this is: -(defskelgroup *jak-white-sg* jak-white - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *jak-white-sg* jak-white jak-white-lod0-jg jak-white-idle-ja + ((jak-white-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *plat-eco-finalboss-unlit-sg* plat-eco-finalboss - 0 - 8 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-finalboss-unlit-sg* plat-eco-finalboss plat-eco-finalboss-lod0-jg plat-eco-finalboss-idle-ja + ((plat-eco-finalboss-lod0-mg (meters 20)) + (plat-eco-finalboss-lod1-mg (meters 40)) + (plat-eco-finalboss-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *plat-eco-finalboss-lit-sg* plat-eco-finalboss - 4 - 8 - ((5 (meters 20)) (6 (meters 40)) (7 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *plat-eco-finalboss-lit-sg* plat-eco-finalboss plat-eco-finalboss-lit-lod0-jg plat-eco-finalboss-idle-ja + ((plat-eco-finalboss-lit-lod0-mg (meters 20)) + (plat-eco-finalboss-lit-lod1-mg (meters 40)) + (plat-eco-finalboss-lit-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 3) + ) ;; definition of type plat-eco-finalboss (deftype plat-eco-finalboss (plat-eco) @@ -300,14 +294,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *sage-finalboss-sg* green-sagecage - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *sage-finalboss-sg* green-sagecage green-sagecage-lod0-jg green-sagecage-green-sagecage-idle-ja + ((green-sagecage-lod0-mg (meters 20)) (green-sagecage-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow green-sagecage-shadow-mg + ) ;; definition for method 44 of type sage-finalboss ;; INFO: Return type mismatch object vs symbol. diff --git a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc index ecbedaa3be..9dfc1ae41c 100644 --- a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *assistant-firecanyon-sg* assistant-firecanyon - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-firecanyon-sg* assistant-firecanyon assistant-firecanyon-lod0-jg assistant-firecanyon-idle-twist-ja + ((assistant-firecanyon-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-firecanyon-shadow-mg + ) ;; definition for method 32 of type assistant-firecanyon (defmethod play-anim! assistant-firecanyon ((obj assistant-firecanyon) (arg0 symbol)) @@ -141,14 +138,10 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) - (while #t + (loop (let ((gp-0 #t)) (cond ((= (current-status (-> self tasks)) (task-status invalid)) @@ -156,47 +149,16 @@ (v1-9 (the-as number (logior #x3f800000 v1-8))) ) (when (< (+ -1.0 (the-as float v1-9)) 0.5) - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) + (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)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -209,125 +171,39 @@ (< (+ -1.0 (the-as float v1-54)) 0.5) ) ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-to-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-81 (-> self skel root-channel 0))) - (set! (-> v1-81 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (ja :num! (seek!)) ) + (ja :group! assistant-firecanyon-idle-b-ja) (let* ((f30-1 2.0) (v1-83 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-84 (the-as number (logior #x3f800000 v1-83))) ) (countdown (gp-2 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-84)))) 3)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-28 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-to-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((v1-146 (-> self skel root-channel 0))) - (set! (-> v1-146 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-39 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! - a0-39 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -337,47 +213,16 @@ (v1-177 (the-as number (logior #x3f800000 v1-176))) ) (when (< (+ -1.0 (the-as float v1-177)) 0.8) - (let ((v1-182 (-> self skel root-channel 0))) - (set! (-> v1-182 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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)) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-49 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-49 param 1) 1.0) - (set! (-> a0-49 frame-num) 0.0) - (joint-control-channel-group! - a0-49 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-50 (-> self skel root-channel 0))) - (set! (-> a0-50 param 0) (the float (+ (-> a0-50 frame-group data 0 length) -1))) - (set! (-> a0-50 param 1) 1.0) - (joint-control-channel-group-eval! a0-50 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -390,130 +235,44 @@ (< (+ -1.0 (the-as float v1-222)) 0.5) ) ) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-54 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-54 param 1) 1.0) - (set! (-> a0-54 frame-num) 0.0) - (joint-control-channel-group! a0-54 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-down-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 param 0) (the float (+ (-> a0-55 frame-group data 0 length) -1))) - (set! (-> a0-55 param 1) 1.0) - (joint-control-channel-group-eval! a0-55 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-249 (-> self skel root-channel 0))) - (set! (-> v1-249 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (ja :num! (seek!)) ) + (ja :group! assistant-firecanyon-idle-examine-ja) (let* ((f30-3 2.0) (v1-251 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-252 (the-as number (logior #x3f800000 v1-251))) ) (countdown (gp-4 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-252)))) 3)) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-62 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-62 param 1) 1.0) - (set! (-> a0-62 frame-num) 0.0) - (joint-control-channel-group! - a0-62 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) (the float (+ (-> a0-63 frame-group data 0 length) -1))) - (set! (-> a0-63 param 1) 1.0) - (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-65 (-> self skel root-channel 0))) - (set! (-> a0-65 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-65 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-65 param 1) 1.0) - (set! (-> a0-65 frame-num) 0.0) - (joint-control-channel-group! a0-65 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! assistant-firecanyon-idle-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-66 (-> self skel root-channel 0))) - (set! (-> a0-66 param 0) (the float (+ (-> a0-66 frame-group data 0 length) -1))) - (set! (-> a0-66 param 1) 1.0) - (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((v1-314 (-> self skel root-channel 0))) - (set! (-> v1-314 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (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)) - (let ((a0-75 (-> self skel root-channel 0))) - (set! (-> a0-75 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-75 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-75 param 1) 1.0) - (set! (-> a0-75 frame-num) 0.0) - (joint-control-channel-group! - a0-75 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-76 (-> self skel root-channel 0))) - (set! (-> a0-76 param 0) (the float (+ (-> a0-76 frame-group data 0 length) -1))) - (set! (-> a0-76 param 1) 1.0) - (joint-control-channel-group-eval! a0-76 (the-as art-joint-anim #f) num-func-seek!) - ) + (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 3c9679af31..73cbf257d9 100644 --- a/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc @@ -145,40 +145,11 @@ :code (behavior () (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -235,13 +206,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *spike-sg* spike - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 8 0 10.2) - :longest-edge (meters 5) - ) +(defskelgroup *spike-sg* spike spike-lod0-jg spike-idle-ja + ((spike-lod0-mg (meters 20)) (spike-lod1-mg (meters 999999))) + :bounds (static-spherem 0 8 0 10.2) + :longest-edge (meters 5) + ) ;; failed to figure out what this is: (defstate spike-up (spike) @@ -290,42 +259,13 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -381,7 +321,7 @@ :code (behavior () (transform-post) - (while #t + (loop (suspend) ) (none) @@ -427,7 +367,7 @@ :code (behavior () (transform-post) - (while #t + (loop (suspend) ) (none) @@ -499,13 +439,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *crate-darkeco-cluster-sg* crate-darkeco-cluster - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 1.6 0 3.3) - :longest-edge (meters 0) - ) +(defskelgroup *crate-darkeco-cluster-sg* crate-darkeco-cluster crate-darkeco-cluster-lod0-jg crate-darkeco-cluster-idle-ja + ((crate-darkeco-cluster-lod0-mg (meters 20)) (crate-darkeco-cluster-lod1-mg (meters 999999))) + :bounds (static-spherem 0 1.6 0 3.3) + ) ;; definition of type crate-darkeco-cluster (deftype crate-darkeco-cluster (process-drawable) diff --git a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc index 50fbc06d4b..887cfc28f4 100644 --- a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc @@ -73,15 +73,12 @@ ) ;; failed to figure out what this is: -(defskelgroup *flutflut-sg* flut-saddle - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - :shadow 2 - :sort 1 - ) +(defskelgroup *flutflut-sg* flut-saddle flut-saddle-lod0-jg -1 + ((flut-saddle-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + :shadow flut-saddle-shadow-mg + :sort 1 + ) ;; definition for function flutflut-effect ;; INFO: Return type mismatch int vs none. @@ -127,7 +124,7 @@ ) :code (behavior () - (while #t + (loop (let ((v1-0 (-> self condition))) (cond ((or (zero? v1-0) (= v1-0 1)) @@ -214,12 +211,10 @@ :code (behavior () (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) - (while #t + (loop (if (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-14))) (go-virtual wait-for-return) ) @@ -263,10 +258,7 @@ ) (flutflut-effect) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) 1.0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -282,9 +274,7 @@ (case arg2 (('draw) (ja-channel-set! 1) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (transform-post) @@ -355,7 +345,7 @@ (behavior () (ja-channel-set! 0) (ja-post) - (while #t + (loop (if (not (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-14)))) (go-virtual idle) ) 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 70cd26eee4..489f5ca76e 100644 --- a/test/decompiler/reference/levels/flut_common/target-flut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/target-flut_REF.gc @@ -230,11 +230,7 @@ ;; definition for function target-flut-falling-anim-trans ;; INFO: Return type mismatch int vs none. (defbehavior target-flut-falling-anim-trans target () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (b! (or (= v1-2 (-> self draw art-group data 144)) (= v1-2 (-> self draw art-group data 145))) cfg-7 @@ -242,46 +238,22 @@ (empty-form) ) ) - (ja-channel-push! 1 99) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - ) + (ja-channel-push! 1 (seconds 0.33)) + (ja :group! (-> self draw art-group data 144)) (b! #t cfg-23 :delay (nop!)) (label cfg-7) (cond ((and (logtest? (-> self control status) (cshape-moving-flags onsurf)) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 145) - ) - ) + (not (ja-group? (-> self draw art-group data 145))) ) - (ja-channel-push! 1 6) - (let ((v1-21 (-> self skel root-channel 0))) - (set! (-> v1-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 145))) - ) + (ja-channel-push! 1 (seconds 0.02)) + (ja :group! (-> self draw art-group data 145)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 144) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) + ((ja-group? (-> self draw art-group data 144)) + (ja :num! (loop!)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 145) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 145)) + (ja :num! (seek!)) ) ) (label cfg-23) @@ -292,105 +264,44 @@ ;; definition for function target-flut-hit-ground-anim (defbehavior target-flut-hit-ground-anim target () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 144) - ) + ((ja-group? (-> self draw art-group data 144)) (if (!= (-> self skel root-channel 0) (-> self skel channel)) - (ja-channel-push! 2 15) + (ja-channel-push! 2 (seconds 0.05)) (ja-channel-set! 2) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 145)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 148)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 145) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 148) :num! min) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0)) ) #f ) - ((let ((v1-33 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-33 (ja-group))) (or (= v1-33 (-> self draw art-group data 143)) (= v1-33 (-> self draw art-group data 145))) ) #f ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 149) - ) + ((ja-group? (-> self draw art-group data 149)) (ja-channel-set! 1) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (the-as art-joint-anim (-> self draw art-group data 145))) - (set! (-> a0-26 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 145)) data 0 length) -1)) - ) - (set! (-> a0-26 param 1) 1.0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! a0-26 (the-as art-joint-anim (-> self draw art-group data 145)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 145) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) - ((let ((v1-68 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-68 (ja-group))) (or (= v1-68 (-> self draw art-group data 152)) (= v1-68 (-> self draw art-group data 153))) ) (ja-channel-set! 1) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 154))) - (set! (-> a0-37 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 154)) data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 154)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 154) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) @@ -689,11 +600,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-37 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-37 (ja-group))) (or (not (or (= v1-37 (-> self draw art-group data 59)) (= v1-37 (-> self draw art-group data 60)) (= v1-37 (-> self draw art-group data 61)) @@ -711,96 +618,42 @@ :code (behavior () (let ((gp-0 22)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond ((or (= v1-2 (-> self draw art-group data 141)) (= v1-2 (-> self draw art-group data 161))) (set! gp-0 60) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 155) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 155)) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 158) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 159))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 159)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 159)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 158)) + (ja-no-eval :group! (-> self draw art-group data 159) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 150) - ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 151))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 151)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 151)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 150)) + (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 140) - ) - ) - (ja-channel-push! 1 gp-0) + (if (not (ja-group? (-> self draw art-group data 140))) + (ja-channel-push! 1 (the-as time-frame gp-0)) ) ) - (let ((v1-91 (-> self skel root-channel 0))) - (set! (-> v1-91 frame-group) (the-as art-joint-anim (-> self draw art-group data 140))) - ) - (while #t + (ja :group! (-> self draw art-group data 140)) + (loop (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -849,11 +702,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-37 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-37 (ja-group))) (or (not (or (= v1-37 (-> self draw art-group data 59)) (= v1-37 (-> self draw art-group data 60)) (= v1-37 (-> self draw art-group data 61)) @@ -897,86 +746,48 @@ ) (let ((gp-0 22)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 140) - ) + ((ja-group? (-> self draw art-group data 140)) (set! gp-0 60) ) - ((let ((v1-9 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-9 (ja-group))) (or (= v1-9 (-> self draw art-group data 143)) (= v1-9 (-> self draw art-group data 144)) (= v1-9 (-> self draw art-group data 152)) (= v1-9 (-> self draw art-group data 154)) ) ) - (ja-channel-push! 1 24) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 161))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 161)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 161)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.08)) + (ja-no-eval :group! (-> self draw art-group data 161) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (set! f30-0 (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 161) - ) + ((ja-group? (-> self draw art-group data 161)) (ja-channel-set! 2) 1.0 ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 141) - ) + ((ja-group? (-> self draw art-group data 141)) (set! f28-0 (ja-frame-num 0)) (-> self skel root-channel 1 frame-interp) ) (else - (ja-channel-push! 2 gp-0) + (ja-channel-push! 2 (the-as time-frame gp-0)) f30-0 ) ) ) ) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 dist) 49152.0) - (set! (-> a0-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 141))) - (set! (-> a0-32 param 0) 1.0) - (set! (-> a0-32 frame-num) f28-0) - (joint-control-channel-group! a0-32 (the-as art-joint-anim (-> self draw art-group data 141)) num-func-loop!) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (set! (-> gp-1 frame-interp) f30-0) - (set! (-> gp-1 dist) 40960.0) - (joint-control-channel-group! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 142)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (* 0.5 f28-0)) - ) - (while #t + (ja-no-eval :group! (-> self draw art-group data 141) :num! (loop!) :dist 49152.0 :frame-num f28-0) + (ja-no-eval :chan 1 + :group! (-> self draw art-group data 142) + :num! (identity (* 0.5 f28-0)) + :frame-interp f30-0 + :dist 40960.0 + ) + (loop (suspend) (let ((f0-13 (lerp-scale (the-as float 0.0) @@ -996,15 +807,9 @@ (if (= (-> self control surf name) '*tar-surface*) (set! f0-18 (* 0.4 (-> self control unknown-float12))) ) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) f0-18) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 num-func) num-func-identity) - (set! (-> gp-2 frame-num) (* 0.5 (ja-frame-num 0))) + (ja :num! (loop! f0-18)) ) + (ja :chan 1 :num-func num-func-identity :frame-num (* 0.5 (ja-frame-num 0))) (let ((f0-22 (ja-aframe-num 0))) (cond ((and (>= (-> self skel effect last-frame-num) 20.0) (< f0-22 20.0)) @@ -1134,41 +939,20 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 2 36) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 143)) - num-func-identity + (ja-channel-push! 2 (seconds 0.12)) + (ja :group! (-> self draw art-group data 143) :num! min) + (ja :chan 1 + :group! (-> self draw art-group data 146) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 146))) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 146)) - num-func-chan - ) - ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 143))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim (-> self draw art-group data 143)) num-func-+!) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 146))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 146)) - num-func-chan + (ja :group! (-> self draw art-group data 143) :num! (+!)) + (ja :chan 1 + :group! (-> self draw art-group data 146) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - ) (suspend) (until (ja-done? 0) (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) @@ -1189,50 +973,23 @@ ) (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) (suspend) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-14 param 0) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 144)) num-func-loop!) - ) - (let ((a0-15 (-> self skel root-channel 1))) - (set! (-> a0-15 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 147))) - (set! (-> a0-15 param 0) 0.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-chan + (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - ) - (while #t + (loop (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-16 param 0) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 144)) - num-func-loop! + (ja :group! (-> self draw art-group data 144) :num! (loop!)) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! (chan 0) + :frame-interp (-> self control unknown-float122) ) - ) - (let ((a0-17 (-> self skel root-channel 1))) - (set! (-> a0-17 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 147))) - (set! (-> a0-17 param 0) 0.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-chan - ) - ) ) (none) ) @@ -1287,11 +1044,7 @@ (if (!= (-> self state-time) (-> *display* base-frame-counter)) (mod-var-jump #t #t (cpad-hold? (-> self control unknown-cpad-info00 number) x) (-> self control transv)) ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 149) - ) + (if (ja-group? (-> self draw art-group data 149)) (sound-play-by-name (static-sound-name "flut-flap") (-> self flut flap-sound-id) 1024 0 0 1 #t) ) (seek! @@ -1303,59 +1056,32 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 15) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 149))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 149)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 149)) num-func-seek!) - ) + (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) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *flut-jump-mods*) (dotimes (gp-0 1) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 149))) - (set! (-> s5-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 149)) data 0 length) -1)) - ) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe (the-as float 14.0) 0)) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 149)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 149) + :num! (seek!) + :frame-num (ja-aframe (the-as float 14.0) 0) + ) (until (ja-done? 0) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (while (< 8192.0 (target-height-above-ground)) (suspend) (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 3 (seconds 0.1)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) - (when (< (ja-aframe-num 0) 14.0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 14.0) 0)) + (ja :num! (loop!)) + (if (< (ja-aframe-num 0) 14.0) + (ja :num-func num-func-identity :frame-num (ja-aframe (the-as float 14.0) 0)) ) - ) (seek! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max) @@ -1368,23 +1094,14 @@ ) ) (-> *display* base-frame-counter) - (ja-channel-push! 2 30) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-19 param 0) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 144)) num-func-loop!) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 frame-interp) (-> self control unknown-float122)) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-identity + (ja-channel-push! 2 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! min + :frame-interp (-> self control unknown-float122) ) - (set! (-> gp-2 frame-num) 0.0) - ) - (while #t + (loop (suspend) (seek! (-> self control dynam gravity-max) @@ -1396,15 +1113,8 @@ (-> self control unknown-dynamics00 gravity-length) (* 163840.0 (-> *display* seconds-per-frame)) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-24 (-> self skel root-channel 1))) - (set! (-> a0-24 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-24 param 0) 0.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop! max)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) ) (none) ) @@ -1448,11 +1158,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (and (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-34 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-34 (ja-group))) (or (not (or (= v1-34 (-> self draw art-group data 59)) (= v1-34 (-> self draw art-group data 60)) (= v1-34 (-> self draw art-group data 61)) @@ -1517,49 +1223,25 @@ :code (behavior ((arg0 symbol)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 144) - ) + ((ja-group? (-> self draw art-group data 144)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 149) - ) - (ja-channel-push! 2 60) + ((ja-group? (-> self draw art-group data 149)) + (ja-channel-push! 2 (seconds 0.2)) ) (else - (ja-channel-push! 2 150) + (ja-channel-push! 2 (seconds 0.5)) ) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 144))) - (set! (-> a0-11 param 0) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 144)) num-func-loop!) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! (-> gp-0 frame-interp) (-> self control unknown-float122)) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 147)) - num-func-identity + (ja-no-eval :group! (-> self draw art-group data 144) :num! (loop!) :frame-num 0.0) + (ja :chan 1 + :group! (-> self draw art-group data 147) + :num! min + :frame-interp (-> self control unknown-float122) ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (loop (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-14 (-> self skel root-channel 1))) - (set! (-> a0-14 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-14 param 0) 0.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop! max)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self control unknown-float122)) ) (none) ) @@ -1742,16 +1424,9 @@ ) :code (behavior () - (ja-channel-push! 1 6) + (ja-channel-push! 1 (seconds 0.02)) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 150)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 150) :num! min) (set! (-> self control dynam gravity-max) 368640.0) (set! (-> self control dynam gravity-length) 368640.0) (let ((f28-0 0.0) @@ -1770,11 +1445,7 @@ (and (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-39 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-39 (ja-group))) (or (not (or (= v1-39 (-> self draw art-group data 59)) (= v1-39 (-> self draw art-group data 60)) (= v1-39 (-> self draw art-group data 61)) @@ -1816,11 +1487,7 @@ (vector-matrix*! (-> self control unknown-vector120) gp-2 (-> self control unknown-matrix01)) ) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self control unknown-surface01 align-speed))) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.1)) (set! (-> *flut-run-attack-mods* turnvv) 0.0) ) @@ -1831,11 +1498,7 @@ (if (and (zero? (logand (-> self control status) (cshape-moving-flags onsurf))) (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) (-> *FLUT-bank* ground-timeout)) (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (let ((v1-105 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-105 (ja-group))) (or (not (or (= v1-105 (-> self draw art-group data 59)) (= v1-105 (-> self draw art-group data 60)) (= v1-105 (-> self draw art-group data 61)) @@ -1850,26 +1513,14 @@ (when (!= f30-0 0.0) (set! (-> self trans-hook) (-> target-flut-hit-ground trans)) (if (not (ja-done? 0)) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) ) - (let ((a0-59 (-> self skel root-channel 0))) - (set! (-> a0-59 frame-group) (the-as art-joint-anim (-> self draw art-group data 151))) - (set! (-> a0-59 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 151)) data 0 length) -1)) - ) - (set! (-> a0-59 param 1) 1.0) - (set! (-> a0-59 frame-num) 0.0) - (joint-control-channel-group! a0-59 (the-as art-joint-anim (-> self draw art-group data 151)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 151) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) f30-0) (suspend) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 param 0) (the float (+ (-> a0-62 frame-group data 0 length) -1))) - (set! (-> a0-62 param 1) 1.0) - (joint-control-channel-group-eval! a0-62 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1985,52 +1636,29 @@ :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 15) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 152))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 8.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 152)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 152) + :num! (seek! (ja-aframe (the-as float 8.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 8.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 152))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 152)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 8.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 152)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 8.0) 0))) ) + (ja-no-eval :group! (-> self draw art-group data 152) + :num! (seek!) + :frame-num (ja-aframe (the-as float 8.0) 0) + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 153)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) - (while #t + (ja :group! (-> self draw art-group data 153) :num! min) + (loop (suspend) ) (none) @@ -2084,42 +1712,26 @@ :code (behavior () (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 154))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 154)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 154) + :num! (seek! (ja-aframe (the-as float 22.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 22.0) 0))) ) (target-danger-set! 'harmless #f) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 154))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 154)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 22.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 154)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 154) + :num! (seek!) + :frame-num (ja-aframe (the-as float 22.0) 0) + ) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go target-flut-stance) (none) @@ -2263,41 +1875,17 @@ (let ((f30-0 1.0)) (case (-> gp-0 angle) (('shove) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 158) - ) - ) + (when (not (ja-group? (-> self draw art-group data 158))) (ja-channel-set! 1) - (let ((s4-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-3 - (the-as art-joint-anim (-> self draw art-group data 158)) - num-func-identity - ) - (set! (-> s4-3 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 158) :num! min) ) (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) (sound-play-by-name (static-sound-name "flut-hit") (new-sound-id) 1024 1524 0 1 #t) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 157) - ) - ) - (ja-channel-push! 1 22) - (let ((s4-6 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-6 - (the-as art-joint-anim (-> self draw art-group data 157)) - num-func-identity - ) - (set! (-> s4-6 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 157))) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! (-> self draw art-group data 157) :num! min) ) ) ) @@ -2399,16 +1987,8 @@ ) (else (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 160))) - (set! (-> a0-33 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 160)) data 0 length) -1)) - ) - (set! (-> a0-33 param 1) 1.0) - (set! (-> a0-33 frame-num) 0.0) - (joint-control-channel-group! a0-33 (the-as art-joint-anim (-> self draw art-group data 160)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 160) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (let ((gp-5 (new 'stack-no-clear 'vector))) @@ -2418,11 +1998,7 @@ ) ) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2480,14 +2056,11 @@ ) (let ((gp-1 #f)) (sound-play-by-name (static-sound-name "uppercut") (new-sound-id) 1024 0 0 1 #t) - (ja-channel-push! 1 15) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 155))) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 24.0) 0)) - (set! (-> s5-2 param 1) 1.0) - (set! (-> s5-2 frame-num) 0.0) - (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 155)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 155) + :num! (seek! (ja-aframe (the-as float 24.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (when (and (not gp-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -2495,11 +2068,7 @@ ) (set! (-> self control transv quad) (the-as uint128 0)) (suspend) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 param 0) (ja-aframe (the-as float 24.0) 0)) - (set! (-> s5-3 param 1) 1.0) - (joint-control-channel-group-eval! s5-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 24.0) 0))) ) ) (sound-play-by-name (static-sound-name "flut-coo") (new-sound-id) 1024 0 0 1 #t) @@ -2609,23 +2178,11 @@ (set! (-> self control unknown-vector103 quad) (-> s4-0 quad)) ) (sound-play-by-name (static-sound-name "flut-coo") (new-sound-id) 921 -762 0 1 #t) - (ja-channel-push! 1 15) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 156))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 156)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 156)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 156) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process arg0) 'draw) (set-yaw-angle-clear-roll-pitch! @@ -2696,22 +2253,13 @@ :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 42.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 35) + :num! (seek!) + :frame-num (ja-aframe (the-as float 42.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go target-stance) (none) diff --git a/test/decompiler/reference/levels/intro/evilbro_REF.gc b/test/decompiler/reference/levels/intro/evilbro_REF.gc index 08fbbf57ae..125da8d68d 100644 --- a/test/decompiler/reference/levels/intro/evilbro_REF.gc +++ b/test/decompiler/reference/levels/intro/evilbro_REF.gc @@ -21,14 +21,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *evilbro-intro-sg* evilbro - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilbro-intro-sg* evilbro evilbro-lod0-jg evilbro-idle-ja + ((evilbro-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilbro-shadow-mg + ) ;; definition for method 32 of type evilbro ;; INFO: Return type mismatch spool-anim vs basic. @@ -66,30 +63,14 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) + (loop + (ja-no-eval :group! evilbro-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (while (let* ((s5-0 (-> *display* base-frame-counter)) @@ -104,29 +85,10 @@ (suspend) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) @@ -173,14 +135,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *evilsis-intro-sg* evilsis - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilsis-intro-sg* evilsis evilsis-lod0-jg evilsis-idle-ja + ((evilsis-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilsis-shadow-mg + ) ;; definition for method 32 of type evilsis ;; INFO: Return type mismatch art-element vs basic. diff --git a/test/decompiler/reference/levels/jungle/bouncer_REF.gc b/test/decompiler/reference/levels/jungle/bouncer_REF.gc index 8be4b45375..a8ec5da232 100644 --- a/test/decompiler/reference/levels/jungle/bouncer_REF.gc +++ b/test/decompiler/reference/levels/jungle/bouncer_REF.gc @@ -31,13 +31,10 @@ (method-set! springbox 12 (method-of-type process run-logic?)) ;; failed to figure out what this is: -(defskelgroup *bouncer-sg* bounceytarp - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *bouncer-sg* bounceytarp bounceytarp-lod0-jg bounceytarp-idle-ja + ((bounceytarp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: (defstate bouncer-wait (springbox) @@ -73,16 +70,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -108,30 +98,21 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self smush) 0.0) - (while #t - (cond - ((>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 0.1) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (lerp-scale - (ja-aframe 6.0 0) - (ja-aframe 2.0 0) - (vector-vector-xz-distance (target-pos 0) (-> self root trans)) - 0.0 - 4096.0 - ) - ) - (set! (-> gp-0 param 1) 0.2) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (loop + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) + (ja :num! (seek! 0.0 0.1)) + (ja :num! (seek! + (lerp-scale + (ja-aframe 6.0 0) + (ja-aframe 2.0 0) + (vector-vector-xz-distance (target-pos 0) (-> self root trans)) + 0.0 + 4096.0 + ) + 0.2 + ) + ) ) - ) (suspend) (if (ja-min? 0) (go bouncer-wait) @@ -148,22 +129,10 @@ :code (behavior () (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 (seconds 0.1)) - (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) - (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 6.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go bouncer-wait) (none) diff --git a/test/decompiler/reference/levels/jungle/darkvine_REF.gc b/test/decompiler/reference/levels/jungle/darkvine_REF.gc index f50c3ffbe6..c83b89bd25 100644 --- a/test/decompiler/reference/levels/jungle/darkvine_REF.gc +++ b/test/decompiler/reference/levels/jungle/darkvine_REF.gc @@ -54,13 +54,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *darkvine-sg* darkvine - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *darkvine-sg* darkvine darkvine-lod0-jg darkvine-idle-ja + ((darkvine-lod0-mg (meters 20)) (darkvine-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3.5) + ) ;; failed to figure out what this is: (defpartgroup group-darkvine-puffs @@ -194,29 +191,17 @@ (set! (-> self dangerous) #t) (set! (-> self vulnerable) #t) (let ((f30-0 0.0)) - (while #t + (loop (if (logtest? (get-reminder (get-task-control (game-task jungle-plant)) 0) 1) (go darkvine-die #f) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) (-> self speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! darkvine-idle-ja :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) (if (and (>= (ja-aframe-num 0) 120.0) (>= 180.0 (ja-aframe-num 0))) (seek-toward-yaw-angle! (-> self root-override) f30-0 32768.0 (seconds 0.5)) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self speed))) ) (set! f30-0 (if (rand-vu-percent? 0.5) (+ 16384.0 f30-0) @@ -258,16 +243,8 @@ (set! (-> self dangerous) #f) (set! (-> self vulnerable) #f) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 45) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! darkvine-retreat-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (sp-launch-particles-var *sp-particle-system-2d* @@ -278,11 +255,7 @@ 1.0 ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ja-channel-set! 0) (let ((gp-0 (-> *display* base-frame-counter))) @@ -316,22 +289,10 @@ (set! (-> self dangerous) #t) (logior! (-> self mask) (process-mask actor-pause)) (ja-channel-set! 1) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! darkvine-pushup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go darkvine-idle) (none) @@ -347,17 +308,10 @@ (logclear! (-> self mask) (process-mask actor-pause)) (if arg0 (ja-channel-set! 1) - (ja-channel-push! 1 150) + (ja-channel-push! 1 (seconds 0.5)) ) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! darkvine-dead-ja :num! min) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) diff --git a/test/decompiler/reference/levels/jungle/fisher_REF.gc b/test/decompiler/reference/levels/jungle/fisher_REF.gc index ba76d6eb79..4507fe8275 100644 --- a/test/decompiler/reference/levels/jungle/fisher_REF.gc +++ b/test/decompiler/reference/levels/jungle/fisher_REF.gc @@ -327,7 +327,7 @@ :vel 0.6 :swing-min (seconds 0.5) :swing-max (seconds 2) - :period #x9e + :period (seconds 0.527) :fish-vel 1.6 :bad-percent 0.083 :powerup-percent 0.1 @@ -415,7 +415,7 @@ :vel 1.83 :swing-min (seconds 0.5) :swing-max (seconds 2) - :period #xa8 + :period (seconds 0.56) :fish-vel 1.6 :bad-percent 0.066 :powerup-percent 0.1 @@ -437,7 +437,7 @@ :vel 0.8 :swing-min (seconds 0.5) :swing-max (seconds 2) - :period (seconds 0.5133333) + :period (seconds 0.515) :fish-vel 1.7 :bad-percent 0.066 :powerup-percent 0.1 @@ -557,7 +557,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -576,7 +576,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -606,7 +606,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -625,7 +625,7 @@ :timeout (seconds 3) :vel 0.6 :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) + :swing-max (seconds 0.335) :period (seconds 0.5) :fish-vel 1.3 :powerup-percent 0.5 @@ -858,50 +858,35 @@ ) ;; failed to figure out what this is: -(defskelgroup *catch-fisha-sg* catch-fisha - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *catch-fisha-sg* catch-fisha catch-fisha-lod0-jg catch-fisha-idle-ja + ((catch-fisha-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *catch-fishb-sg* catch-fishb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *catch-fishb-sg* catch-fishb catch-fishb-lod0-jg catch-fishb-idle-ja + ((catch-fishb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *catch-fishc-sg* catch-fishc - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *catch-fishc-sg* catch-fishc catch-fishc-lod0-jg catch-fishc-idle-ja + ((catch-fishc-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *fish-net-sg* fish-net - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *fish-net-sg* fish-net fish-net-lod0-jg fish-net-fishing-ja + ((fish-net-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *fisher-sg* fisher - 0 - 6 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 -6 0 14) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *fisher-sg* fisher fisher-lod0-jg fisher-idle-more-often-ja + ((fisher-lod0-mg (meters 20)) (fisher-lod1-mg (meters 40)) (fisher-lod2-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 14) + :shadow fisher-shadow-mg + ) ;; definition for method 52 of type fisher ;; INFO: Return type mismatch shadow-flags vs none. @@ -1007,33 +992,8 @@ (-> self root) (TODO-RENAME-12 (-> (the-as fisher (-> self parent 0)) path) (-> self dir) (-> self pos)) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-2 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (fisher-fish-move) (if (< (vector-vector-xz-distance (-> self root trans) (-> (the-as fisher (-> self parent 0)) paddle-pos)) @@ -1047,11 +1007,7 @@ (go fisher-fish-die) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1104,10 +1060,7 @@ (vector-float*! (-> self root scale) (-> self root scale) 0.93) (ja-post) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -1399,9 +1352,7 @@ (lookup-text! *common-text* (game-text-id quit) #f) ) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (ja :group! (get-art-elem self)) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (-> self child) (deactivate (-> self child 0)) @@ -1754,7 +1705,7 @@ (run-next-time-in-process gp-0 (lambda :behavior fisher-fish () (logclear! (-> self mask) (process-mask pause)) - (while #t + (loop (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) (suspend) ) @@ -1822,7 +1773,7 @@ (set! (-> self ambient-steady) 0) (set! (-> self ambient-sagging) 0) (set! (-> self ambient-almost) 0) - (while #t + (loop (hide-hud-quick) (fisher-game-update) (if (or (zero? (-> self params timeout)) @@ -1847,7 +1798,7 @@ :virtual #t :trans (behavior () - (set-blackout-frames (seconds 0.016666668)) + (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) @@ -2143,81 +2094,30 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) ) + (loop + (ja :group! (get-art-elem self)) (let* ((f30-0 5.0) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-43 self) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (when (ja-group? fisher-idle-more-often-ja) + (ja-no-eval :group! fisher-idle-less-often-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-43 self) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2387,35 +2287,16 @@ (set! (-> v1-35 0 param2) (the-as basic (-> self control quat))) ) ) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 99)) - num-func-identity - ) - (set! (-> s5-1 frame-num) (ja-aframe 15.0 0)) - ) + (ja :group! (-> self draw art-group data 99) :num! (identity (ja-aframe 15.0 0))) (let ((s5-2 (new 'stack-no-clear 'vector))) (until (-> self control unknown-spoolanim00) (let ((v1-42 (handle->process arg0))) (when v1-42 - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (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)) (s4-0 (new-stack-vector0)) @@ -2439,23 +2320,11 @@ ) (case (-> self control unknown-spoolanim00) (('lose) - (ja-channel-push! 1 30) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 frame-group) (the-as art-joint-anim (-> self draw art-group data 100))) - (set! (-> a0-38 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 100)) data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (set! (-> a0-38 frame-num) 0.0) - (joint-control-channel-group! a0-38 (the-as art-joint-anim (-> self draw art-group data 100)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 100) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) - (set! (-> a0-39 param 1) 1.0) - (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) ) diff --git a/test/decompiler/reference/levels/jungle/hopper_REF.gc b/test/decompiler/reference/levels/jungle/hopper_REF.gc index 573f782373..a97b227dd6 100644 --- a/test/decompiler/reference/levels/jungle/hopper_REF.gc +++ b/test/decompiler/reference/levels/jungle/hopper_REF.gc @@ -23,14 +23,12 @@ ) ;; failed to figure out what this is: -(defskelgroup *hopper-sg* hopper - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *hopper-sg* hopper hopper-lod0-jg hopper-idle-ja + ((hopper-lod0-mg (meters 20)) (hopper-lod1-mg (meters 40)) (hopper-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + :longest-edge (meters 1) + :shadow hopper-shadow-mg + ) ;; failed to figure out what this is: nav-enemy-default-event-handler @@ -100,7 +98,7 @@ nav-enemy-default-event-handler (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -135,43 +133,19 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (while #t + (ja-channel-push! 1 (seconds 0.075)) + (loop (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! hopper-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! hopper-burp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -198,77 +172,35 @@ nav-enemy-default-event-handler (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 16384.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 20) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + ((ja-group? hopper-jump-long-ja) + (ja-channel-push! 1 (seconds 0.067)) + (ja-no-eval :group! hopper-jump-long-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 9) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + ((ja-group? hopper-jump-short-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! hopper-jump-short-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) (else - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) ) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! hopper-idle-ja :num! min) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (when (or (logtest? (nav-control-flags navcf19) (-> self nav flags)) (< 2.0 (-> self nav block-count))) (set! (-> self nav block-count) 0.0) @@ -319,77 +251,35 @@ nav-enemy-default-event-handler (vector-reset! (-> self collide-info transv)) (set! (-> self jump-length) 32768.0) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (while #t + (loop (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 20) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + ((ja-group? hopper-jump-long-ja) + (ja-channel-push! 1 (seconds 0.067)) + (ja-no-eval :group! hopper-jump-long-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 9) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + ((ja-group? hopper-jump-short-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! hopper-jump-short-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) (else - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) ) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! hopper-idle-ja :num! min) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (set! (-> self nav target-pos quad) (-> (target-pos 0) quad)) (hopper-do-jump) diff --git a/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc b/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc index ad10f15a3d..ac8c2d8aaa 100644 --- a/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-mirrors_REF.gc @@ -707,40 +707,30 @@ ) ;; failed to figure out what this is: -(defskelgroup *periscope-base-sg* periscope - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 23.5 0 24) - :longest-edge (meters 4.5) - ) +(defskelgroup *periscope-base-sg* periscope periscope-base-lod0-jg periscope-base-idle-ja + ((periscope-base-lod0-mg (meters 20)) (periscope-base-lod1-mg (meters 999999))) + :bounds (static-spherem 0 23.5 0 24) + :longest-edge (meters 4.5) + ) ;; failed to figure out what this is: -(defskelgroup *periscope-mirror-sg* periscope - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *periscope-mirror-sg* periscope periscope-mirror-lod0-jg periscope-mirror-idle-ja + ((periscope-mirror-lod0-mg (meters 20)) (periscope-mirror-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; failed to figure out what this is: -(defskelgroup *reflector-mirror-sg* reflector-mirror - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 9 0 9) - :longest-edge (meters 3) - ) +(defskelgroup *reflector-mirror-sg* reflector-mirror reflector-mirror-lod0-jg reflector-mirror-idle-ja + ((reflector-mirror-lod0-mg (meters 999999))) + :bounds (static-spherem 0 9 0 9) + :longest-edge (meters 3) + ) ;; failed to figure out what this is: -(defskelgroup *reflector-mirror-break-sg* reflector-mirror - 4 - 6 - ((5 (meters 999999))) - :bounds (static-spherem 0 9 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *reflector-mirror-break-sg* reflector-mirror reflector-mirror-break-lod0-jg reflector-mirror-break-break-ja + ((reflector-mirror-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 9 0 9) + ) ;; failed to figure out what this is: (defstate cam-periscope (camera-slave) @@ -779,7 +769,7 @@ (f30-0 (the-as float (-> (the-as periscope (-> gp-0 0)) turn))) (s5-0 (new 'stack-no-clear 'vector)) ) - (while #t + (loop (when (not (or (paused?) (-> (the-as periscope (-> self change-event-from 0)) aligned?))) (vector-reset! s5-0) (when *camera-read-analog* @@ -855,7 +845,7 @@ :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (while #t + (loop (set! (-> gp-0 x) (-> self parent-override 0 tilt)) (set! (-> gp-0 y) (-> self parent-override 0 turn)) (set! (-> gp-0 z) 0.0) @@ -1416,7 +1406,7 @@ (suspend) (update-transforms! (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1494,7 +1484,7 @@ ) (update-transforms! (-> self root-override)) (set! (-> self y-offset) (-> self height)) - (while #t + (loop (if (periscope-has-power-input?) (go periscope-wait-for-player) ) @@ -1586,7 +1576,7 @@ (s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) - (while #t + (loop (set! (-> s5-0 quad) (-> self node-list data 4 bone transform vector 3 quad)) (let ((a0-10 s5-0) (f30-1 81920.0) @@ -1630,7 +1620,7 @@ ) (when (cpad-pressed? 0 circle) (set! (-> self grips-moving?) #f) - (while #t + (loop (send-event *target* 'change-mode 'periscope self) (hide-hud) (suspend) @@ -1793,7 +1783,7 @@ (send-event *camera* 'change-state cam-periscope 0) (logior! (-> self reflector 0 draw status) (draw-status hidden)) (suspend) - (while #t + (loop (if (not (-> self aligned?)) (set! (-> self lock-time) (-> *display* base-frame-counter)) ) @@ -1805,7 +1795,7 @@ (if (periscope-test-task-complete?) (close-specific-task! (game-task jungle-lurkerm) (task-status need-reminder)) ) - (while #t + (loop (let ((a1-6 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-6 from) self) (set! (-> a1-6 num-params) 0) @@ -1939,7 +1929,7 @@ ) (sound-stop (-> self grips-sound-id)) (ja-post) - (while #t + (loop (suspend) ) (none) @@ -2100,7 +2090,7 @@ ) (process-entity-status! self (entity-perm-status complete) #t) (reflector-origin-update (-> self link next)) - (while #t + (loop (suspend) ) (none) @@ -2147,7 +2137,7 @@ (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> gp-0 y) (+ 49152.0 (-> gp-0 y))) - (while #t + (loop (draw-power-beam gp-0 (-> self beam-end)) (update! (-> self sound)) (when (logtest? (-> self draw status) (draw-status was-drawn)) @@ -2247,7 +2237,7 @@ ) ) (logior! (-> self mask) (process-mask actor-pause)) - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc index fe01798b50..655abd9871 100644 --- a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc @@ -2,23 +2,18 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *med-res-firecanyon-sg* medres-firecanyon - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -440 530) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-firecanyon-sg* medres-firecanyon medres-firecanyon-lod0-jg medres-firecanyon-idle-ja + ((medres-firecanyon-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -440 530) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *jungle-camera-sg* jungle-camera - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :texture-level 2 - ) +(defskelgroup *jungle-camera-sg* jungle-camera 0 2 + ((1 (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :texture-level 2 + ) ;; definition of type logtrap (deftype logtrap (process-drawable) @@ -42,14 +37,12 @@ ) ;; failed to figure out what this is: -(defskelgroup *logtrap-sg* logtrap - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 8 0 13) - :longest-edge (meters 6) - :shadow 3 - ) +(defskelgroup *logtrap-sg* logtrap logtrap-lod0-jg logtrap-idle-ja + ((logtrap-lod0-mg (meters 20)) (logtrap-lod1-mg (meters 999999))) + :bounds (static-spherem 0 8 0 13) + :longest-edge (meters 6) + :shadow logtrap-shadow-mg + ) ;; failed to figure out what this is: (defstate idle (logtrap) @@ -63,16 +56,8 @@ :code (behavior () (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (logtest? (-> self draw status) (draw-status was-drawn)) (cond @@ -88,11 +73,7 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -151,35 +132,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *towertop-sg* towertop - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *towertop-sg* towertop towertop-lod0-jg towertop-idle-ja + ((towertop-lod0-mg (meters 20)) (towertop-lod1-mg (meters 40)) (towertop-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; failed to figure out what this is: (defstate towertop-idle (towertop) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.4) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max 0.4) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.4) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.4)) ) ) (none) @@ -226,13 +192,14 @@ ) ;; failed to figure out what this is: -(defskelgroup *lurkerm-tall-sail-sg* lurkerm-tall-sail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 5 0 7) - :longest-edge (meters 4) - ) +(defskelgroup *lurkerm-tall-sail-sg* lurkerm-tall-sail lurkerm-tall-sail-lod0-jg lurkerm-tall-sail-idle-ja + ((lurkerm-tall-sail-lod0-mg (meters 20)) + (lurkerm-tall-sail-lod1-mg (meters 40)) + (lurkerm-tall-sail-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 5 0 7) + :longest-edge (meters 4) + ) ;; failed to figure out what this is: (defstate lurkerm-tall-sail-idle (lurkerm-tall-sail) @@ -253,16 +220,8 @@ (the-as (function none :behavior lurkerm-tall-sail) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (quaternion-rotate-local-y! (-> self root-override quat) @@ -270,11 +229,7 @@ (* 12743.111 (-> *display* seconds-per-frame) (-> self speed)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (* 0.5 (-> self speed)))) ) ) (none) @@ -354,13 +309,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *lurkerm-short-sail-sg* lurkerm-short-sail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 5 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *lurkerm-short-sail-sg* lurkerm-short-sail 0 4 + ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) + :bounds (static-spherem 0 5 0 9) + ) ;; failed to figure out what this is: (defstate lurkerm-short-sail-idle (lurkerm-short-sail) @@ -381,16 +333,8 @@ (the-as (function none :behavior lurkerm-short-sail) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (quaternion-rotate-local-y! (-> self root-override quat) @@ -398,11 +342,7 @@ (* -12743.111 (-> *display* seconds-per-frame) (-> self speed)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (* 0.5 (-> self speed)))) ) ) (none) @@ -505,13 +445,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *lurkerm-piston-sg* lurkerm-piston - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *lurkerm-piston-sg* lurkerm-piston lurkerm-piston-geo-jg lurkerm-piston-idle-ja + ((lurkerm-piston-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) ;; failed to figure out what this is: (defstate lurkerm-piston-idle (lurkerm-piston) @@ -532,16 +469,8 @@ (the-as (function none :behavior lurkerm-piston) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (-> self speed)) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self speed)) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self base quad)) @@ -549,11 +478,7 @@ (move-to-point! (-> self root-override) gp-0) ) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) (-> self speed)) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self speed))) ) ) (none) @@ -653,13 +578,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *accordian-sg* accordian - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem -7 0 23 25) - :longest-edge (meters 4) - ) +(defskelgroup *accordian-sg* accordian accordian-lod0-jg accordian-idle-ja + ((accordian-lod0-mg (meters 20)) (accordian-lod1-mg (meters 999999))) + :bounds (static-spherem -7 0 23 25) + :longest-edge (meters 4) + ) ;; failed to figure out what this is: (defstate accordian-idle (accordian) @@ -678,19 +601,12 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja-no-eval :num! (loop!) :frame-num 0.0) (ja-post) - (while #t + (loop (suspend) (when (logtest? (-> self draw status) (draw-status was-drawn)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (-> self speed)) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self speed))) (ja-post) ) ) @@ -715,13 +631,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *junglecam-sg* junglecam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 80) - :longest-edge (meters 0) - ) +(defskelgroup *junglecam-sg* junglecam junglecam-lod0-jg junglecam-beamcam-ja + ((junglecam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 80) + ) ;; definition of type junglecam (deftype junglecam (process-hidden) @@ -786,30 +699,14 @@ :code (behavior () (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 0.0 0))) ) (send-event (ppointer->process (-> self parent)) 'go) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -865,13 +762,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *precurbridge-sg* precurbridge - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 40) - :longest-edge (meters 3.6) - ) +(defskelgroup *precurbridge-sg* precurbridge precurbridge-geo-jg precurbridge-idle-ja + ((precurbridge-geo-mg (meters 20)) (precurbridge-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 40) + :longest-edge (meters 3.6) + ) ;; failed to figure out what this is: (defstate precurbridge-idle (precurbridge) @@ -885,16 +780,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 3) :num! min) (transform-post) - (while #t + (loop (when (and *target* (< (vector-vector-xz-distance (-> self activation-point) (-> *target* control trans)) 49152.0) (< (-> self activation-point y) (-> *target* control trans y)) @@ -981,25 +869,13 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 0.25) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.1) (spawn-projectile-blue *target*) ) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 0.25) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.25)) ) (go precurbridge-active #f) (none) @@ -1035,65 +911,31 @@ (set! (-> self draw bounds w) 81920.0) (when arg0 (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 4) :num! min) ) (ja-post) (update-transforms! (-> self root-override)) (logior! (-> self mask) (process-mask actor-pause)) - (while #t + (loop (if (not (movie?)) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) ) (cond ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 5))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 5) :num! min) ) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 4))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 4) :num! min) ) ) ) (update! (-> self sound)) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) 0.4) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.4)) (suspend) ) (none) @@ -1316,13 +1158,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *maindoor-sg* maindoor - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *maindoor-sg* maindoor maindoor-lod0-jg maindoor-idle-ja + ((maindoor-lod0-mg (meters 20)) (maindoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) ;; failed to figure out what this is: (defstate maindoor-closed (maindoor) @@ -1330,15 +1169,12 @@ (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 1) (logclear! (-> self draw status) (draw-status hidden)) - (when arg0 - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) 0.0) + (if arg0 + (ja :num-func num-func-identity :frame-num 0.0) ) - ) (suspend) (update-transforms! (-> self root-override)) - (while #t + (loop (when (or (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) (and (and *target* (>= (-> self thresh w) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -1372,11 +1208,7 @@ (set! (-> self root-override root-prim prim-core action) (collide-action solid)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) 0.0) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) (ja-post) (suspend) ) @@ -1391,27 +1223,20 @@ (set! (-> self draw force-lod) 0) (logclear! (-> self draw status) (draw-status hidden)) (process-entity-status! self (entity-perm-status complete) #t) - (when arg0 - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) (the float (+ (-> v1-6 frame-group data 0 length) -1))) + (if arg0 + (ja :num-func num-func-identity :frame-num max) ) - ) (set! (-> self root-override root-prim prim-core action) (collide-action)) (set! (-> self root-override root-prim prim-core offense) (collide-offense no-offense)) (while (not (ja-max? 0)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 2.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) (if (and (not arg0) (rand-vu-percent? 0.2)) (spawn-projectile-blue *target*) ) (suspend) ) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1472,13 +1297,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *sidedoor-sg* sidedoor - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *sidedoor-sg* sidedoor sidedoor-geo-jg sidedoor-idle-ja + ((sidedoor-geo-mg (meters 20)) (sidedoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for method 24 of type sidedoor ;; INFO: Return type mismatch int vs none. @@ -1551,13 +1373,7 @@ ) ;; failed to figure out what this is: -(defskelgroup *jngpusher-sg* jngpusher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *jngpusher-sg* jngpusher 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 10)) ;; failed to figure out what this is: (defstate jngpusher-idle (jngpusher) @@ -1565,11 +1381,11 @@ (the-as (function none :behavior jngpusher) rider-trans) :code (behavior () - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0)))) - ) + (loop + (ja :num-func num-func-identity + :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))) (set! (-> self back-prim prim-core collide-as) (collide-kind)) diff --git a/test/decompiler/reference/levels/jungle/junglefish_REF.gc b/test/decompiler/reference/levels/jungle/junglefish_REF.gc index a4a51ad9a8..bdaa6dade3 100644 --- a/test/decompiler/reference/levels/jungle/junglefish_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglefish_REF.gc @@ -19,13 +19,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *junglefish-sg* junglefish - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 1.5) - :longest-edge (meters 0) - ) +(defskelgroup *junglefish-sg* junglefish junglefish-lod0-jg junglefish-swim-ja + ((junglefish-lod0-mg (meters 20)) (junglefish-lod1-mg (meters 40)) (junglefish-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.5) + ) ;; failed to figure out what this is: nav-enemy-default-event-handler @@ -54,125 +51,55 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (set! (-> self target-speed) 0.0) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-8 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-8 param 1) f30-0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-11 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info idle-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 1.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-17 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-17 param 1) f30-0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) f30-0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -269,23 +196,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! junglefish-chomp-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-chase) (none) @@ -304,40 +219,16 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 2.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 2.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 2.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek! max 2.0)) ) + (ja-no-eval :group! junglefish-swim-ja :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 2.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) ) (go-virtual nav-enemy-patrol) (none) diff --git a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc index eaa20c9897..b9219f0291 100644 --- a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc @@ -2,13 +2,11 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *junglesnake-sg* junglesnake - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 14 0 18) - :longest-edge (meters 2.5) - ) +(defskelgroup *junglesnake-sg* junglesnake junglesnake-lod0-jg junglesnake-idle-ja + ((junglesnake-lod0-mg (meters 999999))) + :bounds (static-spherem 0 14 0 18) + :longest-edge (meters 2.5) + ) ;; failed to figure out what this is: (defpartgroup group-junglesnake-dropping-down @@ -444,22 +442,10 @@ junglesnake-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.85) - (set! (-> a0-0 frame-num) 0.5) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! junglesnake-drop-down-ja :num! (seek! max 0.85) :frame-num 0.5) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.85) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.85)) ) (go junglesnake-tracking) (none) @@ -512,41 +498,21 @@ junglesnake-default-event-handler :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 2) - ) + ((ja-group? junglesnake-idle-ja) (while (not (ja-done? 0)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! junglesnake-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -588,26 +554,12 @@ junglesnake-default-event-handler (behavior () (set! (-> self track-player-ry) #t) (set! (-> self track-player-tilt) #t) - (ja-channel-push! 2 45) + (ja-channel-push! 2 (seconds 0.15)) (dummy-23 self) (let ((f30-0 (lerp-scale 0.0 1.0 (vector-vector-distance (target-pos 0) (-> self root-override trans)) 0.0 24576.0)) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.25) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) - (let ((a0-6 (-> self skel root-channel 1))) - (set! (-> a0-6 frame-interp) f30-0) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) 0.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-chan) - ) + (ja-no-eval :group! junglesnake-strike-close-ja :num! (seek! max 1.25) :frame-num 0.0) + (ja-no-eval :chan 1 :group! junglesnake-strike-far-ja :num! (chan 0) :frame-interp f30-0 :frame-num 0.0) (until (ja-done? 0) (suspend) (set! f30-0 @@ -617,16 +569,8 @@ junglesnake-default-event-handler (* 2.0 (-> *display* seconds-per-frame)) ) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.25) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 frame-interp) f30-0) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek! max 1.25)) + (ja :chan 1 :num! (chan 0) :frame-interp f30-0) (let ((f0-12 (ja-aframe-num 0))) (cond ((and (>= f0-12 22.0) (< f0-12 44.0)) @@ -674,27 +618,16 @@ junglesnake-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (set! (-> s5-0 quad) (-> gp-0 quad)) (set! (-> s5-0 y) (+ 131072.0 (-> s5-0 y))) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 0.5) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! junglesnake-give-up-ja :num! (seek! max 0.5) :frame-num 0.0) (until (ja-done? 0) (let* ((f0-6 (ja-frame-num 0)) - (v1-18 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (v1-18 (ja-group)) (f0-7 (/ f0-6 (the float (+ (-> v1-18 data 0 length) -1)))) (s4-0 (new 'stack-no-clear 'vector)) ) @@ -703,11 +636,7 @@ junglesnake-default-event-handler (move-to-point! (-> self root-override) s4-0) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 0.5) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) ) (move-to-point! (-> self root-override) gp-0) @@ -731,23 +660,11 @@ junglesnake-default-event-handler (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 45) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! junglesnake-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) diff --git a/test/decompiler/reference/levels/jungleb/aphid_REF.gc b/test/decompiler/reference/levels/jungleb/aphid_REF.gc index 02e935535a..da11e2d1ff 100644 --- a/test/decompiler/reference/levels/jungleb/aphid_REF.gc +++ b/test/decompiler/reference/levels/jungleb/aphid_REF.gc @@ -21,14 +21,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *aphid-sg* aphid-lurker - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 2) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *aphid-sg* aphid-lurker aphid-lurker-lod0-jg -1 + ((aphid-lurker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 2) + :shadow aphid-lurker-shadow-mg + ) ;; definition for function aphid-invulnerable (defbehavior aphid-invulnerable aphid () @@ -83,87 +80,45 @@ ) ) ) - (while #t - (ja-channel-push! 1 15) + (loop + (ja-channel-push! 1 (seconds 0.05)) (sound-play-by-name (static-sound-name "aphid-spike-out") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (aphid-invulnerable) - (ja-channel-push! 1 30) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((v1-31 (-> self skel root-channel 0))) - (set! (-> v1-31 num-func) num-func-identity) - (set! (-> v1-31 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 5)) + (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) (s5-1 (-> *display* base-frame-counter)) (s4-1 (- (the int (nav-enemy-rnd-float-range 900.0 1440.0)) gp-0)) ) (until (>= (- (-> *display* base-frame-counter) s5-1) s4-1) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (aphid-vulnerable) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) (sound-play-by-name (static-sound-name "aphid-spike-in") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-17 param 0) 0.0) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 0.0) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-63 (-> self skel root-channel 0))) - (set! (-> v1-63 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-66 (-> self skel root-channel 0))) - (set! (-> v1-66 num-func) num-func-identity) - (set! (-> v1-66 frame-num) 0.0) + (ja :num! (seek! 0.0)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data (-> self nav-info run-anim))) + (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (nav-enemy-rnd-float-range 0.9 1.1)) (s5-3 (-> *display* base-frame-counter)) (s4-3 (+ (the int (nav-enemy-rnd-float-range 660.0 900.0)) gp-0)) ) (until (>= (- (-> *display* base-frame-counter) s5-3) s4-3) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) f30-1) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-1)) ) ) ) @@ -182,75 +137,35 @@ (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) - (ja-channel-push! 1 30) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) - (let ((v1-35 (-> self skel root-channel 0))) - (set! (-> v1-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) - (let ((v1-38 (-> self skel root-channel 0))) - (set! (-> v1-38 num-func) num-func-identity) - (set! (-> v1-38 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 4)) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 0.75) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) (when (nav-enemy-rnd-percent? 0.3) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - ) - (ja-channel-push! 1 30) + (if (not (ja-group? (-> self draw art-group data 10))) + (ja-channel-push! 1 (seconds 0.1)) ) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -266,7 +181,7 @@ (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -275,36 +190,16 @@ ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -313,11 +208,7 @@ (-> self turn-time) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) diff --git a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc index 02fa37c1f7..cc60535fcd 100644 --- a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc +++ b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc @@ -28,13 +28,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *eggtop-sg* eggtop - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -4.5 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *eggtop-sg* eggtop eggtop-lod0-jg eggtop-idle-ja + ((eggtop-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -4.5 0 4.5) + ) ;; failed to figure out what this is: (defpartgroup group-jungle-blue-eco-room-open @@ -330,22 +327,10 @@ ) (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) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (process-entity-status! self (entity-perm-status complete) #t) @@ -354,16 +339,7 @@ (entity-task-complete-on a0-20) ) ) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-4 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 2) :num! max) (suspend) (logior! (-> self mask) (process-mask sleep)) (suspend) @@ -440,13 +416,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *jng-iris-door-sg* jng-iris-door - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *jng-iris-door-sg* jng-iris-door jng-iris-door-lod0-jg jng-iris-door-idle-ja + ((jng-iris-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for method 24 of type jng-iris-door ;; INFO: Return type mismatch int vs none. diff --git a/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc b/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc index 9351b2f338..0ceefe3981 100644 --- a/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plant-boss_REF.gc @@ -161,62 +161,44 @@ ) ;; failed to figure out what this is: -(defskelgroup *plant-boss-sg* plant-boss - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 10 20) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *plant-boss-sg* plant-boss plant-boss-main-lod0-jg plant-boss-main-idle-ja + ((plant-boss-main-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 10 20) + :shadow plant-boss-main-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *plant-boss-arm-sg* plant-boss - 22 - 25 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - :shadow 24 - ) +(defskelgroup *plant-boss-arm-sg* plant-boss plant-boss-arms-lod0-jg plant-boss-arms-idle-ja + ((plant-boss-arms-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + :shadow plant-boss-arms-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *plant-boss-leaf-sg* plant-boss - 37 - 42 - ((38 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - :shadow 39 - ) +(defskelgroup *plant-boss-leaf-sg* plant-boss plant-boss-leaf-lod0-jg plant-boss-leaf-idle-left-ja + ((plant-boss-leaf-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + :shadow plant-boss-leaf-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *plant-boss-back-arms-sg* plant-boss - 30 - 33 - ((31 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - :shadow 32 - ) +(defskelgroup *plant-boss-back-arms-sg* plant-boss plant-boss-back-arms-lod0-jg plant-boss-back-arms-idle-ja + ((plant-boss-back-arms-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + :shadow plant-boss-back-arms-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *plant-boss-vine-sg* plant-boss - 48 - 50 - ((49 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *plant-boss-vine-sg* plant-boss plant-boss-vine-lod0-jg plant-boss-vine-idle-ja + ((plant-boss-vine-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; failed to figure out what this is: -(defskelgroup *plant-boss-root-sg* plant-boss - 53 - 55 - ((54 (meters 999999))) - :bounds (static-spherem 0 20 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *plant-boss-root-sg* plant-boss plant-boss-root-lod0-jg plant-boss-root-idle-ja + ((plant-boss-root-lod0-mg (meters 999999))) + :bounds (static-spherem 0 20 0 20) + ) ;; definition for symbol *plant-boss-shadow-control*, type shadow-control (define *plant-boss-shadow-control* @@ -281,12 +263,7 @@ (the-as collide-shape-moving (-> self root-override)) (the-as uint 1) ) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - ) + (not (ja-group? plant-boss-main-vulnerable2idle-ja)) ) (send-event arg0 'attack-or-shove (-> arg3 param 0) (new 'static 'attack-info)) ) @@ -326,30 +303,11 @@ :code (behavior () (ja-channel-set! 2) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 26)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((v1-16 (-> self skel root-channel 1))) - (set! (-> v1-16 frame-interp) (- 1.0 (-> self parent-override 0 energy))) - ) + (ja :group! plant-boss-arms-idle-ja :num! min) + (ja :chan 1 :group! plant-boss-arms-still-ja :num! min) + (loop + (ja :num! (loop!)) + (ja :chan 1 :frame-interp (- 1.0 (-> self parent-override 0 energy))) (suspend) ) (none) @@ -364,44 +322,18 @@ (-> plant-boss-arm-idle event) :code (behavior ((arg0 basic)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 90.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) - ) + (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) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 90.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 25)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 90.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 25)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 90.0) 0))) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-arms-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 90.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go plant-boss-arm-idle) (none) @@ -435,47 +367,23 @@ (ja-channel-set! 1) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) (let ((f30-0 (rand-vu-float-range (the-as float 0.8) (the-as float 1.0)))) (case (-> self side) ((1) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-arms-die-right-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 27)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 27)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-arms-die-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -484,28 +392,10 @@ ) (case (-> self side) ((1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 28)) - num-func-identity - ) - (set! (-> gp-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 28)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-arms-die-right-ja :num! max) ) (else - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity - ) - (set! (-> gp-2 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 27)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-arms-die-ja :num! max) ) ) (set! (-> (find-prim-by-id (-> self root-override) (the-as uint 1)) prim-core action) (collide-action)) @@ -513,7 +403,7 @@ (set! (-> (find-prim-by-id (-> self root-override) (the-as uint 2)) prim-core action) (collide-action)) 0 (update-transforms! (-> self root-override)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -541,23 +431,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 33)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-back-arms-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -572,65 +450,35 @@ (-> plant-boss-back-arms-idle event) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (cond ((or (= arg0 'spin) (= arg0 'spin-air)) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 36))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 36)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-back-arms-hit-kick-ja + :num! (seek! (ja-aframe (the-as float 45.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 45.0) 0))) ) ) (else - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) 0.0) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-back-arms-hit-ja + :num! (seek! (ja-aframe (the-as float 45.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 45.0) 0))) ) ) ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe (the-as float 45.0) 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 33)) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-back-arms-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 45.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go plant-boss-back-arms-idle) (none) @@ -648,39 +496,18 @@ (ja-channel-set! 1) ) (else - (ja-channel-push! 1 75) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-back-arms-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) - ) - ) - (while #t + (ja :group! plant-boss-back-arms-die-ja :num! max) + (loop (suspend) ) (none) @@ -705,23 +532,11 @@ :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-vine-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -737,44 +552,18 @@ (-> plant-boss-vine-idle event) :code (behavior ((arg0 basic)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (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) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 45.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 45.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 45.0) 0))) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-vine-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 45.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go plant-boss-vine-idle) (none) @@ -792,31 +581,16 @@ (gp-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) gp-0) (the int (* 300.0 f30-0))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) - (ja-channel-push! 1 75) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 51))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 51)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 51)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-vine-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -838,23 +612,11 @@ :code (behavior () (let ((f30-0 (rand-vu-float-range (the-as float 0.9) (the-as float 1.1)))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 55))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 55)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 55)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-root-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -1022,47 +784,23 @@ ) :code (behavior ((arg0 symbol)) - (while #t + (loop (case (-> self side) ((1) (dotimes (gp-0 4) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 43)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-stubby-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (else (dotimes (gp-1 5) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 40)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 40)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-stubby-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1091,82 +829,41 @@ (the-as (function none :behavior plant-boss-leaf) rider-trans) :code (behavior ((arg0 symbol)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 30) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) ((1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-right-ja + :num! (seek! (ja-aframe (the-as float 30.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 30.0) 0))) ) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 30.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-right-ja :num! (seek!) :frame-num (ja-aframe (the-as float 30.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) 0.0) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-left-ja + :num! (seek! (ja-aframe (the-as float 30.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 param 0) (ja-aframe (the-as float 30.0) 0)) - (set! (-> gp-5 param 1) 1.0) - (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 30.0) 0))) ) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 41)) data 0 length) -1)) - ) - (set! (-> gp-7 param 1) 1.0) - (set! (-> gp-7 frame-num) (ja-aframe (the-as float 30.0) 0)) - (joint-control-channel-group! gp-7 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-left-ja :num! (seek!) :frame-num (ja-aframe (the-as float 30.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) - (set! (-> a0-26 param 1) 1.0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1205,31 +902,22 @@ (behavior ((arg0 symbol)) (local-vars (v1-19 symbol)) (set! (-> self state-object) arg0) - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (((-> self draw art-group data 47) (-> self draw art-group data 46)) - (ja-channel-push! 1 30) + (case (ja-group) + ((plant-boss-leaf-right-bounce-ja plant-boss-leaf-left-bounce-ja) + (ja-channel-push! 1 (seconds 0.1)) ) ) (case (-> self side) ((1) - (let ((v1-10 (-> self skel root-channel 0))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 45))) - ) + (ja :group! plant-boss-leaf-idle-right-ja) ) (else - (let ((v1-13 (-> self skel root-channel 0))) - (set! (-> v1-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) - ) + (ja :group! plant-boss-leaf-idle-left-ja) ) ) (until v1-19 (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! v1-19 (and (-> self state-object) (< (-> self state-time-frame) (-> *display* base-frame-counter)))) ) (go plant-boss-leaf-close) @@ -1260,46 +948,22 @@ (the-as (function none :behavior plant-boss-leaf) rider-trans) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (case (-> self side) ((1) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 47))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 47)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 47)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-right-bounce-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 46))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 46)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 46)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-left-bounce-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1327,42 +991,18 @@ (case (-> self side) ((1) (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> a0-4 param 0) 0.0) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-right-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) (else (sound-play-by-name (static-sound-name "plant-leaf") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> a0-10 param 0) 0.0) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 41)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-leaf-grow-left-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 0.0) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) @@ -1377,7 +1017,7 @@ (defstate plant-boss-leaf-die (plant-boss-leaf) :code (behavior ((arg0 basic)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -1447,16 +1087,8 @@ (set-mode! (-> self body) (joint-mod-handler-mode flex-blend)) (set! (-> self body flex-blend) 0.0) (ja-channel-set! 1) - (while #t - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plant-boss-main-initial-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self energy) (the-as float 0.25) (-> *display* seconds-per-frame)) (if (and (and *target* @@ -1467,11 +1099,7 @@ (go plant-boss-intro) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1490,15 +1118,8 @@ (logior! (-> v1-9 status) (entity-perm-status user-set-from-cstage)) (b! (zero? (-> v1-9 user-int8 2)) cfg-5 :delay (empty-form)) ) - (ja-channel-push! 1 150) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 510.0) 0)) - ) + (ja-channel-push! 1 (seconds 0.5)) + (ja :group! plant-boss-main-intro-ja :num! (identity (ja-aframe (the-as float 510.0) 0))) (b! #t cfg-3 :delay (nop!)) (label cfg-2) (seek! (-> self energy) (the-as float 1.0) (* 2.0 (-> *display* seconds-per-frame))) @@ -1568,33 +1189,16 @@ (set-mode! (-> self neck) (joint-mod-handler-mode world-look-at)) (set-mode! (-> self body) (joint-mod-handler-mode world-look-at)) (set! (-> self body flex-blend) 0.0) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) 1.0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 150) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 510.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.5)) + (ja-no-eval :group! plant-boss-main-intro-ja :num! (seek! (ja-aframe (the-as float 510.0) 0)) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self energy) (the-as float 1.0) (* 0.2 (-> *display* seconds-per-frame))) (ja-blend-eval) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 510.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) - (set! (-> a0-33 param 1) 1.0) - (joint-control-channel-group! a0-33 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 510.0) 0))) ) + (ja-no-eval :num! (seek!)) (let ((v1-77 (-> self entity extra perm))) (logior! (-> v1-77 status) (entity-perm-status user-set-from-cstage)) (set! (-> v1-77 user-int8 2) 1) @@ -1654,147 +1258,60 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 150) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 60.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + ((ja-group? plant-boss-main-reset-ja) + (ja-channel-push! 1 (seconds 0.5)) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 60.0) 0)) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 12) - ) - (ja-channel-push! 1 75) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 75.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + ((ja-group? plant-boss-main-vulnerable-ja) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-main-vulnerable2idle-ja + :num! (seek! (ja-aframe (the-as float 75.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 75.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 75) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 75.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 75.0) 0))) ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 75.0) 0)) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) + ((ja-group? plant-boss-main-intro-ja) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) - (while #t + (loop (when (or (and *cheat-mode* (cpad-hold? 1 r3)) (zero? (-> self aphid-count))) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num 0.0) (go plant-boss-vulnerable) ) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-36 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (and *cheat-mode* (cpad-hold? 1 r3)) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-43 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-43 param 1) 1.0) - (set! (-> a0-43 frame-num) 0.0) - (joint-control-channel-group! a0-43 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-ja :num! (seek!) :frame-num 0.0) (go plant-boss-vulnerable) ) (when (rand-vu-percent? (the-as float 0.2)) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-45 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle-alt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1939,56 +1456,33 @@ ) :code (behavior () - (ja-channel-push! 1 75) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 60.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 60.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 60.0) 0))) ) (send-event (ppointer->process (-> self leaf 1)) 'trigger) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 120.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 60.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle2vulnerable-ja + :num! (seek! (ja-aframe (the-as float 120.0) 0)) + :frame-num (ja-aframe (the-as float 60.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 120.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 120.0) 0))) ) (send-event (ppointer->process (-> self leaf 0)) 'trigger) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> gp-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 120.0) 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-idle2vulnerable-ja + :num! (seek!) + :frame-num (ja-aframe (the-as float 120.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-5 (cond ((>= (-> self try) 15) @@ -2007,22 +1501,10 @@ ) ) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) gp-5) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-vulnerable-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2044,12 +1526,7 @@ (the-as collide-shape-moving (-> self root-override)) (the-as uint 1) ) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - ) + (not (ja-group? plant-boss-main-vulnerable2idle-ja)) ) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) self) @@ -2081,39 +1558,15 @@ (set! (-> self ate) #f) (set! (-> self interp) 0.0) (let ((s5-0 #f)) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) + (if (ja-group? plant-boss-main-reset-ja) (set! s5-0 #t) ) - (ja-channel-push! 2 75) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) - (let ((s4-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s4-1 frame-num) 0.0) - ) + (ja-channel-push! 2 (seconds 0.25)) + (ja :group! plant-boss-main-attack-ja :num! min) + (ja :chan 1 :group! plant-boss-main-attack-close-ja :num! min) (when s5-0 - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 num-func) num-func-identity) - (set! (-> s5-1 frame-num) (ja-aframe (the-as float 100.0) 0)) - ) - (let ((s5-2 (-> self skel root-channel 1))) - (set! (-> s5-2 num-func) num-func-identity) - (set! (-> s5-2 frame-num) (ja-aframe (the-as float 100.0) 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe (the-as float 100.0) 0)) + (ja :chan 1 :num-func num-func-identity :frame-num (ja-aframe (the-as float 100.0) 0)) ) ) (let ((f30-0 (lerp-scale @@ -2141,16 +1594,8 @@ ) ) (set! (-> self interp) f30-0) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-20 (-> self skel root-channel 1))) - (set! (-> a0-20 frame-interp) f30-0) - (set! (-> a0-20 param 0) 0.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek!)) + (ja :chan 1 :num! (chan 0) :frame-interp f30-0) (suspend) (set! v1-64 (>= (ja-aframe-num 0) 149.0)) ) @@ -2178,11 +1623,7 @@ ) :code (behavior () - (let ((f30-1 (the-as float (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) + (let ((f30-1 (the-as float (if (ja-group? plant-boss-main-attack-ja) (fmax 129.0 (ja-aframe-num 0)) 129.0 ) @@ -2192,24 +1633,13 @@ ) (send-event *camera* 'change-state cam-lookat 0) (logior! (-> self skel status) (janim-status inited)) - (ja-channel-push! 2 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 18)) - num-func-identity + (ja-channel-push! 2 (seconds 0.1)) + (ja :group! (-> self draw art-group data 18) :num! (identity (ja-aframe f30-1 0))) + (ja :chan 1 + :group! (-> self draw art-group data 19) + :num! (identity (ja-aframe f30-1 0)) + :frame-interp (-> self interp) ) - (set! (-> s5-0 frame-num) (ja-aframe f30-1 0)) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (-> self interp)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 19)) - num-func-identity - ) - (set! (-> s5-1 frame-num) (ja-aframe f30-1 0)) - ) (until (>= (ja-aframe-num 0) 285.0) (try-preload-stream *art-control* "$GAMCAM29" 0 self (the-as float -99.0)) (seek! (-> self energy) (the-as float 0.5) (* 0.2 (-> *display* seconds-per-frame))) @@ -2236,37 +1666,17 @@ ) (seek! (-> self body flex-blend) (the-as float 0.0) (-> *display* seconds-per-frame)) (seek! (-> self interp) (the-as float 0.0) (-> *display* seconds-per-frame)) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 0.66) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((a0-32 (-> self skel root-channel 1))) - (set! (-> a0-32 frame-interp) (-> self interp)) - (set! (-> a0-32 param 0) 0.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (seek! max 0.66)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self interp)) (suspend) ) ) - (ja-channel-push! 1 75) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - (set! (-> a0-35 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! plant-boss-main-swallow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event *target* 'end-mode) (logclear! (-> self skel status) (janim-status inited)) @@ -2285,25 +1695,15 @@ (behavior ((arg0 int)) (let ((gp-0 #f)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) + ((ja-group? plant-boss-main-intro-ja) (set! gp-0 #t) - (ja-channel-push! 1 150) + (ja-channel-push! 1 (seconds 0.5)) ) (else - (ja-channel-push! 1 300) + (ja-channel-push! 1 (seconds 1)) ) ) - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 210.0) 0)) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-reset-ja :num! (seek! (ja-aframe (the-as float 210.0) 0)) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (seek! (-> self body flex-blend) (the-as float 0.0) (-> *display* seconds-per-frame)) @@ -2311,37 +1711,22 @@ (seek! (-> self neck flex-blend) (the-as float 1.0) (-> *display* seconds-per-frame)) ) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 210.0) 0)) - (set! (-> s4-1 param 1) 1.0) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 210.0) 0))) ) (if (< 1 arg0) (go plant-boss-attack (+ arg0 -1)) ) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 240.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (set! (-> s5-1 frame-num) (ja-aframe (the-as float 210.0) 0)) - (joint-control-channel-group! s5-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-reset-ja + :num! (seek! (ja-aframe (the-as float 240.0) 0)) + :frame-num (ja-aframe (the-as float 210.0) 0) + ) (until (ja-done? 0) (seek! (-> self body flex-blend) (the-as float 0.0) (-> *display* seconds-per-frame)) (seek! (-> self neck flex-blend) (the-as float 1.0) (* 2.0 (-> *display* seconds-per-frame))) (suspend) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 240.0) 0)) - (set! (-> s5-2 param 1) 1.0) - (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 240.0) 0))) ) + (ja-no-eval :num! (seek!)) (if gp-0 (go plant-boss-spawn) (go plant-boss-idle) @@ -2368,75 +1753,44 @@ (seek! (-> self health) (the-as float 0.0) (the-as float 1.0)) (send-event (ppointer->process (-> self leaf 1)) 'kill 0) (send-event (ppointer->process (-> self leaf 0)) 'kill 0) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) (cond ((= arg0 'spin) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-hit-kick-ja + :num! (seek! (ja-aframe (the-as float 20.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 20.0) 0))) ) ) ((= arg0 'spin-air) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) 0.0) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-hit-jumpkick-ja + :num! (seek! (ja-aframe (the-as float 20.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 20.0) 0))) ) ) (else - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> gp-5 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) 0.0) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! plant-boss-main-hit-ja :num! (seek! (ja-aframe (the-as float 20.0) 0)) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe (the-as float 20.0) 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 20.0) 0))) ) ) ) (if (= (-> self health) 0.0) (go plant-boss-dead #f) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -2465,16 +1819,7 @@ (cond (arg0 (ja-channel-set! 1) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> s5-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-main-die-ja :num! max) (suspend) (if (not (task-complete? *game-info* (-> self entity extra perm task))) (birth-pickup-at-point @@ -2491,21 +1836,9 @@ (let ((s4-0 #f) (s5-2 #f) ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 150) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) + (ja-channel-push! 1 (seconds 0.5)) + (ja-no-eval :group! plant-boss-main-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (when (< 100.0 (ja-aframe-num 0)) @@ -2536,11 +1869,7 @@ ) ) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2599,16 +1928,7 @@ :code (behavior () (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-main-die-ja :num! max) (let ((gp-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 5)) (transform-post) @@ -2616,7 +1936,7 @@ (suspend) ) ) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -2647,37 +1967,12 @@ ) ) (ja-channel-set! 2) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 21)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (- 1.0 arg0)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> s5-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - ) + (ja :group! plant-boss-main-bounce-ja :num! min) + (ja :chan 1 :group! plant-boss-main-die-ja :num! max :frame-interp (- 1.0 arg0)) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - (let ((v1-39 (-> self skel root-channel 1))) - (set! (-> v1-39 frame-interp) (- 1.0 arg0)) - (set! (-> v1-39 num-func) num-func-identity) - (set! (-> v1-39 frame-num) (the float (+ (-> v1-39 frame-group data 0 length) -1))) - ) + (ja :num! (seek!)) + (ja :chan 1 :frame-interp (- 1.0 arg0) :num-func num-func-identity :frame-num max) ) (go plant-boss-dead-idle) (none) diff --git a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc index a269260c8f..0c5d42c26f 100644 --- a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc @@ -41,13 +41,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *plat-flip-sg* plat-flip - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *plat-flip-sg* plat-flip plat-flip-geo-jg plat-flip-turn-down-ja + ((plat-flip-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: (defstate plat-flip-idle (plat-flip) @@ -72,18 +69,11 @@ (behavior () (local-vars (f30-0 float) (f30-1 float)) (let ((gp-0 #f)) - (while #t + (loop (let ((f0-1 (get-current-value (-> self sync) (-> self total-time)))) (cond ((< f0-1 (-> self before-turn-down-time)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! plat-flip-turn-down-ja :num! min) (set! gp-0 #f) ) ((begin (set! f30-0 (- f0-1 (-> self before-turn-down-time))) (< f30-0 (-> self turn-down-time))) @@ -91,50 +81,31 @@ (set! gp-0 #t) (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) ) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity + (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))) + (-> self turn-down-time) + ) + ) ) - (set! (-> s5-1 frame-num) - (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1))) - (-> self turn-down-time) - ) - ) - ) ) ((begin (set! f30-1 (- f30-0 (-> self turn-down-time))) (< f30-1 (-> self before-turn-up-time))) (set! gp-0 #f) - (let ((s5-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> s5-2 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - ) + (ja :group! plat-flip-turn-down-ja :num! max) ) (else (when (not gp-0) (set! gp-0 #t) (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) ) - (let ((f30-2 (- f30-1 (-> self before-turn-up-time))) - (s5-4 (-> self skel root-channel 0)) + (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))) + (-> self turn-up-time) + ) + ) ) - (joint-control-channel-group-eval! - s5-4 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> s5-4 frame-num) - (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1))) - (-> self turn-up-time) - ) - ) ) ) ) diff --git a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc index 8ee6a066d8..edf67c7a53 100644 --- a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc +++ b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *assistant-lavatube-start-sg* assistant-lavatube-start - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-lavatube-start-sg* assistant-lavatube-start assistant-lavatube-start-lod0-jg assistant-lavatube-start-idle-ja + ((assistant-lavatube-start-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-lavatube-start-shadow-mg + ) ;; definition for method 32 of type assistant-lavatube-start (defmethod play-anim! assistant-lavatube-start ((obj assistant-lavatube-start) (arg0 symbol)) @@ -125,75 +122,28 @@ :virtual #t :code (behavior () - (while #t - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (loop + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 3)) ) (let* ((f30-0 2.0) (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-8 (the-as number (logior #x3f800000 v1-7))) ) (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-8)))) 2)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (ja-channel-push! 1 15) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc b/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc index f020e2f82f..7b6db27b7b 100644 --- a/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc +++ b/test/decompiler/reference/levels/lavatube/lavatube-energy_REF.gc @@ -422,13 +422,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *energydoor-sg* energydoor - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 14 0 35) - :longest-edge (meters 0) - ) +(defskelgroup *energydoor-sg* energydoor energydoor-lod0-jg energydoor-idle-ja + ((energydoor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 14 0 35) + ) ;; definition for function energydoor-player-dist (defbehavior energydoor-player-dist energydoor () @@ -470,39 +467,10 @@ energydoor-closed-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (if (or (task-closed? (-> self entity extra perm task) (task-status need-resolution)) (< (energydoor-player-dist) 0.0) @@ -554,12 +522,9 @@ ) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (the float (+ (-> v1-2 frame-group data 0 length) -1))) - ) + (ja :num-func num-func-identity :frame-num max) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -572,39 +537,10 @@ energydoor-open-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go energydoor-opened) (none) @@ -645,12 +581,9 @@ ) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -670,12 +603,9 @@ ) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -771,20 +701,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *energybase-sg* energybase - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 40 0 40) - :longest-edge (meters 0) - ) +(defskelgroup *energybase-sg* energybase energybase-lod0-jg energybase-idle-ja + ((energybase-lod0-mg (meters 999999))) + :bounds (static-spherem 0 40 0 40) + ) ;; failed to figure out what this is: (defstate energybase-stopped (energybase) :code (behavior () (ja-post) - (while #t + (loop (suspend) ) (none) @@ -796,44 +723,15 @@ :code (behavior () (let ((f30-0 1.0)) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) f30-0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (set! f30-0 (- f30-0 (* 0.002 (-> *display* time-adjust-ratio)))) (if (< f30-0 0.0) (go energybase-stopped) ) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) f30-0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -855,7 +753,7 @@ ) :code (behavior () - (while #t + (loop (if (and *target* (>= 307200.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (level-hint-spawn (game-text-id lavatube-shoot-the-spheres) @@ -865,39 +763,10 @@ (game-task none) ) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-2 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1027,13 +896,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *energyball-sg* energyball - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *energyball-sg* energyball energyball-lod0-jg energyball-idle-ja + ((energyball-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) ;; failed to figure out what this is: (defstate energyball-idle (energyball) @@ -1102,40 +968,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1181,13 +1018,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *energyarm-sg* energyarm - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 -20 17) - :longest-edge (meters 0) - ) +(defskelgroup *energyarm-sg* energyarm energyarm-lod0-jg energyarm-idle-ja + ((energyarm-lod0-mg (meters 20)) (energyarm-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 -20 17) + ) ;; definition for function energyarm-trans (defbehavior energyarm-trans energyarm () @@ -1244,40 +1078,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1330,40 +1135,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1395,40 +1171,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1496,17 +1243,15 @@ (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-5)) (the float (ja-num-frames 0)))) ) ) - (while #t + (loop (suspend) (let* ((f30-1 0.25) (f28-0 0.25) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) (f0-9 (+ f30-1 (* f28-0 (+ -1.0 (the-as float v1-10))))) - (a0-5 (-> self skel root-channel 0)) ) - (set! (-> a0-5 param 0) f0-9) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-9)) ) ) (none) @@ -1595,13 +1340,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *energyhub-sg* energyhub - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *energyhub-sg* energyhub energyhub-lod0-jg energyhub-idle-ja + ((energyhub-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 10) + ) ;; definition for function energyhub-trans (defbehavior energyhub-trans energyhub () @@ -1683,17 +1425,15 @@ ) :code (behavior () - (while #t + (loop (suspend) (let* ((f30-0 1.0) (f28-0 0.25) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-4 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) - (a0-2 (-> self skel root-channel 0)) ) - (set! (-> a0-2 param 0) f0-4) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-4)) ) ) (none) @@ -1775,17 +1515,15 @@ ) :code (behavior () - (while #t + (loop (suspend) (let* ((f30-0 1.0) (f28-0 0.25) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-4 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) - (a0-2 (-> self skel root-channel 0)) ) - (set! (-> a0-2 param 0) f0-4) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-4)) ) ) (none) @@ -1860,17 +1598,15 @@ ) :code (behavior () - (while #t + (loop (suspend) (let* ((f30-0 1.0) (f28-0 0.25) (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-4 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2))))) - (a0-2 (-> self skel root-channel 0)) ) - (set! (-> a0-2 param 0) f0-4) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! f0-4)) ) ) (none) @@ -1954,52 +1690,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *energylava-sg* energylava - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 120) - :longest-edge (meters 0) - ) +(defskelgroup *energylava-sg* energylava 0 2 ((1 (meters 999999))) :bounds (static-spherem 0 0 0 120)) ;; failed to figure out what this is: (defstate energylava-idle (energylava) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc b/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc index f90b50b066..b487f3310d 100644 --- a/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc +++ b/test/decompiler/reference/levels/lavatube/lavatube-obs_REF.gc @@ -22,52 +22,21 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavabase-sg* lavabase - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 22) - :longest-edge (meters 9.4) - ) +(defskelgroup *lavabase-sg* lavabase lavabase-lod0-jg lavabase-idle-ja + ((lavabase-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 22) + :longest-edge (meters 9.4) + ) ;; failed to figure out what this is: (defstate lavabase-idle (lavabase) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -107,52 +76,21 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavafall-sg* lavafall - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 13) - :longest-edge (meters 5.4) - ) +(defskelgroup *lavafall-sg* lavafall lavafall-lod0-jg lavafall-idle-ja + ((lavafall-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 13) + :longest-edge (meters 5.4) + ) ;; failed to figure out what this is: (defstate lavafall-idle (lavafall) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -192,52 +130,21 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavashortcut-sg* lavashortcut - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -34 0 105) - :longest-edge (meters 11.9) - ) +(defskelgroup *lavashortcut-sg* lavashortcut lavashortcut-lod0-jg lavashortcut-idle-ja + ((lavashortcut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -34 0 105) + :longest-edge (meters 11.9) + ) ;; failed to figure out what this is: (defstate lavashortcut-idle (lavashortcut) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -605,13 +512,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *darkecobarrel-sg* darkecobarrel - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -7.75 0 8.6) - :longest-edge (meters 2.8) - ) +(defskelgroup *darkecobarrel-sg* darkecobarrel darkecobarrel-lod0-jg darkecobarrel-idle-ja + ((darkecobarrel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -7.75 0 8.6) + :longest-edge (meters 2.8) + ) ;; definition for function darkecobarrel-base-time (defbehavior darkecobarrel-base-time darkecobarrel-base () @@ -821,11 +726,8 @@ (set! (-> gp-0 frame-num) (* (+ -1.0 (the-as float v1-9)) (the float (ja-num-frames 0)))) ) ) - (while #t - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 num-func) num-func-identity) - (set! (-> v1-14 frame-num) 0.0) - ) + (loop + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (none) @@ -943,40 +845,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1082,52 +955,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavafallsewera-sg* lavafallsewera - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -15 0 -5 185) - :longest-edge (meters 0) - ) +(defskelgroup *lavafallsewera-sg* lavafallsewera lavafallsewera-lod0-jg lavafallsewera-idle-ja + ((lavafallsewera-lod0-mg (meters 999999))) + :bounds (static-spherem -15 0 -5 185) + ) ;; failed to figure out what this is: (defstate lavafallsewera-idle (lavafallsewera) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1167,52 +1008,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavafallsewerb-sg* lavafallsewerb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 120) - :longest-edge (meters 0) - ) +(defskelgroup *lavafallsewerb-sg* lavafallsewerb lavafallsewerb-lod0-jg lavafallsewerb-idle-ja + ((lavafallsewerb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 120) + ) ;; failed to figure out what this is: (defstate lavafallsewerb-idle (lavafallsewerb) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1400,13 +1209,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *chainmine-sg* chainmine - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -10.75 0 12.75) - :longest-edge (meters 2.4) - ) +(defskelgroup *chainmine-sg* chainmine chainmine-lod0-jg chainmine-idle-ja + ((chainmine-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -10.75 0 12.75) + :longest-edge (meters 2.4) + ) ;; failed to figure out what this is: (defstate die (chainmine) @@ -1465,43 +1272,14 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (nonzero? (-> self sound)) (update! (-> self sound)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1543,13 +1321,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavaballoon-sg* lavaballoon - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0.8 0 3.8) - :longest-edge (meters 0) - ) +(defskelgroup *lavaballoon-sg* lavaballoon lavaballoon-lod0-jg lavaballoon-idle-ja + ((lavaballoon-lod0-mg (meters 20)) (lavaballoon-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0.8 0 3.8) + ) ;; definition of type lavaballoon (deftype lavaballoon (process-drawable) @@ -1707,40 +1482,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1863,52 +1609,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *lavayellowtarp-sg* lavayellowtarp - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *lavayellowtarp-sg* lavayellowtarp lavayellowtarp-lod0-jg lavayellowtarp-idle-ja + ((lavayellowtarp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; failed to figure out what this is: (defstate lavayellowtarp-idle (lavayellowtarp) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc index a70af0a192..82198df79d 100644 --- a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc @@ -89,14 +89,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *baby-spider-sg* baby-spider - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 2.25) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *baby-spider-sg* baby-spider baby-spider-lod0-jg -1 + ((baby-spider-lod0-mg (meters 20)) (baby-spider-lod1-mg (meters 40)) (baby-spider-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 2.25) + :shadow baby-spider-shadow-mg + ) ;; definition for symbol *baby-spider-nav-enemy-info*, type nav-enemy-info (define *baby-spider-nav-enemy-info* (new 'static 'nav-enemy-info @@ -114,11 +111,11 @@ :run-travel-speed (meters 7) :run-rotate-speed (degrees 7999.9995) :run-acceleration (meters 1) - :run-turn-time (seconds 0.07333333) + :run-turn-time (seconds 0.075) :walk-travel-speed (meters 2) :walk-rotate-speed (degrees 7999.9995) :walk-acceleration (meters 1) - :walk-turn-time (seconds 0.07333333) + :walk-turn-time (seconds 0.075) :attack-shove-back (meters 3) :attack-shove-up (meters 2) :shadow-size (meters 1) @@ -168,11 +165,11 @@ :run-travel-speed (meters 7) :run-rotate-speed (degrees 7999.9995) :run-acceleration (meters 1) - :run-turn-time (seconds 0.07333333) + :run-turn-time (seconds 0.075) :walk-travel-speed (meters 2) :walk-rotate-speed (degrees 7999.9995) :walk-acceleration (meters 1) - :walk-turn-time (seconds 0.07333333) + :walk-turn-time (seconds 0.075) :attack-shove-back (meters 3) :attack-shove-up (meters 2) :shadow-size (meters 1) @@ -357,25 +354,13 @@ baby-spider-default-event-handler :code (behavior () (ja-channel-push! 1 0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! baby-spider-birth-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-53 self) (go baby-spider-die-fast) ) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go baby-spider-resume) (none) @@ -472,31 +457,15 @@ baby-spider-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -523,34 +492,15 @@ baby-spider-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 51) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :num! (seek!)) (go-virtual nav-enemy-chase) (none) ) @@ -582,25 +532,15 @@ baby-spider-default-event-handler (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) (set! (-> self chase-rest-time) (rand-vu-int-range (seconds 1) (seconds 4))) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.17)) + (ja :group! baby-spider-run-ja :num! min) + (loop (when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) (seconds 1)) (set! (-> self wiggle-time) (-> *display* base-frame-counter)) (dummy-51 self) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -653,41 +593,23 @@ baby-spider-default-event-handler :code (behavior () (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) (seconds 0.07333333)) + (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t + (loop (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! baby-spider-celebrate-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :num! (loop!)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((gp-0 (rand-vu-int-range 300 600)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 num-func) num-func-identity) - (set! (-> v1-33 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (ja-blend-eval) (suspend) (suspend) @@ -718,35 +640,15 @@ baby-spider-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! baby-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -755,11 +657,7 @@ baby-spider-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -785,23 +683,11 @@ baby-spider-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-victory) (none) diff --git a/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc b/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc index 45bdf107ca..f602392c86 100644 --- a/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc +++ b/test/decompiler/reference/levels/maincave/dark-crystal_REF.gc @@ -44,22 +44,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *dark-crystal-sg* dark-crystal - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.4 0 3.8) - :longest-edge (meters 0) - ) +(defskelgroup *dark-crystal-sg* dark-crystal dark-crystal-lod0-jg -1 + ((dark-crystal-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.4 0 3.8) + ) ;; failed to figure out what this is: -(defskelgroup *dark-crystal-explode-sg* dark-crystal - 3 - -1 - ((4 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *dark-crystal-explode-sg* dark-crystal dark-crystal-explode-lod0-jg -1 + ((dark-crystal-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) ;; definition for symbol *dark-crystal-flash-delays*, type (array int32) (define *dark-crystal-flash-delays* @@ -491,7 +485,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) diff --git a/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc b/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc index 3da542dccf..085c3df2d3 100644 --- a/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc +++ b/test/decompiler/reference/levels/maincave/driller-lurker_REF.gc @@ -88,14 +88,15 @@ ) ;; failed to figure out what this is: -(defskelgroup *driller-lurker-sg* driller-lurker - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1.5 0 7.75) - :longest-edge (meters 2.3) - :shadow 4 - ) +(defskelgroup *driller-lurker-sg* driller-lurker driller-lurker-lod0-jg -1 + ((driller-lurker-lod0-mg (meters 20)) + (driller-lurker-lod1-mg (meters 40)) + (driller-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1.5 0 7.75) + :longest-edge (meters 2.3) + :shadow driller-lurker-shadow-mg + ) ;; definition for symbol *driller-lurker-shadow-control*, type shadow-control (define *driller-lurker-shadow-control* @@ -716,70 +717,32 @@ :code (behavior () (update-trans! (-> self sound2) (-> self root-overeride trans)) - (while #t + (loop (set! (-> self timeout) (rand-vu-int-range 4 8)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (dotimes (gp-0 (-> self timeout)) (let ((f30-0 (rand-vu-float-range 1.0 1.8))) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) f30-0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! driller-lurker-idle-drilling-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound2)) (if (and (>= (ja-aframe-num 0) 7.0) (>= 13.0 (ja-aframe-num 0))) (dummy-27 self) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) (stop! (-> self sound2)) - (ja-channel-push! 1 60) - (cond - ((zero? (rand-vu-int-count 2)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - ) - (else - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (if (zero? (rand-vu-int-count 2)) + (ja :group! driller-lurker-idle-look-left-ja :num! min) + (ja :group! driller-lurker-idle-look-right-ja :num! min) ) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -814,45 +777,22 @@ ) :code (behavior () - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 1))) - (set! (-> a0-2 frame-interp) (-> self up-blend)) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-chan) - ) - (while #t + (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)) + (loop (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - (when (= (ja-group-size) 2) - (let ((a0-4 (-> self skel root-channel 1))) - (set! (-> a0-4 frame-interp) (-> self up-blend)) - (set! (-> a0-4 param 0) 0.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (seek!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self up-blend)) ) - ) (when (ja-done? 0) (if (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self timeout)) (>= 546.13336 (fabs (deg- (-> self path-ry) (-> self facing-ry)))) ) (go driller-lurker-patrol-pause) ) - (let ((v1-34 (-> self skel root-channel 0))) - (set! (-> v1-34 num-func) num-func-identity) - (set! (-> v1-34 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) ) ) (none) @@ -893,73 +833,29 @@ (set! s5-0 v1-0) (cond ((zero? v1-0) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? driller-lurker-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) + (ja :group! driller-lurker-idle-ja :num! min) ) ((= v1-0 1) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? driller-lurker-idle-look-left-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s4-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s4-1 frame-num) 0.0) - ) + (ja :group! driller-lurker-idle-look-left-ja :num! min) ) ((= v1-0 2) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? driller-lurker-idle-look-right-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((s4-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> s4-2 frame-num) 0.0) - ) + (ja :group! driller-lurker-idle-look-right-ja :num! min) ) ) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1023,45 +919,18 @@ ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self up-blend)) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-chan - ) - ) - (while #t + (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)) + (loop (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - (when (= (ja-group-size) 2) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self up-blend)) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (seek!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self up-blend)) ) - ) - (when (ja-done? 0) - (let ((v1-27 (-> self skel root-channel 0))) - (set! (-> v1-27 num-func) num-func-identity) - (set! (-> v1-27 frame-num) 0.0) + (if (ja-done? 0) + (ja :num-func num-func-identity :frame-num 0.0) ) - ) ) (none) ) @@ -1101,45 +970,18 @@ ) :code (behavior () - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 1))) - (set! (-> a0-2 frame-interp) (-> self up-blend)) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 14)) - num-func-chan - ) - ) - (while #t + (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)) + (loop (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - (when (= (ja-group-size) 2) - (let ((a0-4 (-> self skel root-channel 1))) - (set! (-> a0-4 frame-interp) (-> self up-blend)) - (set! (-> a0-4 param 0) 0.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (seek!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self up-blend)) ) - ) - (when (ja-done? 0) - (let ((v1-27 (-> self skel root-channel 0))) - (set! (-> v1-27 num-func) num-func-identity) - (set! (-> v1-27 frame-num) 0.0) + (if (ja-done? 0) + (ja :num-func num-func-identity :frame-num 0.0) ) - ) ) (none) ) @@ -1166,23 +1008,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self started-chasing-time) (-> *display* base-frame-counter)) (cond @@ -1212,24 +1042,12 @@ (behavior () (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (clear-collide-with-as (-> self root-overeride)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! driller-lurker-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event self 'death-end) (while (-> self child) diff --git a/test/decompiler/reference/levels/maincave/gnawer_REF.gc b/test/decompiler/reference/levels/maincave/gnawer_REF.gc index 4be0472836..aa56677691 100644 --- a/test/decompiler/reference/levels/maincave/gnawer_REF.gc +++ b/test/decompiler/reference/levels/maincave/gnawer_REF.gc @@ -179,22 +179,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *gnawer-sg* gnawer - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0.5 0 8) - :longest-edge (meters 0.8) - ) +(defskelgroup *gnawer-sg* gnawer gnawer-lod0-jg -1 + ((gnawer-lod0-mg (meters 20)) (gnawer-lod1-mg (meters 40)) (gnawer-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0.5 0 8) + :longest-edge (meters 0.8) + ) ;; failed to figure out what this is: -(defskelgroup *gnawer-segment-sg* gnawer - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *gnawer-segment-sg* gnawer gnawer-segment-lod0-jg -1 + ((gnawer-segment-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; definition for symbol *gnawer-segment-infos*, type (inline-array gnawer-segment-info) (define *gnawer-segment-infos* @@ -445,40 +440,16 @@ (behavior () (ja-channel-push! 1 0) (dotimes (gp-0 1) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-segment-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-segment-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -1014,126 +985,50 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (cond - ((zero? (rand-vu-int-count 2)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) - ) - (else - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity + (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)))) + ) + (ja :group! gnawer-tug-ja + :num! + (identity (rand-vu-float-range 0.0 (the float (+ (-> (ja-group) data 0 length) -1)))) ) - (set! (-> gp-1 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (let ((gp-2 (rand-vu-int-range 1 2)) (s4-0 (rand-vu-int-range 1 2)) ) (dotimes (s5-0 gp-2) (dotimes (s3-0 s4-0) (set! (-> self anim-speed) (rand-vu-float-range 0.8 1.0)) - (ja-channel-push! 1 22) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) (-> self anim-speed)) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-tear-side-to-side-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (set! s4-0 (rand-vu-int-range 1 2)) (dotimes (s3-1 s4-0) (set! (-> self anim-speed) (rand-vu-float-range 0.8 1.0)) - (ja-channel-push! 1 22) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) (-> self anim-speed)) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-tug-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) ) ) - (ja-channel-push! 1 22) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-up-to-chew-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-3 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-3 (-> self node-list data 34)) @@ -1144,25 +1039,13 @@ (spawn (-> self part2) gp-4) ) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-5 (rand-vu-int-range 1 4))) (set! (-> self anim-speed) (rand-vu-float-range 0.8 1.0)) (dotimes (s5-1 gp-5) - (ja-channel-push! 1 22) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-33 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-33 param 1) (-> self anim-speed)) - (set! (-> a0-33 frame-num) 0.0) - (joint-control-channel-group! a0-33 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-chew-ja :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (let ((s4-1 (new 'stack-no-clear 'vector))) (vector<-cspace! s4-1 (-> self node-list data 34)) @@ -1174,31 +1057,15 @@ ) (update! (-> self sound2)) (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) - (set! (-> a0-39 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) ) (stop! (-> self sound2)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-42 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-down-from-chew-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1217,23 +1084,11 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! gnawer-notice-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (quaternion-identity! (-> self root-override quat)) (go gnawer-wait-to-run) @@ -1353,61 +1208,28 @@ (behavior () (local-vars (v1-19 symbol) (v1-35 symbol)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - (while #t + (ja :group! gnawer-run-ja :num! min) + (ja-no-eval :num! (seek!)) + (loop (until v1-19 (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-19 (or (ja-done? 0) (-> self show-damage?))) ) (when (-> self show-damage?) (until (not (-> self show-damage?)) (set! (-> self show-damage?) #f) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! gnawer-takes-hit-ja :num! min) (until v1-35 (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-35 (or (ja-done? 0) (-> self show-damage?))) ) ) - (ja-channel-push! 1 30) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) + (ja-channel-push! 1 (seconds 0.1)) ) + (ja :group! gnawer-run-ja :num! min) ) (none) ) @@ -1450,24 +1272,12 @@ (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #t) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! gnawer-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go gnawer-dying-give-pickups) (none) diff --git a/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc b/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc index e68d974450..25256427ad 100644 --- a/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc +++ b/test/decompiler/reference/levels/maincave/maincave-obs_REF.gc @@ -21,13 +21,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *maincavecam-sg* maincavecam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *maincavecam-sg* maincavecam maincavecam-lod0-jg -1 + ((maincavecam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition for method 29 of type maincavecam (defmethod set-stack-size! maincavecam ((obj maincavecam)) @@ -153,13 +150,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *cavecrusher-sg* cavecrusher - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *cavecrusher-sg* cavecrusher cavecrusher-lod0-jg -1 + ((cavecrusher-lod0-mg (meters 20)) (cavecrusher-lod1-mg (meters 40)) (cavecrusher-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: (defstate cavecrusher-idle (cavecrusher) @@ -183,24 +177,12 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (update! (-> self sound)) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -271,13 +253,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *cavetrapdoor-sg* cavetrapdoor - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 5.7) - ) +(defskelgroup *cavetrapdoor-sg* cavetrapdoor cavetrapdoor-lod0-jg -1 + ((cavetrapdoor-lod0-mg (meters 20)) (cavetrapdoor-lod1-mg (meters 40)) (cavetrapdoor-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :longest-edge (meters 5.7) + ) ;; failed to figure out what this is: (defstate idle (cavetrapdoor) @@ -297,23 +277,11 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -331,45 +299,19 @@ (suspend) ) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-0 param 0) (ja-aframe 290.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! (ja-aframe 290.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 290.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 290.0 0))) ) (restore-collide-with-as (-> self root-override)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -384,34 +326,14 @@ (zero? (logand (-> *target* control root-prim prim-core action) (collide-action ca-7))) ) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (label cfg-14) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-27 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (and *target* (>= 28672.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) (or (and (logtest? (-> *target* control unknown-surface00 flags) (surface-flags surf11)) @@ -422,20 +344,12 @@ ) (while (not (ja-min? 0)) (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) 0.0) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (goto cfg-14) ) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual idle) (none) @@ -704,7 +618,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -867,22 +781,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *cavespatula-sg* cavespatula - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -1 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *cavespatula-sg* cavespatula 0 -1 + ((1 (meters 20)) (2 (meters 999999))) + :bounds (static-spherem 0 -1 0 18) + ) ;; failed to figure out what this is: -(defskelgroup *cavespatula-darkcave-sg* cavespatula-darkcave - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -1 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *cavespatula-darkcave-sg* cavespatula-darkcave cavespatula-darkcave-lod0-jg -1 + ((cavespatula-darkcave-lod0-mg (meters 20)) (cavespatula-darkcave-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 18) + ) ;; failed to figure out what this is: (defstate cavespatula-idle (cavespatula) @@ -897,7 +805,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1006,13 +914,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *cavespatulatwo-sg* cavespatulatwo - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.5 0 21) - :longest-edge (meters 8.7) - ) +(defskelgroup *cavespatulatwo-sg* cavespatulatwo cavespatulatwo-lod0-jg -1 + ((cavespatulatwo-lod0-mg (meters 20)) (cavespatulatwo-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.5 0 21) + :longest-edge (meters 8.7) + ) ;; failed to figure out what this is: (defstate cavespatulatwo-idle (cavespatulatwo) @@ -1027,7 +933,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1131,13 +1037,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *caveelevator-sg* caveelevator - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.25) - :longest-edge (meters 0) - ) +(defskelgroup *caveelevator-sg* caveelevator caveelevator-lod0-jg -1 + ((caveelevator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.25) + ) ;; definition for function cavecrystal-light-control-caveelevator-callback ;; Used lq/sq @@ -1220,23 +1123,12 @@ ) :code (behavior () - (while #t + (loop (let ((f30-1 (* (get-current-phase (-> self sync)) (the float (ja-num-frames 0))))) - (cond - ((< (-> self prev-frame-num) f30-1) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) f30-1) - (set! (-> a0-2 param 1) 10000.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) f30-1) - ) + (if (< (-> self prev-frame-num) f30-1) + (ja :num! (seek! f30-1 10000.0)) + (ja :num-func num-func-identity :frame-num f30-1) ) - ) (set! (-> self prev-frame-num) f30-1) ) (suspend) @@ -1277,20 +1169,13 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as - art-joint-anim - (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) - master-art-group-name - ) - ) - num-func-identity + (ja :group! + (-> (the-as art-joint-anim (+ (* (-> self anim 0) 4) (the-as int (-> self draw art-group)))) + master-art-group-name + ) + :num! min ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (loop (suspend) ) (none) @@ -1332,26 +1217,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self anim 0))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :group! (-> self draw art-group data (-> self anim 0)) :num! min) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go caveelevator-one-way-idle-end) (none) @@ -1398,17 +1268,8 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self anim 0))) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self anim 0))) data 0 length) -1)) - ) - ) - (while #t + (ja :group! (-> self draw art-group data (-> self anim 0)) :num! max) + (loop (suspend) ) (none) @@ -1450,26 +1311,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self anim 1))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :group! (-> self draw art-group data (-> self anim 1)) :num! min) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go caveelevator-one-way-idle-start) (none) 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 7f066f6226..b24b5fddb6 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider-egg_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider-egg_REF.gc @@ -49,23 +49,23 @@ ) ;; failed to figure out what this is: -(defskelgroup *mother-spider-egg-unbroken-sg* spider-egg - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *mother-spider-egg-unbroken-sg* spider-egg spider-egg-unbroken-lod0-jg -1 + ((spider-egg-unbroken-lod0-mg (meters 20)) + (spider-egg-unbroken-lod1-mg (meters 40)) + (spider-egg-unbroken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + :shadow spider-egg-unbroken-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *mother-spider-egg-broken-sg* spider-egg - 5 - -1 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *mother-spider-egg-broken-sg* spider-egg spider-egg-broken-lod0-jg -1 + ((spider-egg-broken-lod0-mg (meters 20)) + (spider-egg-broken-lod1-mg (meters 40)) + (spider-egg-broken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + ) ;; failed to figure out what this is: (defpartgroup group-spider-egg-hatches @@ -274,23 +274,11 @@ :code (behavior () (ja-channel-push! 1 0) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -340,7 +328,7 @@ ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'quaternion)) (s5-0 (new 'stack-no-clear 'quaternion)) ) @@ -354,50 +342,23 @@ (quaternion-from-two-vectors! s5-0 s4-0 s3-0) ) (quaternion*! s5-0 s5-0 gp-0) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.3) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek! max 1.3) :frame-num 0.0) (until (ja-done? 0) (let* ((f0-8 (ja-frame-num 0)) - (v1-19 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (v1-19 (ja-group)) (f0-9 (/ f0-8 (the float (+ (-> v1-19 data 0 length) -1)))) ) (quaternion-slerp! (-> self root-override quat) gp-0 s5-0 f0-9) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.3) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.3)) ) ) - (while #t - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) (-> self anim-speed)) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) @@ -448,23 +409,11 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 60) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-37 (-> self draw shadow-ctrl))) (logior! (-> v1-37 settings flags) (shadow-flags shdf05)) @@ -487,7 +436,7 @@ ) 0 (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 30) + (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 @@ -507,22 +456,10 @@ (-> gp-0 ppointer) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-egg-die-exit) (none) @@ -570,23 +507,11 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 30) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-egg-die-exit) (none) diff --git a/test/decompiler/reference/levels/maincave/mother-spider_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider_REF.gc index fe7edbde8c..c29ca0abaf 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider_REF.gc @@ -2,23 +2,20 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *mother-spider-sg* mother-spider - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *mother-spider-sg* mother-spider mother-spider-lod0-jg -1 + ((mother-spider-lod0-mg (meters 20)) + (mother-spider-lod1-mg (meters 40)) + (mother-spider-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 8) + :shadow mother-spider-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *mother-spider-leg-sg* mother-spider - 13 - -1 - ((14 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *mother-spider-leg-sg* mother-spider mother-spider-leg-lod0-jg -1 + ((mother-spider-leg-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; definition for symbol *mother-spider-threads*, type (inline-array mother-spider-thread) (define *mother-spider-threads* @@ -150,41 +147,17 @@ (ja-channel-push! 1 0) (let ((f30-0 (rand-vu-float-range 0.2 0.7))) (dotimes (gp-0 3) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-leg-twitching-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part) (-> self root trans)) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-leg-die-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (none) @@ -903,7 +876,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1012,57 +985,28 @@ :code (behavior ((arg0 uint)) (local-vars (v1-12 symbol) (v1-28 symbol)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! mother-spider-lowering-ja :num! min) + (loop (until v1-12 (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-12 (or (ja-done? 0) (-> self hit?))) ) (when (-> self hit?) (until (not (-> self hit?)) (set! (-> self hit?) #f) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! mother-spider-takes-hit-ja :num! min) (until v1-28 (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-28 (or (ja-done? 0) (-> self hit?))) ) ) - (ja-channel-push! 1 60) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) + (ja-channel-push! 1 (seconds 0.2)) ) + (ja :group! mother-spider-lowering-ja :num! min) ) (none) ) @@ -1089,23 +1033,11 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-22 (-> self mode))) (cond @@ -1206,42 +1138,22 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? mother-spider-idle-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1273,42 +1185,18 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1337,17 +1225,9 @@ ) :code (behavior () - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.5) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-spit-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 6.0) (>= 8.0 (ja-aframe-num 0))) (when *target* @@ -1394,11 +1274,7 @@ ) ) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.5) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.5)) ) ) (if (> (-> self spit-counter) 0) @@ -1449,42 +1325,22 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? mother-spider-idle-ja) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) (else - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) ) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1519,17 +1375,9 @@ ) :code (behavior () - (ja-channel-push! 1 75) + (ja-channel-push! 1 (seconds 0.25)) (let ((gp-0 #f)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.4) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-birth-ja :num! (seek! max 1.4) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 10.0)) (set! gp-0 #t) @@ -1560,11 +1408,7 @@ ) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.4) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.4)) ) ) (go mother-spider-birthing) @@ -1746,42 +1590,18 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (loop + (ja-no-eval :group! mother-spider-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1845,24 +1665,12 @@ (set! (-> v1-2 user-int8 0) 1) ) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-die-from-uppercut-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-die-wait-for-children) (none) @@ -1888,24 +1696,12 @@ ) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! mother-spider-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mother-spider-die-wait-for-children) (none) diff --git a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc index b5191d8846..e57db94fca 100644 --- a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc +++ b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc @@ -55,13 +55,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *spiderwebs-sg* spiderwebs - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *spiderwebs-sg* spiderwebs spiderwebs-good-lod0-jg -1 + ((spiderwebs-good-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + ) ;; definition for function spiderwebs-default-event-handler (defbehavior spiderwebs-default-event-handler spiderwebs ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -112,16 +109,9 @@ :code (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! spiderwebs-bounce-ja :num! min) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -135,38 +125,16 @@ (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) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-1 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-1 param 1) 1.0) - (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!) - ) + (ja-no-eval :group! spiderwebs-bounce-ja :num! (seek! (ja-aframe 10.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 10.0 0))) ) (set! (-> self event-hook) (-> spiderwebs-idle event)) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! spiderwebs-bounce-ja :num! (seek!) :frame-num (ja-aframe 10.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go spiderwebs-idle) (none) 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 31b44fe6a1..289c10d689 100644 --- a/test/decompiler/reference/levels/misty/babak-with-cannon_REF.gc +++ b/test/decompiler/reference/levels/misty/babak-with-cannon_REF.gc @@ -52,32 +52,12 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (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) (ja-post) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (anim-loop) (none) @@ -152,24 +132,12 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (loop + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -274,7 +242,7 @@ nav-enemy-default-event-handler ) ) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -293,30 +261,18 @@ nav-enemy-default-event-handler (when a0-9 (let ((gp-2 (babak-with-cannon-compute-cannon-dir (the-as mistycannon a0-9) (new 'stack-no-clear 'vector)))) (when (not (nav-enemy-facing-direction? gp-2 1820.4445)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-dir gp-2 182.04445) (forward-up->quaternion (-> self collide-info quat) gp-2 *y-vector*) ) ) ) ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go babak-with-cannon-shooting) (none) @@ -343,25 +299,13 @@ nav-enemy-default-event-handler (nav-enemy-initialize-jump (-> self entity extra trans)) (nav-enemy-neck-control-look-at) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate enable-travel)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 2.0) - (set! (-> a0-2 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! 0.0 2.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 2.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 2.0)) ) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) @@ -419,7 +363,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/misty/balloonlurker_REF.gc b/test/decompiler/reference/levels/misty/balloonlurker_REF.gc index bd1eba2bf2..31a161a7a5 100644 --- a/test/decompiler/reference/levels/misty/balloonlurker_REF.gc +++ b/test/decompiler/reference/levels/misty/balloonlurker_REF.gc @@ -402,22 +402,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *balloonlurker-sg* balloonlurker - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 12 0 17) - :longest-edge (meters 0) - ) +(defskelgroup *balloonlurker-sg* balloonlurker balloonlurker-lod0-jg balloonlurker-idle-ja + ((balloonlurker-lod0-mg (meters 20)) + (balloonlurker-lod1-mg (meters 40)) + (balloonlurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 12 0 17) + ) ;; failed to figure out what this is: -(defskelgroup *balloonlurker-pilot-sg* balloonlurker - 6 - 10 - ((7 (meters 20)) (8 (meters 40)) (9 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *balloonlurker-pilot-sg* balloonlurker balloonlurker-pilot-lod0-jg balloonlurker-pilot-idle-ja + ((balloonlurker-pilot-lod0-mg (meters 20)) + (balloonlurker-pilot-lod1-mg (meters 40)) + (balloonlurker-pilot-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for function balloonlurker-get-path-point ;; INFO: Return type mismatch int vs none. @@ -816,29 +816,16 @@ balloonlurker-event-handler :trans (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! (-> self anim-frame) (ja-frame-num 0)) (none) ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 21) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) - (let ((v1-11 (-> self skel root-channel 0))) - (set! (-> v1-11 num-func) num-func-identity) - (set! (-> v1-11 frame-num) 0.0) - ) + (when (not (ja-group? balloonlurker-idle-ja)) + (ja-channel-push! 1 (seconds 0.07)) + (ja :group! balloonlurker-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) ) (ja-post) (anim-loop) @@ -882,10 +869,7 @@ (vector-length (-> self explosion-force)) (vector-normalize! (-> self explosion-force) (-> *BALLOONLURKER-bank* explosion-force)) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (let ((v1-16 (-> self mine arg0))) (set! (-> v1-16 enable) #t) (set-vector! (-> v1-16 transform scale) 0.0 0.0 0.0 1.0) @@ -953,10 +937,7 @@ (set! (-> self buoyancy-factor) (* 4.0 (-> self buoyancy-factor))) (until v1-27 (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (set! v1-27 (or (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 30)) (< 819200.0 (- (-> self root-overlay trans y) (-> self water-y))) ) @@ -1006,20 +987,12 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! balloonlurker-pilot-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) + (loop (suspend) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 num-func) num-func-identity) - (set! (-> v1-9 frame-num) (-> self parent-override 0 anim-frame)) - ) + (ja :num-func num-func-identity :frame-num (-> self parent-override 0 anim-frame)) ) (none) ) @@ -1066,23 +1039,11 @@ (-> self root-override transv) ) (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 30) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! balloonlurker-pilot-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) diff --git a/test/decompiler/reference/levels/misty/bonelurker_REF.gc b/test/decompiler/reference/levels/misty/bonelurker_REF.gc index 89298303a1..7329e1db67 100644 --- a/test/decompiler/reference/levels/misty/bonelurker_REF.gc +++ b/test/decompiler/reference/levels/misty/bonelurker_REF.gc @@ -24,14 +24,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *bonelurker-sg* bonelurker - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *bonelurker-sg* bonelurker bonelurker-lod0-jg bonelurker-idle-ja + ((bonelurker-lod0-mg (meters 20)) (bonelurker-lod1-mg (meters 40)) (bonelurker-lod2-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6) + :shadow bonelurker-shadow-mg + ) ;; definition for function bonelurker-set-small-bounds-sphere ;; INFO: Return type mismatch int vs none. @@ -226,7 +223,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (none) ) @@ -269,138 +266,58 @@ nav-enemy-default-event-handler (set! (-> self speed-scale) 1.0) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - (ja-channel-push! 1 90) + ((ja-group? bonelurker-win-ja) + (ja-channel-push! 1 (seconds 0.3)) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 15) - ) - (ja-channel-push! 1 60) + ((ja-group? bonelurker-stun-ja) + (ja-channel-push! 1 (seconds 0.2)) ) (else - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) ) ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-left-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :group! bonelurker-charge-right-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) - (while #t + (loop (cond ((or (not *target*) (< 36864.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) f30-0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) f30-0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-left-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (go-virtual nav-enemy-victory) ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-25 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-25 param 1) f30-0) - (set! (-> a0-25 frame-num) 0.0) - (joint-control-channel-group! a0-25 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-right-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) - (set! (-> a0-26 param 1) f30-0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (if (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (go-virtual nav-enemy-victory) ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) f30-0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-charge-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) f30-0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -436,82 +353,39 @@ nav-enemy-default-event-handler (set! (-> self turn-time) (seconds 0.2)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) (when (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> gp-0 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bonelurker-win-ja :num! (seek! (ja-aframe 48.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 48.0 0) f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 60) - (let ((v1-20 (-> self skel root-channel 0))) - (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - ) - (let ((v1-23 (-> self skel root-channel 0))) - (set! (-> v1-23 num-func) num-func-identity) - (set! (-> v1-23 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bonelurker-turn-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) - (ja-channel-push! 1 75) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.25)) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :num! (loop!)) (when (rand-vu-percent? 0.15) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> gp-2 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bonelurker-win-ja :num! (seek! (ja-aframe 48.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 48.0 0) f30-0)) ) ) ) @@ -532,7 +406,7 @@ nav-enemy-default-event-handler (behavior () (set! (-> self rotate-speed) 524288.0) (set! (-> self turn-time) (seconds 0.1)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -541,70 +415,26 @@ nav-enemy-default-event-handler ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! bonelurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -613,11 +443,7 @@ nav-enemy-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -657,23 +483,11 @@ nav-enemy-default-event-handler (vector+! gp-0 (-> self collide-info trans) gp-0) (set! (-> self nav target-pos quad) (-> gp-0 quad)) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! bonelurker-stun-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-chase) (none) diff --git a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc index b5b166c6c7..f4d5e70a07 100644 --- a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc @@ -136,32 +136,23 @@ ) ;; failed to figure out what this is: -(defskelgroup *keg-conveyor-sg* keg-conveyor - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -6 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *keg-conveyor-sg* keg-conveyor keg-conveyor-lod0-jg keg-conveyor-idle-ja + ((keg-conveyor-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *keg-conveyor-paddle-sg* keg-conveyor-paddle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -6 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *keg-conveyor-paddle-sg* keg-conveyor-paddle keg-conveyor-paddle-lod0-jg keg-conveyor-paddle-idle-ja + ((keg-conveyor-paddle-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -6 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *keg-sg* keg - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *keg-sg* keg keg-lod0-jg keg-idle-ja + ((keg-lod0-mg (meters 20)) (keg-lod1-mg (meters 40)) (keg-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow keg-shadow-mg + ) ;; definition for function keg-update-smush ;; INFO: Return type mismatch int vs none. @@ -250,11 +241,8 @@ :code (behavior () (set! (-> (the-as keg (-> self parent 0)) sync-offset) (the-as float (process->ppointer self))) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 num-func) num-func-identity) - (set! (-> v1-3 frame-num) 0.0) - ) - (while #t + (ja :num-func num-func-identity :frame-num 0.0) + (loop (let ((gp-0 (-> (the-as process-drawable (-> self parent 0)) node-list data 4))) (matrix->quaternion (-> self root-override quat) (-> gp-0 bone transform)) (vector<-cspace! (-> self root-override trans) gp-0) @@ -288,7 +276,7 @@ 0.0 0.0 (forward-up-nopitch->quaternion s3-0 a1-3 (new 'static 'vector :y 1.0 :w 1.0)) - (while #t + (loop (if (>= (the float (- (-> *display* base-frame-counter) (-> self state-time))) f30-0) (go keg-on-path) ) @@ -297,10 +285,7 @@ (set! (-> self path-position quad) (-> self root-override trans quad)) (quaternion-slerp! (-> self root-override quat) s4-0 s3-0 f28-0) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -336,7 +321,7 @@ (set! sv-48 0.0) (set! sv-64 0.0) (set! sv-80 (- (-> *standard-dynamics* gravity-length))) - (while #t + (loop (let ((f0-13 (+ (get-current-phase (-> (the-as keg-conveyor-paddle (-> self parent 0)) sync)) f26-1))) (set! sv-96 (- f0-13 (the float (the int f0-13)))) ) @@ -424,10 +409,7 @@ (set! (-> s5-0 y) 1.0) (set! (-> s5-0 z) 0.0) ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -465,7 +447,7 @@ (clear-collide-with-as (-> self root-override)) (vector-normalize! gp-0 1.0) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) (go keg-die) ) @@ -475,10 +457,7 @@ (+! f28-0 (* f26-0 (-> *display* seconds-per-frame))) (vector+! v1-23 v1-23 s5-0) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -592,12 +571,9 @@ (defstate keg-conveyor-idle (keg-conveyor) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) 0.0 - (while #t + (loop (suspend) ) (none) @@ -614,7 +590,7 @@ (gp-0 0) (s5-0 (length *keg-conveyor-keg-spawn-table*)) ) - (while #t + (loop (let ((s4-0 #f)) (when (or (not *target*) (< 102400.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) @@ -640,32 +616,7 @@ (if (>= gp-0 s5-0) (set! gp-0 0) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not s4-0) (>= (ja-aframe-num 0) f30-0)) (set! s4-0 #t) @@ -689,11 +640,7 @@ ) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/misty/misty-obs_REF.gc b/test/decompiler/reference/levels/misty/misty-obs_REF.gc index 4c7103ec65..4015120551 100644 --- a/test/decompiler/reference/levels/misty/misty-obs_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-obs_REF.gc @@ -1110,20 +1110,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *boatpaddle-sg* boatpaddle - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *boatpaddle-sg* boatpaddle boatpaddle-lod0-jg boatpaddle-idle-ja + ((boatpaddle-lod0-mg (meters 20)) (boatpaddle-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 18) + ) ;; failed to figure out what this is: (defstate boatpaddle-idle (boatpaddle) :code (behavior () (local-vars (s4-0 int)) - (while #t + (loop (quaternion-rotate-local-x! (-> self root quat) (-> self root quat) @@ -1135,17 +1132,7 @@ (let ((f30-0 1274.3112) (f28-0 (the float s4-0)) ) - (set! s4-0 (/ (the int (* 65536.0 (ja-frame-num 0))) (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) + (set! s4-0 (/ (the int (* 65536.0 (ja-frame-num 0))) (+ (-> (ja-group) data 0 length) -1))) (set! (-> *part-id-table* 943 init-specs 17 initial-valuef) (+ f30-0 (- f28-0 (* (the float (the int (/ (the float s4-0) 8192.0))) 8192.0))) ) @@ -1198,19 +1185,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *windturbine-sg* windturbine - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *windturbine-sg* windturbine windturbine-lod0-jg windturbine-idle-ja + ((windturbine-lod0-mg (meters 20)) (windturbine-lod1-mg (meters 40)) (windturbine-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3 0 7) + ) ;; failed to figure out what this is: (defstate windturbine-idle (windturbine) :code (behavior () - (while #t + (loop (let* ((a0-0 (-> self root trans)) (f2-0 (-> *wind-work* @@ -1287,13 +1271,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *mis-bone-bridge-sg* mis-bone-bridge - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *mis-bone-bridge-sg* mis-bone-bridge mis-bone-bridge-lod0-jg mis-bone-bridge-idle-ja + ((mis-bone-bridge-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 20) + ) ;; definition for function mis-bone-bridge-event-handler ;; Used lq/sq @@ -1344,11 +1325,8 @@ mis-bone-bridge-event-handler :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) - (while #t + (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)))) (level-hint-spawn (game-text-id misty-bone-bridge-hint) @@ -1374,22 +1352,10 @@ (the-as (function none :behavior mis-bone-bridge) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mis-bone-bridge-idle) (none) @@ -1410,22 +1376,10 @@ (if (zero? (-> self hit-points)) (go mis-bone-bridge-fall #f) ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mis-bone-bridge-idle) (none) @@ -1451,49 +1405,18 @@ (-> gp-1 ppointer) ) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index)))) - (set! (-> a0-5 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index))) data 0 length) -1) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index))) - num-func-seek! - ) - ) + (ja-no-eval :group! (-> self draw art-group data (-> self fall-anim-index)) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data (-> self fall-anim-index))) - num-func-identity + (ja :group! + (-> self draw art-group data (-> self fall-anim-index)) + :num! + (identity (the float (+ (-> (ja-group) data 0 length) -1))) ) - (set! (-> gp-2 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (while #t + (loop (suspend) ) (none) @@ -1648,23 +1571,8 @@ (let ((gp-1 #f) (s5-1 (-> *display* base-frame-counter)) ) - (while #t - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> s4-0 param 0) (ja-aframe 15.0 0)) - (set! (-> s4-0 param 1) 1.0) - (set! (-> s4-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! - s4-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 15.0 0)) :frame-num (ja-aframe 1.0 0)) (until (ja-done? 0) (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) s5-1) (seconds 0.15))) (set! gp-1 #t) @@ -1674,11 +1582,7 @@ (go breakaway-fall) ) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe 15.0 0)) - (set! (-> s4-1 param 1) 1.0) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 15.0 0))) ) ) ) @@ -1696,32 +1600,13 @@ (f28-0 0.0) (f26-0 (* 0.1 (- (-> *standard-dynamics* gravity-length)))) ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.4) - (set! (-> gp-0 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 32.0 0) 0.4) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (+! f30-0 (* f28-0 (-> *display* seconds-per-frame))) (+! f28-0 (* f26-0 (-> *display* seconds-per-frame))) (+! (-> self root-override trans y) f30-0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.4) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.4)) ) ) (cleanup-for-death self) @@ -1818,31 +1703,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *breakaway-right-sg* breakaway-right - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *breakaway-right-sg* breakaway-right breakaway-right-lod0-jg breakaway-right-idle-ja + ((breakaway-right-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) ;; failed to figure out what this is: -(defskelgroup *breakaway-mid-sg* breakaway-mid - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *breakaway-mid-sg* breakaway-mid breakaway-mid-lod0-jg breakaway-mid-idle-ja + ((breakaway-mid-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) ;; failed to figure out what this is: -(defskelgroup *breakaway-left-sg* breakaway-left - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *breakaway-left-sg* breakaway-left breakaway-left-lod0-jg breakaway-left-idle-ja + ((breakaway-left-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + ) ;; definition for method 11 of type breakaway-right (defmethod init-from-entity! breakaway-right ((obj breakaway-right) (arg0 entity-actor)) @@ -1916,13 +1792,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *mis-bone-platform-sg* mis-bone-platform - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *mis-bone-platform-sg* mis-bone-platform mis-bone-platform-lod0-jg mis-bone-platform-idle-ja + ((mis-bone-platform-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for method 27 of type bone-platform ;; INFO: Return type mismatch int vs none. @@ -1965,7 +1838,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -2005,15 +1878,10 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t + (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) + (loop (suspend) ) (none) @@ -2117,13 +1985,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *mistycam-sg* mistycam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *mistycam-sg* mistycam mistycam-lod0-jg mistycam-anim-ja + ((mistycam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) ;; definition for function mistycam-spawn ;; INFO: Return type mismatch int vs none. diff --git a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc index e39fb2fd78..ccd57cbcdd 100644 --- a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc @@ -30,13 +30,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *teetertotter-sg* teetertotter - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *teetertotter-sg* teetertotter teetertotter-lod0-jg teetertotter-idle-ja + ((teetertotter-lod0-mg (meters 20)) (teetertotter-lod1-mg (meters 40)) (teetertotter-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for function target-on-end-of-teetertotter? ;; Used lq/sq @@ -80,15 +77,8 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja :group! (-> self draw art-group data 4) :num! min) + (loop (suspend) ) (none) @@ -156,15 +146,7 @@ :code (behavior () (set! (-> self launched-player) #f) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (set! (-> self in-launch-window) (and (>= f0-4 76.0) (>= 82.0 f0-4))) @@ -173,11 +155,7 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go teetertotter-idle) (none) @@ -190,22 +168,10 @@ (defstate teetertotter-bend (teetertotter) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go teetertotter-idle) (none) diff --git a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc index abd526d122..6a9438131f 100644 --- a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc @@ -28,13 +28,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *silostep-sg* silostep - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *silostep-sg* silostep silostep-lod0-jg silostep-idle-ja + ((silostep-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 8) + ) ;; failed to figure out what this is: (defstate silostep-idle (silostep) @@ -51,16 +48,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -138,34 +128,17 @@ (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status complete) #t) (when (not arg0) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) (-> self anim-limit)) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (-> self anim-limit)) :frame-num 0.0) (until (ja-done? 0) (rider-trans) (rider-post) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (-> self anim-limit)) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (-> self anim-limit))) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (-> self anim-limit)) - ) + (ja :group! (-> self draw art-group data 2) :num! (identity (-> self anim-limit))) (rider-post) - (while #t + (loop (ja-post) (suspend) ) @@ -215,13 +188,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *rounddoor-sg* rounddoor - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *rounddoor-sg* rounddoor rounddoor-lod0-jg rounddoor-idle-ja + ((rounddoor-lod0-mg (meters 20)) (rounddoor-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition of type rounddoor (deftype rounddoor (eco-door) diff --git a/test/decompiler/reference/levels/misty/mistycannon_REF.gc b/test/decompiler/reference/levels/misty/mistycannon_REF.gc index f717851b40..ce135bd197 100644 --- a/test/decompiler/reference/levels/misty/mistycannon_REF.gc +++ b/test/decompiler/reference/levels/misty/mistycannon_REF.gc @@ -722,13 +722,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *mistycannon-missile-sg* sack - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *mistycannon-missile-sg* sack sack-lod0-jg sack-idle-ja + ((sack-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for method 20 of type mistycannon-missile ;; INFO: Return type mismatch int vs none. @@ -851,39 +848,15 @@ 1 (the-as symbol (-> self root-override trans)) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! sack-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! sack-fuse-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go mistycannon-missile-explode) (none) @@ -1379,13 +1352,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *mistycannon-sg* mistycannon - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 5 0 9) - :longest-edge (meters 4) - ) +(defskelgroup *mistycannon-sg* mistycannon mistycannon-lod0-jg mistycannon-idle-ja + ((mistycannon-lod0-mg (meters 20)) (mistycannon-lod1-mg (meters 999999))) + :bounds (static-spherem 0 5 0 9) + :longest-edge (meters 4) + ) ;; definition for function mistycannon-prebind-function ;; INFO: Return type mismatch int vs none. @@ -1476,7 +1447,7 @@ ) :code (behavior () - (while #t + (loop (dummy-23 self) (suspend) ) @@ -1697,7 +1668,7 @@ ) :code (behavior () - (while #t + (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)) (mistycannon-do-aim (-> self at-point) (new-stack-vector0)) @@ -1744,7 +1715,7 @@ :code (behavior () (set! (-> self player-touching-grips?) #f) - (while #t + (loop (let ((f0-0 2730.6667) (v1-0 (-> self tilt)) ) @@ -1773,7 +1744,7 @@ (print-game-text (lookup-text! *common-text* (game-text-id press-to-use) #f) gp-0 #f 128 22) ) (when (cpad-pressed? 0 circle) - (while #t + (loop (send-event *target* 'change-mode 'periscope self) (suspend) (suspend) @@ -1810,7 +1781,7 @@ ) :code (behavior () - (while #t + (loop (let ((v1-0 (-> self change-event-from))) (set! (-> self trans quad) (-> (the-as mistycannon (-> v1-0 0)) goggles quad)) (let ((t9-0 matrix-rotate-yx!) @@ -1856,7 +1827,7 @@ (let ((gp-0 0) (s5-0 0) ) - (while #t + (loop (when *camera-read-analog* (let ((f30-0 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 48.0 110.0 -1.0)) (f28-0 (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 48.0 110.0 -1.0)) @@ -1874,7 +1845,7 @@ (sound-stop (-> self sound-id)) (send-event *camera* 'change-to-entity-by-name "camera-111") (suspend) - (while #t + (loop (let ((a1-8 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-8 from) self) (set! (-> a1-8 num-params) 0) @@ -1969,7 +1940,7 @@ (the-as (function none :behavior mistycannon) rider-trans) :code (behavior () - (while #t + (loop (suspend) (dummy-23 self) (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) diff --git a/test/decompiler/reference/levels/misty/muse_REF.gc b/test/decompiler/reference/levels/misty/muse_REF.gc index 490db1e292..9dd3658511 100644 --- a/test/decompiler/reference/levels/misty/muse_REF.gc +++ b/test/decompiler/reference/levels/misty/muse_REF.gc @@ -205,14 +205,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *muse-sg* muse - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 3) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *muse-sg* muse muse-lod0-jg muse-idle-ja + ((muse-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 3) + :shadow muse-shadow-mg + ) ;; definition for method 44 of type muse (defmethod dummy-44 muse ((obj muse) (arg0 process) (arg1 event-message-block)) @@ -247,54 +244,23 @@ nav-enemy-default-event-handler ) :code (behavior () - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (when (ja-group? muse-run-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :num! (loop!)) + (ja-no-eval :group! muse-run-to-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! muse-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (spool-push *art-control* (-> self anim name) 0 self -99.0) (dummy-51 self) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -344,53 +310,24 @@ nav-enemy-default-event-handler :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + ((ja-group? muse-idle-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :num! (loop!)) + (ja-no-eval :group! muse-idle-to-run-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja :group! muse-run-ja :num! min) + (loop (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (* 0.000016276043 (-> self momentum-speed))) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (* 0.000016276043 (-> self momentum-speed)))) ) (none) ) @@ -440,29 +377,13 @@ nav-enemy-default-event-handler ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 0.8) - (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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)) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 0.8) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.8)) ) (go-virtual nav-enemy-chase) (none) @@ -535,8 +456,8 @@ nav-enemy-default-event-handler (auto-save-command 'auto-save 0 0 *default-pool*) (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 3)) + (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) diff --git a/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc b/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc index 5058c18734..9c5f9eef5f 100644 --- a/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc +++ b/test/decompiler/reference/levels/misty/quicksandlurker_REF.gc @@ -570,13 +570,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *quicksandlurker-sg* quicksandlurker - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *quicksandlurker-sg* quicksandlurker quicksandlurker-lod0-jg quicksandlurker-idle-ja + ((quicksandlurker-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; definition for function orient-to-face-target (defbehavior orient-to-face-target quicksandlurker () @@ -699,7 +696,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -740,57 +737,28 @@ (s5-0 5) (s4-0 0) ) - (ja-channel-push! 1 30) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (+! s4-0 1) (when (< s5-0 s4-0) (set! s4-0 0) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-yawn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (orient-to-face-target) - (let ((v1-55 (-> self skel root-channel 0))) - (set! (-> v1-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (let ((v1-58 (-> self skel root-channel 0))) - (set! (-> v1-58 num-func) num-func-identity) - (set! (-> v1-58 frame-num) 0.0) - ) + (ja :group! quicksandlurker-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) ) @@ -806,22 +774,10 @@ quicksandlurker-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-yawn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go quicksandlurker-wait) (none) @@ -851,24 +807,12 @@ (s5-0 1) (s4-0 0) ) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (+! s4-0 1) @@ -879,13 +823,8 @@ ) ) (orient-to-face-target) - (let ((v1-39 (-> self skel root-channel 0))) - (set! (-> v1-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 num-func) num-func-identity) - (set! (-> v1-42 frame-num) 0.0) - ) + (ja :group! quicksandlurker-idle-ja) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) ) @@ -931,15 +870,7 @@ (let ((gp-0 #f) (f30-0 51.0) ) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-spit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (orient-to-face-target) (when (and (not gp-0) (>= (ja-aframe-num 0) f30-0)) @@ -947,11 +878,7 @@ (quicksandlurker-spit) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go quicksandlurker-track) @@ -969,44 +896,20 @@ quicksandlurker-check-hide-transition :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (cond ((rand-vu-percent? 0.5) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-victory2-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1058,23 +961,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 0.75) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (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) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.75) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.75)) ) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-0 @@ -1095,7 +986,7 @@ ) ) (clear-collide-with-as (-> self root-override)) - (while #t + (loop (orient-to-face-target) (suspend) ) @@ -1129,23 +1020,11 @@ (-> gp-0 ppointer) ) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! quicksandlurker-popup-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (orient-to-face-target) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go quicksandlurker-track) (none) @@ -1164,23 +1043,11 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! quicksandlurker-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) diff --git a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc index ae37b32085..1c4675163e 100644 --- a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc +++ b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc @@ -1239,50 +1239,35 @@ ) ;; failed to figure out what this is: -(defskelgroup *sidekick-human-sg* sidekick-human - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sidekick-human-sg* sidekick-human sidekick-human-lod0-jg sidekick-human-idle-ja + ((sidekick-human-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sidekick-human-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *darkecocan-sg* darkecocan - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *darkecocan-sg* darkecocan darkecocan-lod0-jg darkecocan-idle-ja + ((darkecocan-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) ;; failed to figure out what this is: -(defskelgroup *darkecocan-glow-sg* darkecocan - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *darkecocan-glow-sg* darkecocan darkecocan-glow-lod0-jg darkecocan-idle-ja + ((darkecocan-glow-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) ;; failed to figure out what this is: -(defskelgroup *evilbro-sg* evilbro - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *evilbro-sg* evilbro evilbro-lod0-jg evilbro-idle-ja + ((evilbro-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) ;; failed to figure out what this is: -(defskelgroup *evilsis-sg* evilsis - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *evilsis-sg* evilsis evilsis-lod0-jg evilsis-idle-ja + ((evilsis-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) ;; definition of type army-info (deftype army-info (structure) diff --git a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc index d461ad7bdd..58758babfa 100644 --- a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc +++ b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc @@ -2,13 +2,10 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *ogrecam-sg* ogrecam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *ogrecam-sg* ogrecam ogrecam-lod0-jg -1 + ((ogrecam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6) + ) ;; definition of type plunger-lurker (deftype plunger-lurker (process-drawable) @@ -38,13 +35,13 @@ ) ;; failed to figure out what this is: -(defskelgroup *plunger-lurker-sg* plunger-lurker - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 2 4 0 12) - :longest-edge (meters 0) - ) +(defskelgroup *plunger-lurker-sg* plunger-lurker plunger-lurker-lod0-jg plunger-lurker-idle-ja + ((plunger-lurker-lod0-mg (meters 20)) + (plunger-lurker-lod1-mg (meters 40)) + (plunger-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 2 4 0 12) + ) ;; failed to figure out what this is: (defstate plunger-lurker-plunge (plunger-lurker) @@ -144,7 +141,7 @@ ) ) (the-as art-joint-anim #f) - (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as art-joint-anim plunger-lurker-idle-ja) (the-as (function process-drawable symbol) false-func) ) (if (handle->process gp-1) @@ -174,44 +171,15 @@ (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 'array uint32 26 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x20 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - ) - ) - ) - (set! (-> a0-37 17) (the-as uint 'instant-death)) + (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) ) (cleanup-for-death self) (deactivate self) - (while #t + (loop (suspend) ) (none) @@ -262,41 +230,17 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! plunger-lurker-notice-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! plunger-lurker-death-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -327,23 +271,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! plunger-lurker-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -461,14 +393,15 @@ ) ;; failed to figure out what this is: -(defskelgroup *flying-lurker-sg* flying-lurker - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 2.3) - :shadow 4 - ) +(defskelgroup *flying-lurker-sg* flying-lurker flying-lurker-lod0-jg flying-lurker-fly-ja + ((flying-lurker-lod0-mg (meters 20)) + (flying-lurker-lod1-mg (meters 40)) + (flying-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 2 0 6) + :longest-edge (meters 2.3) + :shadow flying-lurker-shadow-mg + ) ;; definition for method 20 of type flying-lurker ;; INFO: Return type mismatch int vs none. @@ -582,7 +515,7 @@ (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -869,41 +802,19 @@ ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (flying-lurker-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + (loop + (when (not (ja-group? flying-lurker-fly-ja)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! flying-lurker-fly-ja) ) + (ja :num! (loop! (flying-lurker-calc-anim-speed))) (suspend) (when (>= (- (-> *display* base-frame-counter) (-> self last-look-time)) (-> self time-to-next-look)) - (ja-channel-push! 1 60) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! flying-lurker-look-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self last-look-time) (-> *display* base-frame-counter)) (let* ((f30-0 300.0) @@ -1141,9 +1052,7 @@ ) (flying-lurker-inc-try-count) (ja-channel-set! 1) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! flying-lurker-fly-ja) (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-9 (the-as float (logior #x3f800000 v1-8))) (f0-2 (+ -1.0 v1-9)) @@ -1376,7 +1285,7 @@ (set! gp-0 11) ) ) - (while #t + (loop (cond ((play-movie?) (ja-channel-set! 0) @@ -1397,28 +1306,14 @@ 0 ) (else - (let ((v1-27 (-> self skel root-channel 0))) - (set! (-> v1-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) (the float gp-0)) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja :group! flying-lurker-fly-ja) + (ja-no-eval :group! flying-lurker-fly-ja :num! (seek! max f30-0) :frame-num (the float gp-0)) (until (ja-done? 0) (if (and *target* (>= 172032.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) (send-event self 'saw-player) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (set! gp-0 0) ) diff --git a/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc b/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc index bca978e1ed..5ea6fc34b4 100644 --- a/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc @@ -2,13 +2,10 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *med-res-snow-sg* medres-snow - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -390 150 70 410) - :longest-edge (meters 0) - ) +(defskelgroup *med-res-snow-sg* medres-snow medres-snow-lod0-jg medres-snow-idle-ja + ((medres-snow-lod0-mg (meters 999999))) + :bounds (static-spherem -390 150 70 410) + ) ;; failed to figure out what this is: (defpartgroup group-tntbarrel-BIG-explosion @@ -323,13 +320,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *tntbarrel-sg* tntbarrel - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *tntbarrel-sg* tntbarrel tntbarrel-lod0-jg tntbarrel-idle-ja + ((tntbarrel-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 4) + ) ;; definition of type tntbarrel (deftype tntbarrel (process-drawable) @@ -474,67 +468,46 @@ ) ;; failed to figure out what this is: -(defskelgroup *ogre-step-a-sg* ogre-step - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-step-a-sg* ogre-step ogre-step-a-lod0-jg ogre-step-a-idle-ja + ((ogre-step-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 5) + ) ;; failed to figure out what this is: -(defskelgroup *ogre-step-b-sg* ogre-step - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 3 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-step-b-sg* ogre-step ogre-step-b-lod0-jg ogre-step-b-idle-ja + ((ogre-step-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 5) + ) ;; failed to figure out what this is: -(defskelgroup *ogre-step-c-sg* ogre-step - 6 - 8 - ((7 (meters 999999))) - :bounds (static-spherem 0 3 0 6.5) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-step-c-sg* ogre-step ogre-step-c-lod0-jg ogre-step-c-idle-ja + ((ogre-step-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3 0 6.5) + ) ;; failed to figure out what this is: -(defskelgroup *ogre-isle-a-sg* ogre-isle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-a-sg* ogre-isle ogre-isle-a-lod0-jg ogre-isle-a-idle-ja + ((ogre-isle-a-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *ogre-isle-b-sg* ogre-isle - 3 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-b-sg* ogre-isle ogre-isle-b-lod0-jg ogre-isle-b-idle-ja + ((ogre-isle-b-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *ogre-isle-c-sg* ogre-isle - 6 - 8 - ((7 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-c-sg* ogre-isle ogre-isle-c-lod0-jg ogre-isle-c-idle-ja + ((ogre-isle-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *ogre-isle-d-sg* ogre-isle - 9 - 11 - ((10 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-isle-d-sg* ogre-isle ogre-isle-d-lod0-jg ogre-isle-d-idle-ja + ((ogre-isle-d-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition of type ogre-plat (deftype ogre-plat (rigid-body-platform) @@ -616,7 +589,7 @@ :code (behavior () (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -656,7 +629,7 @@ :code (behavior () (logclear! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1041,13 +1014,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *ogre-bridge-sg* ogre-bridge - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 52) - :longest-edge (meters 4.5) - ) +(defskelgroup *ogre-bridge-sg* ogre-bridge ogre-bridge-lod0-jg ogre-bridge-idle-ja + ((ogre-bridge-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 52) + :longest-edge (meters 4.5) + ) ;; definition of type ogre-bridge (deftype ogre-bridge (process-drawable) @@ -1129,7 +1100,7 @@ :code (behavior () (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1159,25 +1130,13 @@ 0 ) ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (rand-vu-percent? 0.2) (spawn-projectile-blue *target*) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogre-bridge-activated) (none) @@ -1206,18 +1165,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 3) :num! max) (transform-post) - (while #t + (loop (suspend) ) (none) @@ -1257,22 +1207,10 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogre-bridge-idle) (none) @@ -1489,13 +1427,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *ogre-bridgeend-sg* ogre-bridgeend - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -3 8.2) - :longest-edge (meters 0) - ) +(defskelgroup *ogre-bridgeend-sg* ogre-bridgeend ogre-bridgeend-lod0-jg ogre-bridgeend-idle-ja + ((ogre-bridgeend-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -3 8.2) + ) ;; definition of type ogre-bridgeend (deftype ogre-bridgeend (process-drawable) @@ -1605,48 +1540,18 @@ ) :code (behavior () - (ja-channel-push! 2 30) - (let ((gp-0 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self anim)))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self anim))) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.5) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self anim))) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) - (let ((v1-25 (-> self skel root-channel 1))) - (set! (-> v1-25 frame-interp) 0.5) - ) + (ja :chan 1 :frame-interp 0.5) (ja-post) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 0.5) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) - (let ((v1-37 (-> self skel root-channel 0))) - (set! (-> v1-37 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim)))) - ) - (let ((v1-40 (-> self skel root-channel 0))) - (set! (-> v1-40 num-func) num-func-identity) - (set! (-> v1-40 frame-num) 0.0) - ) - (while #t + (ja :group! (-> self draw art-group data (-> self idle-anim))) + (ja :num-func num-func-identity :frame-num 0.0) + (loop (suspend) ) (none) @@ -1723,22 +1628,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *shortcut-boulder-whole-sg* shortcut-boulder - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 5.5 0 7.5) - :longest-edge (meters 0) - ) +(defskelgroup *shortcut-boulder-whole-sg* shortcut-boulder shortcut-boulder-whole-lod0-jg shortcut-boulder-idle-ja + ((shortcut-boulder-whole-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5.5 0 7.5) + ) ;; failed to figure out what this is: -(defskelgroup *shortcut-boulder-broken-sg* shortcut-boulder - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 5.5 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *shortcut-boulder-broken-sg* shortcut-boulder shortcut-boulder-broken-lod0-jg shortcut-boulder-idle-ja + ((shortcut-boulder-broken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5.5 0 20) + ) ;; failed to figure out what this is: (defpartgroup group-shortcut-boulder-explosion @@ -1851,39 +1750,10 @@ (-> gp-0 ppointer) ) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-5 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (deactivate self) @@ -1908,7 +1778,7 @@ :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) diff --git a/test/decompiler/reference/levels/ogre/ogreboss_REF.gc b/test/decompiler/reference/levels/ogre/ogreboss_REF.gc index ae4d5bf769..5068bc4b3c 100644 --- a/test/decompiler/reference/levels/ogre/ogreboss_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogreboss_REF.gc @@ -2,68 +2,47 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *ogreboss-sg* ogreboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 20) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-sg* ogreboss ogreboss-lod0-jg ogreboss-idle-ja + ((ogreboss-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 20) + ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-cam-sg* ogreboss - 25 - 27 - ((26 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-cam-sg* ogreboss ogreboss-cam-lod0-jg ogreboss-cam-idle-ja + ((ogreboss-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-shoot-boulder-sg* ogreboss - 29 - 32 - ((30 (meters 999999))) - :bounds (static-spherem 0 0 0 300) - :longest-edge (meters 0) - :shadow 31 - ) +(defskelgroup *ogreboss-shoot-boulder-sg* ogreboss ogreboss-shoot-boulder-lod0-jg ogreboss-shoot-boulder-idle-ja + ((ogreboss-shoot-boulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 300) + :shadow ogreboss-shoot-boulder-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-shoot-boulder-break-sg* ogreboss - 33 - 35 - ((34 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-shoot-boulder-break-sg* ogreboss ogreboss-shoot-boulder-break-lod0-jg ogreboss-shoot-boulder-break-idle-ja + ((ogreboss-shoot-boulder-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-bounce-boulder-sg* ogreboss - 36 - 38 - ((37 (meters 999999))) - :bounds (static-spherem 0 0 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-bounce-boulder-sg* ogreboss ogreboss-bounce-boulder-lod0-jg ogreboss-bounce-boulder-idle-ja + ((ogreboss-bounce-boulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 50) + ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-super-boulder-sg* ogreboss - 39 - 41 - ((40 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-super-boulder-sg* ogreboss ogreboss-super-boulder-lod0-jg ogreboss-super-boulder-idle-ja + ((ogreboss-super-boulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-column-sg* ogreboss - 45 - 47 - ((46 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-column-sg* ogreboss ogreboss-column-lod0-jg ogreboss-column-idle-ja + ((ogreboss-column-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; definition for symbol *ogreboss-missile-shadow-control*, type shadow-control (define *ogreboss-missile-shadow-control* @@ -628,18 +607,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! ogreboss-super-boulder-idle-ja :num! min) (set! (-> self joint enable) #t) (set! (-> self joint blend) 1.0) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (quaternion-vector-angle! (-> self tumble-quat) (-> self spin-axis) @@ -709,15 +681,7 @@ ;; Used lq/sq (defbehavior ogreboss-super-boulder-play-hit-anim ogreboss-super-boulder () (set! (-> self src-pos quad) (-> self root-override trans quad)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 43)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self joint blend) (the-as float 0.0) (* 5.0 (-> *display* seconds-per-frame))) (let* ((f1-1 (/ (- (ja-frame-num 0) (ja-aframe (the-as float 54.0) 0)) @@ -729,11 +693,7 @@ (vector-lerp! (-> self root-override trans) (-> self src-pos) (-> self orig-pos) f0-13) ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (the-as object 0) ) @@ -746,15 +706,7 @@ (behavior () (set! (-> self hit-boss) #f) (set! (-> self src-pos quad) (-> self root-override trans quad)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 42)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 42)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self joint blend) (the-as float 0.0) (* 5.0 (-> *display* seconds-per-frame))) (let* ((f1-1 (/ (- (ja-frame-num 0) (ja-aframe (the-as float 32.0) 0)) @@ -767,11 +719,7 @@ ) 0 (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogreboss-super-boulder-land) (none) @@ -824,26 +772,19 @@ (set! (-> self root-override trans quad) (-> self orig-pos quad)) (ogreboss-super-boulder-impact-effect) (set! (-> self joint enable) #f) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 100.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-roll-ja + :num! (seek! (ja-aframe (the-as float 100.0) 0)) + :frame-num 0.0 + ) (until (ja-done? 0) (when (< 81920.0 (vector-vector-distance (the-as vector (-> self root-override root-prim prim-core)) (target-pos 0)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (go ogreboss-super-boulder-roll) ) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe (the-as float 100.0) 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 100.0) 0))) ) (go ogreboss-super-boulder-roll) (none) @@ -863,20 +804,13 @@ :code (behavior () (ogreboss-super-boulder-impact-effect) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 162.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 100.0) 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-roll-ja + :num! (seek! (ja-aframe (the-as float 162.0) 0)) + :frame-num (ja-aframe (the-as float 100.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 162.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 162.0) 0))) ) (set! (-> self root-override root-prim local-sphere w) 28672.0) (cond @@ -921,22 +855,13 @@ ) ) ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) - (set! (-> gp-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) - ) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 162.0) 0)) - (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-super-boulder-roll-ja + :num! (seek!) + :frame-num (ja-aframe (the-as float 162.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (cleanup-for-death self) (none) @@ -970,7 +895,7 @@ (behavior () (clear-collide-with-as (-> self root-override)) (ja-post) - (while #t + (loop (suspend) ) (none) @@ -1086,43 +1011,27 @@ (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((f30-0 2.0)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 40.0) 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-bounce-boulder-idle-ja + :num! (seek! (ja-aframe (the-as float 40.0) 0) f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (set! (-> self side-pos) (* (fmin 1.0 (/ (ja-frame-num 0) (ja-aframe (the-as float 40.0) 0))) (-> self dest-pos)) ) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 40.0) 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 38)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 40.0) 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-seek!) + (ja :num! (seek! (ja-aframe (the-as float 40.0) 0) f30-0)) ) + (ja-no-eval :group! ogreboss-bounce-boulder-idle-ja + :num! (seek! max f30-0) + :frame-num (ja-aframe (the-as float 40.0) 0) + ) (until (ja-done? 0) (if (>= (ja-frame-num 0) (ja-aframe (the-as float 235.0) 0)) (seek! (-> self side-pos) (the-as float 0.0) (* 20480.0 (-> *display* seconds-per-frame))) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (cleanup-for-death self) @@ -1327,106 +1236,53 @@ ;; definition for function ogreboss-idle-loop (defbehavior ogreboss-idle-loop ogreboss () - (while #t - (ja-channel-push! 1 30) + (loop + (ja-channel-push! 1 (seconds 0.1)) (let ((v1-0 (rand-vu-int-range 0 2))) (cond ((zero? v1-0) - (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) (ja-aframe (the-as float 140.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-ja :num! (seek! (ja-aframe (the-as float 140.0) 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 140.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 140.0) 0))) ) (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.167)) (suspend) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-3 param 0) (ja-aframe (the-as float 168.0) 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 140.0) 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-ja + :num! (seek! (ja-aframe (the-as float 168.0) 0)) + :frame-num (ja-aframe (the-as float 140.0) 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe (the-as float 168.0) 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 168.0) 0))) ) (let ((gp-5 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.167)) (suspend) ) ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe (the-as float 168.0) 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-ja :num! (seek!) :frame-num (ja-aframe (the-as float 168.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-alt-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else (dotimes (gp-7 4) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-idle-bored-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1513,22 +1369,10 @@ ) (send-event (handle->process (-> self column)) 'anim-mode 'play1) (send-event (handle->process (-> self column)) 'art-joint-anim "ogreboss-column-intro" 0) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 24)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 24)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-intro-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (close-specific-task! (game-task ogre-boss) (task-status need-hint)) (suspend) @@ -1681,36 +1525,18 @@ (defbehavior ogreboss-submerge ogreboss ((arg0 time-frame) (arg1 float)) (when (not (-> self submerged)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) + ((ja-group? ogreboss-dive-ja) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) arg1) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg1)) ) ) (else - (ja-channel-push! 1 30) - (let ((s4-0 (-> self skel root-channel 0))) - (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> s4-0 param 1) arg1) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-dive-ja :num! (seek! (ja-aframe (the-as float 22.0) 0) arg1) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 22.0) 0)) - (set! (-> s4-1 param 1) arg1) - (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe (the-as float 22.0) 0) arg1)) ) (cond ((-> self at-near-spot) @@ -1748,22 +1574,10 @@ ) ) ) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> s4-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> s4-2 param 1) arg1) - (set! (-> s4-2 frame-num) (ja-aframe (the-as float 22.0) 0)) - (joint-control-channel-group! s4-2 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-dive-ja :num! (seek! max arg1) :frame-num (ja-aframe (the-as float 22.0) 0)) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) arg1) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg1)) ) ) ) @@ -1821,22 +1635,10 @@ ) ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) arg0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-rise-ja :num! (seek! max arg0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) arg0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max arg0)) ) ) 0 @@ -1912,48 +1714,20 @@ (ogreboss-set-stage1-camera) (ogreboss-move-near (seconds 3) (the-as float 1.0)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 16) - ) - (ja-channel-push! 1 30) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + ((ja-group? ogreboss-victory-ja) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-roar-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1963,23 +1737,11 @@ (f2-2 (-> self difficulty)) (f30-0 (+ f0-17 (* f1-2 (* f2-2 f2-2) (-> self level)))) ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-attack2-start-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (countdown (gp-1 (+ gp-0 -1)) (let ((s5-0 0)) @@ -2011,62 +1773,26 @@ ) (ogreboss-shoot-boulder s5-0) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) f30-0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) f30-0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (ogreboss-inc-try-count) ) (ogreboss-shoot-boulder 3) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-last-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (ogreboss-move-far (seconds 2) (the-as float 1.0)) - (ja-channel-push! 1 30) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogreboss-stage1) (none) @@ -2158,11 +1884,7 @@ ) ) ) - (let ((v1-22 (-> self skel root-channel 1))) - (set! (-> v1-22 frame-interp) f1-0) - (set! (-> v1-22 num-func) num-func-identity) - (set! (-> v1-22 frame-num) f0-0) - ) + (ja :chan 1 :frame-interp f1-0 :num-func num-func-identity :frame-num f0-0) ) 0 (none) @@ -2196,34 +1918,14 @@ (let ((v1-0 arg2)) (the-as object (when (= v1-0 'attack) (when (-> self vulnerable) - (cond - (((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root-override)) - (the-as uint 128) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! (-> gp-0 frame-interp) 0.0) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (if ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root-override)) + (the-as uint 128) ) - ) - (else - (let ((gp-1 (-> self skel root-channel 1))) - (set! (-> gp-1 frame-interp) 0.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :chan 1 :group! ogreboss-hit-crotch-ja :num! min :frame-interp 0.0) + (ja :chan 1 :group! ogreboss-hit-chest-ja :num! min :frame-interp 0.0) ) - ) (set! (-> self hit-time) (-> *display* base-frame-counter)) (let ((v1-17 (rand-vu-int-range 0 2))) (cond @@ -2294,23 +1996,11 @@ (ogreboss-move-far (seconds 0.1) (the-as float 2.0)) (let ((f30-0 (* 0.75 (-> self difficulty)))) (let ((gp-0 #f)) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.5) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-attack2-start-ja :num! (seek! max 1.5) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.5) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 1.5)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (while (not gp-0) @@ -2321,45 +2011,21 @@ (ogreboss-player-inside-range? (the-as float 409600.0)) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (if gp-0 0 ) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) (ogreboss-roll-boulder) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack2-last-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go ogreboss-stage3-shuffle) @@ -2440,38 +2106,18 @@ ) ) ) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-shuffle-prepare-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (ogreboss-spawn-super-boulder) (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-channel-push! 2 15) - (let ((s5-0 (-> self skel root-channel 1))) - (set! (-> s5-0 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) + (ja-channel-push! 2 (seconds 0.05)) + (ja :chan 1 :group! ogreboss-hit-chest-ja :num! min :frame-interp 0.0) (set! (-> self vulnerable) #t) - (while #t + (loop (if (>= -61440.0 (-> self shuffle-pos)) (set! gp-0 1) ) @@ -2481,128 +2127,56 @@ (cond ((zero? gp-0) (set! gp-0 1) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-right-start-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (let ((s5-1 (rand-vu-int-range 1 5))) (while (and (> s5-1 0) (< -61440.0 (-> self shuffle-pos))) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 19)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 19)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-right-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (set! (-> self shuffle-pos) (- (-> self shuffle-pos) (* 16384.0 (-> *display* seconds-per-frame) f30-0))) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (+! s5-1 -1) ) ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-right-stop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else (set! gp-0 0) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 21)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 21)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-left-start-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (let ((s5-2 (rand-vu-int-range 1 5))) (while (and (> s5-2 0) (< (-> self shuffle-pos) 61440.0)) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 22)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 22)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-left-loop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (+! (-> self shuffle-pos) (* 16384.0 (-> *display* seconds-per-frame) f30-0)) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (+! s5-2 -1) ) ) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - (set! (-> a0-26 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 23)) data 0 length) -1)) - ) - (set! (-> a0-26 param 1) f30-0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! a0-26 (the-as art-joint-anim (-> self draw art-group data 23)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-shuffle-left-stop-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (ogreboss-update-shuffling) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) f30-0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -2622,42 +2196,18 @@ (defstate ogreboss-stage3-throw (ogreboss) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (send-event (handle->process (-> self boulder)) 'go-throw) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! ogreboss-attack3-throw-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (ja-channel-push! 1 30) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ogreboss-victory-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ogreboss-submerge (seconds 1) (the-as float 1.0)) (while (handle->process (-> self boulder)) @@ -2680,23 +2230,11 @@ (go ogreboss-die) ) (send-event (handle->process (-> self boulder)) 'go-hit) - (ja-channel-push! 1 60) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self bridge-assembled) #f) (set! (-> self submerged) #t) @@ -2743,24 +2281,12 @@ (behavior () (ogreboss-reset-camera) (send-event (handle->process (-> self boulder)) 'go-die) - (ja-channel-push! 1 60) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! ogreboss-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (transform-post) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ogreboss-trigger-steps) (go ogreboss-dead) 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 3c5e6f6faa..99e1689da8 100644 --- a/test/decompiler/reference/levels/racer_common/racer-states_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer-states_REF.gc @@ -403,26 +403,14 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 138) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 138)) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) (ja-eval) ) ) - ((let ((v1-16 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-16 (ja-group))) (or (or (= v1-16 (-> self draw art-group data 130)) (= v1-16 (-> self draw art-group data 131))) (> (-> self racer bounce) 0) ) @@ -497,50 +485,14 @@ ) ) (set! (-> self racer bounce) 0) - (while #t + (loop (let ((gp-3 (-> *display* base-frame-counter))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((s5-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> s5-3 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-43 (-> self skel root-channel 1))) - (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-43 param 0) 0.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-44 (-> self skel root-channel 2))) - (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-44 param 0) 0.0) - (joint-control-channel-group-eval! - a0-44 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-45 (-> self skel root-channel 3))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-45 param 0) 0.0) - (joint-control-channel-group-eval! - a0-45 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) (while (< (- (-> *display* base-frame-counter) gp-3) (seconds 1)) (if (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) @@ -554,21 +506,9 @@ (suspend) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 133) - ) - ) - (ja-channel-push! 1 120) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 133)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 133))) + (ja-channel-push! 1 (seconds 0.4)) + (ja :group! (-> self draw art-group data 133) :num! min) ) (while (not (or (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (or (cpad-hold? (-> self control unknown-cpad-info00 number) l1 r1 x) @@ -577,10 +517,7 @@ ) ) (suspend) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) 1.0) - (joint-control-channel-group-eval! a0-54 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (none) @@ -717,7 +654,7 @@ ) ) ) - (target-racing-jump-anim a0-1 60) + (target-racing-jump-anim a0-1 (seconds 0.2)) ) (none) ) @@ -787,50 +724,14 @@ :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) (target-racing-land-anim arg2) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-9 (-> self skel root-channel 1))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-10 (-> self skel root-channel 2))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-10 param 0) 0.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-11 (-> self skel root-channel 3))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-11 param 0) 0.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) - (while #t + (loop (target-racing-turn-anim) (suspend) ) @@ -878,31 +779,16 @@ :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 15) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 136))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 136)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 136)) num-func-seek!) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (lerp-scale 1.0 0.25 arg0 0.0 122880.0)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 122)) - num-func-identity + (ja-channel-push! 2 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!)) + (ja :chan 1 + :group! (-> self draw art-group data 122) + :num! (identity (ja-aframe 0.0 0)) + :frame-interp (lerp-scale 1.0 0.25 arg0 0.0 122880.0) ) - (set! (-> s5-1 frame-num) (ja-aframe 0.0 0)) - ) (until (ja-done? 0) (suspend) - (let ((s5-2 (-> self skel root-channel 0))) - (set! (-> s5-2 param 0) (the float (+ (-> s5-2 frame-group data 0 length) -1))) - (set! (-> s5-2 param 1) (lerp-scale 2.0 1.0 arg0 0.0 163840.0)) - (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (lerp-scale 2.0 1.0 arg0 0.0 163840.0))) ) (go target-racing) (none) @@ -941,7 +827,7 @@ ) :code (behavior () - (target-racing-jump-anim #f 30) + (target-racing-jump-anim #f (seconds 0.1)) (none) ) :post @@ -1035,23 +921,11 @@ ) (else (set! (-> self post-hook) target-racing-post) - (ja-channel-push! 1 15) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 136))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 136)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 136)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 136) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1163,40 +1037,22 @@ ) ) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (fmax -182044.44 (fmin 182044.44 (* -40.0 (-> self racer rot z)))) (case (-> self attack-info mode) (('balloonlurker) (dummy-13 (-> self water) 2.0 (-> self control trans) 1 (-> self control transv)) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 139))) - (set! (-> gp-2 param 0) (ja-aframe 240.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 139)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek! (ja-aframe 240.0 0)) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (seek! (-> self control unknown-vector11 y) 6144.0 (* 12288.0 (-> *display* seconds-per-frame))) (send-event *camera* 'joystick 0.0 1.0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 240.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 240.0 0))) ) ) (else - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 139))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 139)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 139)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 139) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self racer stick-lock) #t) (send-event *camera* 'joystick 0.0 1.0) @@ -1205,11 +1061,7 @@ (set-forward-vel (* 0.5 (-> self control unknown-float01))) ) (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1345,14 +1197,8 @@ (let ((s5-1 #f) (gp-1 #f) ) - (ja-channel-push! 1 15) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 138))) - (set! (-> s4-2 param 0) (ja-aframe 77.0 0)) - (set! (-> s4-2 param 1) 1.0) - (set! (-> s4-2 frame-num) 0.0) - (joint-control-channel-group! s4-2 (the-as art-joint-anim (-> self draw art-group data 138)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 138) :num! (seek! (ja-aframe 77.0 0)) :frame-num 0.0) (until (ja-done? 0) (when (and (not s5-1) (= (-> self skel root-channel 0) (-> self skel channel))) (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) @@ -1381,11 +1227,7 @@ (set-twist! (-> self racer bottom-blade) (the-as float #f) (the-as float #f) (- (-> self racer bottom-rot))) ) (suspend) - (let ((s4-4 (-> self skel root-channel 0))) - (set! (-> s4-4 param 0) (ja-aframe 77.0 0)) - (set! (-> s4-4 param 1) 1.0) - (joint-control-channel-group-eval! s4-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 77.0 0))) ) ) (logclear! (-> self state-flags) (state-flags sf10)) @@ -1508,48 +1350,12 @@ (set! (-> a0-4 0 deactivate-when-hidden) #t) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> s5-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-13 (-> self skel root-channel 1))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-13 param 0) 0.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-14 (-> self skel root-channel 2))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-14 param 0) 0.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-15 (-> self skel root-channel 3))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-15 param 0) 0.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) (let ((s5-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s5-1) (seconds 0.5)) @@ -1606,23 +1412,11 @@ (set! (-> self control unknown-vector102 quad) (-> gp-1 quad)) (set! (-> self control unknown-vector103 quad) (-> s4-1 quad)) ) - (ja-channel-push! 1 15) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 137))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 137)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 137)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja-no-eval :group! (-> self draw art-group data 137) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process arg0) 'draw) (set-yaw-angle-clear-roll-pitch! @@ -1732,22 +1526,10 @@ :code (behavior ((arg0 symbol)) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 42.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 35) :num! (seek!) :frame-num (ja-aframe 42.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go target-stance) (none) @@ -1801,50 +1583,14 @@ ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-8 (-> self skel root-channel 2))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) - (set! (-> a0-8 param 0) 0.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-9 (-> self skel root-channel 3))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (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))) + (ja :chan 1 :group! (-> self draw art-group data 124) :num! (chan 0)) + (ja :chan 2 :group! (-> self draw art-group data 125) :num! (chan 0)) + (ja :chan 3 :group! (-> self draw art-group data 126) :num! (chan 0)) ) - (while #t + (loop (target-racing-turn-anim) (set-forward-vel 0.0) (suspend) diff --git a/test/decompiler/reference/levels/racer_common/racer_REF.gc b/test/decompiler/reference/levels/racer_common/racer_REF.gc index ce96df9b3e..a0640967f9 100644 --- a/test/decompiler/reference/levels/racer_common/racer_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer_REF.gc @@ -59,24 +59,18 @@ ) ;; failed to figure out what this is: -(defskelgroup *racer-sg* racer - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - :shadow 2 - :sort 1 - ) +(defskelgroup *racer-sg* racer racer-geo-jg 3 + ((racer-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + :shadow racer-shadow-mg + :sort 1 + ) ;; failed to figure out what this is: -(defskelgroup *racer-explode-sg* racer - 22 - 24 - ((23 (meters 999999))) - :bounds (static-spherem 0 0 0 3.5) - :longest-edge (meters 0) - ) +(defskelgroup *racer-explode-sg* racer racer-explode-lod0-jg racer-explode-idle-ja + ((racer-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.5) + ) ;; definition for symbol *racer-shadow-control*, type shadow-control (define *racer-shadow-control* @@ -157,9 +151,7 @@ (case (current-status gp-0) (((task-status need-reward-speech)) (ja-channel-set! 1) - (let ((v1-15 (-> self skel root-channel 0))) - (set! (-> v1-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (ja-post) @@ -251,9 +243,7 @@ :code (behavior () (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) 0.0 @@ -263,7 +253,7 @@ ) ) ) - (while #t + (loop (if (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-9))) (go-virtual wait-for-return) ) @@ -310,9 +300,7 @@ (case arg2 (('draw) (ja-channel-set! 1) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (set! (-> self root-override root-prim prim-core action) (collide-action solid ca-11)) (set! (-> self root-override root-prim prim-core offense) (collide-offense indestructible)) (transform-post) @@ -427,7 +415,7 @@ (behavior () (ja-channel-set! 0) (ja-post) - (while #t + (loop (if (not (and *target* (logtest? (-> *target* control root-prim prim-core action) (collide-action ca-9)))) (go-virtual idle) ) diff --git a/test/decompiler/reference/levels/racer_common/target-racer-h_REF.gc b/test/decompiler/reference/levels/racer_common/target-racer-h_REF.gc index 266a70db08..f187c5177e 100644 --- a/test/decompiler/reference/levels/racer_common/target-racer-h_REF.gc +++ b/test/decompiler/reference/levels/racer_common/target-racer-h_REF.gc @@ -262,10 +262,7 @@ ) ;; failed to figure out what this is: -(defskelgroup *balloon-sg* balloon - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 1.7 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *balloon-sg* balloon balloon-lod0-jg balloon-idle-ja + ((balloon-lod0-mg (meters 20)) (balloon-lod1-mg (meters 999999))) + :bounds (static-spherem 0 1.7 0 3) + ) 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 8c3e0f7a71..748ca8e416 100644 --- a/test/decompiler/reference/levels/racer_common/target-racer_REF.gc +++ b/test/decompiler/reference/levels/racer_common/target-racer_REF.gc @@ -1167,15 +1167,8 @@ (* -273.06668 (-> self racer tail-anim-frame)) ) (let ((f30-2 (fmin 1.0 (* 2.0 (fabs (-> self racer slide-shift-x)))))) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-9 (-> self skel root-channel 1))) - (set! (-> a0-9 frame-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe (-> self racer turn-anim-frame) 0)) + (ja :chan 1 :num! (chan 0) :frame-interp (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) (let ((gp-2 (-> self skel root-channel 2))) (let ((f0-82 (lerp (-> self racer slide-interp) f30-2 0.125))) (set! (-> self racer slide-interp) f0-82) @@ -1185,19 +1178,17 @@ (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-chan) ) ) - (let ((a0-12 (-> self skel root-channel 3))) - (set! (-> a0-12 frame-interp) - (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) - ) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :chan 3 + :num! (chan 0) + :frame-interp + (* (-> self racer slide-interp) (+ 0.5 (* 0.025 (-> self racer tail-anim-frame)))) + ) 0 (none) ) ;; definition for function target-racing-jump-anim -(defbehavior target-racing-jump-anim target ((arg0 basic) (arg1 int)) +(defbehavior target-racing-jump-anim target ((arg0 basic) (arg1 time-frame)) (let ((s4-0 'nothing) (f30-0 0.0) ) @@ -1211,17 +1202,9 @@ (when (!= s5-0 s4-0) (if (= s4-0 'nothing) (ja-channel-push! 1 arg1) - (ja-channel-push! 1 37) + (ja-channel-push! 1 (seconds 0.125)) ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 130))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 130)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) f30-0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 130)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 130) :num! (seek!) :frame-num f30-0) (set! s4-0 s5-0) ) ) @@ -1230,35 +1213,17 @@ (if (= (-> self next-state name) 'target-racing-falling) (set! f0-4 (* 0.5 f0-4)) ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f0-4) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f0-4)) ) (set! f30-0 (ja-aframe-num 0)) (ja-blend-eval) ) ) (ja-channel-set! 2) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 131)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 132)) - num-func-identity - ) - (set! (-> gp-2 frame-num) (ja-aframe 44.0 0)) - ) + (ja :group! (-> self draw art-group data 131) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 132) :num! (identity (ja-aframe 44.0 0))) (let ((f30-1 0.0)) - (while #t + (loop (suspend) (let ((gp-3 (-> self skel root-channel 1))) (set! f30-1 (seek f30-1 1.0 (-> *display* seconds-per-frame))) @@ -1276,72 +1241,36 @@ (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) - (ja-channel-push! 1 21) + (ja-channel-push! 1 (seconds 0.07)) (cond ((= arg0 'high-jump) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 135))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 135)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 135)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 135) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= arg0 'jump) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 129))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 129)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 44.0 0)) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 129)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 129) :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 132))) - (set! (-> gp-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 132)) data 0 length) -1)) - ) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 44.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 132)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 132) :num! (seek!) :frame-num (ja-aframe 44.0 0)) (until (ja-done? 0) (if (>= (-> self racer slide-mode) 0) (goto cfg-23) ) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/robocave/spider-egg_REF.gc b/test/decompiler/reference/levels/robocave/spider-egg_REF.gc index 758604a35c..d5c8c991d7 100644 --- a/test/decompiler/reference/levels/robocave/spider-egg_REF.gc +++ b/test/decompiler/reference/levels/robocave/spider-egg_REF.gc @@ -29,22 +29,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *spider-egg-unbroken-sg* spider-egg - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *spider-egg-unbroken-sg* spider-egg spider-egg-unbroken-lod0-jg -1 + ((spider-egg-unbroken-lod0-mg (meters 20)) + (spider-egg-unbroken-lod1-mg (meters 40)) + (spider-egg-unbroken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + ) ;; failed to figure out what this is: -(defskelgroup *spider-egg-broken-sg* spider-egg - 5 - -1 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 1 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *spider-egg-broken-sg* spider-egg spider-egg-broken-lod0-jg -1 + ((spider-egg-broken-lod0-mg (meters 20)) + (spider-egg-broken-lod1-mg (meters 40)) + (spider-egg-broken-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 2) + ) ;; failed to figure out what this is: (defstate spider-egg-idle (spider-egg) @@ -88,81 +88,37 @@ (cond (arg0 (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> gp-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> gp-1 param 1) f30-0) - (set! (-> gp-1 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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))) + ) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) f30-0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) - (while #t + (loop (let ((gp-2 (rand-vu-int-range 2 6))) (dotimes (s5-0 gp-2) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! spider-egg-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) f30-0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) - (ja-channel-push! 1 30) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! spider-egg-twitch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) (none) @@ -207,23 +163,11 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 60) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! spider-egg-crack-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) @@ -288,24 +232,12 @@ ) ) (lods-assign! (-> self draw) (-> self broken-look)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (clear-collide-with-as (-> self root-override)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! spider-egg-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self draw status) (draw-status hidden)) (until (not (-> self child)) 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 f5de402a0e..b934f4dc24 100644 --- a/test/decompiler/reference/levels/rolling/rolling-lightning-mole_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-lightning-mole_REF.gc @@ -451,25 +451,13 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 1.0 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info notice-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (seek-toward-heading-vec! (-> self collide-info) @@ -484,11 +472,7 @@ (go-virtual nav-enemy-chase) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) f30-0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -552,7 +536,7 @@ ) (set! (-> gp-0 x) 1.0) (set! (-> s5-0 x) 1.0) - (while #t + (loop (when (cpad-pressed? 1 r3) (suspend) (go fleeing-nav-enemy-debug) @@ -625,14 +609,14 @@ ) ;; failed to figure out what this is: -(defskelgroup *lightning-mole-sg* lightning-mole - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *lightning-mole-sg* lightning-mole lightning-mole-lod0-jg lightning-mole-idle-ja + ((lightning-mole-lod0-mg (meters 20)) + (lightning-mole-lod1-mg (meters 40)) + (lightning-mole-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 8) + :shadow lightning-mole-shadow-mg + ) ;; definition for function lightning-mole-task-complete? (defbehavior lightning-mole-task-complete? lightning-mole () @@ -691,21 +675,12 @@ ;; definition for function lightning-mole-run-code (defbehavior lightning-mole-run-code lightning-mole () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 60) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (when (!= (ja-group) (-> self draw art-group data 7)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 7)) ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (-> self speed-adjust)) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) + (loop + (ja :num! (loop! (-> self speed-adjust))) (suspend) ) (none) @@ -820,9 +795,7 @@ (behavior () (when (task-closed? (-> self entity extra perm task) (task-status need-introduction)) (ja-channel-set! 1) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! (-> self draw art-group data 5)) (restore-collide-with-as (-> self collide-info)) (go-virtual nav-enemy-idle) ) @@ -830,7 +803,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -871,16 +844,8 @@ (logior! (-> *target* mask) (process-mask sleep)) ) (ambient-hint-spawn "gamcam20" (the-as vector #f) *entity-pool* 'camera) - (ja-channel-push! 1 60) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) f30-0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 12) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> *camera-other-fov* data) 11650.845) @@ -892,11 +857,7 @@ (set! (-> *camera-other-root* quad) (-> *lightning-mole-hole* quad)) (set! *camera-look-through-other* 2) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (lightning-mole-task-complete?) @@ -964,24 +925,12 @@ (-> (method-of-type fleeing-nav-enemy nav-enemy-chase) trans) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -1453,7 +1402,7 @@ :code (behavior () (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (suspend) ) (none) @@ -1469,11 +1418,7 @@ (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 2.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! max 2.0)) (while (not (ja-done? 0)) (suspend) (ja-eval) @@ -1566,23 +1511,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 13) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go peeper-down) ) diff --git a/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc b/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc index 1c44867f75..fda32c9bf8 100644 --- a/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-obs_REF.gc @@ -60,13 +60,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *rollingcam-sg* rollingcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *rollingcam-sg* rollingcam rollingcam-lod0-jg rollingcam-anim-ja + ((rollingcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; definition of type pusher-base (deftype pusher-base (process-drawable) @@ -135,13 +132,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *pusher-sg* pusher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *pusher-sg* pusher pusher-lod0-jg pusher-idle-ja + ((pusher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition for function pusher-base-init (defbehavior pusher-base-init pusher-base () @@ -182,7 +176,7 @@ (the-as (function none :behavior pusher) rider-trans) :code (behavior () - (while #t + (loop (let ((f0-0 -1.0)) (when (and *target* *camera*) (let ((gp-0 (new 'stack-no-clear 'vector))) @@ -190,22 +184,10 @@ (set! f0-0 (ray-capsule-intersect (-> self cyl) (camera-pos) gp-0)) ) ) - (cond - ((< f0-0 0.0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (get-current-value-with-mirror (-> self sync) (-> self max-frame))) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 0.0) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (if (< f0-0 0.0) + (ja :num! (seek! (get-current-value-with-mirror (-> self sync) (-> self max-frame)))) + (ja :num! (seek! 0.0)) ) - ) ) (suspend) ) @@ -239,23 +221,11 @@ (the-as (function none :behavior gorge-pusher) rider-trans) :code (behavior () - (while #t - (cond - ((task-closed? (game-task rolling-race) (task-status need-introduction)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (-> self min-frame)) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (-> self max-frame)) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (loop + (if (task-closed? (game-task rolling-race) (task-status need-introduction)) + (ja :num! (seek! (-> self min-frame))) + (ja :num! (seek! (-> self max-frame))) ) - ) (suspend) ) (none) @@ -321,13 +291,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *dark-plant-sg* dark-plant - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 2.25 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *dark-plant-sg* dark-plant dark-plant-lod0-jg dark-plant-idle-ja + ((dark-plant-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2.25 0 6) + ) ;; definition for function dark-plant-check-target ;; INFO: Return type mismatch object vs symbol. @@ -350,7 +317,7 @@ ;; definition for function dark-plants-all-done (defun dark-plants-all-done ((arg0 dark-plant)) - (while #t + (loop (if (!= (-> arg0 state) dark-plant-gone) (return #f) ) @@ -400,22 +367,10 @@ (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) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go dark-plant-idle) (none) @@ -435,7 +390,7 @@ (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-5)))) 3000)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (and (!= (get-task-status (game-task rolling-plants)) (task-status invalid)) (!= (get-task-status (game-task rolling-plants)) 7) ) @@ -467,24 +422,12 @@ :code (behavior () (spawn (-> self part) (-> self root trans)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (sound-play-by-name (static-sound-name "darkvine-kill") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go dark-plant-gone) (none) @@ -499,7 +442,7 @@ dark-plant-trans :code (behavior () - (while #t + (loop (when (and (logtest? (-> self draw status) (draw-status was-drawn)) *target* (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) @@ -590,11 +533,7 @@ ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go dark-plant-idle) (none) @@ -711,35 +650,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *happy-plant-sg* happy-plant - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.25 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *happy-plant-sg* happy-plant happy-plant-lod0-jg happy-plant-init-ja + ((happy-plant-lod0-mg (meters 20)) (happy-plant-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.25 0 6) + ) ;; failed to figure out what this is: (defstate happy-plant-opened (happy-plant) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -818,9 +742,7 @@ (the-as (function process-drawable symbol) false-func) ) (ja-channel-set! 1) - (let ((v1-39 (-> self skel root-channel 0))) - (set! (-> v1-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja :group! (-> self draw art-group data 4)) (if (handle->process (the-as int gp-2)) (deactivate (-> gp-2 process 0)) ) @@ -867,40 +789,11 @@ :code (behavior () (clear-collide-with-as (-> self root-override)) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-1 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1058,22 +951,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *rolling-start-whole-sg* rolling-start - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *rolling-start-whole-sg* rolling-start rolling-start-whole-lod0-jg rolling-start-idle-ja + ((rolling-start-whole-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; failed to figure out what this is: -(defskelgroup *rolling-start-broken-sg* rolling-start - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *rolling-start-broken-sg* rolling-start rolling-start-broken-lod0-jg rolling-start-idle-ja + ((rolling-start-broken-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 30) + ) ;; definition of type rolling-start (deftype rolling-start (process-drawable) @@ -1112,58 +999,22 @@ ) :code (behavior ((arg0 symbol)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (lods-assign! (-> self draw) (-> self broken-look)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if arg0 (deactivate self) @@ -1192,23 +1043,11 @@ :code (behavior () (lods-assign! (-> self draw) (-> self whole-look)) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1399,7 +1238,7 @@ (the-as (function none :behavior gorge-abort) gorge-trans) :code (behavior () - (while #t + (loop (suspend) (if (gorge-behind self) (send-event (ppointer->process (-> self parent)) 'aborted) @@ -1426,7 +1265,7 @@ (the-as (function none :behavior gorge-finish) gorge-trans) :code (behavior () - (while #t + (loop (suspend) (if (gorge-in-front self) (send-event (ppointer->process (-> self parent)) 'finished) @@ -1841,7 +1680,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) - (while #t + (loop (seconds->race-time (-> self this-time) (- (-> *display* game-frame-counter) (-> self state-time))) (seekl! (-> self timer-pos-offset) 0 (the int (* 5.0 (-> *display* time-adjust-ratio)))) (completed? (-> self ticker)) @@ -1861,7 +1700,7 @@ (the-as (function none :behavior gorge-start) gorge-trans) :code (behavior () - (while #t + (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) (when (= (-> self timer-pos-offset) 100) @@ -1906,7 +1745,7 @@ ) :code (behavior () - (while #t + (loop (suspend) (seekl! (-> self timer-pos-offset) 100 (the int (* 5.0 (-> *display* time-adjust-ratio)))) (when (= (-> self timer-pos-offset) 100) 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 da31e5010e..b24d85cbec 100644 --- a/test/decompiler/reference/levels/rolling/rolling-race-ring_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-race-ring_REF.gc @@ -620,13 +620,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *race-ring-sg* race-ring - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *race-ring-sg* race-ring race-ring-lod0-jg race-ring-race-ring-idle-ja + ((race-ring-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for function first-ring? (defun first-ring? ((arg0 race-ring)) @@ -914,7 +911,7 @@ ) :code (behavior () - (while #t + (loop (suspend) (cond ((first-ring? self) @@ -1088,7 +1085,7 @@ (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) - (while #t + (loop (suspend) (when (= (get-task-status (the-as game-task (-> self alt-task))) (task-status invalid)) (close-specific-task! (-> self entity extra perm task) (task-status need-hint)) @@ -1116,7 +1113,7 @@ (if (nonzero? (-> self sound)) (stop! (-> self sound)) ) - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc b/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc index 55532cb449..de9fddbb27 100644 --- a/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc +++ b/test/decompiler/reference/levels/rolling/rolling-robber_REF.gc @@ -8,9 +8,7 @@ :code (behavior ((arg0 handle) (arg1 float) (arg2 float)) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - ) + (ja :group! (-> self draw art-group data 2)) (if *target* (process-grab? *target*) ) @@ -20,7 +18,7 @@ (set! (-> *camera-other-trans* quad) (-> *math-camera* trans quad)) (set! (-> *camera-other-root* quad) (-> *math-camera* trans quad)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (dotimes (v1-14 (the int (-> *display* time-adjust-ratio))) (set! arg2 (* 0.95 arg2)) ) @@ -51,12 +49,9 @@ (forward-down->inv-matrix *camera-other-matrix* s4-0 (new 'static 'vector :y -1.0 :w 1.0)) ) (set! *camera-look-through-other* 2) - (set-letterbox-frames (seconds 0.033333335)) + (set-letterbox-frames (seconds 0.035)) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) 0.5) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.5)) ) (none) ) @@ -136,14 +131,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *robber-sg* robber - 0 - 10 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *robber-sg* robber robber-lod0-jg robber-idle-hover-ja + ((robber-lod0-mg (meters 20)) (robber-lod1-mg (meters 40)) (robber-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow robber-shadow-mg + ) ;; definition for function robber-event-handler (defbehavior robber-event-handler robber ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -332,33 +324,8 @@ (defstate robber-debug (robber) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-0 (new 'stack-no-clear 'vector))) (let ((a1-1 (new 'stack-no-clear 'vector))) @@ -380,11 +347,7 @@ (robber-rotate (the-as target #f) 1820.4445) (robber-find-ground) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -463,25 +426,13 @@ ) ) (when gp-0 - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 4096.0 8192.0 122880.0 122880.0 #f) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -518,22 +469,12 @@ ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (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)) ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (robber-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) - ) + (loop + (ja :num! (loop! (robber-calc-anim-speed))) (if (< 27.306667 (fabs (-> self speed))) (set! (-> self speed) (* 0.95 (-> self speed))) ) @@ -573,47 +514,25 @@ ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (robber-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + (loop + (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)) ) + (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) (when (>= (- (-> *display* base-frame-counter) (-> self last-ambient-time)) (-> self time-to-next-ambient)) - (ja-channel-push! 1 60) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 32768.0 122880.0 122060.8 20480.0 #f) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self last-ambient-time) (-> *display* base-frame-counter)) (let* ((f30-0 300.0) @@ -672,47 +591,25 @@ ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (robber-calc-anim-speed)) - (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + (loop + (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)) ) + (ja :num! (loop! (robber-calc-anim-speed))) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) (when (>= (- (-> *display* base-frame-counter) (-> self last-ambient-time)) (-> self time-to-next-ambient)) - (ja-channel-push! 1 60) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 204800.0 16384.0 #t) (robber-move) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self last-ambient-time) (-> *display* base-frame-counter)) (let* ((f30-0 300.0) @@ -755,24 +652,12 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -819,26 +704,14 @@ ) (set! (-> self speed) f0-1) ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 2.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek! max 2.0) :frame-num 0.0) (until (ja-done? 0) (robber-calc-speed 61440.0 122880.0 2048.0 2048.0 #t) (robber-rotate (the-as target #f) 1820.4445) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 2.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 2.0)) ) (go robber-flee) ) @@ -869,24 +742,12 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/snow/ice-cube_REF.gc b/test/decompiler/reference/levels/snow/ice-cube_REF.gc index 0f92780651..32886c302d 100644 --- a/test/decompiler/reference/levels/snow/ice-cube_REF.gc +++ b/test/decompiler/reference/levels/snow/ice-cube_REF.gc @@ -2,13 +2,10 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *ice-cube-break-sg* ice-cube-break - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *ice-cube-break-sg* ice-cube-break ice-cube-break-lod0-jg -1 + ((ice-cube-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) ;; definition of type ice-cube (deftype ice-cube (nav-enemy) @@ -77,14 +74,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *ice-cube-sg* ice-cube - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3 0 3.6) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *ice-cube-sg* ice-cube ice-cube-lod0-jg -1 + ((ice-cube-lod0-mg (meters 20)) (ice-cube-lod1-mg (meters 40)) (ice-cube-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3 0 3.6) + :shadow ice-cube-shadow-mg + ) ;; definition for symbol *ice-cube-nav-enemy-info*, type nav-enemy-info (define *ice-cube-nav-enemy-info* (new 'static 'nav-enemy-info @@ -913,25 +907,13 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -952,23 +934,11 @@ (vector<-cspace! gp-0 (-> self node-list data 25)) (spawn (-> self part4) gp-0) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! ice-cube-appear-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go ice-cube-become-mean) @@ -1016,7 +986,7 @@ ) :code (behavior () - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -1072,16 +1042,8 @@ :code (behavior () (local-vars (gp-0 symbol)) - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (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) (let ((f30-0 (-> self collide-info transv y))) (integrate-for-enemy-with-move-to-ground! @@ -1104,13 +1066,9 @@ (set! gp-0 (dummy-60 self (not v1-27))) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (let ((s5-0 (and (>= 0.0 (-> self collide-info transv y)) (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) @@ -1142,22 +1100,10 @@ (vector<-cspace! gp-1 (-> self node-list data 25)) (spawn (-> self part4) gp-1) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-appear-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ice-cube-become-mean) (none) @@ -1179,28 +1125,16 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-0 #f)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-extend-spikes-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 8.0)) (set! gp-0 #t) (dummy-58 self) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go ice-cube-mean-turn-to-charge) @@ -1255,16 +1189,8 @@ :code (behavior () (local-vars (gp-0 symbol)) - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! ice-cube-turn-on-player-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (-> self collide-info transv y))) (integrate-for-enemy-with-move-to-ground! @@ -1287,13 +1213,9 @@ (set! gp-0 (dummy-60 self (not v1-27))) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (let ((s5-0 (and (>= 0.0 (-> self collide-info transv y)) (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) @@ -1325,22 +1247,10 @@ (vector<-cspace! gp-1 (-> self node-list data 25)) (spawn (-> self part4) gp-1) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-turn-on-player-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ice-cube-mean-charge) (none) @@ -1503,52 +1413,19 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! ice-cube-invuln-run-ja :num! min) (until (-> self slow-down?) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) - (ja-channel-push! 2 21) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self anim-blend)) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-chan - ) - ) - (while #t + (ja-channel-push! 2 (seconds 0.07)) + (ja :group! ice-cube-invuln-stopping-upright-ja :num! min) + (ja :chan 1 :group! ice-cube-invuln-stopping-ja :num! (chan 0) :frame-interp (-> self anim-blend)) + (loop (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) (-> self anim-blend)) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-chan) - ) + (ja :num! (loop!)) + (ja :chan 1 :num! (chan 0) :frame-interp (-> self anim-blend)) ) (none) ) @@ -1577,28 +1454,16 @@ (behavior () (dummy-58 self) (nav-enemy-neck-control-inactive) - (ja-channel-push! 1 21) + (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 #f)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! ice-cube-retract-spikes-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-aframe-num 0) 3.0)) (set! gp-0 #t) (dummy-57 self) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go ice-cube-tired) @@ -1639,42 +1504,18 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (loop + (ja-no-eval :group! ice-cube-breathing-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/snow/snow-ball_REF.gc b/test/decompiler/reference/levels/snow/snow-ball_REF.gc index 2467702909..09135c9450 100644 --- a/test/decompiler/reference/levels/snow/snow-ball_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ball_REF.gc @@ -147,23 +147,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-ball-sg* snow-ball - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *snow-ball-sg* snow-ball snow-ball-lod0-jg snow-ball-idle-ja + ((snow-ball-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *snow-ball-shadow-sg* snow-ball - 3 - -1 - ((4 (meters 999999))) - :bounds (static-spherem 0 -1.5 0 2) - :longest-edge (meters 0) - :shadow 5 - ) +(defskelgroup *snow-ball-shadow-sg* snow-ball snow-ball-shadow-lod0-jg -1 + ((snow-ball-shadow-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -1.5 0 2) + :shadow snow-ball-shadow-shadow-mg + ) ;; definition for symbol *snow-ball-shadow-control*, type shadow-control (define *snow-ball-shadow-control* @@ -190,7 +184,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -212,14 +206,7 @@ (vector-identity! (-> self root scale)) (initialize-skeleton self *snow-ball-shadow-sg* '()) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! snow-ball-shadow-idle-ja :num! min) (set! (-> self draw shadow-ctrl) *snow-ball-shadow-control*) (go snow-ball-shadow-idle) (none) @@ -517,7 +504,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -665,7 +652,7 @@ (let ((s4-0 0) (s5-0 (new 'stack-no-clear 'inline-array 'snow-ball-junction 4)) ) - (while #t + (loop (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) diff --git a/test/decompiler/reference/levels/snow/snow-bumper_REF.gc b/test/decompiler/reference/levels/snow/snow-bumper_REF.gc index aeb8ac242a..0f8541ffdc 100644 --- a/test/decompiler/reference/levels/snow/snow-bumper_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-bumper_REF.gc @@ -40,13 +40,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-bumper-sg* snow-bumper - 0 - -1 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.2 0 3.4) - :longest-edge (meters 0) - ) +(defskelgroup *snow-bumper-sg* snow-bumper snow-bumper-lod0-jg -1 + ((snow-bumper-lod0-mg (meters 20)) (snow-bumper-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.2 0 3.4) + ) ;; failed to figure out what this is: (defpartgroup group-snow-bumper-idle @@ -187,7 +184,7 @@ (behavior () (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -250,7 +247,7 @@ (behavior () (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -273,46 +270,22 @@ (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) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 0.05) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! snow-bumper-button-ja :num! (seek! max 0.05) :frame-num 0.0) (until (ja-done? 0) (spawn (-> self part) (-> self root trans)) (update! (-> self sound)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 0.05) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.05)) ) (stop! (-> self sound)) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (suspend) ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 0.02) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! snow-bumper-collapse-ja :num! (seek! max 0.02) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 0.02) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.02)) ) (process-entity-status! self (entity-perm-status complete) #t) (set! sv-16 (the-as symbol #f)) @@ -333,16 +306,7 @@ :code (behavior () (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - ) + (ja :group! snow-bumper-collapse-ja :num! max) (transform-post) (if (not (task-complete? *game-info* (-> self entity extra perm task))) (birth-pickup-at-point @@ -368,16 +332,7 @@ (behavior () (set! (-> self root nav-radius) 6963.2) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - ) + (ja :group! snow-bumper-collapse-ja :num! max) (transform-post) (suspend) (logior! (-> self mask) (process-mask sleep-code)) diff --git a/test/decompiler/reference/levels/snow/snow-bunny_REF.gc b/test/decompiler/reference/levels/snow/snow-bunny_REF.gc index dba329b3b9..fb3cda71a9 100644 --- a/test/decompiler/reference/levels/snow/snow-bunny_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-bunny_REF.gc @@ -67,14 +67,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-bunny-sg* snow-bunny - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0.25 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *snow-bunny-sg* snow-bunny snow-bunny-lod0-jg snow-bunny-idle-ja + ((snow-bunny-lod0-mg (meters 20)) (snow-bunny-lod1-mg (meters 40)) (snow-bunny-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0.25 0 2) + :shadow snow-bunny-shadow-mg + ) ;; definition for symbol *snow-bunny-nav-enemy-info*, type nav-enemy-info (define *snow-bunny-nav-enemy-info* (new 'static 'nav-enemy-info @@ -390,34 +387,16 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-identity + (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)))) ) - (set! (-> gp-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t + (loop (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -516,35 +495,17 @@ ) (set! (-> self patrol-hop-failed?) #f) (let ((gp-2 (min gp-0 (nav-enemy-rnd-int-count 3)))) - (ja-channel-push! 1 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-identity + (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)))) ) - (set! (-> s5-0 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) - (while #t + (loop (let ((s5-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) s5-1) (seconds 2.52)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (cond @@ -772,35 +733,19 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) - num-func-seek! - ) - ) + (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 + ) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 8.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 8.0 0) f30-0)) ) (until (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) f30-0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) (+! (-> self collide-info transv y) (* -546119.7 (-> *display* seconds-per-frame))) (integrate-for-enemy-with-move-to-ground! (-> self collide-info) @@ -819,29 +764,15 @@ ) (suspend) ) - (ja-channel-push! 1 22) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self notice-land-anim)))) - (set! (-> a0-18 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self notice-land-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data (-> self notice-land-anim))) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! + (-> self draw art-group data (-> self notice-land-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-chase) @@ -1324,32 +1255,12 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) - num-func-seek! - ) - ) + (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) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1392,29 +1303,11 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self attack-anim)))) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self attack-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self attack-anim))) - num-func-seek! - ) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (until (logtest? (-> self collide-info status) (cshape-moving-flags onsurf)) (suspend) 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 f877f44fb8..23193e7be5 100644 --- a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc @@ -85,40 +85,28 @@ ) ;; failed to figure out what this is: -(defskelgroup *flutflut-plat-small-sg* flutflut-plat-small - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -0.5 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-plat-small-sg* flutflut-plat-small flutflut-plat-small-lod0-jg flutflut-plat-small-idle-ja + ((flutflut-plat-small-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -0.5 0 4) + ) ;; failed to figure out what this is: -(defskelgroup *flutflut-plat-med-sg* flutflut-plat-med - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -1 0 6.75) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-plat-med-sg* flutflut-plat-med flutflut-plat-med-lod0-jg flutflut-plat-med-idle-ja + ((flutflut-plat-med-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 6.75) + ) ;; failed to figure out what this is: -(defskelgroup *flutflut-plat-large-sg* flutflut-plat-large - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-plat-large-sg* flutflut-plat-large flutflut-plat-large-lod0-jg flutflut-plat-large-idle-ja + ((flutflut-plat-large-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 9) + ) ;; failed to figure out what this is: -(defskelgroup *snow-button-sg* snow-button - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.3) - :longest-edge (meters 0) - ) +(defskelgroup *snow-button-sg* snow-button snow-button-lod0-jg -1 + ((snow-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.3) + ) ;; failed to figure out what this is: (defpartgroup group-flutflut-plat-small @@ -307,14 +295,7 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -375,22 +356,10 @@ :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 -1524 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -428,22 +397,10 @@ (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.6)) (suspend) ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go snow-button-up-idle) (none) diff --git a/test/decompiler/reference/levels/snow/snow-obs_REF.gc b/test/decompiler/reference/levels/snow/snow-obs_REF.gc index c312870d4b..58f942a55f 100644 --- a/test/decompiler/reference/levels/snow/snow-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-obs_REF.gc @@ -21,13 +21,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *snowcam-sg* snowcam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *snowcam-sg* snowcam snowcam-lod0-jg -1 + ((snowcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition for method 29 of type snowcam (defmethod set-stack-size! snowcam ((obj snowcam)) @@ -43,56 +40,20 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.2) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max 0.2) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 0.2) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 0.25) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! max 0.2)) ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 0.25) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek! max 0.25)) ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-0) (seconds 4.5)) @@ -132,40 +93,16 @@ ) ) ((= v1-0 2) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (handle->process (-> self notify-handle)) 'notify 'cut) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else @@ -207,13 +144,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-eggtop-sg* snow-eggtop - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *snow-eggtop-sg* snow-eggtop snow-eggtop-lod0-jg snow-eggtop-idle-ja + ((snow-eggtop-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: (defpartgroup group-snow-yellow-eco-room-open @@ -415,16 +349,9 @@ :code (behavior () (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -516,25 +443,13 @@ ) (change-sound! (-> self sound) (static-sound-name "snw-eggtop-seq")) (save-reminder (get-task-control (-> self entity extra perm task)) 2 4) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (-> self play-sound?) (update! (-> self sound)) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (level-hint-spawn (game-text-id snowy-turned-on-yellow-vents) @@ -557,7 +472,7 @@ ) ) (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) - (while #t + (loop (if (-> self play-sound?) (update! (-> self sound)) ) @@ -580,16 +495,7 @@ ) ) (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - ) + (ja :group! (-> self draw art-group data 2) :num! max) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -686,13 +592,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *snowpusher-sg* snowpusher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *snowpusher-sg* snowpusher snowpusher-lod0-jg snowpusher-idle-ja + ((snowpusher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; failed to figure out what this is: (defstate snowpusher-idle (snowpusher) @@ -709,12 +612,9 @@ :code (behavior () (let ((gp-0 #f)) - (while #t + (loop (let ((f0-0 (get-current-phase-with-mirror (-> self sync)))) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 num-func) num-func-identity) - (set! (-> v1-4 frame-num) (* f0-0 (-> self max-frame))) - ) + (ja :num-func num-func-identity :frame-num (* f0-0 (-> self max-frame))) (cond ((or (= f0-0 0.0) (= f0-0 1.0)) (set! gp-0 #f) @@ -831,13 +731,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-spatula-sg* snow-spatula - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 10) - :longest-edge (meters 9.4) - ) +(defskelgroup *snow-spatula-sg* snow-spatula snow-spatula-lod0-jg snow-spatula-idle-ja + ((snow-spatula-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 10) + :longest-edge (meters 9.4) + ) ;; failed to figure out what this is: (defstate snow-spatula-idle (snow-spatula) @@ -858,7 +756,7 @@ (let ((f28-0 0.0) (gp-0 1) ) - (while #t + (loop (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) (when (!= f30-0 f28-0) (let ((v1-3 1)) @@ -976,13 +874,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-fort-gate-sg* snow-fort-gate - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 15 0 24) - :longest-edge (meters 12.8) - ) +(defskelgroup *snow-fort-gate-sg* snow-fort-gate snow-fort-gate-lod0-jg -1 + ((snow-fort-gate-lod0-mg (meters 999999))) + :bounds (static-spherem 0 15 0 24) + :longest-edge (meters 12.8) + ) ;; failed to figure out what this is: (defpartgroup group-snow-fort-gate-coming-down @@ -1197,18 +1093,11 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self closed-trans quad)) (transform-post) (suspend) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1232,7 +1121,7 @@ :code (behavior () (let ((gp-0 #f)) - (while #t + (loop (let ((a1-0 (new 'stack-no-clear 'vector))) (set! (-> a1-0 quad) (-> self closed-trans quad)) (set! (-> a1-0 y) (+ -12288.0 (-> a1-0 y))) @@ -1281,19 +1170,12 @@ (defstate snow-fort-gate-idle-open (snow-fort-gate) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (set! (-> self root-override trans quad) (-> self open-trans quad)) (transform-post) (suspend) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1409,13 +1291,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-gears-sg* snow-gears - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 60) - :longest-edge (meters 12.1) - ) +(defskelgroup *snow-gears-sg* snow-gears snow-gears-lod0-jg snow-gears-idle-ja + ((snow-gears-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 60) + :longest-edge (meters 12.1) + ) ;; failed to figure out what this is: (defpartgroup group-snow-gears-dripping @@ -1519,16 +1399,9 @@ ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (ja-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1546,50 +1419,19 @@ :code (behavior () (sound-play-by-name (static-sound-name "eng-start-up") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.85) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 0.85) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.35) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + (ja :num! (seek! max 0.85)) ) + (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)) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 0.35) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.35)) ) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 2)) (update! (-> self sound)) (suspend) @@ -1615,42 +1457,18 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 0.35) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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)) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.35) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.35)) ) (stop! (-> self sound)) (sound-play-by-name (static-sound-name "eng-shut-down") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 0.85) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek! max 0.85) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 0.85) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.85)) ) (go snow-gears-stopped) (none) @@ -1665,7 +1483,7 @@ (behavior () (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1717,13 +1535,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-switch-sg* snow-switch - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *snow-switch-sg* snow-switch snow-switch-lod0-jg snow-switch-idle-ja + ((snow-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; definition for function snow-switch-event-handler (defbehavior snow-switch-event-handler snow-switch ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -1759,7 +1574,7 @@ snow-switch-event-handler :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1814,7 +1629,7 @@ ) 0 (let ((gp-2 #f)) - (while #t + (loop (let ((s5-1 (new 'stack-no-clear 'vector)) (f0-1 (+ -1433.6 (-> self orig-trans y))) ) @@ -1853,7 +1668,7 @@ (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) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -1955,13 +1770,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *snow-log-sg* snow-log - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 5 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *snow-log-sg* snow-log snow-log-lod0-jg -1 + ((snow-log-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5 0 9) + ) ;; failed to figure out what this is: (defstate snow-log-wait-for-master (snow-log) @@ -1975,7 +1787,7 @@ ) :code (behavior () - (while #t + (loop (while (let ((v1-0 (-> self master))) (not (if v1-0 (-> v1-0 extra process) @@ -2029,14 +1841,7 @@ :code (behavior () (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -2067,15 +1872,7 @@ (activate! *camera-smush-control* 819.2 37 150 1.0 0.99) (ja-channel-push! 1 0) (let ((gp-0 #f)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-0) (>= (ja-frame-num 0) 5.0)) (set! gp-0 #t) @@ -2083,11 +1880,7 @@ (sound-play-by-name (static-sound-name "snow-spat-short") (new-sound-id) 1024 381 0 1 #t) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (go snow-log-active) @@ -2106,20 +1899,12 @@ (logior! (-> self mask) (process-mask actor-pause)) (process-entity-status! self (entity-perm-status bit-3) #f) (logclear! (-> self draw status) (draw-status hidden)) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((gp-0 #t) (s5-0 #t) ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.25) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! max 0.25) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (cond @@ -2152,11 +1937,7 @@ ) ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 0.25) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.25)) ) ) ) @@ -2267,7 +2048,7 @@ snow-log-button-event-handler :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -2290,7 +2071,7 @@ :code (behavior () (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 0 0 1 #t) - (while #t + (loop (let ((f30-0 (+ -1433.6 (-> self orig-trans y)))) (when (= (-> self root-override trans y) f30-0) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) @@ -2336,7 +2117,7 @@ (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) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) 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 007e5f6917..222b2a9523 100644 --- a/test/decompiler/reference/levels/snow/snow-ram-boss_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ram-boss_REF.gc @@ -101,13 +101,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *ram-boss-sg* ram-boss - 0 - 13 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 4.4) - :longest-edge (meters 1.2) - ) +(defskelgroup *ram-boss-sg* ram-boss ram-boss-lod0-jg ram-boss-far-idle-ja + ((ram-boss-lod0-mg (meters 20)) (ram-boss-lod1-mg (meters 40)) (ram-boss-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 4.4) + :longest-edge (meters 1.2) + ) ;; definition for symbol *ram-boss-nav-enemy-info*, type nav-enemy-info (define *ram-boss-nav-enemy-info* (new 'static 'nav-enemy-info @@ -720,7 +718,7 @@ (set! (-> self charge-sound-id) (sound-play-by-name (static-sound-name "ramboss-charge") (new-sound-id) 1024 0 0 1 #t) ) - (while #t + (loop (let ((gp-1 (-> self parent-override))) (when (-> gp-1 0 dead?) (set! (-> gp-1 0 proj-stoked) #f) @@ -1473,7 +1471,7 @@ :code (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) - (while #t + (loop (clone-anim-once (ppointer->handle (-> self parent-override)) (the-as int (-> self draw origin-joint-index)) @@ -1558,16 +1556,8 @@ ) :code (behavior ((arg0 basic)) - (ja-channel-push! 1 240) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (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) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-! gp-0 (target-pos 0) (-> self collide-info trans)) @@ -1575,13 +1565,9 @@ (seek-toward-heading-vec! (-> self collide-info) gp-0 182044.44 (seconds 0.01)) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -1598,22 +1584,10 @@ (behavior () (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf2)) (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags navenmf1)) (go ram-boss-nav-start) @@ -1703,7 +1677,7 @@ ((-> (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 90) + (ja-channel-push! 1 (seconds 0.3)) (none) ) :trans @@ -1891,118 +1865,45 @@ :code (behavior () (let ((f30-0 -1.0)) - (while #t + (loop (set! f30-0 (dummy-57 self f30-0)) (cond ((< 5461.3335 (-> self last-turn-speed)) (cond ((-> self has-shield?) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 2 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) f30-0) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 22)) - num-func-chan - ) - ) + (when (not (ja-group? (-> self draw art-group data 7))) + (ja-channel-push! 2 (seconds 0.2)) + (ja :group! (-> self draw art-group data 7) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 22) :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 20) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 20)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 20))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 20) :num! min) ) ) ) ) ((-> self has-shield?) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 2 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) - (let ((a0-20 (-> self skel root-channel 1))) - (set! (-> a0-20 frame-interp) f30-0) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) - (set! (-> a0-20 param 0) 0.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim (-> self draw art-group data 21)) - num-func-chan - ) - ) + (when (not (ja-group? (-> self draw art-group data 6))) + (ja-channel-push! 2 (seconds 0.2)) + (ja :group! (-> self draw art-group data 6) :num! min) + (ja :chan 1 :group! (-> self draw art-group data 21) :num! (chan 0) :frame-interp f30-0) ) ) (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 24) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 24)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) - ) + (when (not (ja-group? (-> self draw art-group data 24))) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (-> self draw art-group data 24) :num! min) ) ) ) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-loop!) - ) - (when (= (ja-group-size) 2) - (let ((a0-28 (-> self skel root-channel 1))) - (set! (-> a0-28 frame-interp) f30-0) - (set! (-> a0-28 param 0) 0.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-chan) + (ja :num! (loop!)) + (if (= (ja-group-size) 2) + (ja :chan 1 :num! (chan 0) :frame-interp f30-0) ) - ) ) ) (none) @@ -2027,23 +1928,11 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ram-boss-tracking) (none) @@ -2068,23 +1957,11 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ram-boss-tracking) (none) @@ -2116,34 +1993,16 @@ :code (behavior () (set! (-> self frustration) 0) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-2 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (go-virtual nav-enemy-attack) @@ -2189,44 +2048,20 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (cond ((-> self has-shield?) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 23)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 23)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 23) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -2268,27 +2103,15 @@ (vector+! gp-0 (-> self collide-info trans) gp-0) (set! (-> self nav target-pos quad) (-> gp-0 quad)) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 18) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((gp-1 (new 'stack-no-clear 'vector))) (vector<-cspace! gp-1 (-> self node-list data 32)) (spawn (-> self part) gp-1) ) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ram-boss-tracking) (none) @@ -2329,7 +2152,7 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self collide-info)) (nav-enemy-fall-and-play-death-anim (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) diff --git a/test/decompiler/reference/levels/snow/snow-ram_REF.gc b/test/decompiler/reference/levels/snow/snow-ram_REF.gc index 6f5d5592e7..208599b438 100644 --- a/test/decompiler/reference/levels/snow/snow-ram_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ram_REF.gc @@ -2,13 +2,11 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *ram-sg* ram - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 5 0 8.5) - :longest-edge (meters 7.7) - ) +(defskelgroup *ram-sg* ram ram-lod0-jg ram-cock-ja + ((ram-lod0-mg (meters 20)) (ram-lod1-mg (meters 40)) (ram-lod2-mg (meters 999999))) + :bounds (static-spherem 0 5 0 8.5) + :longest-edge (meters 7.7) + ) ;; failed to figure out what this is: (defpartgroup group-ram-hit-wall @@ -232,38 +230,18 @@ :code (behavior () (local-vars (sv-16 symbol)) - (ja-channel-push! 1 22) - (while #t + (ja-channel-push! 1 (seconds 0.075)) + (loop (sound-play-by-name (static-sound-name "set-ram") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-1 #f)) (sound-play-by-name (static-sound-name "slam-crash") (new-sound-id) 1024 0 0 1 #t) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f30-0 (ja-aframe-num 0))) (when (and (not gp-1) (>= f30-0 61.0)) @@ -275,11 +253,7 @@ ) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (logior! (-> self mask) (process-mask actor-pause)) @@ -327,14 +301,7 @@ (go ram-give-fuel-cell) ) (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 6) :num! min) (transform-post) (logior! (-> self mask) (process-mask sleep-code)) (suspend) @@ -365,14 +332,7 @@ (behavior () (set! (-> self give-fuel-cell?) #f) (ja-channel-push! 1 0) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 6) :num! min) (transform-post) (when (and (not (task-complete? *game-info* (-> self entity extra perm task))) (-> self give-fuel-cell-anim)) (logclear! (-> self mask) (process-mask actor-pause)) diff --git a/test/decompiler/reference/levels/snow/target-ice_REF.gc b/test/decompiler/reference/levels/snow/target-ice_REF.gc index f5f838daaf..57c112dd5c 100644 --- a/test/decompiler/reference/levels/snow/target-ice_REF.gc +++ b/test/decompiler/reference/levels/snow/target-ice_REF.gc @@ -58,207 +58,79 @@ :code (behavior () (let ((gp-0 60)) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-2 (ja-group))) (cond ((or (= v1-2 (-> self draw art-group data 34)) (= v1-2 (-> self draw art-group data 38))) (set! gp-0 21) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 71) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 72))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 72)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 72)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 71)) + (ja-no-eval :group! (-> self draw art-group data 72) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) + ((ja-group? (-> self draw art-group data 51)) (cond ((rand-vu-percent? 0.3) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 53)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 53) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) - (set! (-> a0-22 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 52)) data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 52) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) - (set! (-> a0-23 param 1) 1.0) - (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 79))) - (set! (-> a0-29 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 79)) data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) 0.0) - (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 79)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 78)) + (ja-no-eval :group! (-> self draw art-group data 79) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 84) - ) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 85))) - (set! (-> a0-36 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 85)) data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 85)) num-func-seek!) - ) + ((ja-group? (-> self draw art-group data 84)) + (ja-no-eval :group! (-> self draw art-group data 85) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! gp-0 0) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) + ((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*) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - ) - (set! (-> s5-0 param 0) (the float (+ (-> (the-as art-joint-anim (if (rand-vu-percent? 0.3) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (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 ) - num-func-seek! - ) - ) (until (ja-done? 0) (seek! (-> self control unknown-float81) 0.0 (-> *display* seconds-per-frame)) (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) (rot->dir-targ! (-> self control)) ) - ((let ((v1-188 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + ((let ((v1-188 (ja-group))) (or (= v1-188 (-> self draw art-group data 31)) (= v1-188 (-> self draw art-group data 32))) ) - (ja-channel-push! 1 12) - (let ((a0-61 (-> self skel root-channel 0))) - (set! (-> a0-61 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) - (set! (-> a0-61 param 0) 0.0) - (set! (-> a0-61 param 1) 1.2) - (set! (-> a0-61 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-61 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! (-> self draw art-group data 30) :num! (seek! 0.0 1.2) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 param 0) 0.0) - (set! (-> a0-62 param 1) 1.2) - (joint-control-channel-group-eval! a0-62 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0 1.2)) ) (set! gp-0 60) ) @@ -266,44 +138,25 @@ ) (while (< 16384.0 (-> self control unknown-float01)) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 103) - ) + ((ja-group? (-> self draw art-group data 103)) ) (else - (ja-channel-push! 1 gp-0) + (ja-channel-push! 1 (the-as time-frame gp-0)) (set! gp-0 150) - (let ((v1-219 (-> self skel root-channel 0))) - (set! (-> v1-219 frame-group) (the-as art-joint-anim (-> self draw art-group data 103))) - ) + (ja :group! (-> self draw art-group data 103)) ) ) (suspend) - (let ((a0-72 (-> self skel root-channel 0))) - (set! (-> a0-72 param 0) 1.0) - (joint-control-channel-group-eval! a0-72 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 104) - ) - ) - (ja-channel-push! 1 gp-0) - (let ((v1-233 (-> self skel root-channel 0))) - (set! (-> v1-233 frame-group) (the-as art-joint-anim (-> self draw art-group data 104))) - ) + (when (not (ja-group? (-> self draw art-group data 104))) + (ja-channel-push! 1 (the-as time-frame gp-0)) + (ja :group! (-> self draw art-group data 104)) ) ) - (while #t + (loop (suspend) - (let ((a0-81 (-> self skel root-channel 0))) - (set! (-> a0-81 param 0) 1.0) - (joint-control-channel-group-eval! a0-81 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -352,10 +205,7 @@ (remove-exit) (go target-duck-stance) ) - (when (and (not (move-legs?)) (let ((gp-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (when (and (not (move-legs?)) (let ((gp-0 (ja-group)) (f0-1 (ja-aframe-num 0)) ) (if (and (= gp-0 (-> self draw art-group data 102)) (>= f0-1 30.0) (>= 35.0 f0-1)) @@ -399,110 +249,57 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) + ((ja-group? (-> self draw art-group data 23)) (let ((f30-0 (ja-aframe-num 0))) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 102)) - num-func-identity - ) - (set! (-> gp-0 frame-num) f30-0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 102) :num! (identity f30-0)) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 102) - ) + ((ja-group? (-> self draw art-group data 102)) ) (else - (let ((v1-18 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) + (let ((v1-18 (ja-group))) (cond ((or (= v1-18 (-> self draw art-group data 60)) (= v1-18 (-> self draw art-group data 61))) (set! (-> self control unknown-float81) (-> self control unknown-float80)) (set! (-> self control unknown-surface00) *walk-no-turn-mods*) (while (< (ja-aframe-num 0) 42.0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 102)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 34.0 0)) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) + ((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*) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 60))) - (set! (-> gp-2 param 0) (ja-aframe 42.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 60)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 60) :num! (seek! (ja-aframe 42.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 42.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 42.0 0))) ) (set! (-> self control unknown-surface00) *walk-mods*) (set! (-> self control unknown-float81) 0.0) - (ja-channel-push! 1 30) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 102)) - num-func-identity - ) - (set! (-> gp-4 frame-num) (ja-aframe 34.0 0)) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! (-> self draw art-group data 102) :num! (identity (ja-aframe 34.0 0))) (while (!= (-> self skel root-channel 0) (-> self skel channel)) (suspend) ) ) (else - (ja-channel-push! 1 15) - (let ((v1-74 (-> self skel root-channel 0))) - (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 102))) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 102)) ) ) ) ) ) - (while #t + (loop (suspend) (let* ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self control unknown-vector01) 1.0)) (gp-6 (vector-float*! @@ -512,21 +309,20 @@ ) ) (f0-18 (fmax -1.0 (fmin 1.0 (vector-dot s5-0 gp-6)))) - (gp-7 (-> self skel root-channel 0)) ) - (set! (-> gp-7 param 0) (cond - ((< f0-18 0.0) - (lerp-scale 2.0 1.0 f0-18 -1.0 0.5) - ) - ((< 0.5 f0-18) - (lerp-scale 1.0 0.75 f0-18 0.5 1.0) - ) - (else - (lerp-scale 1.33 1.0 f0-18 0.0 0.5) - ) - ) - ) - (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (loop! (cond + ((< f0-18 0.0) + (lerp-scale 2.0 1.0 f0-18 -1.0 0.5) + ) + ((< 0.5 f0-18) + (lerp-scale 1.0 0.75 f0-18 0.5 1.0) + ) + (else + (lerp-scale 1.33 1.0 f0-18 0.0 0.5) + ) + ) + ) + ) ) ) (none) diff --git a/test/decompiler/reference/levels/snow/target-snowball_REF.gc b/test/decompiler/reference/levels/snow/target-snowball_REF.gc index d7f2eeb682..c98f18ed0b 100644 --- a/test/decompiler/reference/levels/snow/target-snowball_REF.gc +++ b/test/decompiler/reference/levels/snow/target-snowball_REF.gc @@ -119,14 +119,7 @@ (move-by-vector! (-> self control) (new 'static 'vector :y 4096.0 :w 1.0)) (logior! (-> self control root-prim prim-core action) (collide-action ca-12)) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 5) :num! min) (remove-exit) (go target-snowball) (none) @@ -143,7 +136,7 @@ (-> target-snowball-start exit) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/snow/yeti_REF.gc b/test/decompiler/reference/levels/snow/yeti_REF.gc index 97dcc98826..1e13e99403 100644 --- a/test/decompiler/reference/levels/snow/yeti_REF.gc +++ b/test/decompiler/reference/levels/snow/yeti_REF.gc @@ -65,13 +65,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *yeti-sg* yeti - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0.75 0 3.9) - :longest-edge (meters 1.3) - ) +(defskelgroup *yeti-sg* yeti yeti-lod0-jg -1 + ((yeti-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0.75 0 3.9) + :longest-edge (meters 1.3) + ) ;; definition for symbol *yeti-nav-enemy-info*, type nav-enemy-info (define *yeti-nav-enemy-info* (new 'static 'nav-enemy-info @@ -278,25 +276,13 @@ ) :code (behavior () - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (while #t + (loop (suspend) ) (none) @@ -311,23 +297,11 @@ yeti-slave-default-event-handler :code (behavior () - (ja-channel-push! 1 15) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 0.5) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 0.5) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) ) (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) (go-virtual nav-enemy-chase) @@ -361,104 +335,46 @@ :code (behavior () (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + ((ja-group? yeti-give-up-hop-ja) + (ja-channel-push! 1 (seconds 0.15)) + (ja-no-eval :group! yeti-walk-ja :num! (seek!) :frame-num (ja-aframe 12.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) - (while #t - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (loop + (ja-no-eval :group! yeti-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (nav-enemy-rnd-percent? 0.2) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) (let ((gp-1 (nav-enemy-rnd-int-range 2 6))) (dotimes (s5-0 gp-1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! yeti-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-rotate)) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 180) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.6)) + (ja-no-eval :group! yeti-walk-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -473,61 +389,29 @@ (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 11) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 51) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) - (set! (-> a0-7 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - num-func-seek! - ) - ) + ((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)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) + (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) ) ) - (while #t + (loop (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f30-0)) ) ) (none) @@ -544,89 +428,41 @@ (when (or (logtest? (-> self nav-enemy-flags) (nav-enemy-flags navenmf8)) (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) ) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yeti-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) - (while #t + (loop (when (not (nav-enemy-facing-player? 2730.6667)) (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) + (ja-no-eval :num! (loop!)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! yeti-turn-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (nav-enemy-facing-player? 1820.4445) (ja-blend-eval) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 0.75) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 0.75)) ) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 2) - ) - ) - (ja-channel-push! 1 60) + (if (not (ja-group? yeti-idle-ja)) + (ja-channel-push! 1 (seconds 0.2)) ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! yeti-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) (when (nav-enemy-rnd-percent? 0.3) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yeti-win-ja :num! (seek! (ja-aframe 68.0 0) f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 68.0 0) f30-0)) ) ) ) @@ -642,7 +478,7 @@ (behavior () (set! (-> self rotate-speed) 218453.33) (set! (-> self turn-time) (seconds 0.5)) - (ja-channel-push! 1 45) + (ja-channel-push! 1 (seconds 0.15)) (let ((s4-0 (-> self collide-info)) (s5-0 (target-pos 0)) ) @@ -651,36 +487,16 @@ ) 12743.111 ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! yeti-give-up-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! yeti-give-up-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -689,11 +505,7 @@ (-> self turn-time) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -705,33 +517,17 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) - num-func-seek! - ) - ) + (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)) + :num! (seek! (ja-aframe 32.0 0) 0.5) + :frame-num 0.0 + ) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 32.0 0) 0.5)) ) (go-virtual nav-enemy-chase) (none) @@ -894,7 +690,7 @@ (defstate yeti-first-time-start (yeti) :code (behavior () - (while #t + (loop (when *target* (when (>= (-> self first-time-spawn-dist) (vector-vector-xz-distance (target-pos 0) (-> self root trans))) (process-entity-status! self (entity-perm-status complete) #t) @@ -949,7 +745,7 @@ (defstate yeti-idle (yeti) :code (behavior () - (while #t + (loop (cond ((zero? (-> self spawn-delay)) (let ((v1-1 0)) diff --git a/test/decompiler/reference/levels/sunken/bully_REF.gc b/test/decompiler/reference/levels/sunken/bully_REF.gc index bfb7e48e83..323e1118d2 100644 --- a/test/decompiler/reference/levels/sunken/bully_REF.gc +++ b/test/decompiler/reference/levels/sunken/bully_REF.gc @@ -78,23 +78,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *bully-sg* bully - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1.5 0 3) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *bully-sg* bully bully-lod0-jg bully-idle-ja + ((bully-lod0-mg (meters 20)) (bully-lod1-mg (meters 40)) (bully-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 3) + :shadow bully-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *bully-broken-cage-sg* bully - 14 - -1 - ((15 (meters 999999))) - :bounds (static-spherem 0 2 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *bully-broken-cage-sg* bully bully-broken-cage-lod0-jg -1 + ((bully-broken-cage-lod0-mg (meters 999999))) + :bounds (static-spherem 0 2 0 6) + ) ;; definition for symbol *bully-shadow-control*, type shadow-control (define *bully-shadow-control* @@ -274,22 +268,10 @@ :code (behavior () (ja-channel-push! 1 0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! bully-broken-cage-explode-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -596,47 +578,17 @@ ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 22) - (cond - (arg0 - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity + (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)))) ) - (set! (-> gp-1 frame-num) - (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) + (ja :group! bully-idle-ja :num! min) ) - (else - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) - ) - ) - (while #t + (loop (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -666,29 +618,15 @@ :code (behavior () (set! (-> self travel-speed) 0.0) - (ja-channel-push! 1 22) + (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) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> gp-1 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! bully-notice-jump-up-ja :num! (seek! (ja-aframe 13.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 13.0 0))) ) (until (logtest? (-> self root-override status) (cshape-moving-flags onsurf)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (+! (-> self root-override transv y) (* -545996.8 (-> *display* seconds-per-frame))) (integrate-for-enemy-with-move-to-ground! (-> self root-override) @@ -708,22 +646,10 @@ ) (suspend) ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! bully-notice-land-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go bully-start-spinning) (none) @@ -797,42 +723,19 @@ :code (behavior () (local-vars (v1-34 symbol) (v1-52 symbol)) - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! bully-start-spin-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self bounced?) #f) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bully-spin-ja :num! min) + (loop (until v1-34 (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-34 (or (ja-done? 0) (-> self bounced?))) ) (when (-> self bounced?) @@ -847,35 +750,17 @@ ) (until (not (-> self bounced?)) (set! (-> self bounced?) #f) - (ja-channel-push! 1 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bully-idle-bounced-ja :num! min) (until v1-52 (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-52 (or (ja-done? 0) (-> self bounced?))) ) ) - (ja-channel-push! 1 60) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) + (ja-channel-push! 1 (seconds 0.2)) ) + (ja :group! bully-spin-ja :num! min) ) (none) ) @@ -914,38 +799,20 @@ (behavior () (local-vars (v1-17 symbol) (v1-35 symbol)) (let ((gp-0 2)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self reaction-delay)) (cond ((>= gp-0 0) (+! gp-0 -1) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) + (ja :group! bully-dizzy-ja :num! min) ) (else - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s5-1 frame-num) 0.0) - ) + (ja :group! bully-idle-ja :num! min) ) ) (until v1-17 (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-17 (or (ja-done? 0) (-> self bounced?))) ) (when (-> self bounced?) @@ -961,26 +828,15 @@ (set! gp-0 0) (until (not (-> self bounced?)) (set! (-> self bounced?) #f) - (ja-channel-push! 1 60) - (let ((s5-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-identity - ) - (set! (-> s5-3 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! bully-idle-bounced-ja :num! min) (until v1-35 (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) (set! v1-35 (or (ja-done? 0) (-> self bounced?))) ) ) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) ) ) ) @@ -1016,23 +872,11 @@ (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) - (ja-channel-push! 1 22) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja-no-eval :group! bully-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (increment-success-for-hint (game-text-id sunken-bully-dive-hint)) (logior! (-> self draw status) (draw-status hidden)) diff --git a/test/decompiler/reference/levels/sunken/double-lurker_REF.gc b/test/decompiler/reference/levels/sunken/double-lurker_REF.gc index 8448851fb1..2679df9f27 100644 --- a/test/decompiler/reference/levels/sunken/double-lurker_REF.gc +++ b/test/decompiler/reference/levels/sunken/double-lurker_REF.gc @@ -68,24 +68,26 @@ ) ;; failed to figure out what this is: -(defskelgroup *double-lurker-sg* double-lurker - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 4.5) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *double-lurker-sg* double-lurker double-lurker-lod0-jg double-lurker-both-idle-ja + ((double-lurker-lod0-mg (meters 20)) + (double-lurker-lod1-mg (meters 40)) + (double-lurker-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 1 0 4.5) + :longest-edge (meters 1) + :shadow double-lurker-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *double-lurker-top-sg* double-lurker-top - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0.5 0 4.5) - :longest-edge (meters 1) - :shadow 4 - ) +(defskelgroup *double-lurker-top-sg* double-lurker-top double-lurker-top-lod0-jg -1 + ((double-lurker-top-lod0-mg (meters 20)) + (double-lurker-top-lod1-mg (meters 40)) + (double-lurker-top-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0.5 0 4.5) + :longest-edge (meters 1) + :shadow double-lurker-top-shadow-mg + ) ;; definition for symbol *double-lurker-top-nav-enemy-info*, type nav-enemy-info (define *double-lurker-top-nav-enemy-info* (new 'static 'nav-enemy-info @@ -281,7 +283,7 @@ ) :code (behavior () - (while #t + (loop (clone-anim-once (ppointer->handle (-> self parent-process)) (the-as int (-> self draw origin-joint-index)) @@ -300,23 +302,11 @@ :code (behavior () (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! double-lurker-bottom-take-hit-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -358,16 +348,8 @@ (set! (-> self nav extra-nav-sphere w) 9011.2) (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (ja-channel-push! 1 30) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-14 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (vector-lerp! (-> self collide-info trans) @@ -376,11 +358,7 @@ (fmin 1.0 (/ (ja-frame-num 0) (ja-aframe 44.0 0))) ) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (logior! (-> self collide-info nav-flags) (nav-flags navf0)) @@ -425,16 +403,9 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -569,14 +540,7 @@ (cond (arg2 (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! double-lurker-both-idle-ja :num! min) (transform-post) (let ((v1-13 (-> self draw shadow-ctrl))) (logior! (-> v1-13 settings flags) (shadow-flags shdf05)) @@ -586,14 +550,7 @@ ) (else (ja-channel-set! 1) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) + (ja :group! double-lurker-idle-ja :num! min) (transform-post) (move-to-ground (-> self collide-info) 40960.0 40960.0 #t (collide-kind background)) (dummy-51 self) @@ -744,16 +701,9 @@ double-lurker-default-event-handler :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) + (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) (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) (if t9-1 ((the-as (function none) t9-1)) @@ -966,23 +916,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go double-lurker-resume) (none) @@ -1121,22 +1059,10 @@ double-lurker-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! double-lurker-both-break-apart-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go double-lurker-resume) (none) @@ -1284,23 +1210,11 @@ ) :code (behavior () - (ja-channel-push! 1 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 18)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 18)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go double-lurker-resume) (none) diff --git a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc index d1c46a756d..24a81c6d67 100644 --- a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc +++ b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc @@ -28,13 +28,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *floating-launcher-sg* floating-launcher - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *floating-launcher-sg* floating-launcher floating-launcher-lod0-jg floating-launcher-idle-ja + ((floating-launcher-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; failed to figure out what this is: (defstate floating-launcher-idle (floating-launcher) @@ -60,7 +57,7 @@ (suspend) (transform-post) (suspend) - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/sunken/helix-water_REF.gc b/test/decompiler/reference/levels/sunken/helix-water_REF.gc index 56930d5165..f0ddb95f0e 100644 --- a/test/decompiler/reference/levels/sunken/helix-water_REF.gc +++ b/test/decompiler/reference/levels/sunken/helix-water_REF.gc @@ -25,13 +25,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *helix-slide-door-sg* helix-slide-door - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 12 0 18) - :longest-edge (meters 0) - ) +(defskelgroup *helix-slide-door-sg* helix-slide-door helix-slide-door-lod0-jg helix-slide-door-idle-ja + ((helix-slide-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 12 0 18) + ) ;; definition of type helix-button (deftype helix-button (process-drawable) @@ -69,13 +66,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *helix-button-sg* helix-button - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.5 0 5.4) - :longest-edge (meters 0) - ) +(defskelgroup *helix-button-sg* helix-button helix-button-lod0-jg helix-button-idle-ja + ((helix-button-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 5.4) + ) ;; definition of type helix-dark-eco (deftype helix-dark-eco (dark-eco-pool) @@ -195,7 +189,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -206,22 +200,10 @@ (defstate helix-slide-door-close (helix-slide-door) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (transform-post) (go helix-slide-door-idle-closed) @@ -235,7 +217,7 @@ (defstate helix-slide-door-idle-closed (helix-slide-door) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -335,7 +317,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -596,7 +578,7 @@ (defstate helix-button-idle-down (helix-button) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -720,7 +702,7 @@ (set! (-> self transv-y) 9216.0) (suspend) (send-event (ppointer->process (-> self dark-eco)) 'move-to (-> self root trans)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -777,7 +759,7 @@ :code (behavior () (send-event (ppointer->process (-> self dark-eco)) 'trigger) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) diff --git a/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc b/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc index c5f5cee07b..6c552a6828 100644 --- a/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/orbit-plat_REF.gc @@ -28,13 +28,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *orbit-plat-bottom-sg* orbit-plat-bottom - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.8) - :longest-edge (meters 0) - ) +(defskelgroup *orbit-plat-bottom-sg* orbit-plat-bottom orbit-plat-bottom-lod0-jg orbit-plat-bottom-idle-ja + ((orbit-plat-bottom-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.8) + ) ;; definition of type orbit-plat (deftype orbit-plat (baseplat) @@ -80,13 +77,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *orbit-plat-sg* orbit-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.4) - :longest-edge (meters 0) - ) +(defskelgroup *orbit-plat-sg* orbit-plat orbit-plat-lod0-jg orbit-plat-idle-ja + ((orbit-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.4) + ) ;; failed to figure out what this is: (defpartgroup group-orbit-plat-jet @@ -199,7 +193,7 @@ (defstate orbit-plat-bottom-idle (orbit-plat-bottom) :code (behavior () - (while #t + (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))) (spawn (-> self part2) (-> self root trans)) @@ -306,14 +300,7 @@ (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 107) self)) (initialize-skeleton self *orbit-plat-bottom-sg* '()) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! orbit-plat-idle-ja :num! min) (go orbit-plat-bottom-idle) (none) ) @@ -362,23 +349,15 @@ :code (behavior () (set! (-> self plat-status) (the-as uint 0)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (dotimes (gp-0 2) (transform-post) (suspend) - (when (not (ja-done? 0)) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) - (while #t + (loop (when (nonzero? (-> self root-override riders num-riders)) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) self) @@ -398,13 +377,9 @@ (go orbit-plat-riding) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) (when (not (-> self is-reset?)) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-4 from) self) @@ -472,11 +447,7 @@ (behavior () (set! (-> self plat-status) (the-as uint 0)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (until (dummy-28 self) (when (nonzero? (-> self root-override riders num-riders)) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) @@ -497,13 +468,9 @@ (go orbit-plat-riding) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) (go orbit-plat-idle) (none) @@ -521,12 +488,8 @@ :code (behavior () (set! (-> self plat-status) (the-as uint 1)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (while #t + (ja-no-eval :num! (seek!)) + (loop (when (zero? (-> self root-override riders num-riders)) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) self) @@ -546,13 +509,9 @@ (go orbit-plat-still) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek!)) ) - ) ) (none) ) @@ -641,11 +600,7 @@ (vector-! a0-0 (-> self basetrans) gp-0) (let ((f30-0 (vector-length a0-0))) (set! (-> self reset-length) f30-0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (label cfg-3) (dotimes (s4-0 2) (get-rotate-point! s5-0 gp-0 (-> self basetrans) (the-as vector f30-0) (-> self rot-dir) 40960.0) @@ -660,13 +615,9 @@ ) (label cfg-9) (suspend) - (when (not (ja-done? 0)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) (b! #t cfg-3 :delay (nop!)) (none) ) @@ -849,11 +800,7 @@ (behavior () (set! (-> self plat-status) (the-as uint 3)) (logclear! (-> self nav flags) (nav-control-flags navcf19)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (while (zero? (logand (nav-control-flags navcf19) (-> self nav flags))) (dummy-27 self) (when (nonzero? (-> self root-override riders num-riders)) @@ -875,13 +822,9 @@ (go orbit-plat-riding) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) (set! (-> self is-reset?) #t) (go orbit-plat-idle) @@ -896,12 +839,8 @@ :code (behavior () (set! (-> self plat-status) (the-as uint 0)) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) - (while #t + (ja-no-eval :num! (seek! 0.0)) + (loop (let ((v1-3 (-> self other))) (when (if v1-3 (-> v1-3 extra process) @@ -911,13 +850,9 @@ ) ) (suspend) - (when (not (ja-done? 0)) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + (if (not (ja-done? 0)) + (ja :num! (seek! 0.0)) ) - ) ) (none) ) diff --git a/test/decompiler/reference/levels/sunken/puffer_REF.gc b/test/decompiler/reference/levels/sunken/puffer_REF.gc index 5e24629576..f6429993ab 100644 --- a/test/decompiler/reference/levels/sunken/puffer_REF.gc +++ b/test/decompiler/reference/levels/sunken/puffer_REF.gc @@ -95,24 +95,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *puffer-sg* puffer - 0 - -1 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 5.25) - :longest-edge (meters 1.2) - :shadow 4 - ) +(defskelgroup *puffer-sg* puffer puffer-main-lod0-jg -1 + ((puffer-main-lod0-mg (meters 20)) (puffer-main-lod1-mg (meters 40)) (puffer-main-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 5.25) + :longest-edge (meters 1.2) + :shadow puffer-main-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *puffer-mean-sg* puffer - 5 - -1 - ((6 (meters 20)) (7 (meters 40)) (8 (meters 999999))) - :bounds (static-spherem 0 1 0 5.25) - :longest-edge (meters 1.2) - :shadow 4 - ) +(defskelgroup *puffer-mean-sg* puffer puffer-mean-lod0-jg -1 + ((puffer-mean-lod0-mg (meters 20)) (puffer-mean-lod1-mg (meters 40)) (puffer-mean-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 5.25) + :longest-edge (meters 1.2) + :shadow puffer-main-shadow-mg + ) ;; definition for function puffer-default-event-handler ;; INFO: Return type mismatch none vs object. @@ -641,7 +637,7 @@ ) :code (behavior () - (while #t + (loop (if (and (and *target* (>= (-> self fact-info-override idle-distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) ) @@ -728,7 +724,7 @@ ) :code (behavior () - (while #t + (loop (dummy-26 self) (suspend) ) @@ -783,7 +779,7 @@ ) :code (behavior () - (while #t + (loop (dummy-26 self) (suspend) ) @@ -819,24 +815,12 @@ (cleanup-for-death self) (shut-down! (-> self neck)) (logclear! (-> self mask) (process-mask actor-pause)) - (ja-channel-push! 1 22) + (ja-channel-push! 1 (seconds 0.075)) (clear-collide-with-as (-> self root-override)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) - ) + (ja-no-eval :group! puffer-die-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (none) ) @@ -956,7 +940,7 @@ ) (cond ((-> obj attacking?) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-0 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-0 @@ -998,7 +982,7 @@ ) (cond ((not (-> obj attacking?)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-1 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-1 @@ -1040,7 +1024,7 @@ ) (cond ((ja-done? 0) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (cond ((-> obj attacking?) (let ((s5-2 (-> obj skel root-channel 0))) @@ -1079,7 +1063,7 @@ ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-4 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-4 @@ -1103,7 +1087,7 @@ ) (cond ((-> obj attacking?) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-5 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-5 @@ -1145,7 +1129,7 @@ ) (cond ((not (-> obj attacking?)) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-6 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-6 @@ -1187,7 +1171,7 @@ ) (cond ((ja-done? 0) - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-7 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-7 @@ -1212,7 +1196,7 @@ ) ) (else - (ja-channel-push! 1 60) + (ja-channel-push! 1 (seconds 0.2)) (let ((s5-8 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-8 diff --git a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc index 30e791d0f1..7f6b43df06 100644 --- a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc @@ -19,13 +19,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *qbert-plat-on-sg* qbert-plat-on - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -2 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *qbert-plat-on-sg* qbert-plat-on qbert-plat-on-lod0-jg qbert-plat-on-idle-ja + ((qbert-plat-on-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -2 0 4.5) + ) ;; definition of type qbert-plat (deftype qbert-plat (rigid-body-platform) @@ -60,13 +57,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *qbert-plat-sg* qbert-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -2 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *qbert-plat-sg* qbert-plat qbert-plat-lod0-jg qbert-plat-idle-ja + ((qbert-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -2 0 4.5) + ) ;; definition for symbol *qbert-plat-constants*, type rigid-body-platform-constants (define *qbert-plat-constants* (new 'static 'rigid-body-platform-constants @@ -155,7 +149,7 @@ :code (behavior () (set-vector! (-> self draw color-emissive) 0.0 0.0 1.0 0.0) - (while #t + (loop (let ((gp-0 (-> self parent))) (set! (-> self root-overlay trans quad) (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay trans quad) @@ -198,14 +192,7 @@ (initialize-skeleton self *qbert-plat-on-sg* '()) (logior! (-> self skel status) (janim-status inited)) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! qbert-plat-idle-ja :num! min) (go qbert-plat-on-mimic) (none) ) @@ -281,7 +268,7 @@ (defstate qbert-plat-wait-for-master (qbert-plat) :code (behavior () - (while #t + (loop (let ((v1-0 (-> self master))) (when (if v1-0 (-> v1-0 extra process) @@ -307,7 +294,7 @@ qbert-plat-event-handler :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -501,7 +488,7 @@ ) :code (behavior () - (while #t + (loop (when (not (-> self puzzle-beaten?)) (when (task-complete? *game-info* (game-task sunken-platforms)) (set! (-> self puzzle-beaten?) #t) @@ -825,7 +812,7 @@ (defstate qbert-plat-master-wait-for-door (qbert-plat-master) :code (behavior () - (while #t + (loop (let* ((v1-0 (-> self door)) (gp-0 (if v1-0 (-> v1-0 extra process) diff --git a/test/decompiler/reference/levels/sunken/shover_REF.gc b/test/decompiler/reference/levels/sunken/shover_REF.gc index c12b11e3f8..408c66a863 100644 --- a/test/decompiler/reference/levels/sunken/shover_REF.gc +++ b/test/decompiler/reference/levels/sunken/shover_REF.gc @@ -25,13 +25,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *shover-sg* shover - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *shover-sg* shover shover-lod0-jg shover-idle-ja + ((shover-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; failed to figure out what this is: (defstate shover-idle (shover) diff --git a/test/decompiler/reference/levels/sunken/square-platform_REF.gc b/test/decompiler/reference/levels/sunken/square-platform_REF.gc index ec971af4f6..4bdef3483f 100644 --- a/test/decompiler/reference/levels/sunken/square-platform_REF.gc +++ b/test/decompiler/reference/levels/sunken/square-platform_REF.gc @@ -48,13 +48,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *square-platform-sg* square-platform - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 -11 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *square-platform-sg* square-platform square-platform-lod0-jg square-platform-idle-ja + ((square-platform-lod0-mg (meters 20)) (square-platform-lod1-mg (meters 999999))) + :bounds (static-spherem 0 -11 0 8) + ) ;; definition of type square-platform-button (deftype square-platform-button (basebutton) @@ -333,7 +330,7 @@ :code (behavior () (set! (-> self pos-u) 0.0) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -380,7 +377,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -411,7 +408,7 @@ :code (behavior () (set! (-> self pos-u) 1.0) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -464,7 +461,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -745,7 +742,7 @@ (a0-5 (-> self plat-id-dir)) (a1-3 (-> self plat-mask)) ) - (while #t + (loop (+! v1-20 a0-5) (cond ((<= v1-20 0) diff --git a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc index 3138cc7a52..0aaff1041d 100644 --- a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc +++ b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc @@ -465,13 +465,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *steam-cap-sg* steam-cap - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *steam-cap-sg* steam-cap steam-cap-lod0-jg steam-cap-idle-ja + ((steam-cap-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; definition for method 20 of type steam-cap ;; INFO: Return type mismatch object vs none. @@ -717,7 +714,7 @@ (the-as (function none :behavior steam-cap) rider-trans) :code (behavior () - (while #t + (loop (dummy-20 self) (dummy-21 self) (suspend) 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 77167f5456..a0acaaf41b 100644 --- a/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc +++ b/test/decompiler/reference/levels/sunken/sun-exit-chamber_REF.gc @@ -35,13 +35,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *blue-eco-charger-orb-sg* blue-eco-charger-orb - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1.1) - :longest-edge (meters 0) - ) +(defskelgroup *blue-eco-charger-orb-sg* blue-eco-charger-orb blue-eco-charger-orb-lod0-jg blue-eco-charger-orb-idle-ja + ((blue-eco-charger-orb-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1.1) + ) ;; definition of type blue-eco-charger (deftype blue-eco-charger (process-drawable) @@ -78,13 +75,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *blue-eco-charger-sg* blue-eco-charger - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1.9 0 2.7) - :longest-edge (meters 0) - ) +(defskelgroup *blue-eco-charger-sg* blue-eco-charger blue-eco-charger-lod0-jg blue-eco-charger-open-ja + ((blue-eco-charger-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.9 0 2.7) + ) ;; definition of type exit-chamber-items (deftype exit-chamber-items (structure) @@ -164,13 +158,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *exit-chamber-sg* exit-chamber - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 4 0 16.5) - :longest-edge (meters 0) - ) +(defskelgroup *exit-chamber-sg* exit-chamber exit-chamber-lod0-jg exit-chamber-idle-ja + ((exit-chamber-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 16.5) + ) ;; failed to figure out what this is: (defpartgroup group-exit-chamber-ripples @@ -261,7 +252,7 @@ :code (behavior () (set! (-> self root trans quad) (-> self rest-pos quad)) - (while #t + (loop (let ((f0-0 (-> self parent-process 0 open-level))) (if (< 0.0 f0-0) (go blue-eco-charger-orb-active) @@ -287,7 +278,7 @@ (init-vf0-vector) (dummy-20 self (-> self parent-process 0 open-level)) (vector-reset! (-> self orbit-rotv)) - (while #t + (loop (let ((f30-0 (-> self parent-process 0 open-level))) (if (>= 0.0 f30-0) (go blue-eco-charger-orb-idle) @@ -373,14 +364,7 @@ (set! (-> self rest-pos quad) (-> self root trans quad)) (initialize-skeleton self *blue-eco-charger-orb-sg* '()) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) + (ja :group! (-> self draw art-group data 2) :num! min) (set-vector! (-> self orbit-rot) 0.0 0.0 0.0 1.0) (go blue-eco-charger-orb-idle) (none) @@ -430,15 +414,8 @@ (behavior () (set! (-> self open-level) 0.0) (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (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))) @@ -495,33 +472,13 @@ ) :code (behavior ((arg0 symbol)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) - (set! (-> self open-level) - (/ (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) + (ja :num! (seek!)) + (set! (-> self open-level) (/ (ja-frame-num 0) (the float (+ (-> (ja-group) data 0 length) -1)))) ) - (while #t + (loop (cond ((zero? (get-reminder (get-task-control (game-task sunken-room)) 0)) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 20)) @@ -556,7 +513,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -573,11 +530,7 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (while (not (ja-done? 0)) (when (dummy-20 self) (increment-success-for-hint (game-text-id sunken-blue-eco-charger-hint)) @@ -588,24 +541,8 @@ ) (update! (-> self sound)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.0) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) - (set! (-> self open-level) - (/ (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) + (ja :num! (seek! 0.0)) + (set! (-> self open-level) (/ (ja-frame-num 0) (the float (+ (-> (ja-group) data 0 length) -1)))) ) (dummy-21 self #f) (go blue-eco-charger-idle) @@ -859,7 +796,7 @@ ) :code (behavior () - (while #t + (loop (if (>= 214228270000.0 (vector-vector-distance-squared (camera-pos) (-> self root-override trans))) (logclear! (-> self draw status) (draw-status hidden)) (logior! (-> self draw status) (draw-status hidden)) @@ -945,7 +882,7 @@ (if (-> self button) (send-event (ppointer->process (-> self button)) 'untrigger) ) - (while #t + (loop (if (>= 214228270000.0 (vector-vector-distance-squared (camera-pos) (-> self root-override trans))) (logclear! (-> self draw status) (draw-status hidden)) (logior! (-> self draw status) (draw-status hidden)) @@ -1009,80 +946,36 @@ (suspend) (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-1 #f)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.75)) (-> self door)) (set! gp-1 #t) (send-event (ppointer->process (-> self door)) 'untrigger) ) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (set! (-> self move-player?) #t) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (load-state-want-levels 'sunken 'village2) - (let ((a0-23 (-> self skel root-channel 0))) - (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-23 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (dummy-24 self 51200.0) (update-trans! (-> self sound) (-> self last-pos)) (update! (-> self sound)) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (stop! (-> self sound)) (load-state-want-display-level 'village2 'display) (load-state-want-display-level 'sunken 'special) (let ((gp-2 #f)) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-32 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-32 param 1) 1.0) - (set! (-> a0-32 frame-num) 0.0) - (joint-control-channel-group! a0-32 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek! (-> self wave-scale) 1.0 0.0016666667) (dummy-20 self (-> self wave-scale)) @@ -1102,11 +995,7 @@ ) ) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (kill-and-free-particles (-> self part)) @@ -1219,7 +1108,7 @@ (suspend) (logclear! (-> self draw status) (draw-status skip-bones)) ) - (while #t + (loop (dummy-20 self 1.0) (suspend) ) @@ -1286,15 +1175,7 @@ (let ((gp-1 #f) (s5-0 #f) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (when (and (not gp-1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.25)) (-> self door)) (set! gp-1 #t) @@ -1313,54 +1194,26 @@ (spawn (-> self part) (-> self last-pos)) ) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (load-state-want-levels 'sunken 'sunkenb) (kill-and-free-particles (-> self part)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (dummy-24 self 47104.0) (update-trans! (-> self sound) (-> self last-pos)) (update! (-> self sound)) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (stop! (-> self sound)) (load-state-want-display-level 'sunkenb 'display) (load-state-want-vis 'sub) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self move-player?) #f) (if (-> self door) 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 8c7feb520a..c5af8f31f3 100644 --- a/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc +++ b/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc @@ -50,13 +50,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *sun-iris-door-sg* sun-iris-door - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *sun-iris-door-sg* sun-iris-door sun-iris-door-lod0-jg sun-iris-door-idle-ja + ((sun-iris-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.5) + ) ;; definition for method 21 of type sun-iris-door (defmethod should-open? sun-iris-door ((obj sun-iris-door)) @@ -120,7 +117,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -156,18 +153,10 @@ :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek!)) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (ja-post) (go sun-iris-door-open) @@ -293,7 +282,7 @@ ) :code (behavior () - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -329,18 +318,10 @@ :code (behavior () (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! 0.0)) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (ja-post) (go sun-iris-door-closed) @@ -457,30 +438,10 @@ (set! (-> self proximity?) #f) (set! (-> self directional-proximity?) #f) (ja-channel-set! 1) - (cond - (arg2 - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> s5-1 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - ) + (if arg2 + (ja :group! sun-iris-door-idle-ja :num! max) + (ja :group! sun-iris-door-idle-ja :num! min) ) - (else - (let ((s5-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> s5-2 frame-num) 0.0) - ) - ) - ) (transform-post) (if arg2 (go sun-iris-door-open) diff --git a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc index ed6f37fa2f..9462ea23c9 100644 --- a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc @@ -60,31 +60,22 @@ ) ;; failed to figure out what this is: -(defskelgroup *sunkenfisha-red-yellow-sg* sunkenfisha - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 1.5 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sunkenfisha-red-yellow-sg* sunkenfisha sunkenfisha-red-yellow-lod0-jg -1 + ((sunkenfisha-red-yellow-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 2.5) + ) ;; failed to figure out what this is: -(defskelgroup *sunkenfisha-yellow-blue-sg* sunkenfisha - 2 - -1 - ((3 (meters 999999))) - :bounds (static-spherem 0 1.5 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sunkenfisha-yellow-blue-sg* sunkenfisha sunkenfisha-yellow-blue-lod0-jg -1 + ((sunkenfisha-yellow-blue-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 2.5) + ) ;; failed to figure out what this is: -(defskelgroup *sunkenfisha-yellow-eye-sg* sunkenfisha - 4 - -1 - ((5 (meters 999999))) - :bounds (static-spherem 0 1.5 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *sunkenfisha-yellow-eye-sg* sunkenfisha sunkenfisha-yellow-eye-lod0-jg -1 + ((sunkenfisha-yellow-eye-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1.5 0 2.5) + ) ;; definition for method 22 of type sunkenfisha ;; INFO: Return type mismatch int vs none. @@ -252,23 +243,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc b/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc index 597814caef..a9d60f78a0 100644 --- a/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc @@ -61,13 +61,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *side-to-side-plat-sg* side-to-side-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 14) - :longest-edge (meters 0) - ) +(defskelgroup *side-to-side-plat-sg* side-to-side-plat side-to-side-plat-lod0-jg side-to-side-plat-idle-ja + ((side-to-side-plat-lod0-mg (meters 20)) (side-to-side-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 14) + ) ;; failed to figure out what this is: (defpartgroup group-side-to-side-plat @@ -207,13 +204,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *sunkencam-sg* sunkencam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *sunkencam-sg* sunkencam sunkencam-lod0-jg -1 + ((sunkencam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition for method 29 of type sunkencam (defmethod set-stack-size! sunkencam ((obj sunkencam)) @@ -234,150 +228,66 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-45 *screen-filter*)) (set! (-> v1-45 draw?) #t) (set! (-> v1-45 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.5)) (let ((gp-0 2)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-13 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-0 -1) (if (zero? gp-0) (set! (-> *screen-filter* draw?) #f) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (set-blackout-frames (seconds 0.1)) ) ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 9) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((v1-116 *screen-filter*)) (set! (-> v1-116 draw?) #t) (set! (-> v1-116 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) (set-blackout-frames (seconds 0.1)) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set-blackout-frames (seconds 0.1)) (let ((gp-1 2)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-28 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 11) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (+! gp-1 -1) (if (zero? gp-1) (set! (-> *screen-filter* draw?) #f) ) (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (let ((gp-2 *camera*)) @@ -391,39 +301,15 @@ ) ) ((= v1-0 2) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) - (set! (-> a0-36 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 16) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) - (set! (-> a0-39 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) - ) - (set! (-> a0-39 param 1) 0.67) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) + (ja :num! (seek!)) ) + (ja-no-eval :group! (-> self draw art-group data 17) :num! (seek! max 0.67) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) - (set! (-> a0-40 param 1) 0.67) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.67)) ) (pov-camera-play-and-reposition (the-as art-joint-anim (-> self draw art-group data 18)) @@ -501,44 +387,25 @@ ) ;; failed to figure out what this is: -(defskelgroup *seaweed-sg* seaweed - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 6 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *seaweed-sg* seaweed seaweed-lod0-jg -1 + ((seaweed-lod0-mg (meters 999999))) + :bounds (static-spherem 0 6 0 7) + ) ;; failed to figure out what this is: (defstate seaweed-idle (seaweed) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja-no-eval :num! (seek! max (-> self anim-speed))) (while (not (ja-done? 0)) (suspend) (ja-eval) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! max (-> self anim-speed)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max (-> self anim-speed))) ) ) (none) diff --git a/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc b/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc index 8323f67ad6..7c3da270d4 100644 --- a/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-pipegame_REF.gc @@ -623,7 +623,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) diff --git a/test/decompiler/reference/levels/sunken/target-tube_REF.gc b/test/decompiler/reference/levels/sunken/target-tube_REF.gc index 793b014d6f..d28f8429f5 100644 --- a/test/decompiler/reference/levels/sunken/target-tube_REF.gc +++ b/test/decompiler/reference/levels/sunken/target-tube_REF.gc @@ -623,14 +623,7 @@ ) (set-time-ratios *display* (the float gp-0)) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 105)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe (-> self tube turn-anim-frame) 0)) - ) + (ja :group! (-> self draw art-group data 105) :num! (identity (ja-aframe (-> self tube turn-anim-frame) 0))) 0 (none) ) @@ -664,35 +657,21 @@ ) :code (behavior () - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (case (ja-group) (((-> self draw art-group data 41) (-> self draw art-group data 38)) - (ja-channel-push! 1 12) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 106))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 106)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 106)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.04)) + (ja-no-eval :group! (-> self draw art-group data 106) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self tube turn-anim-frame) 0.0) ) (else - (ja-channel-push! 1 12) + (ja-channel-push! 1 (seconds 0.04)) ) ) - (while #t + (loop (set! (-> self tube turn-anim-targ) (* 20.0 (-> self tube mod-x))) (target-tube-turn-anim) (suspend) @@ -735,15 +714,8 @@ ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 15) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-identity - ) - (set! (-> gp-0 frame-num) (ja-aframe 16.0 0)) - ) + (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) (f28-0 1.0) ) @@ -766,23 +738,10 @@ (suspend) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) - ) - (while #t + (ja-no-eval :group! (-> self draw art-group data 38) :num! (loop!) :frame-num 0.0) + (loop (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) + (ja :group! (-> self draw art-group data 38) :num! (loop!)) ) (none) ) @@ -931,14 +890,8 @@ (copy-settings-from-target! *setting-control*) (set! (-> self control transv quad) (the-as uint128 0)) (set! (-> self control unknown-surface00) *neutral-mods*) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 76))) - (set! (-> gp-1 param 0) (ja-aframe 134.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 76)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! (-> self draw art-group data 76) :num! (seek! (ja-aframe 134.0 0)) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-9 (-> self align)) (let ((gp-2 (new 'stack-no-clear 'vector))) @@ -948,11 +901,7 @@ ) ) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 134.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 134.0 0))) ) (set! (-> self control transv quad) (the-as uint128 0)) (initialize! (-> self game) 'dead (the-as game-save #f) (the-as string #f)) diff --git a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc index 57d290824e..42f99b1e37 100644 --- a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc @@ -37,13 +37,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *wall-plat-sg* wall-plat - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 1 -2 0 6.5) - :longest-edge (meters 0) - ) +(defskelgroup *wall-plat-sg* wall-plat wall-plat-lod0-jg -1 + ((wall-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 1 -2 0 6.5) + ) ;; failed to figure out what this is: (defstate wall-plat-retracted (wall-plat) @@ -61,7 +58,7 @@ (move-to-point! (-> self root-override) (-> self in-trans)) (transform-post) (clear-collide-with-as (-> self root-override)) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -92,7 +89,7 @@ (behavior () (restore-collide-with-as (-> self root-override)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (seek! (-> self extended-amount) 1.0 (* 2.5 (-> *display* seconds-per-frame))) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount)) @@ -124,7 +121,7 @@ (set! (-> self extended-amount) 1.0) (move-to-point! (-> self root-override) (-> self out-trans)) (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep-code)) (suspend) ) @@ -154,7 +151,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (seek! (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame))) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount)) @@ -198,7 +195,7 @@ :code (behavior () (let ((gp-0 #f)) - (while #t + (loop (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-lerp! s5-0 (-> self in-trans) (-> self out-trans) f30-0) diff --git a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc index f492fb0d30..acf50101a6 100644 --- a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc +++ b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc @@ -33,7 +33,7 @@ (defstate wedge-plat-master-idle (wedge-plat-master) :code (behavior () - (while #t + (loop (set! (-> self rotate-inner) (the float (sar (shl (the int (+ (-> self rotate-inner) (* (-> self rotspeed) (-> *display* seconds-per-frame)))) 48) 48) @@ -96,13 +96,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *wedge-plat-sg* wedge-plat - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *wedge-plat-sg* wedge-plat wedge-plat-lod0-jg wedge-plat-idle-ja + ((wedge-plat-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6) + ) ;; definition for method 27 of type wedge-plat (defmethod dummy-27 wedge-plat ((obj wedge-plat)) @@ -154,11 +151,8 @@ (the-as (function none :behavior wedge-plat) plat-trans) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) - (while #t + (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) + (loop (if (dummy-27 self) (go wedge-plat-tip) ) @@ -191,62 +185,38 @@ (the-as (function none :behavior wedge-plat) plat-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 3))) - (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 60.0 0)) + :frame-num (ja-aframe 0.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! (ja-aframe 60.0 0))) ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 100.0 0)) + :frame-num (ja-aframe 60.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 100.0 0))) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe 100.0 0)) (dummy-27 self) (suspend) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 153.0 0)) + :frame-num (ja-aframe 100.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 153.0 0))) ) (go wedge-plat-idle) (none) @@ -314,13 +284,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *wedge-plat-outer-sg* wedge-plat-outer - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *wedge-plat-outer-sg* wedge-plat-outer wedge-plat-outer-lod0-jg wedge-plat-outer-idle-ja + ((wedge-plat-outer-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for method 27 of type wedge-plat-outer (defmethod dummy-27 wedge-plat-outer ((obj wedge-plat-outer)) @@ -372,11 +339,8 @@ (the-as (function none :behavior wedge-plat-outer) plat-trans) :code (behavior () - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) + (loop + (ja :num-func num-func-identity :frame-num (ja-aframe 0.0 0)) (if (dummy-27 self) (go wedge-plat-outer-tip) ) @@ -408,62 +372,38 @@ (the-as (function none :behavior wedge-plat-outer) plat-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 3))) - (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 60.0 0)) + :frame-num (ja-aframe 0.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + (ja :num! (seek! (ja-aframe 60.0 0))) ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 100.0 0)) + :frame-num (ja-aframe 60.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 100.0 0))) ) (set! (-> self state-time) (-> *display* base-frame-counter)) (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 1)) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) - ) + (ja :num-func num-func-identity :frame-num (ja-aframe 100.0 0)) (dummy-27 self) (suspend) ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) + :num! (seek! (ja-aframe 153.0 0)) + :frame-num (ja-aframe 100.0 0) + ) (until (ja-done? 0) (dummy-27 self) (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 153.0 0))) ) (go wedge-plat-outer-idle) (none) diff --git a/test/decompiler/reference/levels/sunken/whirlpool_REF.gc b/test/decompiler/reference/levels/sunken/whirlpool_REF.gc index be2d611233..8a7213e3a5 100644 --- a/test/decompiler/reference/levels/sunken/whirlpool_REF.gc +++ b/test/decompiler/reference/levels/sunken/whirlpool_REF.gc @@ -34,13 +34,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *whirlpool-sg* whirlpool - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0.6 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *whirlpool-sg* whirlpool whirlpool-lod0-jg whirlpool-idle-ja + ((whirlpool-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0.6 0 3) + ) ;; failed to figure out what this is: (defpartgroup group-whirlpool-swirl diff --git a/test/decompiler/reference/levels/swamp/billy_REF.gc b/test/decompiler/reference/levels/swamp/billy_REF.gc index 1bd7552780..7d29610a31 100644 --- a/test/decompiler/reference/levels/swamp/billy_REF.gc +++ b/test/decompiler/reference/levels/swamp/billy_REF.gc @@ -89,57 +89,23 @@ ) ;; failed to figure out what this is: -(defskelgroup *farthy-snack-sg* farthy-snack - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *farthy-snack-sg* farthy-snack farthy-snack-lod0-jg farthy-snack-idle-ja + ((farthy-snack-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; failed to figure out what this is: (defstate billy-snack-eat (billy-snack) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-3 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja :group! farthy-snack-eat-ja) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (deactivate self) - (while #t + (loop (suspend) ) (none) @@ -160,40 +126,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -290,43 +227,12 @@ (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 15) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-9 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-channel-push! 1 (seconds 0.05)) + (ja :group! (-> self draw art-group data 12)) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) (logclear! (-> self nav flags) (nav-control-flags navcf19)) @@ -346,36 +252,18 @@ ) :code (behavior () - (ja-channel-push! 1 22) + (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))) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - ) - (set! (-> a0-3 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) f30-0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) - num-func-seek! - ) - ) + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info victory-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -458,23 +346,18 @@ ) ;; failed to figure out what this is: -(defskelgroup *billy-sg* billy - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 1) - :shadow 2 - ) +(defskelgroup *billy-sg* billy billy-lod0-jg billy-idle-breath-ja + ((billy-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + :longest-edge (meters 1) + :shadow billy-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *billy-sidekick-sg* billy-sidekick - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *billy-sidekick-sg* billy-sidekick billy-sidekick-lod0-jg billy-sidekick-idle-ja + ((billy-sidekick-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for function billy-kill-all-but-farthy (defbehavior billy-kill-all-but-farthy billy () @@ -711,9 +594,7 @@ (lookup-text! *common-text* (game-text-id quit) #f) ) (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (ja :group! (get-art-elem self)) (send-event *target* 'end-mode) (when (and (handle->process (-> self offending-rat)) (zero? (-> self num-snacks))) (send-event *camera* 'change-target (handle->process (-> self offending-rat))) @@ -1197,7 +1078,7 @@ ) :code (behavior () - (while #t + (loop (billy-game-update) (if (or (zero? (-> self num-snacks)) (and (zero? (-> self num-rats)) (-> self passed-last-stage)) @@ -1327,80 +1208,29 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) ) + (loop + (ja :group! (get-art-elem self)) (let* ((f30-0 5.0) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (TODO-RENAME-43 self) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (when (ja-group? billy-idle-breath-ja) + (ja-no-eval :group! billy-idle-shoo-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/swamp/kermit_REF.gc b/test/decompiler/reference/levels/swamp/kermit_REF.gc index 5b54da5974..63e15c9625 100644 --- a/test/decompiler/reference/levels/swamp/kermit_REF.gc +++ b/test/decompiler/reference/levels/swamp/kermit_REF.gc @@ -791,13 +791,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *kermit-sg* kermit - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 -1 0 3) - :longest-edge (meters 2) - ) +(defskelgroup *kermit-sg* kermit kermit-lod0-jg kermit-idle-ja + ((kermit-lod0-mg (meters 20)) (kermit-lod1-mg (meters 40)) (kermit-lod2-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 3) + :longest-edge (meters 2) + ) ;; definition for function kermit-enable-tongue ;; INFO: Return type mismatch int vs none. @@ -913,15 +911,7 @@ ;; definition for function kermit-short-hop (defbehavior kermit-short-hop kermit () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! kermit-hop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (if (>= f0-4 4.0) @@ -932,26 +922,14 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) ;; definition for function kermit-long-hop (defbehavior kermit-long-hop kermit () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! kermit-longhop-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (let ((f0-4 (ja-aframe-num 0))) (if (>= f0-4 7.0) @@ -962,18 +940,14 @@ ) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) #f ) ;; definition for function kermit-hop (defbehavior kermit-hop kermit ((arg0 float)) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (set! (-> self rotate-speed) 1820444.5) (let ((f0-2 (fmin arg0 (vector-vector-distance (-> self collide-info trans) (-> self nav target-pos))))) (cond @@ -1109,19 +1083,9 @@ nav-enemy-default-event-handler :code (behavior () (kermit-disable-tongue) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :group! kermit-idle-ja :num! min) + (loop + (ja :num! (loop!)) (suspend) ) (none) @@ -1166,23 +1130,11 @@ nav-enemy-default-event-handler ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 3.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 3.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 3.0)) ) (kermit-hop 20480.0) ) @@ -1211,7 +1163,7 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) (kermit-hop 0.0) (go kermit-chase) @@ -1290,27 +1242,15 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 4.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 4.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 4.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 4.0)) ) ) - (while #t + (loop (kermit-hop 81920.0) (nop!) ) @@ -1371,24 +1311,12 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 3.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.17)) + (loop + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 3.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 3.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 3.0)) ) (if (not (kermit-check-to-hit-player? 3640.889)) (kermit-hop 81920.0) @@ -1409,22 +1337,14 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 51) + (ja-channel-push! 1 (seconds 0.17)) (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-enable-tongue) (let ((s5-0 #f) (gp-0 #f) ) (let ((f30-0 1.0)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! kermit-lash-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (set! (-> self tongue-control target-pos quad) (-> (kermit-player-target-pos) quad)) (when (and (not s5-0) (>= (ja-aframe-num 0) 14.0)) @@ -1441,11 +1361,7 @@ nav-enemy-default-event-handler (seek! (-> self tongue-control forward-scale-control) f30-0 0.25) ) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (cond @@ -1540,17 +1456,9 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (loop + (ja-no-eval :group! kermit-turn-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (sound-play-by-name (static-sound-name "kermit-stretch") @@ -1562,11 +1470,7 @@ nav-enemy-default-event-handler (the-as symbol (-> self collide-info trans)) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1614,47 +1518,23 @@ nav-enemy-default-event-handler ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! kermit-miss-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (>= (ja-aframe-num 0) 3.0) (seek! (-> self tongue-control forward-scale-control) 0.0 0.125) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self tongue-control forward-scale-control) 0.0) (kermit-disable-tongue) - (while #t - (ja-channel-push! 1 30) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 4.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (loop + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! kermit-idle-ja :num! (seek! max 4.0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 4.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 4.0)) ) (kermit-hop 0.0) ) diff --git a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc index ed97ac7026..07b3d8dc03 100644 --- a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc @@ -199,13 +199,10 @@ swamp-bat-slave-event-handler ) ;; failed to figure out what this is: -(defskelgroup *swamp-bat-slave-sg* swamp-bat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-bat-slave-sg* swamp-bat swamp-bat-lod0-jg swamp-bat-idle-ja + ((swamp-bat-lod0-mg (meters 20)) (swamp-bat-lod1-mg (meters 40)) (swamp-bat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + ) ;; definition for function swamp-bat-slave-get-new-path ;; Used lq/sq @@ -243,10 +240,8 @@ swamp-bat-slave-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) - (ja-channel-push! 1 49) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja-channel-push! 1 (seconds 0.165)) + (ja :group! swamp-bat-idle-ja) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> s5-0 quad) (-> self root-override trans quad)) (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override quat))) @@ -262,7 +257,7 @@ swamp-bat-slave-event-handler (s3-0 (the int (* f0-0 (/ 1.0 f1-0) (vector-vector-distance s5-0 (-> self idle-position))))) ) (forward-up->quaternion gp-0 s2-0 (new 'static 'vector :y 1.0 :w 1.0)) - (while #t + (loop (let ((v1-17 (- (-> *display* base-frame-counter) (-> self state-time)))) (when (>= v1-17 s3-0) 0 @@ -277,10 +272,7 @@ swamp-bat-slave-event-handler (quaternion-slerp! (-> self root-override quat) s4-0 gp-0 f30-1) ) ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self idle-anim-speed))) (suspend) 0 ) @@ -294,7 +286,7 @@ swamp-bat-slave-event-handler (set! (-> self launch-ready) #t) (logior! (-> self mask) (process-mask actor-pause)) (let ((f30-2 0.0)) - (while #t + (loop (let ((f26-0 (cos f30-2)) (f28-0 (sin f30-2)) ) @@ -302,10 +294,7 @@ swamp-bat-slave-event-handler (vector+*! (-> self root-override trans) (-> self root-override trans) (-> self idle-path x-axis) f26-0) (vector+*! (-> self root-override trans) (-> self root-override trans) (-> self idle-path y-axis) f28-0) ) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self idle-anim-speed))) (suspend) (+! f30-2 (* 32768.0 (-> *display* seconds-per-frame) (-> self idle-anim-speed))) ) @@ -324,15 +313,13 @@ swamp-bat-slave-event-handler (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (set! (-> self launch-ready) #f) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new-stack-vector0))) (set! (-> gp-0 quad) (-> self root-override trans quad)) (let ((s5-0 (new-stack-vector0))) (eval-path-curve-div! (-> self parent-process 0 path-list (-> self path-select)) s5-0 0.0 'interp) - (let ((v1-12 (-> self skel root-channel 0))) - (set! (-> v1-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) - (while #t + (ja :group! swamp-bat-idle-ja) + (loop (let ((s4-0 (- (-> *display* base-frame-counter) (-> self state-time)))) (if (>= s4-0 (seconds 0.3)) (go swamp-bat-slave-swoop) @@ -341,10 +328,7 @@ swamp-bat-slave-event-handler (vector-lerp! (-> self root-override trans) gp-0 s5-0 f0-1) ) ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! (-> self idle-anim-speed))) (suspend) 0 ) @@ -363,39 +347,23 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self strafe-envelope) 0.0) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! swamp-bat-notice-ja :num! min) (until (ja-done? 0) (if (< (ja-aframe-num 0) 10.0) (sync-now! (-> self sync) 0.0) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self strafe-envelope) 20480.0) - (ja-channel-push! 1 30) - (let ((v1-18 (-> self skel root-channel 0))) - (set! (-> v1-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! swamp-bat-swoop-ja) + (loop (if (>= (dummy-20 self) 2.0) (go swamp-bat-slave-strafe) ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) (none) @@ -411,18 +379,13 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self strafe-envelope) 20480.0) - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) - (while #t + (ja-channel-push! 1 (seconds 0.1)) + (ja :group! swamp-bat-strafe-ja) + (loop (if (>= (dummy-20 self) 6.0) (go swamp-bat-slave-return) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) (none) @@ -438,14 +401,12 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self strafe-envelope) 0.0) - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (ja-channel-push! 1 (seconds 0.075)) + (ja :group! swamp-bat-strafe-ja) (let ((f30-0 (+ -1.0 (-> self path-point-count))) (gp-0 #t) ) - (while #t + (loop (let ((f28-0 (dummy-20 self))) (if (>= f28-0 f30-0) (go swamp-bat-slave-idle) @@ -458,10 +419,7 @@ swamp-bat-slave-event-handler ) ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -480,7 +438,7 @@ swamp-bat-slave-event-handler ) :code (behavior ((arg0 handle)) - (ja-channel-push! 1 21) + (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new-stack-vector0))) (let ((v1-1 (handle->process arg0))) (if v1-1 @@ -489,16 +447,10 @@ swamp-bat-slave-event-handler ) (set! (-> gp-0 y) (+ -6144.0 (-> gp-0 y))) (vector-normalize! gp-0 98304.0) - (let ((v1-8 (-> self skel root-channel 0))) - (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) + (ja :group! swamp-bat-die-ja) (until (ja-done? 0) (vector-v++! (-> self root-override trans) gp-0) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 0.5) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max 0.5)) (suspend) ) ) @@ -649,7 +601,7 @@ swamp-bat-slave-event-handler (process-entity-status! self (entity-perm-status dead) #t) (deactivate self) ) - (while #t + (loop (when (and (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.2)) *target* (>= (-> self fact-override idle-distance) @@ -702,7 +654,7 @@ swamp-bat-slave-event-handler :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (swamp-bat-update-path) (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (set! (-> self state-time) (-> *display* base-frame-counter)) diff --git a/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc b/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc index 4fdc495e4a..fba7e688dd 100644 --- a/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc @@ -145,13 +145,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *swamp-spike-sg* swamp-spike - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 5 0 6) - :longest-edge (meters 2.5) - ) +(defskelgroup *swamp-spike-sg* swamp-spike swamp-spike-lod0-jg swamp-spike-up-ja + ((swamp-spike-lod0-mg (meters 20)) (swamp-spike-lod1-mg (meters 999999))) + :bounds (static-spherem 0 5 0 6) + :longest-edge (meters 2.5) + ) ;; definition for function swamp-spike-default-event-handler (defbehavior swamp-spike-default-event-handler swamp-spike ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -209,16 +207,11 @@ (new 'stack-no-clear 'vector) (vector-z-quaternion! gp-0 (-> self root-override quat)) (set! (-> gp-0 w) (- (vector-dot gp-0 (-> self root-override trans)))) - (while #t + (loop (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-10 (-> self skel root-channel 0))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (until (>= (get-current-phase (-> self sync)) 0.5) - (let ((v1-13 (-> self skel root-channel 0))) - (set! (-> v1-13 num-func) num-func-identity) - (set! (-> v1-13 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (let ((s5-0 (or (not *target*) @@ -238,22 +231,10 @@ ) ) (else - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (logtest? (-> self draw status) (draw-status was-drawn)) (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) @@ -276,29 +257,14 @@ ) ) (set! (-> self dangerous) #t) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self dangerous) #f) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-96 (-> self skel root-channel 0))) - (set! (-> v1-96 num-func) num-func-identity) - (set! (-> v1-96 frame-num) (the float (+ (-> v1-96 frame-group data 0 length) -1))) - ) + (ja :num-func num-func-identity :frame-num max) (until (< (get-current-phase (-> self sync)) 0.5) (suspend) ) @@ -322,22 +288,10 @@ ) ) ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-29 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) 0.0) - (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -367,14 +321,9 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja :group! (-> self draw art-group data 4)) (until (-> self open-gate) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) @@ -395,22 +344,10 @@ (-> gp-0 ppointer) ) ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go swamp-spike-gate-down) (none) @@ -546,13 +483,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *balance-plat-sg* balance-plat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *balance-plat-sg* balance-plat balance-plat-lod0-jg balance-plat-idle-ja + ((balance-plat-lod0-mg (meters 20)) (balance-plat-lod1-mg (meters 40)) (balance-plat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; failed to figure out what this is: (defstate balance-plat-idle (balance-plat) @@ -572,7 +506,7 @@ (the-as (function none :behavior balance-plat) rider-trans) :code (behavior () - (while #t + (loop (let ((f30-0 (* -0.025 (+ (-> self y-offset) (-> self y-travel)))) (f28-0 (* -0.025 (- (-> self y-offset) (-> self y-travel)))) ) @@ -762,13 +696,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *swamp-rock-sg* swamp-rock - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rock-sg* swamp-rock swamp-rock-lod0-jg swamp-rock-idle-ja + ((swamp-rock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; failed to figure out what this is: (defstate swamp-rock-break (swamp-rock) @@ -808,7 +739,7 @@ :code (behavior () (transform-post) - (while #t + (loop (logior! (-> self mask) (process-mask sleep)) (suspend) ) @@ -879,13 +810,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *tar-plat-sg* tar-plat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *tar-plat-sg* tar-plat tar-plat-lod0-jg tar-plat-idle-ja + ((tar-plat-lod0-mg (meters 20)) (tar-plat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3) + ) ;; definition for symbol *tar-plat-constants*, type rigid-body-platform-constants (define *tar-plat-constants* (new 'static 'rigid-body-platform-constants @@ -963,7 +891,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1002,15 +930,10 @@ ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t + (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) + (loop (suspend) ) (none) @@ -1133,13 +1056,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *swampcam-sg* swampcam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *swampcam-sg* swampcam swampcam-lod0-jg swampcam-anim-ja + ((swampcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 15) + ) ;; definition of type swamp-battlecontroller (deftype swamp-battlecontroller (battlecontroller) 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 db980df3cf..ee4b062764 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc @@ -824,11 +824,8 @@ swamp-rat-nest-dummy-event-handler :code (behavior () - (while #t - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (the float (+ (-> v1-2 frame-group data 0 length) -1))) - ) + (loop + (ja :num-func num-func-identity :frame-num max) (suspend) ) (none) @@ -851,42 +848,13 @@ ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< (-> self parent-process 0 hit-points) 3) (spawn (-> self part) (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go swamp-rat-nest-dummy-idle) (none) @@ -901,39 +869,10 @@ swamp-rat-nest-dummy-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go swamp-rat-nest-dummy-idle) (none) @@ -1170,7 +1109,7 @@ swamp-rat-nest-default-event-handler :code (behavior () (swamp-rat-nest-check-dummy) - (while #t + (loop (suspend) ) (none) @@ -1212,7 +1151,7 @@ swamp-rat-nest-default-event-handler ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1244,7 +1183,7 @@ swamp-rat-nest-default-event-handler ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -1332,31 +1271,22 @@ swamp-rat-nest-default-event-handler ) ;; failed to figure out what this is: -(defskelgroup *swamp-rat-nest-dummy-a-sg* swamp-rat-nest - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rat-nest-dummy-a-sg* swamp-rat-nest swamp-rat-nest-a-lod0-jg swamp-rat-nest-a-idle-ja + ((swamp-rat-nest-a-lod0-mg (meters 20)) (swamp-rat-nest-a-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *swamp-rat-nest-dummy-b-sg* swamp-rat-nest - 4 - 7 - ((5 (meters 20)) (6 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rat-nest-dummy-b-sg* swamp-rat-nest swamp-rat-nest-b-lod0-jg swamp-rat-nest-b-idle-ja + ((swamp-rat-nest-b-lod0-mg (meters 20)) (swamp-rat-nest-b-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: -(defskelgroup *swamp-rat-nest-dummy-c-sg* swamp-rat-nest - 8 - 11 - ((9 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-rat-nest-dummy-c-sg* swamp-rat-nest swamp-rat-nest-c-lod0-jg swamp-rat-nest-c-idle-ja + ((swamp-rat-nest-c-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; definition for method 20 of type swamp-rat-nest-dummy-a (defmethod dummy-20 swamp-rat-nest-dummy-a ((obj swamp-rat-nest-dummy-a)) diff --git a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc index 47229fb3c2..ad8090d4cc 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc @@ -44,13 +44,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *swamp-rat-sg* swamp-rat - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 1 0 4) - :longest-edge (meters 1) - ) +(defskelgroup *swamp-rat-sg* swamp-rat swamp-rat-lod0-jg swamp-rat-idle-ja + ((swamp-rat-lod0-mg (meters 20)) (swamp-rat-lod1-mg (meters 40)) (swamp-rat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 4) + :longest-edge (meters 1) + ) ;; definition for method 44 of type swamp-rat (defmethod dummy-44 swamp-rat ((obj swamp-rat) (arg0 process) (arg1 event-message-block)) @@ -151,31 +149,15 @@ swamp-rat-default-event-handler :code (behavior () (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - ) - (set! (-> a0-1 param 0) - (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! + (-> self draw art-group data (-> self nav-info walk-anim)) + :num! (seek! max f30-0) + :frame-num 0.0 + ) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) ) @@ -190,32 +172,15 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) - ) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (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) (until (ja-done? 0) (ja-blend-eval) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! (ja-aframe 30.0 0))) ) + (ja-no-eval :num! (seek!)) (go-virtual nav-enemy-chase) (none) ) @@ -277,25 +242,15 @@ swamp-rat-default-event-handler (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) (seconds -10))) (set! (-> self wiggle-angle) 0.0) (set! (-> self chase-rest-time) (rand-vu-int-range (seconds 1) (seconds 4))) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t + (ja-channel-push! 1 (seconds 0.17)) + (ja :group! swamp-rat-run-ja :num! min) + (loop (when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) (seconds 1)) (set! (-> self wiggle-time) (-> *display* base-frame-counter)) (swamp-rat-update-wiggle-params) ) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) (none) ) @@ -324,41 +279,23 @@ swamp-rat-default-event-handler :code (behavior () (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) (seconds 0.07333333)) + (set! (-> self turn-time) (seconds 0.075)) (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t + (loop (logior! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - (set! (-> a0-2 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! swamp-rat-celebrate-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + (ja :num! (seek! max f30-0)) ) + (ja-no-eval :num! (loop!)) (logclear! (-> self nav-enemy-flags) (nav-enemy-flags enable-travel)) (let ((gp-0 (rand-vu-int-range 300 600)) (s5-0 (-> *display* base-frame-counter)) ) (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 num-func) num-func-identity) - (set! (-> v1-33 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (ja-blend-eval) (suspend) (suspend) @@ -377,35 +314,15 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (logclear! (-> self nav flags) (nav-control-flags navcf17 navcf19)) (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! swamp-rat-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (seek-to-point-toward-point! (-> self collide-info) @@ -414,11 +331,7 @@ swamp-rat-default-event-handler (-> self turn-time) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-patrol) (none) @@ -432,23 +345,11 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (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) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go-virtual nav-enemy-victory) (none) @@ -477,15 +378,8 @@ swamp-rat-default-event-handler (set! (-> gp-0 w) 1.0) (let ((f30-0 0.125)) (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - (while #t + (ja :group! swamp-rat-fall-ja :num! min) + (loop (set! f30-0 (seek f30-0 1.5 0.1)) (vector-v++! (-> self collide-info transv) gp-0) (integrate-for-enemy-with-move-to-ground! @@ -506,10 +400,7 @@ swamp-rat-default-event-handler (goto cfg-13) ) (vector-float*! (-> self collide-info scale) *identity-vector* f30-0) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) (suspend) ) ) @@ -520,22 +411,10 @@ swamp-rat-default-event-handler ) (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (vector-float*! (-> self collide-info scale) *identity-vector* 1.5) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! swamp-rat-bounce-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (if (TODO-RENAME-46 self (-> self nav-info stop-chase-distance)) (go-virtual nav-enemy-chase) @@ -563,11 +442,11 @@ swamp-rat-default-event-handler :run-travel-speed (meters 7) :run-rotate-speed (degrees 7999.9995) :run-acceleration (meters 1) - :run-turn-time (seconds 0.07333333) + :run-turn-time (seconds 0.075) :walk-travel-speed (meters 2) :walk-rotate-speed (degrees 7999.9995) :walk-acceleration (meters 1) - :walk-turn-time (seconds 0.07333333) + :walk-turn-time (seconds 0.075) :attack-shove-back (meters 3) :attack-shove-up (meters 2) :shadow-size (meters 1) diff --git a/test/decompiler/reference/levels/title/title-obs_REF.gc b/test/decompiler/reference/levels/title/title-obs_REF.gc index fbdcd9044e..6987a332a9 100644 --- a/test/decompiler/reference/levels/title/title-obs_REF.gc +++ b/test/decompiler/reference/levels/title/title-obs_REF.gc @@ -86,85 +86,58 @@ ) ;; failed to figure out what this is: -(defskelgroup *logo-sg* logo - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *logo-sg* logo logo-english-lod0-jg logo-idle-ja + ((logo-english-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; failed to figure out what this is: -(defskelgroup *logo-japan-sg* logo - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-japan-sg* logo logo-japan-lod0-jg logo-idle-ja + ((logo-japan-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; failed to figure out what this is: -(defskelgroup *logo-volumes-sg* logo-volumes - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-volumes-sg* logo-volumes logo-volumes-english-lod0-jg logo-volumes-idle-ja + ((logo-volumes-english-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) ;; failed to figure out what this is: -(defskelgroup *logo-volumes-japan-sg* logo-volumes - 2 - 4 - ((3 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-volumes-japan-sg* logo-volumes logo-volumes-japan-lod0-jg logo-volumes-idle-ja + ((logo-volumes-japan-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) ;; failed to figure out what this is: -(defskelgroup *logo-black-sg* logo-black - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-black-sg* logo-black logo-black-lod0-jg logo-black-idle-ja + ((logo-black-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) ;; failed to figure out what this is: -(defskelgroup *logo-cam-sg* logo-cam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *logo-cam-sg* logo-cam logo-cam-lod0-jg logo-cam-idle-ja + ((logo-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) ;; failed to figure out what this is: -(defskelgroup *ndi-sg* ndi - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 30) - :longest-edge (meters 0) - ) +(defskelgroup *ndi-sg* ndi ndi-lod0-jg ndi-idle-ja + ((ndi-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 30) + ) ;; failed to figure out what this is: -(defskelgroup *ndi-volumes-sg* ndi-volumes - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *ndi-volumes-sg* ndi-volumes ndi-volumes-lod0-jg ndi-volumes-idle-ja + ((ndi-volumes-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) ;; failed to figure out what this is: -(defskelgroup *ndi-cam-sg* ndi-cam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 5.5) - :longest-edge (meters 0) - ) +(defskelgroup *ndi-cam-sg* ndi-cam ndi-cam-lod0-jg ndi-cam-idle-ja + ((ndi-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.5) + ) ;; failed to figure out what this is: (defstate idle (logo-slave) @@ -199,7 +172,7 @@ :code (behavior () (ja-post) - (while #t + (loop (clone-anim-once (ppointer->handle (-> self parent-process)) (the-as int (-> self draw origin-joint-index)) @@ -403,23 +376,11 @@ (send-event (ppointer->process (-> self parent)) 'wait) (send-event self 'update) (ja-channel-set! 1) - (let ((a0-60 (-> self skel root-channel 0))) - (set! (-> a0-60 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-60 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-60 param 1) 1.0) - (set! (-> a0-60 frame-num) 0.0) - (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (logior! (-> self skel status) (janim-status spool)) (suspend) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 param 0) (the float (+ (-> a0-62 frame-group data 0 length) -1))) - (set! (-> a0-62 param 1) 1.0) - (joint-control-channel-group-eval! a0-62 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! (-> self anim) (-> self next-anim)) (set! (-> self next-anim) @@ -502,7 +463,7 @@ (-> (method-of-type logo startup) trans) :code (behavior () - (while #t + (loop (set! (-> self anim) (-> self next-anim)) (when (not (handle->process (-> self camera))) (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) @@ -521,23 +482,11 @@ ) (set! *spawn-actors* #f) (ja-channel-set! 1) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (logior! (-> self skel status) (janim-status spool)) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (set! *spawn-actors* #t) (ja-play-spooled-anim @@ -572,7 +521,7 @@ (clear-rec *art-control*) (set! *master-mode* gp-0) ) - (while #t + (loop (when (and (none-reserved? *art-control*) (not (paused?))) (let ((gp-1 (-> *display* base-frame-counter))) (until (>= (- (-> *display* base-frame-counter) gp-1) (seconds 0.1)) @@ -615,7 +564,7 @@ :exit (behavior () ((-> (method-of-type logo startup) exit)) - (set-blackout-frames (seconds 0.033333335)) + (set-blackout-frames (seconds 0.035)) (none) ) :trans diff --git a/test/decompiler/reference/levels/training/training-obs_REF.gc b/test/decompiler/reference/levels/training/training-obs_REF.gc index 949d3150fc..245b70f724 100644 --- a/test/decompiler/reference/levels/training/training-obs_REF.gc +++ b/test/decompiler/reference/levels/training/training-obs_REF.gc @@ -51,13 +51,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *training-cam-sg* trainingcam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 80) - :longest-edge (meters 0) - ) +(defskelgroup *training-cam-sg* trainingcam trainingcam-lod0-jg -1 + ((trainingcam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 80) + ) ;; definition of type training-cam (deftype training-cam (process) @@ -101,7 +98,7 @@ :virtual #t :code (behavior () - (while #t + (loop (when (and *target* (< (vector-vector-distance (target-pos 0) (-> self root trans)) (-> self range)) (-> *setting-control* current play-hints) @@ -451,13 +448,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *tra-pontoon-sg* pontoonfive - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 0) - ) +(defskelgroup *tra-pontoon-sg* pontoonfive pontoonfive-lod0-jg pontoonfive-idle-ja + ((pontoonfive-lod0-mg (meters 20)) (pontoonfive-lod1-mg (meters 40)) (pontoonfive-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + ) ;; definition for method 30 of type tra-pontoon ;; INFO: Return type mismatch int vs none. @@ -542,13 +536,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *tra-iris-door-sg* jng-iris-door - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *tra-iris-door-sg* jng-iris-door jng-iris-door-lod0-jg jng-iris-door-idle-ja + ((jng-iris-door-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; definition for method 24 of type tra-iris-door ;; INFO: Return type mismatch int vs none. @@ -821,22 +812,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *scarecrow-a-sg* scarecrow-a - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 2.5 0 3) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-a-sg* scarecrow-a scarecrow-a-lod0-jg scarecrow-a-idle-ja + ((scarecrow-a-lod0-mg (meters 20)) (scarecrow-a-lod1-mg (meters 40)) (scarecrow-a-lod2-mg (meters 999999))) + :bounds (static-spherem 0 2.5 0 3) + ) ;; failed to figure out what this is: -(defskelgroup *scarecrow-a-break-sg* scarecrow-a - 0 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-a-break-sg* scarecrow-a scarecrow-a-lod0-jg scarecrow-a-idle-ja + ((scarecrow-a-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) ;; failed to figure out what this is: (defstate idle (scarecrow-a) @@ -946,24 +931,12 @@ ) :code (behavior () - (ja-channel-push! 1 36) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.12)) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -979,63 +952,27 @@ (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 21) + (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1137,22 +1074,16 @@ ) ;; failed to figure out what this is: -(defskelgroup *scarecrow-b-sg* scarecrow-b - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 3.5 0 3.8) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-b-sg* scarecrow-b scarecrow-b-lod0-jg scarecrow-b-idle-ja + ((scarecrow-b-lod0-mg (meters 20)) (scarecrow-b-lod1-mg (meters 40)) (scarecrow-b-lod2-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 3.8) + ) ;; failed to figure out what this is: -(defskelgroup *scarecrow-b-break-sg* scarecrow-b - 0 - 5 - ((4 (meters 999999))) - :bounds (static-spherem 0 -15 0 50) - :longest-edge (meters 0) - ) +(defskelgroup *scarecrow-b-break-sg* scarecrow-b scarecrow-b-lod0-jg scarecrow-b-idle-ja + ((scarecrow-b-break-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -15 0 50) + ) ;; failed to figure out what this is: (defstate idle (scarecrow-b) @@ -1161,24 +1092,12 @@ (-> (method-of-type scarecrow-a idle) event) :code (behavior () - (ja-channel-push! 1 36) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-1 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.12)) + (loop + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1194,63 +1113,27 @@ (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 21) + (ja-channel-push! 1 (seconds 0.07)) (cond ((< (fabs arg0) 8192.0) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-3 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 8) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((and (< 8192.0 arg0) (< arg0 24576.0)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-9 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/village1/assistant_REF.gc b/test/decompiler/reference/levels/village1/assistant_REF.gc index 35a6362452..dd24290d7a 100644 --- a/test/decompiler/reference/levels/village1/assistant_REF.gc +++ b/test/decompiler/reference/levels/village1/assistant_REF.gc @@ -21,14 +21,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *assistant-sg* assistant - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-sg* assistant assistant-lod0-jg assistant-idle-leaning-right-ja + ((assistant-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + :shadow assistant-shadow-mg + ) ;; definition for method 52 of type assistant ;; INFO: Return type mismatch shadow-flags vs none. @@ -231,55 +228,20 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 60) + (if (!= (ja-group) assistant-idle-leaning-right-ja) + (ja-channel-push! 1 (seconds 0.2)) ) - (while #t + (loop (TODO-RENAME-43 self) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -288,22 +250,10 @@ ) (cond ((< (+ -1.0 (the-as float v1-47)) 0.66) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (sound-play-by-name (static-sound-name "welding-loop") @@ -314,185 +264,65 @@ 1 (the-as symbol (target-pos 0)) ) - (let ((v1-74 (-> self skel root-channel 0))) - (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) + (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)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-28 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-33 param 0) 0.0) - (set! (-> a0-33 param 1) 1.0) - (set! (-> a0-33 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-33 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (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) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) 0.0) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) (sound-stop (-> self sound-id)) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-39 param 0) 0.0) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-to-welding-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-44 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-44 param 1) 1.0) - (set! (-> a0-44 frame-num) 0.0) - (joint-control-channel-group! a0-44 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-wiping-brow-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (the float (+ (-> a0-45 frame-group data 0 length) -1))) - (set! (-> a0-45 param 1) 1.0) - (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) ) (else - (let ((a0-47 (-> self skel root-channel 0))) - (set! (-> a0-47 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-47 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-47 param 1) 1.0) - (set! (-> a0-47 frame-num) 0.0) - (joint-control-channel-group! a0-47 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-right-to-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 param 0) (the float (+ (-> a0-48 frame-group data 0 length) -1))) - (set! (-> a0-48 param 1) 1.0) - (joint-control-channel-group-eval! a0-48 (the-as art-joint-anim #f) num-func-seek!) - ) + (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)) - (let ((a0-52 (-> self skel root-channel 0))) - (set! (-> a0-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-52 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-52 param 1) 1.0) - (set! (-> a0-52 frame-num) 0.0) - (joint-control-channel-group! a0-52 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-leaning-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-53 (-> self skel root-channel 0))) - (set! (-> a0-53 param 0) (the float (+ (-> a0-53 frame-group data 0 length) -1))) - (set! (-> a0-53 param 1) 1.0) - (joint-control-channel-group-eval! a0-53 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-55 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-55 param 1) 1.0) - (set! (-> a0-55 frame-num) 0.0) - (joint-control-channel-group! a0-55 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! assistant-idle-transition-left-to-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 param 0) (the float (+ (-> a0-56 frame-group data 0 length) -1))) - (set! (-> a0-56 param 1) 1.0) - (joint-control-channel-group-eval! a0-56 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/village1/explorer_REF.gc b/test/decompiler/reference/levels/village1/explorer_REF.gc index 15ebb6dea6..d9eb3b084d 100644 --- a/test/decompiler/reference/levels/village1/explorer_REF.gc +++ b/test/decompiler/reference/levels/village1/explorer_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *explorer-sg* explorer - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *explorer-sg* explorer explorer-lod0-jg explorer-idle-ja + ((explorer-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow explorer-shadow-mg + ) ;; definition for method 52 of type explorer ;; INFO: Return type mismatch shadow-flags vs none. @@ -206,39 +203,21 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 60) + (if (!= (ja-group) explorer-idle-ja) + (ja-channel-push! 1 (seconds 0.2)) ) - (while #t + (loop (TODO-RENAME-43 self) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! explorer-idle-ja) (let* ((f30-0 2.0) (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 (* f30-0 (+ -1.0 (the-as float v1-12)))) 1)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-12 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -247,22 +226,10 @@ ) (cond ((< (+ -1.0 (the-as float v1-41)) 0.5) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-17 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-1 (-> *display* base-frame-counter))) (while (let* ((s5-0 (-> *display* base-frame-counter)) @@ -281,22 +248,10 @@ (v1-76 (the-as number (logior #x3f800000 v1-75))) ) (when (< (+ -1.0 (the-as float v1-76)) 0.75) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-24 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-2 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) @@ -311,60 +266,19 @@ (suspend) ) ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-29 param 0) 0.0) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-29 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 0.0) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (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) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-34 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! a0-34 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-right-map-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) (the float (+ (-> a0-35 frame-group data 0 length) -1))) - (set! (-> a0-35 param 1) 1.0) - (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-3 (-> *display* base-frame-counter))) (while (let* ((s5-2 (-> *display* base-frame-counter)) @@ -379,79 +293,26 @@ (suspend) ) ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-39 param 0) 0.0) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-39 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) ) ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-42 param 0) 0.0) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle2-look-at-map-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) 0.0) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) (else - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-45 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle3-step-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-4 (-> *display* base-frame-counter))) (while (let* ((s5-3 (-> *display* base-frame-counter)) @@ -466,22 +327,10 @@ (suspend) ) ) - (let ((a0-50 (-> self skel root-channel 0))) - (set! (-> a0-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-50 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-50 param 1) 1.0) - (set! (-> a0-50 frame-num) 0.0) - (joint-control-channel-group! a0-50 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle3-looking-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-51 (-> self skel root-channel 0))) - (set! (-> a0-51 param 0) (the float (+ (-> a0-51 frame-group data 0 length) -1))) - (set! (-> a0-51 param 1) 1.0) - (joint-control-channel-group-eval! a0-51 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-5 (-> *display* base-frame-counter))) (while (let* ((s5-4 (-> *display* base-frame-counter)) @@ -496,39 +345,10 @@ (suspend) ) ) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-55 param 0) 0.0) - (set! (-> a0-55 param 1) 1.0) - (set! (-> a0-55 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-55 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 param 0) 0.0) - (set! (-> a0-56 param 1) 1.0) - (joint-control-channel-group-eval! a0-56 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (let ((gp-6 (-> *display* base-frame-counter))) (while (let* ((s5-5 (-> *display* base-frame-counter)) @@ -543,22 +363,10 @@ (suspend) ) ) - (let ((a0-60 (-> self skel root-channel 0))) - (set! (-> a0-60 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-60 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-60 param 1) 1.0) - (set! (-> a0-60 frame-num) 0.0) - (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! explorer-idle3-step-left-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-61 (-> self skel root-channel 0))) - (set! (-> a0-61 param 0) (the float (+ (-> a0-61 frame-group data 0 length) -1))) - (set! (-> a0-61 param 1) 1.0) - (joint-control-channel-group-eval! a0-61 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/village1/farmer_REF.gc b/test/decompiler/reference/levels/village1/farmer_REF.gc index 324364aa26..c62bdeeae5 100644 --- a/test/decompiler/reference/levels/village1/farmer_REF.gc +++ b/test/decompiler/reference/levels/village1/farmer_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *farmer-sg* farmer - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 3 - ) +(defskelgroup *farmer-sg* farmer farmer-lod0-jg farmer-sitting-cycle-ja + ((farmer-lod0-mg (meters 20)) (farmer-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow farmer-shadow-mg + ) ;; definition for method 32 of type farmer (defmethod play-anim! farmer ((obj farmer) (arg0 symbol)) diff --git a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc index 6409faa76d..7204ca7f23 100644 --- a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc +++ b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc @@ -626,31 +626,23 @@ ) ;; failed to figure out what this is: -(defskelgroup *fishermans-boat-sg* fishermans-boat - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 3 0 15) - :longest-edge (meters 7.3) - ) +(defskelgroup *fishermans-boat-sg* fishermans-boat fishermans-boat-lod0-jg fishermans-boat-idle-ja + ((fishermans-boat-lod0-mg (meters 20)) (fishermans-boat-lod1-mg (meters 999999))) + :bounds (static-spherem 0 3 0 15) + :longest-edge (meters 7.3) + ) ;; failed to figure out what this is: -(defskelgroup *fb-evilbro-sg* evilbro - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *fb-evilbro-sg* evilbro evilbro-lod0-jg evilbro-idle-ja + ((evilbro-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) ;; failed to figure out what this is: -(defskelgroup *fb-evilsis-sg* evilsis - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1) - :longest-edge (meters 0) - ) +(defskelgroup *fb-evilsis-sg* evilsis evilsis-lod0-jg evilsis-idle-ja + ((evilsis-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1) + ) ;; definition for method 23 of type fishermans-boat ;; INFO: Return type mismatch int vs none. @@ -1132,7 +1124,7 @@ (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 0) (fishermans-boat-next-path-point) - (while #t + (loop (suspend) ) (none) @@ -1297,7 +1289,7 @@ (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) (fishermans-boat-set-path-point 4) (fishermans-boat-next-path-point) - (while #t + (loop (suspend) ) (none) @@ -1333,7 +1325,7 @@ (set-continue! *game-info* "misty-start") (fishermans-boat-set-dock-point 4) (fishermans-boat-set-path-point 2) - (while #t + (loop (suspend) ) (none) @@ -1370,7 +1362,7 @@ (send-event (handle->process (-> self cam-tracker)) 'message 'release) (suspend) (send-event *camera* 'change-state cam-stick 0) - (while #t + (loop (if (and (= *cheat-mode* 'debug) (cpad-pressed? 0 triangle)) (set! (-> self auto-pilot) #f) ) @@ -1680,16 +1672,14 @@ (set! (-> self draw force-lod) 0) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) + (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) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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) @@ -1857,16 +1847,14 @@ (set! (-> self draw force-lod) 0) (ja-play-spooled-anim (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) + (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) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (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) diff --git a/test/decompiler/reference/levels/village1/sage_REF.gc b/test/decompiler/reference/levels/village1/sage_REF.gc index 15a083f0b1..6873e9d186 100644 --- a/test/decompiler/reference/levels/village1/sage_REF.gc +++ b/test/decompiler/reference/levels/village1/sage_REF.gc @@ -23,14 +23,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *sage-sg* sage - 0 - 4 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sage-sg* sage sage-lod0-jg sage-idle-ecorocks-breathe-ja + ((sage-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sage-shadow-mg + ) ;; definition for method 32 of type sage (defmethod play-anim! sage ((obj sage) (arg0 symbol)) @@ -502,49 +499,18 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) ) + (loop + (ja :group! (get-art-elem self)) (let* ((f30-0 3.0) (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-10 (the-as number (logior #x3f800000 v1-9))) ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) (TODO-RENAME-43 self) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-11 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (and (-> self reminder-played) (< 81920.0 (vector-vector-distance (-> self root-override trans) (camera-pos))) @@ -552,35 +518,15 @@ (go-virtual idle) ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-20 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (when (ja-group? sage-idle-ecorocks-breathe-ja) + (ja-no-eval :group! sage-idle-ecorocks-peer-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/village1/village-obs_REF.gc b/test/decompiler/reference/levels/village1/village-obs_REF.gc index 427f404dfe..8a0117eee4 100644 --- a/test/decompiler/reference/levels/village1/village-obs_REF.gc +++ b/test/decompiler/reference/levels/village1/village-obs_REF.gc @@ -2,112 +2,88 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *med-res-jungle-sg* medres-jungle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -80 0 -80 240) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-jungle-sg* medres-jungle medres-jungle-lod0-jg medres-jungle-idle-ja + ((medres-jungle-lod0-mg (meters 999999))) + :bounds (static-spherem -80 0 -80 240) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-jungle1-sg* medres-jungle1 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 30 0 -40 230) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-jungle1-sg* medres-jungle1 medres-jungle1-lod0-jg medres-jungle1-idle-ja + ((medres-jungle1-lod0-mg (meters 999999))) + :bounds (static-spherem 30 0 -40 230) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-jungle2-sg* medres-jungle2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 90 0 130 110) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-jungle2-sg* medres-jungle2 medres-jungle2-lod0-jg medres-jungle2-idle-ja + ((medres-jungle2-lod0-mg (meters 999999))) + :bounds (static-spherem 90 0 130 110) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-beach-sg* medres-beach - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -140 200) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach-sg* medres-beach medres-beach-lod0-jg medres-beach-idle-ja + ((medres-beach-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -140 200) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-beach1-sg* medres-beach1 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -360 200) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach1-sg* medres-beach1 medres-beach1-lod0-jg medres-beach1-idle-ja + ((medres-beach1-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -360 200) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-beach2-sg* medres-beach2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -450 180) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach2-sg* medres-beach2 medres-beach2-lod0-jg medres-beach2-idle-ja + ((medres-beach2-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -450 180) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-beach3-sg* medres-beach3 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 75 70 -480 100) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-beach3-sg* medres-beach3 medres-beach3-lod0-jg medres-beach3-idle-ja + ((medres-beach3-lod0-mg (meters 999999))) + :bounds (static-spherem 75 70 -480 100) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-misty-sg* medres-misty - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -40 0 -20 260) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-misty-sg* medres-misty medres-misty-lod0-jg medres-misty-idle-ja + ((medres-misty-lod0-mg (meters 999999))) + :bounds (static-spherem -40 0 -20 260) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-village11-sg* medres-village11 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -100 0 90 200) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village11-sg* medres-village11 medres-village11-lod0-jg medres-village11-idle-ja + ((medres-village11-lod0-mg (meters 999999))) + :bounds (static-spherem -100 0 90 200) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-village12-sg* medres-village12 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 40 0 -50 155) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village12-sg* medres-village12 medres-village12-lod0-jg medres-village12-idle-ja + ((medres-village12-lod0-mg (meters 999999))) + :bounds (static-spherem 40 0 -50 155) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-village13-sg* medres-village13 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 180 -40 -40 180) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village13-sg* medres-village13 medres-village13-lod0-jg medres-village13-idle-ja + ((medres-village13-lod0-mg (meters 999999))) + :bounds (static-spherem 180 -40 -40 180) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-training-sg* medres-training - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 -60 220) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-training-sg* medres-training medres-training-lod0-jg medres-training-idle-ja + ((medres-training-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 -60 220) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: (defpart 368 @@ -266,13 +242,14 @@ ) ;; failed to figure out what this is: -(defskelgroup *windmill-sail-sg* windmill-sail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 21) - :longest-edge (meters 14.9) - ) +(defskelgroup *windmill-sail-sg* windmill-sail windmill-sail-lod0-jg windmill-sail-idle-ja + ((windmill-sail-lod0-mg (meters 20)) + (windmill-sail-lod1-mg (meters 40)) + (windmill-sail-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 21) + :longest-edge (meters 14.9) + ) ;; failed to figure out what this is: (defpartgroup group-win-wind-mill @@ -401,13 +378,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *sagesail-sg* sagesail - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 25.5) - :longest-edge (meters 24.2) - ) +(defskelgroup *sagesail-sg* sagesail sagesail-lod0-jg sagesail-idle-ja + ((sagesail-lod0-mg (meters 20)) (sagesail-lod1-mg (meters 40)) (sagesail-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 25.5) + :longest-edge (meters 24.2) + ) ;; failed to figure out what this is: (defstate sagesail-idle (sagesail) @@ -492,13 +467,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *windspinner-sg* windspinner - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 0 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *windspinner-sg* windspinner windspinner-lod0-jg windspinner-idle-ja + ((windspinner-lod0-mg (meters 20)) (windspinner-lod1-mg (meters 999999))) + :bounds (static-spherem 0 0 0 8) + ) ;; failed to figure out what this is: (defstate windspinner-idle (windspinner) @@ -585,33 +557,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *mayorgears-sg* mayorgears - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4.5) - :longest-edge (meters 0) - ) +(defskelgroup *mayorgears-sg* mayorgears mayorgears-geo-jg mayorgears-idle-ja + ((mayorgears-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4.5) + ) ;; failed to figure out what this is: (defstate mayorgears-idle (mayorgears) :code (behavior () - (while #t - (cond - ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) - ) - ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) - ) + (loop + (if (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) + (ja :num! (loop!)) + (ja :num! (loop! 0.0)) ) - ) (suspend) ) (none) @@ -657,13 +616,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *reflector-middle-sg* reflector-middle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 17 0 17) - :longest-edge (meters 0) - ) +(defskelgroup *reflector-middle-sg* reflector-middle reflector-middle-geo-jg reflector-middle-idle-ja + ((reflector-middle-geo-mg (meters 999999))) + :bounds (static-spherem 0 17 0 17) + ) ;; failed to figure out what this is: (defstate reflector-middle-idle (reflector-middle) @@ -761,13 +717,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *starfish-sg* villa-starfish - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - ) +(defskelgroup *starfish-sg* villa-starfish villa-starfish-lod0-jg villa-starfish-idle-ja + ((villa-starfish-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2) + ) ;; definition of type starfish (deftype starfish (nav-enemy) @@ -813,7 +766,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -846,23 +799,11 @@ (set! (-> self target-speed) 4096.0) (set! (-> self rotate-speed) 12743.111) (set! (-> self turn-time) (seconds 0.5)) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (loop + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1010,7 +951,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (seconds 0.5)) (set! (-> self state-time) (-> *display* base-frame-counter)) (if (and (and *target* (>= 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) @@ -1067,7 +1008,7 @@ :code (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (suspend) ) (none) @@ -1191,19 +1132,17 @@ ) ;; failed to figure out what this is: -(defskelgroup *hutlamp-sg* hutlamp - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 1 0 1.2) - :longest-edge (meters 0.7) - ) +(defskelgroup *hutlamp-sg* hutlamp hutlamp-lod0-jg hutlamp-idle-ja + ((hutlamp-lod0-mg (meters 999999))) + :bounds (static-spherem 0 1 0 1.2) + :longest-edge (meters 0.7) + ) ;; failed to figure out what this is: (defstate hutlamp-idle (hutlamp) :code (behavior () - (while #t + (loop (let ((f0-3 (* 1820.4445 (sin (* 65536.0 (update-clock (-> self clock))))))) (quaternion-vector-angle! (-> self pivot transform quat) *x-vector* f0-3) ) @@ -1249,13 +1188,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *revcycleprop-sg* revcycleprop - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.2) - :longest-edge (meters 0) - ) +(defskelgroup *revcycleprop-sg* revcycleprop revcycleprop-lod0-jg revcycleprop-idle-ja + ((revcycleprop-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.2) + ) ;; failed to figure out what this is: (defstate idle (revcycleprop) @@ -1298,13 +1234,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *revcycle-sg* revcycle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.2) - :longest-edge (meters 0) - ) +(defskelgroup *revcycle-sg* revcycle revcycle-geo-jg revcycle-idle-ja + ((revcycle-geo-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.2) + ) ;; failed to figure out what this is: (defstate idle (revcycle) diff --git a/test/decompiler/reference/levels/village1/yakow_REF.gc b/test/decompiler/reference/levels/village1/yakow_REF.gc index d024776f2d..8a40a27acc 100644 --- a/test/decompiler/reference/levels/village1/yakow_REF.gc +++ b/test/decompiler/reference/levels/village1/yakow_REF.gc @@ -2,13 +2,10 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *village1cam-sg* village1cam - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *village1cam-sg* village1cam village1cam-lod0-jg village1cam-anim-ja + ((village1cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for function yakow-cam ;; INFO: Return type mismatch (pointer process) vs none. @@ -189,14 +186,12 @@ ) ;; failed to figure out what this is: -(defskelgroup *yakow-sg* yakow - 0 - 4 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 0 2.5 0 4.4) - :longest-edge (meters 1.3) - :shadow 3 - ) +(defskelgroup *yakow-sg* yakow yakow-lod0-jg yakow-idle-ja + ((yakow-lod0-mg (meters 20)) (yakow-lod1-mg (meters 999999))) + :bounds (static-spherem 0 2.5 0 4.4) + :longest-edge (meters 1.3) + :shadow yakow-shadow-mg + ) ;; definition for function yakow-default-event-handler ;; INFO: Return type mismatch none vs object. @@ -417,85 +412,33 @@ yakow-default-event-handler ;; definition for function yakow-blend-walk-run (defbehavior yakow-blend-walk-run yakow () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t + (loop (let ((f30-0 (-> self final-speed))) (cond ((and (>= 409.6 (-> self final-speed)) (not (-> self rotating))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 45) + (if (not (ja-group? yakow-idle-ja)) + (ja-channel-push! 1 (seconds 0.15)) ) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) + (ja :group! yakow-idle-ja :num! min) (while (or (< (- (-> *display* base-frame-counter) gp-0) (seconds 0.2)) (< (-> self final-speed) 409.6)) (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop!)) ) ) (else (set! gp-0 (-> *display* base-frame-counter)) ) ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 3 22) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s5-1 frame-num) 0.0) - ) - (let ((s5-2 (-> self skel root-channel 1))) - (set! (-> s5-2 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> s5-2 frame-num) 0.0) - ) - (let ((s5-3 (-> self skel root-channel 2))) - (set! (-> s5-3 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> s5-3 frame-num) 0.0) - ) + (when (not (ja-group? yakow-walk-ja)) + (ja-channel-push! 3 (seconds 0.075)) + (ja :group! yakow-walk-ja :num! min :frame-interp 0.0) + (ja :chan 1 :group! yakow-walk-left-ja :num! min :frame-interp 0.0) + (ja :chan 2 :group! yakow-run-ja :num! min :frame-interp 0.0) ) - (cond - ((< (-> self walk-turn-blend) 0.0) - (let ((v1-49 (-> self skel root-channel 1))) - (set! (-> v1-49 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) - ) - (else - (let ((v1-52 (-> self skel root-channel 1))) - (set! (-> v1-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) + (if (< (-> self walk-turn-blend) 0.0) + (ja :chan 1 :group! yakow-walk-left-ja) + (ja :chan 1 :group! yakow-walk-right-ja) ) - ) (cond ((< f30-0 (-> *YAKOW-bank* min-run-speed)) (set! (-> self run-mode) #f) @@ -516,12 +459,8 @@ yakow-default-event-handler (* (-> *YAKOW-bank* walk-run-blend-rate) (-> *display* seconds-per-frame)) ) ) - (let ((v1-68 (-> self skel root-channel 1))) - (set! (-> v1-68 frame-interp) (fabs (-> self walk-turn-blend))) - ) - (let ((v1-72 (-> self skel root-channel 2))) - (set! (-> v1-72 frame-interp) (-> self walk-run-blend)) - ) + (ja :chan 1 :frame-interp (fabs (-> self walk-turn-blend))) + (ja :chan 2 :frame-interp (-> self walk-run-blend)) (let* ((f0-25 (* (-> *YAKOW-bank* walk-anim-speed) f30-0)) (f1-5 (-> *YAKOW-bank* walk-speed)) (f0-26 (* f0-25 (/ 1.0 f1-5))) @@ -539,20 +478,11 @@ yakow-default-event-handler (if (-> self rotating) (set! f0-26 (fmax (-> *YAKOW-bank* min-walk-anim-speed) f0-26)) ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) f0-26) - (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! f0-26)) ) ) - (let ((s5-4 (-> self skel root-channel 1))) - (set! (-> s5-4 num-func) num-func-identity) - (set! (-> s5-4 frame-num) (ja-frame-num 0)) - ) - (let ((s5-5 (-> self skel root-channel 2))) - (set! (-> s5-5 num-func) num-func-identity) - (set! (-> s5-5 frame-num) (ja-frame-num 0)) - ) + (ja :chan 1 :num-func num-func-identity :frame-num (ja-frame-num 0)) + (ja :chan 2 :num-func num-func-identity :frame-num (ja-frame-num 0)) (suspend) 0 ) @@ -610,8 +540,8 @@ yakow-default-event-handler ) :code (behavior () - (ja-channel-push! 1 45) - (while #t + (ja-channel-push! 1 (seconds 0.15)) + (loop (cond ((rand-vu-percent? 0.2) (dummy-10 (-> self skel effect) 'yakow-1 0.0 -1) @@ -621,44 +551,20 @@ yakow-default-event-handler ) ) (let ((f30-0 (rand-vu-float-range 0.9 1.1))) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! yakow-idle-ja :num! (seek! max f30-0) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-0)) ) ) (when (rand-vu-percent? 0.25) - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-11 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yakow-graze-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) (none) @@ -770,65 +676,28 @@ yakow-default-event-handler :code (behavior () (while (< 546.13336 (fabs (deg-diff (-> self dest-rot) (y-angle (-> self root-override))))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 22) + (if (not (ja-group? yakow-walk-ja)) + (ja-channel-push! 1 (seconds 0.075)) ) (seek-toward-yaw-angle! (-> self root-override) (-> self dest-rot) 16384.0 (seconds 0.5)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-loop! - ) - ) + (ja :group! yakow-walk-ja :num! (loop!)) (suspend) ) - (ja-channel-push! 1 45) - (while #t - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.15)) + (loop + (ja-no-eval :group! yakow-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (when (rand-vu-percent? 0.5) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-15 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.1)) + (ja-no-eval :group! yakow-graze-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (ja-channel-push! 1 30) + (ja-channel-push! 1 (seconds 0.1)) ) ) (none) @@ -843,22 +712,10 @@ yakow-default-event-handler (the-as (function process int symbol event-message-block object :behavior yakow) #f) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! yakow-kicked-in-place-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go yakow-graze) (none) @@ -960,16 +817,11 @@ yakow-default-event-handler (set! (-> self enable-turn-around) #t) 1.0 (suspend) - (ja-channel-push! 1 15) + (ja-channel-push! 1 (seconds 0.05)) (cond ((< 40.96 (vector-length (-> self nav travel))) - (let ((v1-4 (-> self skel root-channel 0))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) + (ja :group! yakow-kicked-ja) + (ja :num-func num-func-identity :frame-num 0.0) (until (ja-done? 0) (suspend) (let* ((f0-3 0.75) @@ -981,34 +833,19 @@ yakow-default-event-handler ) ) ) - (a0-6 (-> self skel root-channel 0)) ) - (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) - (set! (-> a0-6 param 1) f0-4) - (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + (ja :num! (seek! max f0-4)) ) ) ) (else - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! yakow-kicked-in-place-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (< 40.96 (-> self final-speed)) (go yakow-run-away) ) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc index 8f4c73918a..61db9bb828 100644 --- a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc +++ b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc @@ -50,23 +50,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *assistant-village2-sg* assistant-village2 - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 2) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *assistant-village2-sg* assistant-village2 assistant-village2-lod0-jg assistant-village2-idle-a-ja + ((assistant-village2-lod0-mg (meters 20)) + (assistant-village2-lod1-mg (meters 40)) + (assistant-village2-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 2) + :shadow assistant-village2-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *jaws-sg* jaws - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 0.25) - :longest-edge (meters 0) - ) +(defskelgroup *jaws-sg* jaws jaws-lod0-jg jaws-idle-ja + ((jaws-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 0.25) + ) ;; definition for method 52 of type assistant-levitator ;; INFO: Return type mismatch shadow-flags vs none. @@ -548,28 +545,14 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim (get-art-elem self)) data 0 length) -1))) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (get-art-elem self)) num-func-seek!) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) + (loop + (ja-no-eval :group! (get-art-elem self) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((v1-24 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-25 (the-as number (logior #x3f800000 v1-24))) @@ -578,22 +561,10 @@ (cond ((< f0-9 0.33333334) (TODO-RENAME-43 self) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) - (set! (-> a0-16 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-hut-look-right-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-1 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) @@ -608,39 +579,10 @@ (suspend) ) ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-21 param 0) 0.0) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-21 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 0.0) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ((< f0-9 0.6666667) @@ -653,155 +595,42 @@ 1 (the-as symbol (target-pos 0)) ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) - (set! (-> a0-27 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-hut-start-welding-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-111 (-> self skel root-channel 0))) - (set! (-> v1-111 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + (ja :num! (seek!)) ) + (ja :group! assistant-village2-idle-hut-welding-ja) (let* ((f30-1 2.0) (v1-113 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-114 (the-as number (logior #x3f800000 v1-113))) ) (countdown (gp-3 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-114)))) 4)) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-35 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! - a0-35 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-38 (-> self skel root-channel 0))) - (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (set! (-> a0-40 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-40 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (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) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) 0.0) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) ) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-45 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! - a0-45 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (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) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 param 0) (the float (+ (-> a0-48 frame-group data 0 length) -1))) - (set! (-> a0-48 param 1) 1.0) - (joint-control-channel-group-eval! a0-48 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (sound-stop (-> self sound-id)) - (let ((a0-51 (-> self skel root-channel 0))) - (set! (-> a0-51 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) - (set! (-> a0-51 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) - ) - (set! (-> a0-51 param 1) 1.0) - (set! (-> a0-51 frame-num) 0.0) - (joint-control-channel-group! a0-51 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-hut-stop-welding-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-52 (-> self skel root-channel 0))) - (set! (-> a0-52 param 0) (the float (+ (-> a0-52 frame-group data 0 length) -1))) - (set! (-> a0-52 param 1) 1.0) - (joint-control-channel-group-eval! a0-52 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1722,157 +1551,55 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) - (while #t + (loop (cond ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-after-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (assistant-levitator-blue-beam) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else - (let ((v1-29 (-> self skel root-channel 0))) - (set! (-> v1-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! assistant-village2-idle-a-ja) (let* ((f30-0 2.0) (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-32 (the-as number (logior #x3f800000 v1-31))) ) (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-32)))) 3)) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-19 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-to-b-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-89 (-> self skel root-channel 0))) - (set! (-> v1-89 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (ja :num! (seek!)) ) + (ja :group! assistant-village2-idle-b-ja) (let* ((f30-1 2.0) (v1-91 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-92 (the-as number (logior #x3f800000 v1-91))) ) (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-92)))) 3)) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - (set! (-> a0-30 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village2-idle-to-a-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1893,7 +1620,7 @@ :code (behavior () (ja-channel-set! 0) - (while #t + (loop (assistant-levitator-blue-glow) (assistant-levitator-blue-beam) (update! (-> self sound)) diff --git a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc index 4983e0697d..74617b320e 100644 --- a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc @@ -19,13 +19,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *flutflut-bluehut-sg* flutflut-bluehut - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 3.25) - :longest-edge (meters 0) - ) +(defskelgroup *flutflut-bluehut-sg* flutflut-bluehut flutflut-bluehut-lod0-jg flutflut-bluehut-idle-breathe-ja + ((flutflut-bluehut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 3.25) + ) ;; definition for method 32 of type flutflut-bluehut ;; INFO: Return type mismatch art-element vs basic. @@ -65,94 +62,30 @@ ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) + (loop + (ja :group! flutflut-bluehut-idle-breathe-ja) (let* ((f30-0 2.0) (v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-9 (the-as number (logior #x3f800000 v1-8))) ) (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-9)))) 1)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((s5-0 (-> *display* base-frame-counter))) (while (< (+ (-> *display* base-frame-counter) (seconds -0.5)) s5-0) (suspend) ) ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-15 param 0) 0.0) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) 0.0) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) (let ((s5-1 (-> *display* base-frame-counter))) (while (< (+ (-> *display* base-frame-counter) (seconds -0.5)) s5-1) @@ -161,83 +94,28 @@ ) ) ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! flutflut-bluehut-idle-start-scratch-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) - ) - (let ((v1-100 (-> self skel root-channel 0))) - (set! (-> v1-100 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (ja :num! (seek!)) ) + (ja :group! flutflut-bluehut-idle-scratch-ja) (let* ((f30-1 2.0) (v1-102 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-103 (the-as number (logior #x3f800000 v1-102))) ) (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-103)))) 6)) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-26 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-26 param 1) 1.0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! - a0-26 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-29 param 0) 0.0) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! flutflut-bluehut-idle-start-scratch-ja :num! (seek! 0.0) :frame-num max) (until (ja-done? 0) (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 0.0) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! 0.0)) ) ) (none) diff --git a/test/decompiler/reference/levels/village2/gambler_REF.gc b/test/decompiler/reference/levels/village2/gambler_REF.gc index 0e8a8d19a0..8a2877a6b6 100644 --- a/test/decompiler/reference/levels/village2/gambler_REF.gc +++ b/test/decompiler/reference/levels/village2/gambler_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *gambler-sg* gambler - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *gambler-sg* gambler gambler-lod0-jg gambler-idle-tiptoe-ja + ((gambler-lod0-mg (meters 20)) (gambler-lod1-mg (meters 40)) (gambler-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow gambler-shadow-mg + ) ;; definition for method 32 of type gambler (defmethod play-anim! gambler ((obj gambler) (arg0 symbol)) @@ -190,50 +187,15 @@ :virtual #t :code (behavior () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 60) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (when (!= (ja-group) gambler-idle-fidget-ja) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! gambler-idle-fidget-ja) ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-9 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (TODO-RENAME-43 self) (let* ((v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -242,34 +204,22 @@ ) (cond ((< f0-9 0.16666667) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - ) + (ja :group! gambler-idle-tiptoe-ja) ) ((< f0-9 0.33333334) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - ) + (ja :group! gambler-idle-look-1-ja) ) ((< f0-9 0.5) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - ) + (ja :group! gambler-idle-fidget-ja) ) ((< f0-9 0.6666667) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) - ) + (ja :group! gambler-idle-scratch-1-ja) ) ((< f0-9 0.8333333) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) - ) + (ja :group! gambler-idle-look-2-ja) ) (else - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) - ) + (ja :group! gambler-idle-scratch-2-ja) ) ) ) diff --git a/test/decompiler/reference/levels/village2/geologist_REF.gc b/test/decompiler/reference/levels/village2/geologist_REF.gc index 55c4d58004..69a135fe51 100644 --- a/test/decompiler/reference/levels/village2/geologist_REF.gc +++ b/test/decompiler/reference/levels/village2/geologist_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *geologist-sg* geologist - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *geologist-sg* geologist geologist-lod0-jg geologist-idle-ja + ((geologist-lod0-mg (meters 20)) (geologist-lod1-mg (meters 40)) (geologist-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow geologist-shadow-mg + ) ;; definition for method 32 of type geologist (defmethod play-anim! geologist ((obj geologist) (arg0 symbol)) diff --git a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc index c0c3af5bf4..cc36171ceb 100644 --- a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc @@ -48,14 +48,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *sage-bluehut-sg* sage-bluehut - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sage-bluehut-sg* sage-bluehut sage-bluehut-lod0-jg sage-bluehut-idle-ja + ((sage-bluehut-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow sage-bluehut-shadow-mg + ) ;; definition for method 32 of type sage-bluehut (defmethod play-anim! sage-bluehut ((obj sage-bluehut) (arg0 symbol)) @@ -305,16 +302,12 @@ :virtual #t :code (behavior () - (while #t + (loop (let ((gp-0 (get-art-elem self))) (cond - ((= gp-0 (-> self draw art-group data 4)) - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - gp-0 - ) - (ja-channel-push! 1 60) + ((= gp-0 sage-bluehut-idle-stand-ja) + (if (!= (ja-group) gp-0) + (ja-channel-push! 1 (seconds 0.2)) ) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-0)) (let* ((f30-0 3.0) @@ -323,113 +316,39 @@ ) (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-16)))) 5)) (TODO-RENAME-43 self) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-5 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-45 self) (go-virtual idle) ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) - (ja-channel-push! 1 60) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-10 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! sage-bluehut-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-45 self) (go-virtual idle) ) (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else (TODO-RENAME-43 self) - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - gp-0 - ) - (ja-channel-push! 1 60) + (if (!= (ja-group) gp-0) + (ja-channel-push! 1 (seconds 0.2)) ) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-0)) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (if (dummy-45 self) (go-virtual idle) ) (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) diff --git a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc index ec52be9158..969ede7062 100644 --- a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc +++ b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc @@ -25,13 +25,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *sunken-elevator-sg* sunken-elevator - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -1 0 6.6) - :longest-edge (meters 0) - ) +(defskelgroup *sunken-elevator-sg* sunken-elevator sunken-elevator-lod0-jg sunken-elevator-pressed-ja + ((sunken-elevator-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -1 0 6.6) + ) ;; definition for method 30 of type sunken-elevator (defmethod should-teleport? sunken-elevator ((obj sunken-elevator)) diff --git a/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc b/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc index de1c8b25d6..b2816ac8a9 100644 --- a/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc +++ b/test/decompiler/reference/levels/village2/swamp-blimp_REF.gc @@ -2,49 +2,36 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *swamp-tetherrock-sg* swamp-tetherrock - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 4 0 6) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-tetherrock-sg* swamp-tetherrock swamp-tetherrock-lod0-jg swamp-tetherrock-idle-ja + ((swamp-tetherrock-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 6) + ) ;; failed to figure out what this is: -(defskelgroup *swamp-tetherrock-explode-sg* swamp-tetherrock-explode - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 4 0 16) - :longest-edge (meters 0) - ) +(defskelgroup *swamp-tetherrock-explode-sg* swamp-tetherrock-explode swamp-tetherrock-explode-lod0-jg swamp-tetherrock-explode-idle-ja + ((swamp-tetherrock-explode-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 16) + ) ;; failed to figure out what this is: -(defskelgroup *precursor-arm-sg* precursor-arm - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 15 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *precursor-arm-sg* precursor-arm precursor-arm-lod0-jg precursor-arm-idle-ja + ((precursor-arm-lod0-mg (meters 999999))) + :bounds (static-spherem 0 15 0 15) + ) ;; failed to figure out what this is: -(defskelgroup *swamp-rope-sg* swamp-rope - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 300) - :longest-edge (meters 66) - ) +(defskelgroup *swamp-rope-sg* swamp-rope swamp-rope-lod0-jg swamp-rope-idle-ja + ((swamp-rope-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 300) + :longest-edge (meters 66) + ) ;; failed to figure out what this is: -(defskelgroup *swamp-blimp-sg* swamp-blimp - 0 - 3 - ((1 (meters 20)) (2 (meters 999999))) - :bounds (static-spherem 10 60 0 95) - :longest-edge (meters 40) - ) +(defskelgroup *swamp-blimp-sg* swamp-blimp swamp-blimp-lod0-jg swamp-blimp-idle-ja + ((swamp-blimp-lod0-mg (meters 20)) (swamp-blimp-lod1-mg (meters 999999))) + :bounds (static-spherem 10 60 0 95) + :longest-edge (meters 40) + ) ;; failed to figure out what this is: (defpartgroup group-tetherrock-explode @@ -802,7 +789,7 @@ (behavior () (clear-collide-with-as (-> self root-override)) (logior! (-> self draw status) (draw-status hidden)) - (while #t + (loop (when (= (get-task-status (-> self entity extra perm task)) (task-status invalid)) (if (not (-> self child)) (go swamp-tetherrock-die) @@ -1081,7 +1068,7 @@ ) :code (behavior () - (while #t + (loop (let ((s4-0 (new 'static 'vector :y 1.0 :w 1.0)) (s3-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) @@ -1177,7 +1164,7 @@ (behavior () (cleanup-for-death self) (deactivate self) - (while #t + (loop (suspend) ) (none) @@ -1196,7 +1183,7 @@ ) (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) (close-specific-task! (-> self entity extra perm task) (task-status need-resolution)) - (while #t + (loop (cond ((< -40960.0 (-> self y-offset)) (set! (-> self y-offset) (- (-> self y-offset) (* 409.6 (-> *display* time-adjust-ratio)))) @@ -1282,7 +1269,7 @@ ) :code (behavior () - (while #t + (loop (set! (-> self tension) 1.5) (let* ((f26-0 (+ 225.0 (* 150.0 (sin (rand-vu-float-range 0.0 16384.0))))) (f0-5 (+ 4096.0 (* 8192.0 (sin (rand-vu-float-range 0.0 16384.0))))) @@ -1481,31 +1468,19 @@ ) (set! (-> self state-time) (the-as time-frame (the int (* f30-1 (+ -1.0 (the-as float v1-6)))))) ) - (ja-channel-push! 1 150) - (while #t + (ja-channel-push! 1 (seconds 0.5)) + (loop (let* ((f30-2 0.3) (f28-1 0.25) (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-11 (the-as number (logior #x3f800000 v1-10))) (f30-3 (+ f30-2 (* f28-1 (+ -1.0 (the-as float v1-11))))) ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-7 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-7 param 1) f30-3) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! max f30-3) :frame-num 0.0) (until (ja-done? 0) (swamp-rope-break-code) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) - (set! (-> a0-8 param 1) f30-3) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! max f30-3)) ) ) ) @@ -1569,10 +1544,8 @@ swamp-rope-trans :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (while #t + (ja :group! swamp-blimp-idle-ja) + (loop (let* ((f0-1 (* 2000.0 (- (-> self old-scale) (-> self root scale y)))) (f1-3 (+ 0.5 f0-1)) ) @@ -1590,10 +1563,7 @@ (set! (-> (the-as swamp-rope a0-4) frame vector-overlay quad) (-> self root trans quad)) ) ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (* (-> self frame value) (the float (ja-num-frames 0)))) - ) + (ja :num-func num-func-identity :frame-num (* (-> self frame value) (the float (ja-num-frames 0)))) (suspend) ) (none) @@ -1608,10 +1578,8 @@ swamp-rope-trans :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (while #t + (ja :group! swamp-blimp-idle-ja) + (loop (let* ((a0-3 (-> self other-entity)) (v1-3 (if a0-3 (-> a0-3 extra process) @@ -1623,10 +1591,7 @@ ) ) (TODO-RENAME-10 (-> self frame) 0.0) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (* (-> self frame value) (the float (ja-num-frames 0)))) - ) + (ja :num-func num-func-identity :frame-num (* (-> self frame value) (the float (ja-num-frames 0)))) (suspend) ) (none) @@ -1747,7 +1712,7 @@ (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((gp-0 (new 'stack-no-clear 'quaternion))) (quaternion-copy! gp-0 (-> self rot-at-init)) - (while #t + (loop (quaternion-vector-angle! (-> self rot-at-init) (new 'static 'vector :y 1.0 :w 1.0) @@ -1874,10 +1839,8 @@ (the-as (function none :behavior swamp-blimp) blimp-trans) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) - (while #t + (ja :group! swamp-blimp-idle-ja) + (loop (when (< 300 (-> self arm-timer)) (set! (-> self arm-timer) (- (the-as time-frame (-> self arm-timer)) (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)) @@ -1906,10 +1869,7 @@ (go swamp-blimp-bye-bye) ) ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) + (ja :num-func num-func-identity :frame-num 0.0) (suspend) ) (none) diff --git a/test/decompiler/reference/levels/village2/village2-obs_REF.gc b/test/decompiler/reference/levels/village2/village2-obs_REF.gc index 0a40b70fe4..1b132cd85d 100644 --- a/test/decompiler/reference/levels/village2/village2-obs_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-obs_REF.gc @@ -21,13 +21,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *village2cam-sg* village2cam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 10) - :longest-edge (meters 0) - ) +(defskelgroup *village2cam-sg* village2cam village2cam-lod0-jg -1 + ((village2cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 10) + ) ;; definition for method 29 of type village2cam (defmethod set-stack-size! village2cam ((obj village2cam)) @@ -43,41 +40,17 @@ (let ((v1-0 (-> self seq))) (cond ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> a0-0 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 1) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-4 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 2) @@ -99,31 +72,25 @@ ) ;; failed to figure out what this is: -(defskelgroup *med-res-rolling-sg* medres-rolling - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -520 110 70 100) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-rolling-sg* medres-rolling medres-rolling-lod0-jg medres-rolling-idle-ja + ((medres-rolling-lod0-mg (meters 999999))) + :bounds (static-spherem -520 110 70 100) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-rolling1-sg* medres-rolling1 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -300 30 -20 120) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-rolling1-sg* medres-rolling1 medres-rolling1-lod0-jg medres-rolling1-idle-ja + ((medres-rolling1-lod0-mg (meters 999999))) + :bounds (static-spherem -300 30 -20 120) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-village2-sg* medres-village2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -60 65 0 90) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-village2-sg* medres-village2 medres-village2-lod0-jg medres-village2-idle-ja + ((medres-village2-lod0-mg (meters 999999))) + :bounds (static-spherem -60 65 0 90) + :longest-edge (meters 0.01) + ) ;; definition of type pontoon (deftype pontoon (rigid-body-platform) @@ -175,7 +142,7 @@ ) :code (behavior () - (while #t + (loop (suspend) ) (none) @@ -356,22 +323,18 @@ ) ;; failed to figure out what this is: -(defskelgroup *pontoonfive-sg* pontoonfive - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 5) - :longest-edge (meters 3.5) - ) +(defskelgroup *pontoonfive-sg* pontoonfive pontoonfive-lod0-jg pontoonfive-idle-ja + ((pontoonfive-lod0-mg (meters 20)) (pontoonfive-lod1-mg (meters 40)) (pontoonfive-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :longest-edge (meters 3.5) + ) ;; failed to figure out what this is: -(defskelgroup *pontoonten-sg* pontoonten - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 7) - :longest-edge (meters 4) - ) +(defskelgroup *pontoonten-sg* pontoonten pontoonten-lod0-jg pontoonten-idle-ja + ((pontoonten-lod0-mg (meters 20)) (pontoonten-lod1-mg (meters 40)) (pontoonten-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 7) + :longest-edge (meters 4) + ) ;; definition for method 30 of type pontoonfive ;; INFO: Return type mismatch int vs none. @@ -596,13 +559,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *allpontoons-sg* allpontoons - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 32 0 -5 34) - :longest-edge (meters 0) - ) +(defskelgroup *allpontoons-sg* allpontoons allpontoons-lod0-jg allpontoons-idle-ja + ((allpontoons-lod0-mg (meters 999999))) + :bounds (static-spherem 32 0 -5 34) + ) ;; failed to figure out what this is: (defstate allpontoons-be-clone (allpontoons) @@ -665,7 +625,7 @@ ) :code (behavior () - (while #t + (loop (when (and (nonzero? (-> self task)) (task-closed? (the-as game-task (-> self task)) (task-status need-resolution))) (cleanup-for-death self) (deactivate self) @@ -717,13 +677,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *fireboulder-sg* fireboulder - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 3.5 0 6) - :longest-edge (meters 3.5) - ) +(defskelgroup *fireboulder-sg* fireboulder fireboulder-lod0-jg fireboulder-idle-ja + ((fireboulder-lod0-mg (meters 999999))) + :bounds (static-spherem 0 3.5 0 6) + :longest-edge (meters 3.5) + ) ;; definition for function fireboulder-disable-blocking-collision ;; INFO: Return type mismatch int vs none. @@ -794,9 +752,7 @@ (behavior () (fireboulder-disable-blocking-collision) (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) (logclear! (-> self draw status) (draw-status hidden)) (set! (-> self root-override trans quad) (-> self entity extra trans quad)) (vector-reset! (-> self draw origin)) @@ -823,33 +779,8 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (quaternion-rotate-y! (-> self root-override quat) @@ -857,11 +788,7 @@ (* 455.1111 (-> *display* time-adjust-ratio)) ) (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -925,33 +852,8 @@ :code (behavior () (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (cond ((zero? (-> self task)) @@ -987,11 +889,7 @@ ) ) (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1085,52 +983,20 @@ ) ;; failed to figure out what this is: -(defskelgroup *ceilingflag-sg* ceilingflag - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 -4 0 7) - :longest-edge (meters 0) - ) +(defskelgroup *ceilingflag-sg* ceilingflag ceilingflag-geo-jg ceilingflag-idle-ja + ((ceilingflag-geo-mg (meters 999999))) + :bounds (static-spherem 0 -4 0 7) + ) ;; failed to figure out what this is: (defstate ceilingflag-idle (ceilingflag) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) @@ -1178,13 +1044,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *exit-chamber-dummy-sg* exit-chamber-dummy - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 5 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *exit-chamber-dummy-sg* exit-chamber-dummy exit-chamber-dummy-lod0-jg -1 + ((exit-chamber-dummy-lod0-mg (meters 999999))) + :bounds (static-spherem 0 5 0 15) + ) ;; definition for method 20 of type exit-chamber-dummy (defmethod skip-reminder? exit-chamber-dummy ((obj exit-chamber-dummy)) @@ -1312,13 +1175,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *ogreboss-village2-sg* ogreboss-village2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 10 0 15) - :longest-edge (meters 0) - ) +(defskelgroup *ogreboss-village2-sg* ogreboss-village2 ogreboss-village2-lod0-jg ogreboss-village2-idle-ja + ((ogreboss-village2-lod0-mg (meters 999999))) + :bounds (static-spherem 0 10 0 15) + ) ;; failed to figure out what this is: (defpartgroup group-ogreboulder-trail @@ -1769,23 +1629,11 @@ ) ) ) - (ja-channel-push! 1 60) - (let ((a0-31 (-> self skel root-channel 0))) - (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) - (set! (-> a0-31 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 7) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let* ((v1-72 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-73 (the-as number (logior #x3f800000 v1-72))) @@ -1810,23 +1658,11 @@ ) ) ) - (ja-channel-push! 1 60) - (let ((a0-69 (-> self skel root-channel 0))) - (set! (-> a0-69 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) - (set! (-> a0-69 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) - ) - (set! (-> a0-69 param 1) 1.0) - (set! (-> a0-69 frame-num) 0.0) - (joint-control-channel-group! a0-69 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 5) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-70 (-> self skel root-channel 0))) - (set! (-> a0-70 param 0) (the float (+ (-> a0-70 frame-group data 0 length) -1))) - (set! (-> a0-70 param 1) 1.0) - (joint-control-channel-group-eval! a0-70 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (go ogreboss-village2-idle) (none) @@ -1841,106 +1677,53 @@ ogreboss-village2-trans :code (behavior () - (while #t - (ja-channel-push! 1 30) + (loop + (ja-channel-push! 1 (seconds 0.1)) (let ((v1-0 (rand-vu-int-range 0 2))) (cond ((zero? v1-0) - (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) (ja-aframe 140.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (ja-aframe 140.0 0)) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 140.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 140.0 0))) ) (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-2) (seconds 0.167)) (suspend) ) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-3 param 0) (ja-aframe 168.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 140.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) + :num! (seek! (ja-aframe 168.0 0)) + :frame-num (ja-aframe 140.0 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 168.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 168.0 0))) ) (let ((gp-5 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.16666667)) + (until (>= (- (-> *display* base-frame-counter) gp-5) (seconds 0.167)) (suspend) ) ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) - (set! (-> gp-6 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 168.0 0)) - (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek!) :frame-num (ja-aframe 168.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - (set! (-> a0-18 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (else (dotimes (gp-7 4) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-21 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ) @@ -1952,23 +1735,11 @@ ) (cond ((< 0.6666667 f0-33) - (ja-channel-push! 1 60) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) - (set! (-> a0-27 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) - ) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 6) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) ((not (handle->process (-> self boulder))) diff --git a/test/decompiler/reference/levels/village2/warrior_REF.gc b/test/decompiler/reference/levels/village2/warrior_REF.gc index ee17225904..cc37f75bb4 100644 --- a/test/decompiler/reference/levels/village2/warrior_REF.gc +++ b/test/decompiler/reference/levels/village2/warrior_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *warrior-sg* warrior - 0 - 5 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 4 - ) +(defskelgroup *warrior-sg* warrior warrior-lod0-jg warrior-idle-ja + ((warrior-lod0-mg (meters 20)) (warrior-lod1-mg (meters 40)) (warrior-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow warrior-shadow-mg + ) ;; definition for method 52 of type warrior ;; INFO: Return type mismatch int vs none. diff --git a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc index 404c280c21..cc1e4580cd 100644 --- a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc @@ -19,14 +19,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *assistant-village3-sg* assistant-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *assistant-village3-sg* assistant-village3 assistant-village3-lod0-jg assistant-village3-idle-ja + ((assistant-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow assistant-village3-shadow-mg + ) ;; definition for method 52 of type assistant-villagec ;; INFO: Return type mismatch int vs none. @@ -158,31 +155,15 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) + (if (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.05)) ) - (while #t + (loop (TODO-RENAME-43 self) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - (set! (-> a0-8 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) - ) + (ja-no-eval :group! assistant-village3-idle-ja :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) (let ((gp-0 (-> *display* base-frame-counter))) (while (let* ((s5-0 (-> *display* base-frame-counter)) @@ -197,29 +178,10 @@ (suspend) ) ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-1 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (ja-no-eval :group! (ja-group) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 16.0 0)) (until (ja-done? 0) (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 0.0 0))) ) (let ((gp-3 (-> *display* base-frame-counter))) (while (let* ((s5-1 (-> *display* base-frame-counter)) diff --git a/test/decompiler/reference/levels/village3/minecart_REF.gc b/test/decompiler/reference/levels/village3/minecart_REF.gc index cc7d7519cf..8c0e9c65e9 100644 --- a/test/decompiler/reference/levels/village3/minecart_REF.gc +++ b/test/decompiler/reference/levels/village3/minecart_REF.gc @@ -2,13 +2,13 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *minecartsteel-sg* minecartsteel - 0 - 4 - ((1 (meters 20)) (2 (meters 40)) (3 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *minecartsteel-sg* minecartsteel minecartsteel-lod0-jg minecartsteel-idle-ja + ((minecartsteel-lod0-mg (meters 20)) + (minecartsteel-lod1-mg (meters 40)) + (minecartsteel-lod2-mg (meters 999999)) + ) + :bounds (static-spherem 0 0 0 4) + ) ;; definition of type minecartsteel (deftype minecartsteel (process-drawable) @@ -61,26 +61,12 @@ :code (behavior () (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self anim))) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) - (* (get-current-phase (-> self sync)) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -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))) + ) (let ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)))) (update-trans! (-> self sound) a1-1) ) diff --git a/test/decompiler/reference/levels/village3/miners_REF.gc b/test/decompiler/reference/levels/village3/miners_REF.gc index b1fdedb9f7..75a28a0f98 100644 --- a/test/decompiler/reference/levels/village3/miners_REF.gc +++ b/test/decompiler/reference/levels/village3/miners_REF.gc @@ -3,22 +3,13 @@ ;; definition for function miners-anim-loop (defbehavior miners-anim-loop minershort () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) + (when (!= (ja-group) (get-art-elem self)) + (ja-channel-push! 1 (seconds 0.2)) + (ja :group! (get-art-elem self)) ) - (while #t + (loop (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 2.0) - (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) - ) + (ja :num! (loop! 2.0)) (if (= (-> self next-state name) 'idle) (TODO-RENAME-43 self) ) @@ -45,14 +36,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *minertall-sg* minertall - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *minertall-sg* minertall minertall-lod0-jg minertall-idle-ja + ((minertall-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow minertall-shadow-mg + ) ;; definition for method 52 of type minertall ;; INFO: Return type mismatch shadow-flags vs none. @@ -162,14 +150,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *minershort-sg* minershort - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 2.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *minershort-sg* minershort minershort-lod0-jg minershort-idle-ja + ((minershort-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 2.5) + :shadow minershort-shadow-mg + ) ;; failed to figure out what this is: (defpartgroup group-minershort-candle @@ -681,53 +666,21 @@ ) ;; failed to figure out what this is: -(defskelgroup *cavegem-sg* cavegem - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 9) - :longest-edge (meters 0) - ) +(defskelgroup *cavegem-sg* cavegem cavegem-lod0-jg cavegem-idle-ja + ((cavegem-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 9) + ) ;; failed to figure out what this is: (defstate idle (cavegem) :virtual #t :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/village3/sage-village3_REF.gc b/test/decompiler/reference/levels/village3/sage-village3_REF.gc index f1ec84b606..6c4266bf1a 100644 --- a/test/decompiler/reference/levels/village3/sage-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/sage-village3_REF.gc @@ -25,34 +25,25 @@ ) ;; failed to figure out what this is: -(defskelgroup *sage-village3-sg* sage-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *sage-village3-sg* sage-village3 sage-village3-lod0-jg sage-village3-idle-ja + ((sage-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow sage-village3-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *evilbro-village3-sg* evilbro-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilbro-village3-sg* evilbro-village3 evilbro-village3-lod0-jg evilbro-village3-idle-ja + ((evilbro-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilbro-village3-shadow-mg + ) ;; failed to figure out what this is: -(defskelgroup *evilsis-village3-sg* evilsis-village3 - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *evilsis-village3-sg* evilsis-village3 evilsis-village3-lod0-jg evilsis-village3-idle-ja + ((evilsis-village3-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + :shadow evilsis-village3-shadow-mg + ) ;; definition for method 32 of type sage-villagec (defmethod play-anim! sage-villagec ((obj sage-villagec) (arg0 symbol)) diff --git a/test/decompiler/reference/levels/village3/village3-obs_REF.gc b/test/decompiler/reference/levels/village3/village3-obs_REF.gc index 6dd03dac04..bd31c8f162 100644 --- a/test/decompiler/reference/levels/village3/village3-obs_REF.gc +++ b/test/decompiler/reference/levels/village3/village3-obs_REF.gc @@ -2,40 +2,32 @@ (in-package goal) ;; failed to figure out what this is: -(defskelgroup *med-res-ogre-sg* medres-ogre - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -450 350) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-ogre-sg* medres-ogre medres-ogre-lod0-jg medres-ogre-idle-ja + ((medres-ogre-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -450 350) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-ogre2-sg* medres-ogre2 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -200 0 -950 320) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-ogre2-sg* medres-ogre2 medres-ogre2-lod0-jg medres-ogre2-idle-ja + ((medres-ogre2-lod0-mg (meters 999999))) + :bounds (static-spherem -200 0 -950 320) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-ogre3-sg* medres-ogre3 - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem -100 0 -1370 300) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-ogre3-sg* medres-ogre3 medres-ogre3-lod0-jg medres-ogre3-idle-ja + ((medres-ogre3-lod0-mg (meters 999999))) + :bounds (static-spherem -100 0 -1370 300) + :longest-edge (meters 0.01) + ) ;; failed to figure out what this is: -(defskelgroup *med-res-finalboss-sg* medres-finalboss - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 80 120 -150 470) - :longest-edge (meters 0.01) - ) +(defskelgroup *med-res-finalboss-sg* medres-finalboss medres-finalboss-lod0-jg medres-finalboss-idle-ja + ((medres-finalboss-lod0-mg (meters 999999))) + :bounds (static-spherem 80 120 -150 470) + :longest-edge (meters 0.01) + ) ;; definition of type villagec-lava (deftype villagec-lava (water-anim) @@ -113,14 +105,11 @@ ) ;; failed to figure out what this is: -(defskelgroup *gondola-sg* gondola - 0 - 3 - ((1 (meters 999999))) - :bounds (static-spherem 0 -5.5 0 6.5) - :longest-edge (meters 0) - :shadow 2 - ) +(defskelgroup *gondola-sg* gondola gondola-lod0-jg gondola-idle-down-ja + ((gondola-lod0-mg (meters 999999))) + :bounds (static-spherem 0 -5.5 0 6.5) + :shadow gondola-shadow-mg + ) ;; failed to figure out what this is: (defstate idle (gondola) @@ -148,9 +137,7 @@ ) ) ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) - ) + (ja :group! (-> self draw art-group data 4)) ) (else (set! (-> self anim) (new 'static 'spool-anim @@ -168,13 +155,11 @@ ) ) ) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) - ) + (ja :group! (-> self draw art-group data 3)) ) ) (transform-post) - (while #t + (loop (when (and *target* (and (< (vector-vector-distance (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) (target-pos 0) @@ -468,7 +453,7 @@ :flag-assert #x16004000b0 (:methods (idle () _type_ :state 20) - (active (basic symbol) _type_ :state 21) + (active (handle symbol) _type_ :state 21) ) ) @@ -481,13 +466,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *pistons-sg* pistons - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 6 0 8) - :longest-edge (meters 0) - ) +(defskelgroup *pistons-sg* pistons pistons-lod0-jg pistons-idle-ja + ((pistons-lod0-mg (meters 999999))) + :bounds (static-spherem 0 6 0 8) + ) ;; failed to figure out what this is: (defstate idle (pistons) @@ -496,7 +478,7 @@ (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('update) - (go-virtual active (the-as basic (process->handle arg0)) #f) + (go-virtual active (process->handle arg0) #f) ) ) ) @@ -525,7 +507,7 @@ (new 'process 'ambient-sound (static-sound-spec "gdl-gen-loop" :fo-max 100) (-> obj root trans)) ) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) - (go (method-of-object obj active) #f #t) + (go (method-of-object obj active) (the-as handle #f) #t) (go (method-of-object obj idle)) ) (none) @@ -552,13 +534,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *gondolacables-sg* gondolacables - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 120) - :longest-edge (meters 0) - ) +(defskelgroup *gondolacables-sg* gondolacables gondolacables-lod0-jg gondolacables-idle-ja + ((gondolacables-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 120) + ) ;; failed to figure out what this is: (defstate idle (gondolacables) @@ -578,40 +557,11 @@ ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) + (loop + (ja-no-eval :group! (ja-group) :num! (seek!) :frame-num 0.0) (until (ja-done? 0) (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) ) (none) diff --git a/test/decompiler/reference/levels/village_common/oracle_REF.gc b/test/decompiler/reference/levels/village_common/oracle_REF.gc index 3cefe511c4..e44d2b4310 100644 --- a/test/decompiler/reference/levels/village_common/oracle_REF.gc +++ b/test/decompiler/reference/levels/village_common/oracle_REF.gc @@ -27,13 +27,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *oracle-sg* oracle - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 4) - :longest-edge (meters 0) - ) +(defskelgroup *oracle-sg* oracle oracle-lod0-jg oracle-idle-ja + ((oracle-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 4) + ) ;; definition for method 32 of type oracle (defmethod play-anim! oracle ((obj oracle) (arg0 symbol)) 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 9b83284d9a..ea38e64f22 100644 --- a/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc +++ b/test/decompiler/reference/levels/village_common/villagep-obs_REF.gc @@ -101,40 +101,21 @@ (ja-channel-set! 1) (send-event self 'do-effect 'death-warp-in -1.0) (sound-play-by-name (static-sound-name "warpgate-tele") (new-sound-id) 1024 0 0 1 #t) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-3 param 0) (ja-aframe 50.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 40.0 0)) - (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 41) + :num! (seek! (ja-aframe 50.0 0)) + :frame-num (ja-aframe 40.0 0) + ) (until (ja-done? 0) (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 50.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek! (ja-aframe 50.0 0))) ) (restore-collide-with-as (-> self control)) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) - (set! (-> gp-5 param 0) - (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 41)) data 0 length) -1)) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 50.0 0)) - (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) - ) + (ja-no-eval :group! (-> self draw art-group data 41) :num! (seek!) :frame-num (ja-aframe 50.0 0)) (until (ja-done? 0) (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) - (set! (-> a0-26 param 1) 1.0) - (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) - ) + (ja :num! (seek!)) ) - (target-falling-anim -1 99) + (target-falling-anim -1 (seconds 0.33)) (none) ) :post @@ -156,7 +137,7 @@ (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t + (loop (when (and (and *target* (>= 20480.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) (and (>= (-> self level-slot) 0) (not (movie?)) @@ -324,7 +305,7 @@ (s4-0 #f) (s3-0 gp-0) ) - (while #t + (loop (when (zero? s2-0) (cond ((cpad-pressed? 0 right) @@ -536,13 +517,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *warp-gate-switch-sg* warp-gate-switch - 0 - 2 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 1.5) - :longest-edge (meters 0) - ) +(defskelgroup *warp-gate-switch-sg* warp-gate-switch warp-gate-switch-lod0-jg warp-gate-switch-down-ja + ((warp-gate-switch-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 1.5) + ) ;; definition for method 27 of type warp-gate-switch (defmethod TODO-RENAME-27 warp-gate-switch ((obj warp-gate-switch)) @@ -958,13 +936,10 @@ ) ;; failed to figure out what this is: -(defskelgroup *village-cam-sg* village-cam - 0 - -1 - ((1 (meters 999999))) - :bounds (static-spherem 0 0 0 80) - :longest-edge (meters 0) - ) +(defskelgroup *village-cam-sg* village-cam village-cam-lod0-jg -1 + ((village-cam-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 0 80) + ) ;; definition of type village-cam (deftype village-cam (process) @@ -1009,7 +984,7 @@ :code (behavior () (local-vars (v1-18 symbol)) - (while #t + (loop (let ((v1-5 (and (and *target* (>= (-> self range) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) diff --git a/test/decompiler/test_FormExpressionBuild.cpp b/test/decompiler/test_FormExpressionBuild.cpp index 85c45a9792..db1d974903 100644 --- a/test/decompiler/test_FormExpressionBuild.cpp +++ b/test/decompiler/test_FormExpressionBuild.cpp @@ -2809,7 +2809,7 @@ TEST_F(FormRegressionTest, LoopingCode) { std::string type = "(function symbol)"; std::string expected = "(begin\n" - " (while #t\n" + " (loop\n" " (suspend)\n" " )\n" " (the-as symbol #f)\n" diff --git a/test/offline/config.jsonc b/test/offline/config.jsonc index 9a7e52b45c..e55dd5a7e3 100644 --- a/test/offline/config.jsonc +++ b/test/offline/config.jsonc @@ -12,6 +12,7 @@ "DGO/MIS.DGO", "DGO/JUB.DGO", "DGO/SUN.DGO", + "DGO/SUB.DGO", "DGO/DEM.DGO", "DGO/FIN.DGO", "DGO/JUN.DGO", diff --git a/test/offline/offline_test_main.cpp b/test/offline/offline_test_main.cpp index 97083142d3..d352482d62 100644 --- a/test/offline/offline_test_main.cpp +++ b/test/offline/offline_test_main.cpp @@ -86,6 +86,11 @@ struct DecompilerFile { std::string reference; }; +struct DecompilerArtFile { + std::string name_in_dgo; + std::string unique_name; +}; + std::string replaceFirstOccurrence(std::string& s, const std::string& toReplace, const std::string& replaceWith) { @@ -170,12 +175,68 @@ std::vector find_files(const std::vector& dgos) { return result; } +std::vector find_art_files(const std::vector& dgos) { + std::vector result; + + // use the all_objs.json file to place them in the correct build order + auto j = parse_commented_json( + file_util::read_text_file( + (file_util::get_jak_project_dir() / "goal_src" / "build" / "all_objs.json").string()), + "all_objs.json"); + + for (auto& x : j) { + auto unique_name = x[0].get(); + auto version = x[2].get(); + + std::vector dgoList = x[3].get>(); + if (version == 4) { + bool skip_this = false; + + // Check to see if we've included atleast one of the DGO/CGOs in our hardcoded list + // If not BLOW UP + bool dgoValidated = false; + for (int i = 0; i < (int)dgoList.size(); i++) { + std::string& dgo = dgoList.at(i); + if (dgo == "NO-XGO") { + skip_this = true; + break; + } + // can either be in the DGO or CGO folder, and can either end with .CGO or .DGO + if (std::find(dgos.begin(), dgos.end(), fmt::format("DGO/{}.DGO", dgo)) != dgos.end() || + std::find(dgos.begin(), dgos.end(), fmt::format("DGO/{}.CGO", dgo)) != dgos.end() || + std::find(dgos.begin(), dgos.end(), fmt::format("CGO/{}.DGO", dgo)) != dgos.end() || + std::find(dgos.begin(), dgos.end(), fmt::format("CGO/{}.CGO", dgo)) != dgos.end()) { + dgoValidated = true; + } + } + if (skip_this) { + continue; + } + if (!dgoValidated) { + fmt::print( + "File [{}] is in the following DGOs [{}], and not one of these is in our list! Add " + "it!\n", + unique_name, fmt::join(dgoList, ", ")); + exit(1); + } + + DecompilerArtFile file; + file.unique_name = unique_name; + file.name_in_dgo = x[1]; + result.push_back(file); + } + } + + return result; +} + struct Decompiler { std::unique_ptr db; std::unique_ptr config; }; Decompiler setup_decompiler(const std::vector& files, + const std::vector& art_files, const OfflineTestArgs& args, const OfflineTestConfig& offline_config) { Decompiler dc; @@ -190,6 +251,9 @@ Decompiler setup_decompiler(const std::vector& files, for (auto& file : files) { object_files.insert(file.name_in_dgo); // todo, make this work with unique_name } + for (auto& file : art_files) { + object_files.insert(file.unique_name); + } dc.config->allowed_objects = object_files; // don't try to do this because we can't write the file @@ -217,13 +281,18 @@ Decompiler setup_decompiler(const std::vector& files, } } - if (db_files.size() != files.size()) { + if (db_files.size() != files.size() + art_files.size()) { fmt::print("DB file error.\n"); for (auto& f : files) { if (!db_files.count(f.unique_name)) { fmt::print("didn't find {}\n", f.unique_name); } } + for (auto& f : art_files) { + if (!db_files.count(f.unique_name)) { + fmt::print("didn't find {}\n", f.unique_name); + } + } exit(1); } @@ -237,6 +306,7 @@ void disassemble(Decompiler& dc) { } void decompile(Decompiler& dc, const OfflineTestConfig& config) { + dc.db->extract_art_info(); dc.db->analyze_functions_ir2({}, *dc.config, config.skip_compile_functions, config.skip_compile_states); } @@ -359,9 +429,10 @@ int main(int argc, char* argv[]) { if (args.max_files < (int)files.size()) { files.erase(files.begin() + args.max_files, files.end()); } + auto art_files = find_art_files(config.dgos); fmt::print("Setting up decompiler and loading files...\n"); - auto decompiler = setup_decompiler(files, args, config); + auto decompiler = setup_decompiler(files, art_files, args, config); fmt::print("Disassembling files...\n"); disassemble(decompiler);