diff --git a/common/type_system/Type.cpp b/common/type_system/Type.cpp index 39c1550956..42464b5fda 100644 --- a/common/type_system/Type.cpp +++ b/common/type_system/Type.cpp @@ -913,6 +913,17 @@ bool StructureType::lookup_field(const std::string& name, Field* out) { return false; } +void StructureType::override_field_type(const std::string& field_name, const TypeSpec& new_type) { + int i = 0; + for (auto& x : m_fields) { + if (x.name() == field_name) { + x.set_override_type(new_type); + m_overriden_fields.push_back(i); + } + ++i; + } +} + ///////////////// // BasicType ///////////////// @@ -1035,7 +1046,9 @@ BitFieldType::BitFieldType(std::string parent, std::string name, int size, bool bool BitFieldType::lookup_field(const std::string& name, BitField* out) const { for (auto& field : m_fields) { if (field.name() == name) { - *out = field; + if (out) { + *out = field; + } return true; } } diff --git a/common/type_system/Type.h b/common/type_system/Type.h index a3be097e10..f1158200ef 100644 --- a/common/type_system/Type.h +++ b/common/type_system/Type.h @@ -222,9 +222,14 @@ class Field { void set_dynamic(); void set_array(int size); void set_inline(); + void set_override_type(const TypeSpec& new_type) { + m_type = new_type; + m_override_type = true; + } void mark_as_user_placed() { m_placed_by_user = true; } std::string print() const; const TypeSpec& type() const { return m_type; } + const std::optional decomp_as_type() const { return m_decomp_as_ts; } TypeSpec& type() { return m_type; } bool is_inline() const { return m_inline; } bool is_array() const { return m_array; } @@ -249,6 +254,7 @@ class Field { double field_score() const { return m_field_score; } void set_field_score(double value) { m_field_score = value; } + void set_decomp_as_ts(const TypeSpec& ts) { m_decomp_as_ts = ts; } private: friend class TypeSystem; @@ -258,6 +264,7 @@ class Field { std::string m_name; TypeSpec m_type; + bool m_override_type = false; int m_offset = -1; bool m_inline = false; // does not make sense if m_type is value, and not an array and not dynamic @@ -269,6 +276,8 @@ class Field { bool m_placed_by_user = false; // was this field placed manually by the user? double m_field_score = 0.; + + std::optional m_decomp_as_ts = std::nullopt; }; class StructureType : public ReferenceType { @@ -282,6 +291,7 @@ class StructureType : public ReferenceType { std::string print() const override; void inherit(StructureType* parent); const std::vector& fields() const { return m_fields; } + const std::vector& override_fields() const { return m_overriden_fields; } bool operator==(const Type& other) const override; std::string diff_impl(const Type& other) const override; std::string diff_structure_common(const StructureType& other) const; @@ -302,6 +312,7 @@ class StructureType : public ReferenceType { void set_allow_misalign(bool misalign) { m_allow_misalign = misalign; } void set_gen_inspect(bool gen_inspect) { m_generate_inspect = gen_inspect; } int size() const { return m_size_in_mem; } + void override_field_type(const std::string& field_name, const TypeSpec& new_type); protected: friend class TypeSystem; @@ -317,6 +328,7 @@ class StructureType : public ReferenceType { size_t first_unique_field_idx() const { return m_idx_of_first_unique_field; } std::vector m_fields; + std::vector m_overriden_fields; bool m_dynamic = false; int m_size_in_mem = 0; bool m_pack = false; diff --git a/common/type_system/TypeSystem.cpp b/common/type_system/TypeSystem.cpp index 55724fd0c6..48436f4740 100644 --- a/common/type_system/TypeSystem.cpp +++ b/common/type_system/TypeSystem.cpp @@ -951,7 +951,8 @@ int TypeSystem::add_field_to_type(StructureType* type, int array_size, int offset_override, bool skip_in_static_decomp, - double score) { + double score, + const std::optional decomp_as_ts) { if (type->lookup_field(field_name, nullptr)) { throw_typesystem_error("Type {} already has a field named {}\n", type->get_name(), field_name); } @@ -993,6 +994,9 @@ int TypeSystem::add_field_to_type(StructureType* type, field.set_skip_in_static_decomp(); } field.set_field_score(score); + if (decomp_as_ts) { + field.set_decomp_as_ts(*decomp_as_ts); + } int after_field = offset + get_size_in_type(field); if (type->get_size_in_memory() < after_field) { @@ -2006,9 +2010,18 @@ std::string TypeSystem::generate_deftype_for_structure(const StructureType* st) const std::string inline_string = ":inline"; const std::string dynamic_string = ":dynamic"; - const std::string user_offset_string = ":offset xxx"; bool has_offset_assert = false; + // calculate longest strings needed, for basic linting + + // override fields + for (auto i : st->override_fields()) { + const auto& field = st->fields().at(i); + longest_field_name = std::max(longest_field_name, int(field.name().size())); + longest_type_name = std::max(longest_type_name, int(field.type().print().size())); + } + + // normal fields for (size_t i = st->first_unique_field_idx(); i < st->fields().size(); i++) { const auto& field = st->fields().at(i); longest_field_name = std::max(longest_field_name, int(field.name().size())); @@ -2040,6 +2053,21 @@ std::string TypeSystem::generate_deftype_for_structure(const StructureType* st) longest_mods = std::max(longest_mods, mods); } + // now actually write out the fields + + // override fields first + for (auto i : st->override_fields()) { + const auto& field = st->fields().at(i); + result += "("; + result += field.name(); + result.append(1 + (longest_field_name - int(field.name().size())), ' '); + result += field.type().print(); + result.append(1 + (longest_type_name - int(field.type().print().size())), ' '); + result.append(1 + longest_mods, ' '); + result.append(":override)\n "); + } + + // now normal fields for (size_t i = st->first_unique_field_idx(); i < st->fields().size(); i++) { const auto& field = st->fields().at(i); result += "("; diff --git a/common/type_system/TypeSystem.h b/common/type_system/TypeSystem.h index 0776c94f47..2fc5f4d899 100644 --- a/common/type_system/TypeSystem.h +++ b/common/type_system/TypeSystem.h @@ -216,7 +216,8 @@ class TypeSystem { int array_size = -1, int offset_override = -1, bool skip_in_static_decomp = false, - double score = 0.0); + double score = 0.0, + const std::optional decomp_as_ts = std::nullopt); void add_builtin_types(GameVersion version); diff --git a/common/type_system/deftype.cpp b/common/type_system/deftype.cpp index 1421bdd030..2d3387d99f 100644 --- a/common/type_system/deftype.cpp +++ b/common/type_system/deftype.cpp @@ -103,6 +103,9 @@ void add_field(StructureType* structure, int offset_assert = -1; double score = 0; bool skip_in_decomp = false; + std::optional decomp_as_ts = std::nullopt; + Field override_field; + bool override = false; if (!rest->is_empty_list()) { if (car(rest).is_int()) { @@ -125,6 +128,11 @@ void add_field(StructureType* structure, } else if (opt_name == ":offset") { offset_override = get_int(car(rest)); rest = cdr(rest); + } else if (opt_name == ":override") { + override = true; + if (!structure->lookup_field(name, &override_field)) { + throw std::runtime_error(fmt::format("Field {} not found to override", name)); + } } else if (opt_name == ":overlay-at") { auto field_name = symbol_string(car(rest)); Field overlay_field; @@ -137,6 +145,9 @@ void add_field(StructureType* structure, } else if (opt_name == ":score") { score = get_float(car(rest)); rest = cdr(rest); + } else if (opt_name == ":decomp-as") { + decomp_as_ts = TypeSpec(symbol_string(car(rest))); + rest = cdr(rest); } else if (opt_name == ":offset-assert") { offset_assert = get_int(car(rest)); if (offset_assert == -1) { @@ -151,11 +162,30 @@ void add_field(StructureType* structure, } } - int actual_offset = ts->add_field_to_type(structure, name, type, is_inline, is_dynamic, - array_size, offset_override, skip_in_decomp, score); - if (offset_assert != -1 && actual_offset != offset_assert) { - throw std::runtime_error("Field " + name + " was placed at " + std::to_string(actual_offset) + - " but offset-assert was set to " + std::to_string(offset_assert)); + if (override && name == override_field.name()) { + // override field, e.g. (root collide-shape :overlay-at root) + // does not add new field, merely rewrites inherited one + if (!ts->tc(override_field.type(), type)) { + throw std::runtime_error( + fmt::format("Wanted to override field {}, but type {} isn't child of {}", + override_field.name(), type.print(), override_field.type().print())); + } + if (override_field.is_inline() != is_inline || override_field.is_dynamic() != is_dynamic || + (array_size != -1 && override_field.array_size() != array_size)) { + throw std::runtime_error( + fmt::format("Wanted to override field {}, but some parameters were different", + override_field.name())); + } + structure->override_field_type(override_field.name(), type); + } else { + // new unique field + int actual_offset = + ts->add_field_to_type(structure, name, type, is_inline, is_dynamic, array_size, + offset_override, skip_in_decomp, score, decomp_as_ts); + if (offset_assert != -1 && actual_offset != offset_assert) { + throw std::runtime_error("Field " + name + " was placed at " + std::to_string(actual_offset) + + " but offset-assert was set to " + std::to_string(offset_assert)); + } } } @@ -739,7 +769,7 @@ DeftypeResult parse_deftype(const goos::Object& deftype, parent_type_name)); } new_type->inherit(pto); - ts->forward_declare_type_as(name, "basic"); + ts->forward_declare_type_as(name, pto->get_name()); auto sr = parse_structure_def(new_type.get(), ts, field_list_obj, options_obj, constants_to_use); result.flags = sr.flags; @@ -769,7 +799,7 @@ DeftypeResult parse_deftype(const goos::Object& deftype, auto pto = dynamic_cast(ts->lookup_type(parent_type)); ASSERT(pto); new_type->inherit(pto); - ts->forward_declare_type_as(name, "structure"); + ts->forward_declare_type_as(name, pto->get_name()); auto sr = parse_structure_def(new_type.get(), ts, field_list_obj, options_obj, constants_to_use); result.flags = sr.flags; diff --git a/decompiler/ObjectFile/LinkedObjectFile.cpp b/decompiler/ObjectFile/LinkedObjectFile.cpp index 4fd6083f0f..44f0c396d2 100644 --- a/decompiler/ObjectFile/LinkedObjectFile.cpp +++ b/decompiler/ObjectFile/LinkedObjectFile.cpp @@ -914,8 +914,25 @@ bool LinkedObjectFile::is_string(int seg, int byte_idx) const { if (type_tag_ptr < 0 || size_t(type_tag_ptr) >= words_by_seg.at(seg).size() * 4) { return false; } - auto& type_word = words_by_seg.at(seg).at(type_tag_ptr / 4); - return type_word.kind() == LinkedWord::TYPE_PTR && type_word.symbol_name() == "string"; + int type_word_idx = type_tag_ptr / 4; + auto& type_word = words_by_seg.at(seg).at(type_word_idx); + if (type_word.kind() == LinkedWord::TYPE_PTR && type_word.symbol_name() == "string") { + // could be a string basic + // check if we're not right after a zero-length string array. + if (type_word_idx >= 3) { + auto& arr_type_word = words_by_seg.at(seg).at(type_word_idx - 3); + auto& arr_len_word = words_by_seg.at(seg).at(type_word_idx - 2); + auto& arr_alen_word = words_by_seg.at(seg).at(type_word_idx - 1); + if (arr_type_word.kind() == LinkedWord::TYPE_PTR && arr_type_word.symbol_name() == "array" && + arr_len_word.kind() == LinkedWord::PLAIN_DATA && arr_len_word.data == 0 && + arr_alen_word.kind() == LinkedWord::PLAIN_DATA && arr_alen_word.data == 0) { + return false; + } + } + // seems good. + return true; + } + return false; } /*! diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 92959a6cbb..8b4adffae3 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -573,7 +573,8 @@ (deftype process (process-tree) - ((pool dead-pool) + ((self process :override) + (pool dead-pool) (status symbol :offset-assert 40) (pid int32) (main-thread cpu-thread :offset-assert 48) @@ -7625,8 +7626,8 @@ ) (deftype engine-minimap (engine-pers) - ((alive-list-override connection-minimap :offset 24 :score 50) - (dead-list-override connection-minimap :offset 28 :score 50) + ((alive-list connection-minimap :override) + (dead-list connection-minimap :override) ) :method-count-assert 15 :size-assert #x20 @@ -13482,7 +13483,7 @@ (speech uint16 :offset-assert 6) (text-message text-id :offset-assert 8) (text-duration uint16 :offset-assert 12) - (delay uint16 :offset-assert 14) + (delay uint16 :offset-assert 14 :decomp-as time-frame) (pos uint16 :offset-assert 16) (neg uint16 :offset-assert 18) (on-close pair :offset-assert 20) @@ -13547,8 +13548,8 @@ (flags speech-type-flag :offset-assert 1) (priority int8 :offset-assert 2) (request-timeout uint16 :offset-assert 4) - (min-delay uint16 :offset-assert 6) - (max-delay uint16 :offset-assert 8) + (min-delay uint16 :offset-assert 6 :decomp-as time-frame) + (max-delay uint16 :offset-assert 8 :decomp-as time-frame) (delay uint16 :offset-assert 10) (play-index int16 :offset-assert 12) (list (array string) :offset-assert 16) @@ -13561,13 +13562,63 @@ ;; +++speech-h:speech-type (defenum speech-type :type int8 - :bitfield #t - (speech-type-0 0) - (speech-type-1 1) - (speech-type-2 2) - (speech-type-3 3) - (speech-type-4 4) - (speech-type-5 5) + (speech-type-0) + (speech-type-1) + (speech-type-2) + (speech-type-3) + (speech-type-4) + (speech-type-5) + (speech-type-6) + (speech-type-7) + (speech-type-8) + (speech-type-9) + (speech-type-10) + (speech-type-11) + (speech-type-12) + (speech-type-13) + (speech-type-14) + (speech-type-15) + (speech-type-16) + (speech-type-17) + (speech-type-18) + (speech-type-19) + (speech-type-20) + (speech-type-21) + (speech-type-22) + (speech-type-23) + (speech-type-24) + (speech-type-25) + (speech-type-26) + (speech-type-27) + (speech-type-28) + (speech-type-29) + (speech-type-30) + (speech-type-31) + (speech-type-32) + (speech-type-33) + (speech-type-34) + (speech-type-35) + (speech-type-36) + (speech-type-37) + (speech-type-38) + (speech-type-39) + (speech-type-40) + (speech-type-41) + (speech-type-42) + (speech-type-43) + (speech-type-44) + (speech-type-45) + (speech-type-46) + (speech-type-47) + (speech-type-48) + (speech-type-49) + (speech-type-50) + (speech-type-51) + (speech-type-52) + (speech-type-53) + (speech-type-54) + (speech-type-55) + (speech-type-56) ) ;; ---speech-h:speech-type @@ -13626,7 +13677,7 @@ :flag-assert #x11000001c4 (:methods (speech-control-method-9 (_type_) none 9) - (speech-control-method-10 (_type_ int speech-type-info) none 10) + (speech-table-set! (_type_ speech-type speech-type-info) none 10) (speech-control-method-11 (_type_) none 11) (speech-control-method-12 (_type_ process-drawable speech-type) none 12) (speech-control-method-13 (_type_ handle) none 13) @@ -16885,7 +16936,7 @@ ) (deftype manipy (process-drawable) - ((root-override collide-shape :offset 128 :score 1) + ((root collide-shape :override) (new-trans-hook (function none) :offset-assert 200) (cur-trans-hook (function none) :offset-assert 204) (cur-event-hook (function none) :offset-assert 208) @@ -16960,7 +17011,7 @@ ) (deftype lightning-tracker (process) - ((ppointer-override (pointer lightning-tracker) :offset 28 :score 100) + ((ppointer (pointer lightning-tracker) :override) (root trsqv :offset-assert 128) (lightning lightning-control :offset-assert 132) (callback (function lightning-tracker none) :offset-assert 136) @@ -16990,7 +17041,7 @@ ) (deftype touch-tracker (process-drawable) - ((root-override collide-shape :offset 128 :score 1) + ((root collide-shape :override) (duration time-frame :offset-assert 200) (target handle :offset-assert 208) (event symbol :offset-assert 216) ;; guessed by decompiler @@ -17007,7 +17058,7 @@ ) (deftype swingpole (process-drawable) - ((root-override collide-shape :offset 128 :score 1) + ((root collide-shape :override) (edge-length meters :offset-assert 200) (path-pos float :offset-assert 204) (joint-track int32 :offset-assert 208) @@ -17065,7 +17116,7 @@ ) (deftype explosion (process-drawable) - ((root-override collide-shape :offset 128 :score 1) + ((root collide-shape :override) (start-time time-frame :offset-assert 200) (duration uint32 :offset-assert 208) (linger-duration uint32 :offset-assert 212) @@ -17914,7 +17965,7 @@ ) (deftype process-focusable (process-drawable) - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (focus-status focus-status :offset-assert 200) ) :method-count-assert 27 @@ -18326,7 +18377,7 @@ ;; ---projectile-h:projectile-options (deftype projectile (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 999) + ((root collide-shape-moving :override) (starting-pos vector :inline :offset-assert 208) (starting-dir vector :inline :offset-assert 224) (target-pos vector :inline :offset-assert 240) @@ -18464,9 +18515,9 @@ (declare-type indax-info basic) (declare-type turret-info basic) (deftype target (process-focusable) - ((self-override target :offset 32 :score 100) + ((self target :override) (control control-info :offset 128 :score 200) ;; guessed by decompiler - (fact-override fact-info-target :offset 160 :score 100) + (fact fact-info-target :override) (skel2 joint-control :offset-assert 204) (shadow-backup shadow-geo :offset-assert 208) (target-flags uint32 :offset 188) @@ -18699,7 +18750,7 @@ ) (deftype sidekick (process-drawable) - ((parent-override (pointer target) :offset 16 :score 100 ) + ((parent (pointer target) :override) (control control-info :offset 128) ;; guessed by decompiler (anim-seed uint64 :offset 208) ;; ?? (shadow-in-movie? symbol :offset-assert 216) ;; guessed by decompiler @@ -28270,7 +28321,7 @@ ;; ---fma-sphere:fma-sphere-mode (deftype fma-sphere (process-drawable) - ((root-override collide-shape :offset 128 :score 999) + ((root collide-shape :override) (first-time? symbol :offset-assert 200) (mode fma-sphere-mode :offset-assert 204) (track-handle handle :offset-assert 208) @@ -28353,7 +28404,7 @@ ) (deftype launcher (process-drawable) - ((root-override collide-shape :offset 128 :score 1) + ((root collide-shape :override) (spring-height meters :offset-assert 200) (camera state :offset-assert 204) ;; guessed by decompiler (active-distance float :offset-assert 208) @@ -29177,7 +29228,7 @@ ) (deftype remote (process-drawable) - ((parent-override (pointer camera-slave) :offset 16 :score 100) + ((parent (pointer camera-slave) :override) (base-trans vector :inline :offset-assert 208) (focus focus :inline :offset-assert 224) (seeker cam-float-seeker :inline :offset-assert 236) @@ -29630,7 +29681,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype gun-red-shot (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 999) + ((root collide-shape-moving :override) (probe-count int32 :offset-assert 200) (probe-mask uint32 :offset-assert 204) (actor-count int32 :offset-assert 208) @@ -30451,7 +30502,7 @@ ) (deftype collectable (process-drawable) - ((root-override2 collide-shape-moving :offset 128 :score 1000) + ((root collide-shape-moving :override) (pickup-type pickup-type :offset-assert 200) (pickup-amount float :offset-assert 204) (notify handle :offset-assert 208) @@ -30765,7 +30816,7 @@ ) (deftype crate (process-focusable) - ((root-override2 collide-shape-moving :offset 128 :score 1000) + ((root collide-shape-moving :override) (smush smush-control :inline :offset-assert 208) (base vector :inline :offset-assert 240) (look symbol :offset-assert 256) ;; guessed by decompiler @@ -30979,7 +31030,7 @@ ) (deftype hud-ring-cell (process-drawable) - ((parent-override (pointer progress) :offset 16 :score 999) + ((parent (pointer progress) :override) (joint-idx int32 :offset-assert 200) (init-angle degrees :offset-assert 204) (graphic-index int32 :offset-assert 208) @@ -32182,7 +32233,7 @@ ) (deftype nav-graph-editor (process) - ((self-override nav-graph-editor :offset 32 :score 100) + ((self nav-graph-editor :override) (nav-graph mysql-nav-graph :offset-assert 128) (mode symbol :offset-assert 132) (command-id int32 :offset-assert 136) @@ -32471,8 +32522,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype com-airlock (process-drawable) - ((child-override basic :offset 24) ;; what is this! - (root-override collide-shape :offset 128 :score 999) + ((root collide-shape :override) (level-name pair :offset-assert 200) (open-test pair :offset-assert 204) (were-behind? symbol :offset-assert 208) @@ -32673,7 +32723,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype blocking-plane (process-drawable) - ((root-override collide-shape :offset 128 :score 999)) + ((root collide-shape :override)) :method-count-assert 22 :size-assert #xc8 :flag-assert #x16005000c8 @@ -32992,8 +33042,8 @@ ) (deftype enemy (process-focusable) - ((root-override2 collide-shape-moving :offset 128 :score 200) - (fact-info-override fact-info-enemy :offset 160 :score 100) + ((root collide-shape-moving :override) + (fact fact-info-enemy :override) (enemy-flags enemy-flag :offset-assert 208) (enemy-info enemy-info :offset-assert 216) (hit-points int32 :offset-assert 220) @@ -33271,7 +33321,7 @@ ) (deftype nav-enemy (enemy) - ((enemy-info-override nav-enemy-info :offset 216 :score 100) + ((enemy-info nav-enemy-info :override) (frustration-point vector :inline :offset-assert 544) (move-dest vector :inline :offset-assert 560) (frustration-time time-frame :offset-assert 576) ;; time-frame @@ -33564,7 +33614,7 @@ ;; ---rigid-body-h:rigid-body-object-flag (deftype rigid-body-object (process-focusable) - ((root-override-2 collide-shape-moving :offset 128 :score 999) + ((root collide-shape-moving :override) (info rigid-body-object-constants :offset-assert 204) (flags rigid-body-object-flag :offset-assert 208) (max-time-step float :offset-assert 216) @@ -33667,7 +33717,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype base-plat (process-focusable) - ((root-override-2 collide-shape-moving :offset 128 :score 100) + ((root collide-shape-moving :override) (smush smush-control :inline :offset-assert 208) (basetrans vector :inline :offset-assert 240) (bounce-time time-frame :offset-assert 256) @@ -33717,7 +33767,7 @@ (deftype eco-door (process-drawable) "@unused - Likely a left-over from Jak 1" - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (speed float :offset-assert 200) (open-distance float :offset-assert 204) (close-distance float :offset-assert 208) @@ -34240,7 +34290,7 @@ (declare-type water-anim process-drawable) (deftype rigid-body-platform (rigid-body-object) - ((info-override rigid-body-platform-constants :offset 204 :score 100) + ((info rigid-body-platform-constants :override) (control-point-array rigid-body-control-point-inline-array :offset-assert 272) ;; guessed by decompiler (player-velocity vector :inline :offset-assert 288) (player-velocity-prev vector :inline :offset-assert 304) @@ -34408,7 +34458,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype simple-nav-sphere (process-drawable) - ((root-override collide-shape :offset 128 :score 999) + ((root collide-shape :override) (first-time? symbol :offset-assert 200) (track-joint int32 :offset-assert 204) ) @@ -34621,7 +34671,7 @@ (deftype warp-gate (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) (level-name uint32 :offset-assert 200) (on-notice pair :offset-assert 204) (on-activate pair :offset-assert 208) @@ -36271,7 +36321,7 @@ ) (deftype forest-youngsamos (process-focusable) - ((root-override2 collide-shape-moving :offset 128 :score 999) + ((root collide-shape-moving :override) (init-quat quaternion :inline :offset-assert 208) (desired-pos vector :inline :offset-assert 224) (hit-dir vector :inline :offset-assert 240) @@ -37370,7 +37420,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype fort-trap-door (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 10) + ((root collide-shape-moving :override) (notify-actor entity-actor :offset-assert 200) ) :method-count-assert 22 @@ -37753,7 +37803,7 @@ ) (deftype fire-floor (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (part-off sparticle-launch-control :offset-assert 200) (size float 2 :offset-assert 204) (attack-id uint32 :offset-assert 212) @@ -37887,7 +37937,7 @@ ) (deftype drill-falling-door (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (hit-state int32 :offset-assert 200) (next-hit-state int32 :offset-assert 204) ) @@ -37930,7 +37980,7 @@ ) (deftype drill-metalhead-eggs (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (actor-group actor-group :offset-assert 200) (notify-actor entity-actor :offset-assert 204) ) @@ -37968,7 +38018,7 @@ ) (deftype drill-bridge-shot (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (anim art-joint-anim :offset-assert 200) (art-name string :offset-assert 204) ) @@ -38044,7 +38094,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype drill-barons-ship (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (init-quat quaternion :inline :offset-assert 208) (next-to-shoot-idx int32 :offset-assert 224) (current-y-position float :offset-assert 228) @@ -38092,7 +38142,7 @@ ) (deftype drill-barons-ship-turret (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (info barons-ship-turret-info :offset-assert 200) (shot-timer time-frame :offset-assert 208) (shot-counter int32 :offset-assert 216) @@ -38471,7 +38521,7 @@ (deftype mtn-dice (process-drawable) ( - (root-override collide-shape-moving :offset 128 :score 100) + (root collide-shape-moving :override) (incoming-attack-id uint32 :offset-assert 200) (watervol entity-actor :offset-assert 204) (face-matrix matrix 6 :inline :offset-assert 208) ;; elt size: 64 @@ -38683,7 +38733,7 @@ (deftype mtn-iris-door (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) ) :method-count-assert 22 :size-assert #xc8 @@ -38721,7 +38771,7 @@ (deftype mtn-plat-buried-rocks (process-drawable) ( - (root-override collide-shape :offset 128 :score 1) + (root collide-shape :override) ) :method-count-assert 22 :size-assert #xc8 @@ -40393,7 +40443,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype cntrlrm-door (process-drawable) - ((root-override collide-shape :offset 128 :score 100) ;; originally called 'root' proof that they had some ability to override with the same name + ((root collide-shape :override) (unknown-pad-k1jhb2n3k1j int32 52 :offset-assert 200) ;; ?? ) :method-count-assert 22 @@ -40406,7 +40456,7 @@ ) (deftype cntrlrm-button (process-drawable) - ((root-override collide-shape :offset 128 :score 100) ;; originally called 'root' proof that they had some ability to override with the same name + ((root collide-shape :override) (unknown-pad-n12jn3123123 int32 52 :offset-assert 200) ;; ?? ) :method-count-assert 21 @@ -40455,7 +40505,7 @@ (deftype cranecrate (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) (unknown-pad-n12jn3123123 int32 52 :offset-assert 200) ;; ?? ) :method-count-assert 22 @@ -40531,7 +40581,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype strip-hazard (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 100) + ((root collide-shape-moving :override) (sync sync-linear :inline :offset-assert 200) (shove-vec vector :inline :offset-assert 224) (no-collision-timer uint64 :offset-assert 240) @@ -40578,7 +40628,7 @@ ) (deftype grenade-point (process-drawable) - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (camera-name string :offset-assert 200) (parented? symbol :offset-assert 204) (lightning-time time-frame :offset-assert 208) @@ -40803,7 +40853,7 @@ ) (deftype atollrotpipe (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (smush smush-control :inline :offset 200) (init-quat quaternion :inline :offset 240) (rot-angle float :offset 256) @@ -40820,7 +40870,7 @@ ) (deftype slider (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (path-pos float :offset-assert 200) (sync sync-eased :inline :offset-assert 208) (attack-id uint32 :offset-assert 252) @@ -41456,7 +41506,7 @@ (deftype sew-mar-statue (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) (spawned-debris? symbol :offset-assert 200) ) :method-count-assert 22 @@ -41479,7 +41529,7 @@ (deftype sew-mine (process-drawable) ( - (root-override collide-shape-moving :offset 128 :score 100) + (root collide-shape-moving :override) (last-time time-frame :offset-assert 200) ) :method-count-assert 23 @@ -42124,7 +42174,7 @@ (deftype fort-robotank (process-drawable) ( - (root-override collide-shape-moving :offset 128 :score 100) + (root collide-shape-moving :override) (barrel-part sparticle-launch-control :offset-assert 200) (roller-jmod joint-mod :offset-assert 204) (vibe-jmod joint-mod :offset-assert 208) @@ -42185,7 +42235,7 @@ (deftype fort-dump-bomb-a (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) ) :method-count-assert 22 :size-assert #xc8 @@ -42197,7 +42247,7 @@ ) (deftype fort-missile-target (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 100) + ((root collide-shape-moving :override) (part-mat matrix 2 :inline :offset-assert 208) ;; a total guess (sound-id uint32 :offset-assert 336) ) @@ -42211,7 +42261,7 @@ ) (deftype fort-missile (process-drawable) - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (part-doom sparticle-launch-control :offset-assert 200) (hud handle :offset-assert 208) (door-actor entity-actor 2 :offset-assert 216) @@ -42802,7 +42852,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype metalkor-bomb (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (joint-mods joint-mod 49 :offset-assert 200) ) :method-count-assert 21 @@ -42856,7 +42906,7 @@ ) (deftype metalkor-distort (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 21 :size-assert #xc8 @@ -43573,7 +43623,7 @@ (deftype pal-prong (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) ) :method-count-assert 23 :size-assert #xc8 @@ -43628,7 +43678,7 @@ (deftype fort-elec-switch (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) (l-bolt lightning-control :offset-assert 200) (notify-actor entity-actor :offset-assert 204) (tank-actor entity-actor :offset-assert 208) @@ -43646,7 +43696,7 @@ ) (deftype fort-fence (process-drawable) - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (anim spool-anim :offset-assert 200) (exit-anim basic :offset-assert 204) (loading? symbol :offset-assert 208) @@ -43940,7 +43990,7 @@ (deftype cas-trapdoor (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) ) :method-count-assert 22 :size-assert #xc8 ;; 200 @@ -44019,7 +44069,7 @@ (deftype lightning-ball (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) (timer time-frame :offset-assert 200) ) :method-count-assert 21 @@ -44171,7 +44221,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype tomb-spider (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 21 :size-assert #xc8 @@ -44182,7 +44232,7 @@ ) (deftype tomb-boulder-stop (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (prefix string :offset-assert 200) ) :method-count-assert 21 @@ -44194,7 +44244,7 @@ ) (deftype tomb-boulder-pillar (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (prefix string :offset-assert 200) ) :method-count-assert 21 @@ -44208,7 +44258,7 @@ (declare-type tomb-wing-door com-airlock) (deftype tomb-boulder (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (art-name string :offset-assert 200) (anim spool-anim :offset-assert 204) (loop-id sound-id :offset-assert 208) @@ -44245,7 +44295,7 @@ ) (deftype spider-eyes (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (node-index uint32 :offset-assert 200) ) :method-count-assert 22 @@ -44331,7 +44381,7 @@ ) (deftype squid-tentacle (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (chain-joints squid-tentacle-chain 11 :inline :offset-assert 208) (gravity vector :inline :offset-assert 912) (gravity-target vector :inline :offset-assert 928) @@ -44703,7 +44753,7 @@ (deftype pal-falling-plat (process-drawable) ( - (root-override collide-shape-moving :offset 128 :score 100) + (root collide-shape-moving :override) ) :method-count-assert 22 :size-assert #xc8 @@ -44857,7 +44907,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype mech (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (extra-trans vector :inline :offset-assert 208) (condition int32 :offset-assert 224) (shadow-backup basic :offset-assert 228) @@ -45029,7 +45079,7 @@ ) (deftype pal-electric-fan (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (poles pal-fan-pole 3 :inline :offset-assert 200) (no-collision-timer time-frame :offset 536) (sound-timer time-frame :offset-assert 544) @@ -45046,7 +45096,7 @@ ) (deftype pal-cable-nut (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (sync sync-linear :inline :offset-assert 200) (init-quat quaternion :inline :offset-assert 224) (sound-played? symbol 2 :offset-assert 240) @@ -45449,7 +45499,7 @@ (deftype stad-samos (process-focusable) ( - (root-override2 collide-shape-moving :offset 128 :score 101) + (root collide-shape-moving :override) (rift-rider-actor entity-actor :offset-assert 204) (lightning handle 4 :offset-assert 208) ;; elt size: 8 (speed float :offset-assert 240) @@ -45923,7 +45973,7 @@ ) (deftype tomb-stair-block-spikes (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 21 :size-assert #xc8 @@ -45946,7 +45996,7 @@ ) (deftype tomb-stair-block (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (initial-y float :offset-assert 200) (spike-info tomb-stair-block-spike-info 4 :inline :offset 208) (camera-state int32 :offset 336) @@ -46022,7 +46072,7 @@ ) (deftype tomb-boulder-door (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 22 :size-assert #xc8 @@ -46055,7 +46105,7 @@ ) (deftype tomb-sphinx (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (target-actor entity-actor :offset-assert 200) (sound-id sound-id :offset-assert 204) (move-dir float :offset 216) @@ -46570,7 +46620,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype tomb-boss-catwalk (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (which-look int32 :offset-assert 200) ) :method-count-assert 23 @@ -46627,7 +46677,7 @@ ) (deftype heart-mar (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 21 :size-assert #xc8 @@ -46638,7 +46688,7 @@ ) (deftype tomb-boss-pillar (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (explode-part sparticle-launch-control :offset-assert 200) (segs-shot int32 :offset-assert 204) (last-pillar-hit time-frame :offset-assert 208) @@ -46654,7 +46704,7 @@ ) (deftype tomb-boss-firepot (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 23 :size-assert #xc8 @@ -46681,7 +46731,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype tomb-boss-debris (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (y-velocity float :offset-assert 200) (floor float :offset-assert 204) (sound-floor float :offset-assert 208) @@ -46960,7 +47010,7 @@ ) (deftype ctyport-mine (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 100) + ((root collide-shape-moving :override) (info city-port-run-mine-info :offset-assert 200) (base-height float :offset-assert 204) (center vector :inline :offset-assert 208) @@ -47915,7 +47965,7 @@ ) (deftype under-mine (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (chain under-mine-chain-physics :offset-assert 200) (chain-initialized symbol :offset-assert 204) (main-mod joint-mod :offset-assert 208) @@ -48032,7 +48082,7 @@ ) (deftype under-break-floor (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 23 :size-assert #xc8 @@ -48056,7 +48106,7 @@ ) (deftype under-break-bridge (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (bridge-id int8 :offset-assert 200) ) :method-count-assert 23 @@ -48095,7 +48145,7 @@ ) (deftype under-plat-wall (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (extended-amount float :offset-assert 200) (in-trans vector :inline :offset-assert 208) (out-trans vector :inline :offset-assert 224) @@ -48149,7 +48199,7 @@ ) (deftype under-laser-shadow (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (info under-laser-info :offset-assert 200) (trans-xz-offset vector :inline :offset-assert 208) ) @@ -48162,7 +48212,7 @@ ) (deftype under-laser-slave (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) ) :method-count-assert 21 :size-assert #xc8 @@ -48173,7 +48223,7 @@ ) (deftype under-laser (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (info under-laser-info :offset-assert 200) (id int8 :offset-assert 204) (lightning lightning-control :offset-assert 208) @@ -49558,8 +49608,8 @@ (declare-type vehicle-physics-work structure) (deftype vehicle (rigid-body-object) ( - (self-override vehicle :offset 32 :score 999) - (info-override rigid-body-vehicle-constants :offset 204 :score 999) + (self vehicle :override) + (info rigid-body-vehicle-constants :override) (pad uint32 2 :offset-assert 272) (vehicle-jkhn1b23jn1 int64 :offset-assert 280) ;; (method 96 vehicle) (controls vehicle-controls :inline :offset-assert 288) @@ -49917,7 +49967,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype vehicle-rider (process-focusable) - ((parent-override (pointer vehicle) :offset 16 :score 100) + ((parent (pointer vehicle) :override) (flags uint8 :offset-assert 204) (riding-anim int32 :offset-assert 208) (anim-t float :offset-assert 212) @@ -50360,6 +50410,46 @@ ;; race-h ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(defenum racer-info-flags + :bitfield #t + :type uint8 + (hide-in-scene) + ) + +(defenum race-info-flags + :bitfield #t + :type uint8 + (city-race) + (pidax) + (complete-immediately) + (retryable) + (borrow) + (bbush) + (show-tutorial) + ) + +(defenum race-flags + :bitfield #t + :type uint8 + (begun) + (pidax) ;; verify + (ready) + (sleep) + ) + +(defenum racer-flags + :bitfield #t + :type uint8 + (in-race) + (finished) + (dead) + (racerflag-3) + (racerflag-4) + (saved-score) + (on-track) + (unknown) + ) + (deftype race-turbo-pad (structure) ((position vector :inline :offset-assert 0) (handle handle :offset-assert 16) @@ -50383,7 +50473,7 @@ (deftype race-racer-info (structure) ((rider uint8 :offset-assert 0) (vehicle uint8 :offset-assert 1) - (flags uint8 :offset-assert 2) + (flags racer-info-flags :offset-assert 2) (seek-offset int8 :offset-assert 3) ) :method-count-assert 9 @@ -50394,7 +50484,7 @@ (deftype race-info (basic) ((race-mesh-name string :offset-assert 4) (path-group-name string :offset-assert 8) - (task-node uint16 :offset-assert 12) + (task-node game-task-node :offset-assert 12) (mesh race-mesh :offset-assert 16) (ai-min-speed-factor float :offset-assert 20) (ai-max-speed-factor float :offset-assert 24) @@ -50404,7 +50494,7 @@ (finish-sphere sphere :inline :offset-assert 64) (finish-dir vector :inline :offset-assert 80) (player-intro-pos vector :inline :offset-assert 96) - (flags uint8 :offset-assert 112) + (flags race-info-flags :offset-assert 112) (score uint8 :offset-assert 113) (lap-count int8 :offset-assert 114) (racer-count int8 :offset-assert 115) @@ -50421,8 +50511,8 @@ (manager handle :offset-assert 144) (manager-handle-init-hack basic :offset 144) (hatch-actor-name string :offset-assert 152) - (countdown-scene basic :offset-assert 156) - (complete-continue basic :offset-assert 160) + (countdown-scene string :offset-assert 156) + (complete-continue string :offset-assert 160) (start-camera string :offset-assert 164) (go-speech uint16 :offset-assert 168) ) @@ -50430,7 +50520,7 @@ :size-assert #xaa :flag-assert #xa000000aa (:methods - (race-info-method-9 (_type_) none 9) + (initialize-mesh (_type_) none 9) ) ) @@ -50439,7 +50529,7 @@ (deftype racer-state (structure) ((position vector :inline :offset-assert 0) (racer handle :offset-assert 16) - (flags uint8 :offset-assert 24) + (flags racer-flags :offset-assert 24) (rank int8 :offset-assert 25) (finish-count int8 :offset-assert 26) (lap-count int8 :offset-assert 27) @@ -50460,7 +50550,7 @@ :size-assert #x70 :flag-assert #xe00000070 (:methods - (racer-state-method-9 (_type_ race-state) none 9) + (update-lap-distance (_type_ race-state) none 9) (begin-lap (_type_ race-state) none 10) (end-lap (_type_ race-state) none 11) (print-laps (_type_ race-state string) none 12) @@ -50468,10 +50558,23 @@ ) ) +(defenum race-state-enum + :type uint8 + (idle) + (player-get-on) + (player-set-pos) + (countdown-scene-start) + (countdown-scene) + (countdown-start) + (countdown) + (active) + (all-dead) + ) + (deftype race-state (structure) ((info race-info :offset-assert 0) - (flags uint8 :offset-assert 4) - (state uint8 :offset-assert 5) + (flags race-flags :offset-assert 4) + (state race-state-enum :offset-assert 5) (racer-count int8 :offset-assert 6) (finished-count int8 :offset-assert 7) (i-player int8 :offset-assert 8) @@ -50499,14 +50602,14 @@ (:methods (init-racers! (_type_ process-drawable) none 9) (begin-race (_type_) none 10) - (race-state-method-11 (_type_) none 11) - (race-state-method-12 (_type_) none 12) - (race-state-method-13 (_type_) none 13) - (race-state-method-14 (_type_) none 14) - (race-state-method-15 (_type_) none 15) + (update (_type_) none 11) + (update-rankings (_type_) none 12) + (debug-print-rankings (_type_) none 13) + (update-racers (_type_) none 14) + (spawn-race-signal (_type_) none 15) (initialize (_type_ process race-info) none 16) - (race-state-method-17 (_type_) none 17) - (race-state-method-18 (_type_) none 18) + (set-speech-tables! (_type_) none 17) + (setup-race (_type_) none 18) ) ) @@ -50527,14 +50630,14 @@ (win () _type_ :state 17) (lose () _type_ :state 18) (die () _type_ :state 19) - (race-manager-method-20 (_type_) none 20) + (update (_type_) int 20) (initialize-state (_type_) none 21) (race-manager-method-22 (_type_) none 22) - (race-manager-method-23 (_type_) none 23) - (race-manager-method-24 (_type_) none 24) - (race-manager-method-25 (_type_) none 25) - (race-manager-method-26 (_type_ float) none 26) - (race-manager-method-27 (_type_) none 27) + (initialize-race-state (_type_) none 23) + (draw-message-continue (_type_) none 24) + (draw-message-retry (_type_) none 25) + (save-score (_type_ float) none 26) + (stop-speech (_type_) none 27) ) ) @@ -50551,6 +50654,19 @@ ;; race-mesh ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(defenum race-mesh-flags + :bitfield #t + :type uint8 + (racemeshflag-0) + (racemeshflag-1) + (racemeshflag-2) + (racemeshflag-3) + (racemeshflag-4) + (racemeshflag-5) + (racemeshflag-6) + (racemeshflag-7) + ) + (deftype race-mesh-hash-search (structure) ((best-dist float :offset-assert 0) (debug-cells-searched int32 :offset-assert 4) @@ -50676,7 +50792,7 @@ (deftype race-mesh (basic) ((version uint8 :offset-assert 4) (path-group-count uint8 :offset-assert 5) - (flags uint8 :offset-assert 6) + (flags race-mesh-flags :offset-assert 6) (pad uint8 1 :offset-assert 7) (slice-count int16 :offset-assert 8) (edge-count int16 :offset-assert 10) @@ -50768,7 +50884,7 @@ ) (deftype turbo-pickup (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (available symbol :offset-assert 200) ) :method-count-assert 23 @@ -50862,7 +50978,7 @@ (define-extern race-manager-event-handler (function process int symbol event-message-block object :behavior race-manager)) (define-extern *race-manager* (pointer race-manager)) (define-extern race-manager-init-by-other (function race-info symbol none :behavior race-manager)) -(define-extern race-start (function int symbol symbol process)) +(define-extern race-start (function int process symbol process)) (define-extern race-kill (function none)) (define-extern type-from-race-vehicle-type (function uint type)) (define-extern race-vehicle-entity-hack (function none)) @@ -51927,7 +52043,7 @@ ) (deftype turbo-ring (process-drawable) - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (touch-time time-frame :offset-assert 200) (minimap connection-minimap :offset-assert 208) (player-got symbol :offset-assert 212) @@ -52029,7 +52145,7 @@ (deftype security-wall (process-drawable) ( - (root-override collide-shape :offset 128 :score 100) + (root collide-shape :override) (pass int32 :offset-assert 200) (incoming-attack-id uint32 :offset-assert 204) (next-message-time int64 :offset-assert 208) @@ -52552,7 +52668,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype mechblock (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (origin vector :inline :offset-assert 208) (drop-point vector :inline :offset 256) (allow-drag? symbol :offset-assert 272) @@ -52663,7 +52779,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (deftype ruins-pillar-collapse (process-drawable) - ((root-override collide-shape-moving :offset 128 :score 1) + ((root collide-shape-moving :override) (player-attack-id int32 :offset-assert 200) (fall-anim-index int32 :offset-assert 204) (hit-points int8 :offset-assert 208) @@ -52838,7 +52954,7 @@ ) (deftype tanker-container (process-drawable) - ((root-override collide-shape :offset 128 :score 100)) + ((root collide-shape :override)) :method-count-assert 23 :size-assert #xc8 :flag-assert #x17005000c8 @@ -52850,7 +52966,7 @@ ) (deftype tanker-crash (process-drawable) - ((root-override collide-shape :offset 128 :score 100)) + ((root collide-shape :override)) :method-count-assert 22 :size-assert #xc8 :flag-assert #x16005000c8 @@ -52861,7 +52977,7 @@ ) (deftype tanker-deadly (process-drawable) - ((root-override collide-shape :offset 128 :score 100) + ((root collide-shape :override) (track-joint int32 :offset-assert 200) (attack-id uint32 :offset-assert 204) (die-time time-frame :offset-assert 208) diff --git a/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc b/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc index 17fa71d63a..0c1794ea72 100644 --- a/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc +++ b/decompiler/config/jak2/ntsc_v1/anonymous_function_types.jsonc @@ -655,7 +655,7 @@ "target-mech": [ [7, "(function none :behavior target)"], [8, "(function none :behavior mech)"], - [9, "(function none :behavior target)"], + [9, "(function none :behavior manipy)"], [18, "(function surface object surface int none :behavior target)"], [19, "(function surface object surface int none :behavior target)"] ], diff --git a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc index ec26032820..da5cd58e86 100644 --- a/decompiler/config/jak2/ntsc_v1/type_casts.jsonc +++ b/decompiler/config/jak2/ntsc_v1/type_casts.jsonc @@ -2503,14 +2503,6 @@ [66, "v1", "(pointer int32)"] ], "(code othercam-running)": [[[2, 65], "s2", "process-drawable"]], - "hud-ring-cell-init-by-other": [ - [36, "a0", "progress"], - [45, "v1", "progress"], - [56, "a0", "progress"], - [132, "a1", "progress"], - [159, "a1", "progress"], - [178, "a1", "progress"] - ], "(enter othercam-running)": [[[50, 60], "gp", "process-drawable"]], "(post idle hud-ring-cell)": [ [8, "a1", "progress"], @@ -2595,31 +2587,7 @@ "target-board-real-post": [[346, "v0", "sound-rpc-set-param"]], "target-board-effect": [[334, "v0", "sound-rpc-set-param"]], "target-board-handler": [[123, "a0", "process"]], - "(trans target-flop-hit-ground)": [ - [52, "v1", "fact-info-target"], - [58, "v1", "fact-info-target"] - ], "(code target-flop)": [[32, "v1", "art-joint-anim"]], - "(trans target-flop)": [ - [73, "v1", "fact-info-target"], - [79, "v1", "fact-info-target"], - [108, "v1", "fact-info-target"], - [114, "v1", "fact-info-target"], - [187, "v1", "fact-info-target"], - [193, "v1", "fact-info-target"] - ], - "(enter target-flop)": [ - [2, "v1", "fact-info-target"], - [8, "v1", "fact-info-target"] - ], - "(trans target-attack-uppercut-jump)": [ - [183, "v1", "fact-info-target"], - [189, "v1", "fact-info-target"] - ], - "(trans target-attack-air)": [ - [83, "v1", "fact-info-target"], - [89, "v1", "fact-info-target"] - ], "(code target-running-attack)": [ [115, "gp", "art-joint-anim"], [398, "v1", "art-joint-anim"], @@ -2652,16 +2620,8 @@ "(enter target-double-jump)": [[15, "v1", "vector"]], "(enter target-jump)": [[42, "v1", "vector"]], "(enter target-high-jump)": [[21, "v1", "vector"]], - "(code target-attack)": [ - [145, "gp", "art-joint-anim"], - [177, "v1", "fact-info-target"], - [183, "v1", "fact-info-target"] - ], + "(code target-attack)": [[145, "gp", "art-joint-anim"]], "(event target-running-attack)": [[48, "v1", "target"]], - "(trans target-running-attack)": [ - [211, "v1", "fact-info-target"], - [217, "v1", "fact-info-target"] - ], "target-gun-end-mode": [[58, "v0", "sound-rpc-set-param"]], "target-board-physics": [[167, "v0", "sound-rpc-set-param"]], "clone-anim-once": [ @@ -3008,29 +2968,7 @@ [46, "a0", "fact-info-target"] ], "want-to-darkjak?": [[53, "a0", "fact-info-target"]], - "target-powerup-process": [ - [235, "v0", "sound-rpc-set-param"], - [253, "v1", "fact-info-target"], - [259, "a0", "fact-info-target"], - [262, "a0", "fact-info-target"], - [268, "v1", "fact-info-target"], - [283, "v1", "fact-info-target"], - [313, "a0", "fact-info-target"], - [366, "v1", "fact-info-target"], - [390, "v1", "fact-info-target"], - [407, "v1", "fact-info-target"] - ], - "target-eco-process": [ - [1, "v1", "fact-info-target"], - [11, "a0", "fact-info-target"], - [19, "v1", "fact-info-target"], - [21, "v1", "fact-info-target"], - [14, "a0", "fact-info-target"], - [54, "v1", "fact-info-target"], - [77, "v1", "fact-info-target"], - [82, "a3", "fact-info-target"], - [97, "v1", "fact-info-target"] - ], + "target-powerup-process": [[235, "v0", "sound-rpc-set-param"]], "cloud-track": [ [[19, 83], "s1", "handle"], [[29, 116], "s2", "handle"] @@ -3089,7 +3027,6 @@ [231, "a0", "region-prim-area"], [238, "v1", "region-prim-area"] ], - "target-danger-set!": [[823, "v1", "fact-info-target"]], "(method 26 target)": [[23, "v0", "float"]], "(method 11 attack-info)": [ [[118, 130], "v1", "process-drawable"], @@ -3097,10 +3034,6 @@ ], "(method 10 attack-info)": [[13, "a1", "collide-shape"]], "target-log-attack": [[47, "a3", "attack-info"]], - "can-hands?": [ - [39, "a0", "fact-info-target"], - [45, "a0", "fact-info-target"] - ], "target-attacked": [ [56, "v1", "fact-info-target"], [66, "v1", "fact-info-target"], @@ -4904,7 +4837,9 @@ "(method 10 gem)": [[12, "t9", "(function gem none)"]], "(method 9 fact-info)": [ [245, "a0", "process-drawable"], - [293, "a0", "process-drawable"] + [293, "a0", "process-drawable"], + [187, "v1", "pickup-type"], + [[174, 309], "s2", "pickup-type"] ], "(method 179 fodder)": [[[16, 20], "a0", "process-focusable"]], "(code notice fodder)": [ diff --git a/decompiler/config/jak2/ntsc_v1/var_names.jsonc b/decompiler/config/jak2/ntsc_v1/var_names.jsonc index c35bc42200..944f12ce9a 100644 --- a/decompiler/config/jak2/ntsc_v1/var_names.jsonc +++ b/decompiler/config/jak2/ntsc_v1/var_names.jsonc @@ -4331,5 +4331,15 @@ }, "cloud-texture-anim-layer-func": { "args": ["dma-buf", "fbp-to-draw", "width", "height", "layer", "time"] + }, + "(anon-function 9 target-mech)": { + "vars": { + "a0-0": ["a0-0", "(pointer target)"] + } + }, + "(method 9 fact-info)": { + "vars": { + "s2-0": ["s2-0", "pickup-type"] + } } } diff --git a/decompiler/util/data_decompile.cpp b/decompiler/util/data_decompile.cpp index ea612c859c..d8a0dba4af 100644 --- a/decompiler/util/data_decompile.cpp +++ b/decompiler/util/data_decompile.cpp @@ -1235,8 +1235,8 @@ goos::Object decompile_structure(const TypeSpec& type, fmt::format("Failed to decompile: looking at field {} (from {}) with type {}", field.name(), type_info->get_name(), field.type().print())); } - field_defs_out.emplace_back(field.name(), - decompile_value(field.type(), bytes_out, ts)); + field_defs_out.emplace_back(field.name(), decompile_value(field.type(), bytes_out, ts, + field.decomp_as_type())); } } } @@ -1517,7 +1517,8 @@ goos::Object bitfield_defs_print(const TypeSpec& type, goos::Object decompile_value(const TypeSpec& type, const std::vector& bytes, - const TypeSystem& ts) { + const TypeSystem& ts, + const std::optional decomp_as_type) { auto as_enum = ts.try_enum_lookup(type); if (as_enum) { ASSERT((int)bytes.size() == as_enum->get_load_size()); @@ -1566,93 +1567,107 @@ goos::Object decompile_value(const TypeSpec& type, } } + const auto& output_type = decomp_as_type ? *decomp_as_type : type; // try as common integer types: + auto print_int = [](s64 val, bool is_signed, const TypeSpec& ts, s64 hex_cutoff = 100) { + if (ts == TypeSpec("seconds") || ts == TypeSpec("time-frame")) { + return pretty_print::to_symbol( + fmt::format("(seconds {})", fixed_point_to_string(val, TICKS_PER_SECOND))); + } else if (!is_signed || val > hex_cutoff) { + return pretty_print::to_symbol(fmt::format("#x{:x}", u64(val))); + } else { + return pretty_print::to_symbol(fmt::format("{}", val)); + } + }; + auto print_float = [](double val, const TypeSpec& ts) { + if (ts == TypeSpec("meters")) { + double meters = val / METER_LENGTH; + auto rep = pretty_print::float_representation(meters); + if (rep.print().find("the-as") != std::string::npos) { + return rep; + } else { + return pretty_print::to_symbol(fmt::format("(meters {})", meters_to_string(val))); + } + } else if (ts == TypeSpec("degrees")) { + double degrees = val / DEGREES_LENGTH; + auto rep = pretty_print::float_representation(degrees); + if (rep.print().find("the-as") != std::string::npos) { + return rep; + } else { + return pretty_print::to_symbol(fmt::format("(degrees {})", degrees_to_string(val))); + } + } else if (ts == TypeSpec("fsec")) { + double seconds = val / TICKS_PER_SECOND; + auto rep = pretty_print::float_representation(seconds); + if (rep.print().find("the-as") != std::string::npos) { + return rep; + } else { + return pretty_print::to_symbol(fmt::format("(fsec {})", float_to_string(seconds, false))); + } + } else { + return pretty_print::float_representation(val); + } + }; if (ts.tc(TypeSpec("uint32"), type)) { ASSERT(bytes.size() == 4); u32 value; memcpy(&value, bytes.data(), 4); - return pretty_print::to_symbol(fmt::format("#x{:x}", u64(value))); + return print_int(value, false, output_type); } else if (ts.tc(TypeSpec("int32"), type)) { ASSERT(bytes.size() == 4); s32 value; memcpy(&value, bytes.data(), 4); - if (value > 100) { - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); - } else { - return pretty_print::to_symbol(fmt::format("{}", value)); - } + return print_int(value, true, output_type); } else if (ts.tc(TypeSpec("uint16"), type)) { ASSERT(bytes.size() == 2); u16 value; memcpy(&value, bytes.data(), 2); - return pretty_print::to_symbol(fmt::format("#x{:x}", u64(value))); + return print_int(value, false, output_type); } else if (ts.tc(TypeSpec("int16"), type)) { ASSERT(bytes.size() == 2); s16 value; memcpy(&value, bytes.data(), 2); - if (value > 100) { - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); - } else { - return pretty_print::to_symbol(fmt::format("{}", value)); - } - } else if (ts.tc(TypeSpec("int8"), type)) { - ASSERT(bytes.size() == 1); - s8 value; - memcpy(&value, bytes.data(), 1); - if (value > 5) { - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); - } else { - return pretty_print::to_symbol(fmt::format("{}", value)); - } - } else if (type == TypeSpec("seconds") || type == TypeSpec("time-frame")) { - ASSERT(bytes.size() == 8); - s64 value; - memcpy(&value, bytes.data(), 8); - - 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; - memcpy(&value, bytes.data(), 8); - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); - } else if (ts.tc(TypeSpec("int64"), type)) { - ASSERT(bytes.size() == 8); - s64 value; - memcpy(&value, bytes.data(), 8); - if (value > 100) { - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); - } else { - return pretty_print::to_symbol(fmt::format("{}", value)); - } - } else if (type == TypeSpec("meters")) { - ASSERT(bytes.size() == 4); - float value; - memcpy(&value, bytes.data(), 4); - double meters = (double)value / METER_LENGTH; - auto rep = pretty_print::float_representation(meters); - if (rep.print().find("the-as") != std::string::npos) { - return rep; - // return pretty_print::build_list("the-as", "meters", rep); - } else { - return pretty_print::to_symbol(fmt::format("(meters {})", meters_to_string(value))); - } - } else if (type == TypeSpec("degrees")) { - ASSERT(bytes.size() == 4); - float value; - memcpy(&value, bytes.data(), 4); - double degrees = (double)value / DEGREES_LENGTH; - return pretty_print::build_list("degrees", pretty_print::float_representation(degrees)); - } else if (ts.tc(TypeSpec("float"), type)) { - ASSERT(bytes.size() == 4); - float value; - memcpy(&value, bytes.data(), 4); - return pretty_print::float_representation(value); + return print_int(value, true, output_type); } else if (ts.tc(TypeSpec("uint8"), type)) { ASSERT(bytes.size() == 1); u8 value; memcpy(&value, bytes.data(), 1); - return pretty_print::to_symbol(fmt::format("#x{:x}", value)); + return print_int(value, false, output_type); + } else if (ts.tc(TypeSpec("int8"), type)) { + ASSERT(bytes.size() == 1); + s8 value; + memcpy(&value, bytes.data(), 1); + return print_int(value, true, output_type); + } else if (type == TypeSpec("seconds") || type == TypeSpec("time-frame")) { + ASSERT(bytes.size() == 8); + s64 value; + memcpy(&value, bytes.data(), 8); + return print_int(value, false, output_type); + } else if (ts.tc(TypeSpec("uint64"), type)) { + ASSERT(bytes.size() == 8); + u64 value; + memcpy(&value, bytes.data(), 8); + return print_int(value, false, output_type); + } else if (ts.tc(TypeSpec("int64"), type)) { + ASSERT(bytes.size() == 8); + s64 value; + memcpy(&value, bytes.data(), 8); + return print_int(value, true, output_type); + } else if (type == TypeSpec("meters")) { + ASSERT(bytes.size() == 4); + float value; + memcpy(&value, bytes.data(), 4); + return print_float(value, output_type); + } else if (type == TypeSpec("degrees")) { + ASSERT(bytes.size() == 4); + float value; + memcpy(&value, bytes.data(), 4); + return print_float(value, output_type); + } else if (ts.tc(TypeSpec("float"), type)) { + ASSERT(bytes.size() == 4); + float value; + memcpy(&value, bytes.data(), 4); + return print_float(value, output_type); } else { throw std::runtime_error(fmt::format("decompile_value failed on a {}", type.print())); } diff --git a/decompiler/util/data_decompile.h b/decompiler/util/data_decompile.h index 9adb5d4983..8799ded631 100644 --- a/decompiler/util/data_decompile.h +++ b/decompiler/util/data_decompile.h @@ -66,7 +66,8 @@ goos::Object decompile_boxed_array(const TypeSpec& type, GameVersion version); goos::Object decompile_value(const TypeSpec& type, const std::vector& bytes, - const TypeSystem& ts); + const TypeSystem& ts, + const std::optional decomp_as_type = std::nullopt); goos::Object decompile_value_array(const TypeSpec& elt_type, const Type* elt_type_info, int length, diff --git a/goal_src/jak2/characters/ashelin/ash-shot.gc b/goal_src/jak2/characters/ashelin/ash-shot.gc index 7558b90c38..5349849939 100644 --- a/goal_src/jak2/characters/ashelin/ash-shot.gc +++ b/goal_src/jak2/characters/ashelin/ash-shot.gc @@ -272,7 +272,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((v1-1 (-> obj root-override trans)) + (let* ((v1-1 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0)) (gp-0 (new 'stack-no-clear 'vector)) @@ -353,7 +353,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -391,7 +391,7 @@ (defmethod made-impact? ashelin-shot ((obj ashelin-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -408,7 +408,7 @@ (defun ashelin-shot-move ((arg0 ashelin-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -424,7 +424,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-9) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (the-as (state ashelin) (method-of-object arg0 impact))) ) @@ -477,9 +477,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (let ((v1-23 (-> obj parent))) @@ -492,7 +492,7 @@ (bot-flags attacked) ) ) - (let* ((a0-17 (-> obj root-override)) + (let* ((a0-17 (-> obj root)) (v1-27 (-> a0-17 root-prim)) ) (countdown (a0-18 (-> a0-17 total-prims)) @@ -507,7 +507,7 @@ (defmethod init-proj-settings! ashelin-shot ((obj ashelin-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 307200.0) (set! (-> obj move) ashelin-shot-move) diff --git a/goal_src/jak2/characters/ashelin/ash-states.gc b/goal_src/jak2/characters/ashelin/ash-states.gc index 70ea6a090a..803bbf9f51 100644 --- a/goal_src/jak2/characters/ashelin/ash-states.gc +++ b/goal_src/jak2/characters/ashelin/ash-states.gc @@ -323,11 +323,11 @@ (cond ((< f0-6 f28-0) (if (>= f0-6 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-1 (/ (- f0-6 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-1 (/ (- f0-6 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-1) + (quaternion-copy! (-> self root quat) s5-1) ) ) ) @@ -353,7 +353,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -563,8 +563,8 @@ ) (let ((gp-0 (-> self nav))) (set! (-> gp-0 target-speed) (lerp-scale - (-> self enemy-info-override walk-travel-speed) - (-> self enemy-info-override run-travel-speed) + (-> self enemy-info walk-travel-speed) + (-> self enemy-info run-travel-speed) (-> self focus-info bullseye-xz-dist) 81920.0 92160.0 @@ -625,18 +625,18 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self move-dest)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self move-dest)))) (let ((s5-0 (new 'stack-no-clear 'quaternion)) (s4-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s5-0 (-> self root-override2 quat)) + (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) frames num-frames) -1))) :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) + (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) (ja :num! (seek!)) ) @@ -649,7 +649,7 @@ (set! (-> self attack-id) a0-11) ) (countdown (s5-1 2) - (vector-! gp-1 (-> self move-dest) (-> self root-override2 trans)) + (vector-! gp-1 (-> self move-dest) (-> self root trans)) (let ((a0-14 (-> self nav state)) (v1-33 gp-1) ) @@ -669,7 +669,7 @@ (set! (-> v1-40 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-40 enemy-flags)))) ) (set! (-> v1-40 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-40 enemy-flags)))) - (set! (-> v1-40 nav callback-info) (-> v1-40 enemy-info-override callback-info)) + (set! (-> v1-40 nav callback-info) (-> v1-40 enemy-info callback-info)) ) 0 (let ((f0-13 (* 1.6153771 (vector-length gp-1)))) @@ -691,8 +691,8 @@ (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 1.0) (vector-negate! gp-1 gp-1) - (quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) - (quaternion-normalize! (-> self root-override2 quat)) + (quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) + (quaternion-normalize! (-> self root quat)) (suspend) (ja :num! (seek! max 1.4)) ) @@ -767,11 +767,11 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root-override2 trans)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root trans)))) (let ((s5-0 (new 'stack-no-clear 'quaternion)) (s4-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s5-0 (-> self root-override2 quat)) + (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 -16384.0) (ja-no-eval :group! (-> self draw art-group data 36) @@ -779,7 +779,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) + (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) (ja :num! (seek!)) ) @@ -810,7 +810,7 @@ (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-38 enemy-flags)))) ) (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-38 enemy-flags)))) - (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info-override callback-info)) + (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info callback-info)) ) 0 (let ((f0-13 (* 1.0714335 (vector-length gp-1)))) @@ -832,8 +832,8 @@ (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 1.0) (vector-rotate-around-y! gp-1 gp-1 -16384.0) - (quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) - (quaternion-normalize! (-> self root-override2 quat)) + (quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) + (quaternion-normalize! (-> self root quat)) (suspend) (ja :num! (seek!)) ) @@ -902,11 +902,11 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root-override2 trans)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root trans)))) (let ((s5-0 (new 'stack-no-clear 'quaternion)) (s4-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s5-0 (-> self root-override2 quat)) + (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 16384.0) (ja-no-eval :group! (-> self draw art-group data 39) @@ -914,7 +914,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) + (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) (ja :num! (seek!)) ) @@ -945,7 +945,7 @@ (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-38 enemy-flags)))) ) (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-38 enemy-flags)))) - (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info-override callback-info)) + (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info callback-info)) ) 0 (let ((f0-13 (* 1.8749386 (vector-length gp-1)))) @@ -967,8 +967,8 @@ (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 1.0) (vector-rotate-around-y! gp-1 gp-1 16384.0) - (quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) - (quaternion-normalize! (-> self root-override2 quat)) + (quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) + (quaternion-normalize! (-> self root quat)) (suspend) (ja :num! (seek!)) ) @@ -1122,8 +1122,8 @@ (else (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (-> self draw art-group data (if (enemy-method-133 self) - (-> self enemy-info-override die-falling-anim) - (-> self enemy-info-override die-anim) + (-> self enemy-info die-falling-anim) + (-> self enemy-info die-anim) ) ) ) diff --git a/goal_src/jak2/characters/ashelin/ash.gc b/goal_src/jak2/characters/ashelin/ash.gc index 91377ca56e..44bb512a02 100644 --- a/goal_src/jak2/characters/ashelin/ash.gc +++ b/goal_src/jak2/characters/ashelin/ash.gc @@ -196,7 +196,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 20) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -228,7 +228,7 @@ (set! (-> obj bot-flags) (logior (bot-flags bf22) (-> obj bot-flags))) (logclear! (-> obj bot-flags) (bot-flags bf22)) ) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (none) ) @@ -428,7 +428,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 7)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -498,19 +498,19 @@ (when (>= 16384.0 (fabs f30-0)) (let ((s5-0 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s5-0 (+ 32768.0 arg0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s5-0 (-> obj root trans)) (return 1) ) (cond ((< 0.0 f30-0) (when (ashelin-method-236 obj s5-0 (+ -16384.0 arg0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s5-0 (-> obj root trans)) (return 2) ) ) (else (when (ashelin-method-236 obj s5-0 (+ 16384.0 arg0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s5-0 (-> obj root trans)) (return 3) ) ) @@ -528,8 +528,8 @@ ) ) (when (logtest? (bot-flags bf20) (-> obj bot-flags)) - (set! (-> obj root-override2 trans w) 1.0) - (when (>= (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans)) 12288.0) + (set! (-> obj root trans w) 1.0) + (when (>= (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans)) 12288.0) (let ((f0-7 (atan (-> obj frontline x) (-> obj frontline z)))) (return (ashelin-method-243 obj f0-7)) ) @@ -540,7 +540,7 @@ (defmethod ashelin-method-241 ashelin ((obj ashelin)) (let* ((v1-0 (target-pos 0)) - (a1-0 (-> obj root-override2 trans)) + (a1-0 (-> obj root trans)) (f30-0 (atan (- (-> a1-0 x) (-> v1-0 x)) (- (-> a1-0 z) (-> v1-0 z)))) (f0-5 (deg- f30-0 (-> obj focus-info my-facing-ry))) (s5-0 0) @@ -554,14 +554,14 @@ (cond (s3-1 (when (ashelin-method-236 obj s4-0 (+ 16384.0 f30-0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-0 (-> obj root trans)) (set! s5-0 3) (goto cfg-20) ) ) (else (when (ashelin-method-236 obj s4-0 (+ -16384.0 f30-0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-0 (-> obj root trans)) (set! s5-0 2) (goto cfg-20) ) @@ -575,7 +575,7 @@ (else (let ((s4-1 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s4-1 (+ 32768.0 f30-0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-1 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-1 (-> obj root trans)) (set! s5-0 1) ) ) @@ -592,7 +592,7 @@ (when (>= 16384.0 (fabs (-> obj focus-info ry-diff))) (let ((s4-0 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s4-0 (+ 16384.0 (-> obj focus-info bullseye-ry)) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-0 (-> obj root trans)) (set! s5-0 3) ) ) @@ -602,7 +602,7 @@ (when (>= 16384.0 (fabs (-> obj focus-info ry-diff))) (let ((s4-1 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s4-1 (+ -16384.0 (-> obj focus-info bullseye-ry)) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-1 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-1 (-> obj root trans)) (set! s5-0 2) ) ) @@ -632,16 +632,16 @@ (defmethod ashelin-method-247 ashelin ((obj ashelin)) (cond ((logtest? (bot-flags bf20) (-> obj bot-flags)) - (set! (-> obj root-override2 trans w) 1.0) + (set! (-> obj root trans w) 1.0) (set! (-> obj focus-info bullseye w) 1.0) - (let ((f30-0 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans)))) + (let ((f30-0 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans)))) (let ((f0-4 (vector4-dot (the-as vector (-> obj frontline)) (-> obj focus-info bullseye)))) (if (or (>= 0.0 f0-4) (>= -8192.0 f30-0)) (return #t) ) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root-override2 trans)) + (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root trans)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (if (>= -0.342 (vector-dot s5-0 (the-as vector (-> obj frontline)))) @@ -654,7 +654,7 @@ (a0-8 (new 'stack-no-clear 'vector)) ) (vector-float*! a2-0 (the-as vector (-> obj frontline)) (- (-> obj frontline w))) - (set! (-> a0-8 quad) (-> obj root-override2 trans quad)) + (set! (-> a0-8 quad) (-> obj root trans quad)) (set! (-> a0-8 y) 0.0) (>= (intersect-ray-plane a0-8 s5-0 a2-0 (-> obj frontline)) 8192.0) ) @@ -669,14 +669,14 @@ (defmethod ashelin-method-248 ashelin ((obj ashelin)) (when (logtest? (bot-flags bf20) (-> obj bot-flags)) - (set! (-> obj root-override2 trans w) 1.0) + (set! (-> obj root trans w) 1.0) (set! (-> obj focus-info bullseye w) 1.0) - (let ((f0-3 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans))) + (let ((f0-3 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans))) (f1-1 (vector4-dot (the-as vector (-> obj frontline)) (-> obj focus-info bullseye))) ) (when (and (< 0.0 f1-1) (< 0.0 f0-3)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root-override2 trans)) + (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root trans)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (>= (vector-dot s5-0 (the-as vector (-> obj frontline))) 0.0) @@ -822,7 +822,7 @@ ) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-8 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-8 (quaternion-y-angle (-> obj root quat))) (f1-10 (deg- f0-8 (-> obj travel-prev-ry))) (f0-11 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-10)))) (f0-14 (/ (* 16.0 (fmax f30-0 f0-11)) (* 15.0 f28-1))) @@ -884,18 +884,15 @@ (defmethod enemy-method-51 ashelin ((obj ashelin)) (local-vars (v1-36 art-element)) - (let ((f28-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f28-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-6)) (let ((a0-4 (handle->process (-> obj focus handle)))) (when a0-4 (get-trans (the-as process-focusable a0-4) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -909,7 +906,7 @@ (let ((s5-1 (new 'stack-no-clear 'vector))) 0.0 0.0 - (vector-z-quaternion! s5-1 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-1 (-> obj root quat)) (let ((f28-1 (atan (-> s5-1 x) (-> s5-1 z)))) (enemy-method-50 obj s5-1) (let* ((f30-0 (atan (-> s5-1 x) (-> s5-1 z))) @@ -955,7 +952,7 @@ ) 0.0 0.0 - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-0 (-> obj root quat)) (let ((f30-0 (atan (-> s4-0 x) (-> s4-0 z)))) (enemy-method-50 obj s4-0) (let* ((f0-6 (atan (-> s4-0 x) (-> s4-0 z))) @@ -1238,7 +1235,7 @@ ) 0 (let ((s0-0 (new 'stack-no-clear 'nav-avoid-spheres-params))) - (vector-! (-> s0-0 current-pos) (-> obj root-override2 trans) (-> obj nav state mesh bounds)) + (vector-! (-> s0-0 current-pos) (-> obj root trans) (-> obj nav state mesh bounds)) (set! sv-272 (-> s0-0 travel)) (set! (-> sv-272 x) (sin arg1)) (set! (-> sv-272 y) 0.0) @@ -1252,13 +1249,7 @@ 0 (when (>= arg2 (fabs (deg- arg1 (atan (-> arg0 x) (-> arg0 z))))) (let ((t0-2 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info))) - (clamp-vector-to-mesh-no-gaps - (-> obj nav) - (-> obj root-override2 trans) - (-> obj nav state current-poly) - arg0 - t0-2 - ) + (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) (-> obj nav state current-poly) arg0 t0-2) ) (.lvf vf1 (&-> arg0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) diff --git a/goal_src/jak2/characters/baron_errol_metalkor/metalkor-texture.gc b/goal_src/jak2/characters/baron_errol_metalkor/metalkor-texture.gc index 62c9f20f6b..b3626d21dd 100644 --- a/goal_src/jak2/characters/baron_errol_metalkor/metalkor-texture.gc +++ b/goal_src/jak2/characters/baron_errol_metalkor/metalkor-texture.gc @@ -43,7 +43,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 3932160.0) + :end-st-rot (degrees 3932160) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -86,7 +86,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -108,7 +108,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func diff --git a/goal_src/jak2/characters/sig/sig-plasma.gc b/goal_src/jak2/characters/sig/sig-plasma.gc index ced2d01416..e6a82da971 100644 --- a/goal_src/jak2/characters/sig/sig-plasma.gc +++ b/goal_src/jak2/characters/sig/sig-plasma.gc @@ -183,7 +183,7 @@ ) ) (else - (let ((s4-0 (-> arg0 root-override trans))) + (let ((s4-0 (-> arg0 root trans))) (if (movie?) (set! s4-0 (camera-pos)) ) diff --git a/goal_src/jak2/characters/sig/sig-shot.gc b/goal_src/jak2/characters/sig/sig-shot.gc index 98b97f90ce..e9adf7f974 100644 --- a/goal_src/jak2/characters/sig/sig-shot.gc +++ b/goal_src/jak2/characters/sig/sig-shot.gc @@ -272,7 +272,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((v1-1 (-> obj root-override trans)) + (let* ((v1-1 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0)) (gp-0 (new 'stack-no-clear 'vector)) @@ -353,7 +353,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -389,7 +389,7 @@ (defmethod made-impact? sig-shot ((obj sig-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -406,7 +406,7 @@ (defun sig-shot-move ((arg0 sig-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -422,7 +422,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-9) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (method-of-object arg0 impact)) ) @@ -474,7 +474,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (let ((v1-22 (-> obj parent))) (when (not (logtest? (-> (the-as sig (if v1-22 @@ -486,7 +486,7 @@ (bot-flags attacked) ) ) - (let* ((a0-16 (-> obj root-override)) + (let* ((a0-16 (-> obj root)) (v1-27 (-> a0-16 root-prim)) ) (countdown (a0-17 (-> a0-16 total-prims)) @@ -496,7 +496,7 @@ ) ) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -504,7 +504,7 @@ (defmethod init-proj-settings! sig-shot ((obj sig-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 307200.0) (set! (-> obj move) sig-shot-move) diff --git a/goal_src/jak2/characters/sig/sig-states.gc b/goal_src/jak2/characters/sig/sig-states.gc index 7777cd6405..761efb330d 100644 --- a/goal_src/jak2/characters/sig/sig-states.gc +++ b/goal_src/jak2/characters/sig/sig-states.gc @@ -472,11 +472,11 @@ (cond ((< f0-24 f28-0) (if (>= f0-24 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-1 (/ (- f0-24 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-1 (/ (- f0-24 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-1) + (quaternion-copy! (-> self root quat) s5-1) ) ) ) @@ -945,7 +945,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1259,12 +1259,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -1313,12 +1308,7 @@ (let ((f30-1 (ja-aframe f30-0 0))) (ja-no-eval :group! gp-0 :num! (seek! f30-1) :frame-num 0.0) (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (bot-method-223 self #t) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1)) (or (not (bot-method-214 self)) (not (sig-method-245 self))) @@ -1663,7 +1653,7 @@ (if (logtest? (-> gp-0 flags) 2) (go-virtual sig-path-shoot-jump) ) - (let ((v1-14 (-> self root-override2))) + (let ((v1-14 (-> self root))) (set! (-> v1-14 trans quad) (-> gp-0 pos quad)) (set! (-> v1-14 trans w) 1.0) (quaternion-copy! (-> v1-14 quat) (-> gp-0 quat)) @@ -1684,7 +1674,7 @@ (ja-no-eval :group! (-> self draw art-group data 56) :num! (loop!)) (until #f (suspend) - (let* ((f0-1 (vector-length (-> self root-override2 transv))) + (let* ((f0-1 (vector-length (-> self root transv))) (f0-3 (fmax 0.1 (* 0.000020345053 f0-1))) ) (ja :num! (loop! f0-3)) @@ -1734,7 +1724,7 @@ (go-virtual sig-path-jump-land) ) ) - (let ((v1-27 (-> self root-override2))) + (let ((v1-27 (-> self root))) (set! (-> v1-27 trans quad) (-> gp-0 pos quad)) (set! (-> v1-27 trans w) 1.0) (quaternion-copy! (-> v1-27 quat) (-> gp-0 quat)) @@ -1802,7 +1792,7 @@ (go-virtual sig-path-shoot-jump) ) ) - (let ((v1-18 (-> self root-override2))) + (let ((v1-18 (-> self root))) (set! (-> v1-18 trans quad) (-> gp-0 pos quad)) (set! (-> v1-18 trans w) 1.0) (quaternion-copy! (-> v1-18 quat) (-> gp-0 quat)) @@ -1812,7 +1802,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (let* ((f0-0 (vector-length (-> self root-override2 transv))) + (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) (ja-no-eval :group! (-> self draw art-group data 58) @@ -1825,7 +1815,7 @@ ) (until (ja-done? 0) (suspend) - (let* ((f0-4 (vector-length (-> self root-override2 transv))) + (let* ((f0-4 (vector-length (-> self root transv))) (f0-6 (fmax 0.1 (* 0.000020345053 f0-4))) ) (ja :num! (seek! max f0-6)) @@ -1876,7 +1866,7 @@ (go-virtual sig-path-shoot-jump-land) ) ) - (let ((v1-29 (-> self root-override2))) + (let ((v1-29 (-> self root))) (set! (-> v1-29 trans quad) (-> gp-0 pos quad)) (set! (-> v1-29 trans w) 1.0) (quaternion-copy! (-> v1-29 quat) (-> gp-0 quat)) @@ -1949,7 +1939,7 @@ (go-virtual sig-path-jump) ) ) - (let ((v1-18 (-> self root-override2))) + (let ((v1-18 (-> self root))) (set! (-> v1-18 trans quad) (-> gp-0 pos quad)) (set! (-> v1-18 trans w) 1.0) (quaternion-copy! (-> v1-18 quat) (-> gp-0 quat)) @@ -1959,7 +1949,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (let* ((f0-0 (vector-length (-> self root-override2 transv))) + (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) (ja-no-eval :group! (-> self draw art-group data 60) @@ -1972,7 +1962,7 @@ ) (until (ja-done? 0) (suspend) - (let* ((f0-4 (vector-length (-> self root-override2 transv))) + (let* ((f0-4 (vector-length (-> self root transv))) (f0-6 (fmax 0.1 (* 0.000020345053 f0-4))) ) (ja :num! (seek! max f0-6)) @@ -2002,7 +1992,7 @@ (look-at-target! self (enemy-flag lock-focus)) (set! (-> self skel top-anim interp) 0.0) (set! (-> self travel-anim-interp) 0.0) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) :code (behavior () diff --git a/goal_src/jak2/characters/sig/sig-task.gc b/goal_src/jak2/characters/sig/sig-task.gc index 31bc17e4f5..74bc45a87b 100644 --- a/goal_src/jak2/characters/sig/sig-task.gc +++ b/goal_src/jak2/characters/sig/sig-task.gc @@ -111,9 +111,7 @@ ) (or (player-blocking-spot? arg0 v1-2) (or (not gp-0) - (>= 14336.0 - (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable gp-0) root-override trans)) - ) + (>= 14336.0 (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable gp-0) root trans))) ) ) ) @@ -122,7 +120,7 @@ (defmethod sigt-choose-piston-method-13 sigt-choose-piston ((obj sigt-choose-piston) (arg0 sig)) (let ((s4-0 0)) (let ((f30-0 -1.0) - (s3-0 (-> arg0 root-override2 trans)) + (s3-0 (-> arg0 root trans)) ) (countdown (s2-0 (-> obj num-spots)) (let* ((v1-3 (-> obj spot-indexes s2-0)) @@ -178,8 +176,8 @@ ) ) (when (and (< v1-19 (seconds 0.5)) (< (seconds 0.2) v1-19)) - (let ((v1-22 (-> (the-as process-focusable s5-1) root-override)) - (s4-0 (-> arg0 root-override2)) + (let ((v1-22 (-> (the-as process-focusable s5-1) root)) + (s4-0 (-> arg0 root)) ) (when (>= 10012.445 (fabs (deg- @@ -189,8 +187,8 @@ ) ) (set! (-> arg0 enemy-flags) (the-as enemy-flag (logclear (-> arg0 enemy-flags) (enemy-flag vulnerable)))) - (when (send-event arg0 'jump 4 (-> (the-as process-focusable s5-1) root-override trans)) - (set! (-> arg0 spot center quad) (-> (the-as process-focusable s5-1) root-override trans quad)) + (when (send-event arg0 'jump 4 (-> (the-as process-focusable s5-1) root trans)) + (set! (-> arg0 spot center quad) (-> (the-as process-focusable s5-1) root trans quad)) (set! (-> arg0 spot center w) 10240.0) (return #t) ) diff --git a/goal_src/jak2/characters/sig/sig.gc b/goal_src/jak2/characters/sig/sig.gc index 4a1ef486e0..10ab79858e 100644 --- a/goal_src/jak2/characters/sig/sig.gc +++ b/goal_src/jak2/characters/sig/sig.gc @@ -199,7 +199,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 8) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 20) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -270,9 +270,7 @@ (cond (s4-0 (if (or (not (logtest? (bot-flags bf19) (-> obj bot-flags))) - (>= 16384.0 - (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable s4-0) 3)) - ) + (>= 16384.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable s4-0) 3))) ) (set! s5-1 s4-0) ) @@ -305,9 +303,7 @@ (cond (s4-0 (if (or (not (logtest? (bot-flags bf19) (-> obj bot-flags))) - (>= 16384.0 - (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable s4-0) 3)) - ) + (>= 16384.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable s4-0) 3))) ) (set! s5-1 s4-0) ) @@ -435,7 +431,7 @@ (t9-2 obj) ) (when (logtest? (-> obj bot-flags) (bot-flags too-far-fail)) - (let ((f0-0 (vector-vector-distance (-> obj root-override2 trans) (target-pos 0)))) + (let ((f0-0 (vector-vector-distance (-> obj root trans) (target-pos 0)))) (when (or (>= f0-0 491520.0) (and (>= f0-0 102400.0) (>= (- (current-time) (-> obj last-draw-time)) (seconds 10)))) (process-entity-status! obj (entity-perm-status no-kill) #f) (cleanup-for-death obj) @@ -482,7 +478,7 @@ (let ((v1-0 arg0)) (cond ((zero? v1-0) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (dotimes (a0-1 4) (let ((a1-3 (-> (the-as collide-shape-prim-group v1-2) child (+ a0-1 3)))) (set! (-> a1-3 prim-core collide-with) (collide-spec)) @@ -493,7 +489,7 @@ ) ) ((= v1-0 3) - (let ((v1-5 (the-as collide-shape-prim-group (-> obj root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> obj root root-prim)))) (let ((a0-3 (-> v1-5 child 3))) (set! (-> a0-3 prim-core collide-as) (collide-spec bot bot-targetable)) (set! (-> a0-3 prim-core collide-with) @@ -616,7 +612,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (enemy-method-46 obj 0) 0 @@ -803,7 +799,7 @@ (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 28672.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 24.0 (fmax f30-0 f0-8)) (* 30.0 f28-1))) @@ -885,7 +881,7 @@ (let ((s4-0 (new 'stack-no-clear 'vector))) 0.0 0.0 - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-0 (-> obj root quat)) (let ((f30-0 (atan (-> s4-0 x) (-> s4-0 z)))) (enemy-method-50 obj s4-0) (let* ((f0-14 (atan (-> s4-0 x) (-> s4-0 z))) @@ -998,7 +994,7 @@ (v0-0 (t9-0 obj)) ) (when (and (= (-> obj jump-why) 4) (not v0-0)) - (when (< (-> obj root-override2 transv y) 0.0) + (when (< (-> obj root transv y) 0.0) (let* ((v1-11 (-> obj actor-group 0 data (-> obj platform-index) actor)) (a0-5 (if v1-11 (-> v1-11 extra process) @@ -1006,11 +1002,11 @@ ) ) (when a0-5 - (let ((s4-0 (-> (the-as process-focusable a0-5) root-override trans)) - (s5-0 (-> obj root-override2 trans)) + (let ((s4-0 (-> (the-as process-focusable a0-5) root trans)) + (s5-0 (-> obj root trans)) ) (when (< 2048.0 (- (-> s4-0 y) (-> s5-0 y))) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) (let ((f30-0 9420.8)) (when (< f30-0 (vector-vector-xz-distance s4-0 s5-0)) (vector-! s5-0 s5-0 s4-0) @@ -1020,9 +1016,9 @@ ) ) (let ((a1-4 (new 'stack-no-clear 'collide-query))) - (find-ground (-> obj root-override2) a1-4 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) + (find-ground (-> obj root) a1-4 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) ) - (set! (-> s5-0 y) (-> obj root-override2 gspot-pos y)) + (set! (-> s5-0 y) (-> obj root gspot-pos y)) (set! v0-0 #t) ) ) @@ -1042,14 +1038,14 @@ (t9-0 obj) ) (let ((s5-0 (static-sound-spec "sig-jland" :mask (reg0)))) - (set! (-> s5-0 reg 0) (the-as uint (-> obj root-override2 ground-pat material))) + (set! (-> s5-0 reg 0) (the-as uint (-> obj root ground-pat material))) (sound-play-by-spec s5-0 (new-sound-id) (the-as vector #t)) ) (the-as float (cond ((logtest? (bot-flags bf23) (-> obj bot-flags)) - (let ((v0-3 (the-as object (-> obj root-override2 transv)))) + (let ((v0-3 (the-as object (-> obj root transv)))) (.svf (&-> (the-as vector v0-3) quad) vf0) v0-3 ) @@ -1064,11 +1060,11 @@ (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-11 enemy-flags)))) ) (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-11 enemy-flags)))) - (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info-override callback-info)) + (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info callback-info)) ) 0 (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) + (set! (-> s5-1 quad) (-> obj root transv quad)) (set! (-> s5-1 y) 0.0) (let ((v1-18 (-> obj nav state))) (set! (-> v1-18 speed) (fmin (vector-length s5-1) (-> obj nav target-speed))) @@ -1097,7 +1093,7 @@ (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!) ) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info-override jump-wind-up-anim))) + (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info jump-wind-up-anim))) (a0-6 (-> obj skel root-channel 0)) ) (set! (-> a0-6 frame-group) (the-as art-joint-anim a1-3)) @@ -1120,7 +1116,7 @@ (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!) ) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info-override jump-land-anim))) + (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info jump-land-anim))) (a0-6 (-> obj skel root-channel 0)) ) (set! (-> a0-6 frame-group) (the-as art-joint-anim a1-3)) @@ -1185,7 +1181,7 @@ (when (!= (-> obj sig-path-cur-time) a0-1) (set! (-> obj sig-path-prev-time) (-> obj sig-path-cur-time)) (set! (-> obj sig-path-cur-time) a0-1) - (set! (-> obj event-param-point quad) (-> obj root-override2 trans quad)) + (set! (-> obj event-param-point quad) (-> obj root trans quad)) ) ) (let ((s3-0 (+ (-> obj sig-path sample-count) -1)) @@ -1225,9 +1221,9 @@ (quaternion-slerp! (-> arg0 quat) (-> s3-1 quat) (-> s4-1 quat) f30-0) (set! (-> arg0 flags) s2-1) ) - (vector-! (-> obj root-override2 transv) (-> arg0 pos) (-> obj event-param-point)) - (let ((v0-5 (-> obj root-override2 transv))) - (.lvf vf1 (&-> (-> obj root-override2 transv) quad)) + (vector-! (-> obj root transv) (-> arg0 pos) (-> obj event-param-point)) + (let ((v0-5 (-> obj root transv))) + (.lvf vf1 (&-> (-> obj root transv) quad)) (let ((f0-7 (-> pp clock frames-per-second))) (.mov at-0 f0-7) ) diff --git a/goal_src/jak2/characters/underground_fighters/shuttle.gc b/goal_src/jak2/characters/underground_fighters/shuttle.gc index 174a0bdbd0..814f33cb92 100644 --- a/goal_src/jak2/characters/underground_fighters/shuttle.gc +++ b/goal_src/jak2/characters/underground_fighters/shuttle.gc @@ -233,7 +233,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 2) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -342,7 +342,7 @@ (defstate knocked (citizen-rebel) :virtual #t :enter (behavior () - (let ((gp-0 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)))) + (let ((gp-0 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (change-to gp-0 self) (if (not (-> self nav)) (go-inactive self) @@ -353,15 +353,15 @@ (set! (-> v1-10 current-poly) (the-as nav-poly #f)) ) 0 - (do-navigation-to-destination (-> self nav state) (-> self root-override2 trans)) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (do-navigation-to-destination (-> self nav state) (-> self root trans)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'quaternion)) ) - (vector-y-quaternion! s5-0 (-> self root-override2 quat)) + (vector-y-quaternion! s5-0 (-> self root quat)) (vector-normalize! s5-0 1.0) (quaternion-from-two-vectors! gp-1 s5-0 *up-vector*) - (quaternion*! (-> self root-override2 quat) gp-1 (-> self root-override2 quat)) + (quaternion*! (-> self root quat) gp-1 (-> self root quat)) ) (let ((t9-8 (-> (method-of-type civilian knocked) enter))) (if t9-8 @@ -376,7 +376,7 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior citizen-rebel) enemy-event-handler) :enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) - (let ((a0-2 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)))) + (let ((a0-2 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (if a0-2 (set! (-> self nav-mesh-aid) (the-as actor-id (-> a0-2 entity aid))) ) @@ -392,7 +392,7 @@ 0 (citizen-method-195 self - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (let ((a0-9 (-> self nav state)) (v1-17 (-> self controller turn-exit-point)) @@ -403,11 +403,11 @@ ) 0 (citizen-nav-init! self) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status))) (set! (-> self state-time) (current-time)) - (let ((v1-31 (-> self root-override2 root-prim))) + (let ((v1-31 (-> self root root-prim))) (set! (-> v1-31 prim-core collide-as) (collide-spec)) (set! (-> v1-31 prim-core collide-with) (collide-spec)) ) @@ -443,9 +443,9 @@ (let ((s4-0 (handle->process (-> self vehicle))) (s3-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s3-0 (-> (the-as vehicle s4-0) root-override-2 quat)) - (compute-seat-position (the-as vehicle s4-0) (-> self root-override2 trans) (-> self seat)) - (quaternion-copy! (-> self root-override2 quat) s3-0) + (quaternion-copy! s3-0 (-> (the-as vehicle s4-0) root quat)) + (compute-seat-position (the-as vehicle s4-0) (-> self root trans) (-> self seat)) + (quaternion-copy! (-> self root quat) s3-0) ) (when (>= (- (current-time) (-> self state-time)) (seconds 2)) (put-rider-in-seat (the-as vehicle (handle->process (-> self vehicle))) (-> self seat) self) @@ -462,8 +462,8 @@ (let ((s3-1 (handle->process (-> self vehicle))) (s4-2 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s3-1) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root quat)) + (compute-seat-position (the-as vehicle s3-1) (-> self root trans) (-> self seat)) (let ((s3-2 lerp-scale) (s2-0 0.0) (s1-0 1.0) @@ -473,11 +473,11 @@ (let* ((t0-1 (ja-aframe 7.0 0)) (f0-4 (s3-2 s2-0 s1-0 s0-0 sv-176 t0-1)) ) - (quaternion-rotate-local-y! (-> self root-override2 quat) s4-2 (* f0-4 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) - ) + (quaternion-rotate-local-y! (-> self root quat) s4-2 (* f0-4 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) + ) ) ) ) @@ -487,19 +487,19 @@ ) (let ((s4-4 (handle->process (-> self vehicle)))) (let ((s3-3 (new 'stack-no-clear 'quaternion))) - (quaternion-copy! s3-3 (-> (the-as vehicle s4-4) root-override-2 quat)) - (compute-seat-position (the-as vehicle s4-4) (-> self root-override2 trans) (-> self seat)) - (quaternion-rotate-local-y! (-> self root-override2 quat) s3-3 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) + (quaternion-copy! s3-3 (-> (the-as vehicle s4-4) root quat)) + (compute-seat-position (the-as vehicle s4-4) (-> self root trans) (-> self seat)) + (quaternion-rotate-local-y! (-> self root quat) s3-3 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) ) ) (remove-rider (the-as vehicle s4-4) self) ) (logclear! (-> self focus-status) (focus-status pilot-riding pilot)) (let ((v1-65 (handle->process (-> self vehicle)))) - (quaternion-copy! s5-0 (-> (the-as vehicle v1-65) root-override-2 quat)) + (quaternion-copy! s5-0 (-> (the-as vehicle v1-65) root quat)) ) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 1.0 0) 0.5) @@ -534,8 +534,8 @@ (quaternion-from-two-vectors! s2-3 a1-40 *up-vector*) (quaternion*! s3-4 s2-3 s3-4) ) - (quaternion-copy! (-> self root-override2 quat) s3-4) - (vector+float*! (-> self root-override2 trans) gp-0 s4-6 f30-0) + (quaternion-copy! (-> self root quat) s3-4) + (vector+float*! (-> self root trans) gp-0 s4-6 f30-0) ) ) ) @@ -543,9 +543,9 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.5)) ) ) - (let ((v1-96 (-> self root-override2 root-prim))) - (set! (-> v1-96 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-96 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-96 (-> self root root-prim))) + (set! (-> v1-96 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-96 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual wait-for-ride) (none) @@ -556,13 +556,13 @@ :virtual #t :trans (behavior () (when (-> self vehicle) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((14 15 16) (go-virtual move-to-vehicle) ) ) ) - (when (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 122880.0) + (when (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 122880.0) (when (not (-> self done?)) (set! (-> self done?) #t) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) @@ -882,7 +882,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-10 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-10 f30-0 f0-10 1.0) + (set-vector! (-> obj root scale) f0-10 f30-0 f0-10 1.0) ) (let ((f0-12 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-12 f0-12 f0-12 1.0) @@ -954,7 +954,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1264,8 +1264,8 @@ (set! (-> s1-1 flags) (traffic-spawn-flags)) (set! (-> s1-1 guard-type) (the-as uint 7)) (vector-reset! (-> s1-1 velocity)) - (set! (-> s1-1 position quad) (-> (the-as citizen-rebel s2-0) root-override2 trans quad)) - (quaternion-copy! (-> s1-1 rotation) (-> (the-as citizen-rebel s2-0) root-override2 quat)) + (set! (-> s1-1 position quad) (-> (the-as citizen-rebel s2-0) root trans quad)) + (quaternion-copy! (-> s1-1 rotation) (-> (the-as citizen-rebel s2-0) root quat)) (set! (-> s1-1 nav-mesh) (-> s4-1 nav-mesh)) (activate-by-handle *traffic-engine* s1-1) ) @@ -1285,14 +1285,14 @@ (else (let ((v1-260 (get-best-seat-for-vehicle (the-as vehicle s4-2) - (-> (the-as vehicle s4-2) root-override-2 trans) + (-> (the-as vehicle s4-2) root trans) (the-as int (-> (the-as citizen-rebel s2-0) info seat-flag)) 1 ) ) ) (when (!= v1-260 -1) - (.lvf vf1 (&-> (-> (the-as vehicle s4-2) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s4-2) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -1303,8 +1303,8 @@ (f1-1 32768.0) ) (if (and (< f0-1 (* f1-1 f1-1)) (let ((f0-2 (vector-vector-distance-squared - (-> (the-as vehicle s4-2) root-override-2 trans) - (-> (the-as citizen-rebel s2-0) root-override2 trans) + (-> (the-as vehicle s4-2) root trans) + (-> (the-as citizen-rebel s2-0) root trans) ) ) (f1-4 65536.0) @@ -1332,11 +1332,7 @@ ) ) (if (and (-> s2-0 next-state) (= (-> s2-0 next-state name) 'wait-for-ride)) - (send-event - (handle->process (-> arg0 arrow)) - 'set-position - (-> (the-as citizen-rebel s2-0) root-override2 trans) - ) + (send-event (handle->process (-> arg0 arrow)) 'set-position (-> (the-as citizen-rebel s2-0) root trans)) ) ) (else diff --git a/goal_src/jak2/engine/ai/enemy-h.gc b/goal_src/jak2/engine/ai/enemy-h.gc index 2eaad0b328..c54c1acdb7 100644 --- a/goal_src/jak2/engine/ai/enemy-h.gc +++ b/goal_src/jak2/engine/ai/enemy-h.gc @@ -264,8 +264,8 @@ (deftype enemy (process-focusable) - ((root-override2 collide-shape-moving :offset 128) - (fact-info-override fact-info-enemy :offset 160) + ((root collide-shape-moving :override) + (fact fact-info-enemy :override) (enemy-flags enemy-flag :offset-assert 208) (enemy-info enemy-info :offset-assert 216) (hit-points int32 :offset-assert 220) diff --git a/goal_src/jak2/engine/ai/enemy.gc b/goal_src/jak2/engine/ai/enemy.gc index dcf2e3f6bd..ee87b3133d 100644 --- a/goal_src/jak2/engine/ai/enemy.gc +++ b/goal_src/jak2/engine/ai/enemy.gc @@ -129,8 +129,8 @@ ((logtest? (-> obj mask) (process-mask actor-pause)) (let ((draw (-> obj draw))) (or (and (nonzero? draw) - (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root-override2 pause-adjust-distance)) - (vector-vector-distance (-> obj root-override2 trans) (camera-pos)) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (camera-pos)) ) (or (logtest? (-> draw status) (draw-control-status on-screen)) (not (and (-> obj next-state) (= (-> obj next-state name) 'idle))) @@ -155,7 +155,7 @@ (defmethod get-trans enemy ((obj enemy) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (cond ((zero? arg0) (-> s4-0 trans) @@ -168,7 +168,7 @@ ) ((= arg0 3) (let ((v0-0 (vector<-cspace! (new 'static 'vector) (-> obj node-list data (-> obj enemy-info bullseye-joint))))) - (set! (-> v0-0 w) (-> obj root-override2 root-prim prim-core world-sphere w)) + (set! (-> v0-0 w) (-> obj root root-prim prim-core world-sphere w)) v0-0 ) ) @@ -204,7 +204,7 @@ ) (defmethod enemy-method-54 enemy ((obj enemy)) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (when (>= (-> obj water-max-height) (-> s4-0 trans y)) (let ((s5-0 (new 'stack-no-clear 'water-info))) (water-info-init! s4-0 s5-0 (collide-action solid semi-solid)) @@ -214,7 +214,7 @@ (set! (-> obj water-surface-height) (-> s5-0 trans y)) (when (not (focus-test? obj touch-water under-water)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s2-0 quad) (-> obj root trans quad)) (set! (-> s2-0 y) (+ 409.6 (-> s5-0 trans y))) (let ((s1-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s1-0 @@ -302,7 +302,7 @@ (enemy-method-100 self) ) (when *target* - (target-look-at-me! :trans (the-as vector (-> self root-override2 root-prim prim-core)) + (target-look-at-me! :trans (the-as vector (-> self root root-prim prim-core)) :message (if (logtest? (-> self enemy-flags) (enemy-flag use-notice-distance)) 'attacking )) @@ -320,12 +320,12 @@ (>= (- (current-time) (-> self auto-reset-penetrate-time)) (seconds 0.1)) ) (logclear! (-> self enemy-flags) (enemy-flag attackable-backup)) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (let ((v1-48 0)) - (if (logtest? (penetrate knocked) (-> self root-override2 penetrate-using)) + (if (logtest? (penetrate knocked) (-> self root penetrate-using)) (set! v1-48 (logior (shl 1 32) v1-48)) ) - (set! (-> self root-override2 penetrate-using) (the-as penetrate v1-48)) + (set! (-> self root penetrate-using) (the-as penetrate v1-48)) ) ) (if (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) @@ -435,8 +435,8 @@ (begin (let ((s3-0 (-> s4-0 head))) (while s3-0 - (let ((s2-0 (get-touched-prim s3-0 (-> arg0 root-override2) s4-0))) - (get-touched-prim s3-0 (-> obj root-override2) s4-0) + (let ((s2-0 (get-touched-prim s3-0 (-> arg0 root) s4-0))) + (get-touched-prim s3-0 (-> obj root) s4-0) (when (logtest? (-> s2-0 prim-core action) (collide-action solid semi-solid deadly)) (let* ((a0-5 obj) (t9-2 (method-of-object a0-5 enemy-method-104)) @@ -465,7 +465,7 @@ ;; WARN: Return type mismatch object vs none. (defmethod enemy-method-64 enemy ((obj enemy)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -478,7 +478,7 @@ ;; WARN: Return type mismatch object vs none. (defmethod enemy-method-65 enemy ((obj enemy)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -584,7 +584,7 @@ ) (defmethod enemy-method-94 enemy ((obj enemy) (arg0 vector) (arg1 float)) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> arg0 quad)) @@ -597,7 +597,7 @@ ) (defmethod enemy-method-95 enemy ((obj enemy) (arg0 vector) (arg1 float)) - (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root-override2 trans)))) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root trans)))) (enemy-method-94 obj v1-1 arg1) ) ) @@ -606,12 +606,9 @@ (let ((a0-2 (handle->process (-> obj focus handle)))) (cond (a0-2 - (let ((s4-1 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-2) 0) - (-> obj root-override2 trans) - ) - ) + (let ((s4-1 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) + ) ) (enemy-method-94 obj s4-1 arg0) ) @@ -652,7 +649,7 @@ (defmethod enemy-method-105 enemy ((obj enemy) (arg0 process)) (when (logtest? (process-mask target bot) (-> arg0 mask)) - (set! (-> obj root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> obj root penetrated-by) (the-as penetrate -1)) (enemy-method-49 obj) ) (let ((s5-0 (if (type? arg0 process-focusable) @@ -690,7 +687,7 @@ (set! (-> arg0 quad) (-> obj incoming attack-direction quad)) (let ((v1-1 arg0)) (when (= (+ (* (-> v1-1 x) (-> v1-1 x)) (* (-> v1-1 z) (-> v1-1 z))) 0.0) - (vector-z-quaternion! arg0 (-> obj root-override2 quat)) + (vector-z-quaternion! arg0 (-> obj root quat)) (vector-negate-in-place! arg0) ) ) @@ -803,9 +800,9 @@ ) (defmethod enemy-method-125 enemy ((obj enemy) (arg0 collide-query) (arg1 collide-spec) (arg2 float) (arg3 float) (arg4 float)) - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) (let ((v0-1 (-> arg0 best-other-tri pat))) - (set! (-> obj root-override2 ground-pat) v0-1) + (set! (-> obj root ground-pat) v0-1) v0-1 ) ) @@ -814,16 +811,16 @@ (defmethod enemy-above-ground? enemy ((obj enemy) (arg0 collide-query) (arg1 vector) (arg2 collide-spec) (arg3 float) (arg4 float) (arg5 float)) "@returns if the enemy is above the ground or not @see [[above-ground?]]" - (above-ground? (-> obj root-override2) arg0 arg1 arg2 arg3 arg4 arg5) + (above-ground? (-> obj root) arg0 arg1 arg2 arg3 arg4 arg5) ) (defmethod enemy-method-127 enemy ((obj enemy) (arg0 float) (arg1 float) (arg2 symbol) (arg3 collide-spec)) (let ((s4-0 (new 'stack-no-clear 'collide-query))) (cond ((enemy-method-125 obj s4-0 arg3 arg0 arg1 1024.0) - (let ((s5-1 (-> obj root-override2))) + (let ((s5-1 (-> obj root))) (let ((s3-0 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s3-0 quad) (-> obj root trans quad)) (set! (-> s3-0 y) (-> s4-0 best-other-tri intersect y)) (move-to-point! s5-1 s3-0) (let ((a0-3 (-> s4-0 best-other-tri normal)) @@ -844,7 +841,7 @@ #t ) (else - (let ((v1-11 (-> obj root-override2))) + (let ((v1-11 (-> obj root))) (logclear! (-> v1-11 status) (collide-status on-surface on-ground @@ -882,7 +879,7 @@ ) (defmethod enemy-method-128 enemy ((obj enemy) (arg0 vector) (arg1 move-above-ground-params)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (set! (-> arg1 on-ground?) #f) (set! (-> arg1 do-move?) #t) (set! (-> arg1 old-gspot-pos quad) (-> gp-0 gspot-pos quad)) @@ -981,7 +978,7 @@ ) (defmethod enemy-method-111 enemy ((obj enemy)) - (let ((v1-0 (-> obj root-override2))) + (let ((v1-0 (-> obj root))) (when (logtest? (-> v1-0 status) (collide-status touch-surface)) (let ((f0-1 (fmax 0.0 (+ 1.0 (* 60.0 (-> self clock seconds-per-frame) (+ -1.0 (-> obj enemy-info friction))))))) (vector-float*! (-> v1-0 transv) (-> v1-0 transv) f0-1) @@ -1080,16 +1077,16 @@ ) (set! (-> obj incoming attacker-handle) (the-as handle #f)) (enemy-method-124 obj) - (set! (-> obj fact-info-override) (new - 'process - 'fact-info-enemy - obj - (the-as (pointer float) (-> arg0 fact-defaults)) - (pickup-type eco-pill-random) - (-> *FACT-bank* default-eco-pill-green-inc) - ) + (set! (-> obj fact) (new + 'process + 'fact-info-enemy + obj + (the-as (pointer float) (-> arg0 fact-defaults)) + (pickup-type eco-pill-random) + (-> *FACT-bank* default-eco-pill-green-inc) + ) ) - (let ((a1-5 (if (logtest? (enemy-option multi-focus) (-> obj fact-info-override enemy-options)) + (let ((a1-5 (if (logtest? (enemy-option multi-focus) (-> obj fact enemy-options)) #x400406 #x400402 ) @@ -1124,7 +1121,7 @@ (if (-> obj on-hostile) (logior! (-> obj enemy-flags) (enemy-flag drawn-mirrored)) ) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (set! (-> obj penetrated-by-all) (-> s4-0 penetrated-by)) (set! (-> s4-0 penetrated-by) (get-penetrate-info obj)) (set! (-> s4-0 event-self) 'touched) @@ -1133,7 +1130,7 @@ (set! (-> obj penetrated-knocked) (-> arg0 penetrate-knocked)) (set! (-> obj reaction-time) (the-as time-frame (get-rand-int-range obj 30 180))) (let* ((v1-79 (-> obj enemy-flags)) - (a0-28 (-> obj fact-info-override enemy-options)) + (a0-28 (-> obj fact enemy-options)) (v1-80 (logior (enemy-flag enable-on-active checking-water @@ -1157,7 +1154,7 @@ (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) (if (and (-> obj enemy-info move-to-ground) (not (logtest? (enemy-flag vulnerable-backup) (-> obj enemy-flags))) - (not (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options))) + (not (logtest? (enemy-option ambush) (-> obj fact enemy-options))) ) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) ) @@ -1181,9 +1178,9 @@ (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag vulnerable-backup) (-> self enemy-flags)))) ) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> arg1 trans quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg1 quat)) - (vector-identity! (-> self root-override2 scale)) + (set! (-> self root trans quad) (-> arg1 trans quad)) + (quaternion-copy! (-> self root quat) (-> arg1 quat)) + (vector-identity! (-> self root scale)) (init-enemy! self) (when (> (-> self enemy-info gem-joint) 0) (cond @@ -1211,7 +1208,7 @@ ) ) ) - (let ((v1-43 (-> self fact-info-override enemy-options))) + (let ((v1-43 (-> self fact enemy-options))) (cond (*debug-view-anims* (go-virtual view-anims) @@ -1225,7 +1222,7 @@ ((logtest? (enemy-option dormant-aware) v1-43) (enemy-method-65 self) ) - ((logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + ((logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-ambush self) ) (else @@ -1272,7 +1269,7 @@ This commonly includes things such as: ) ) ) - (let ((v1-28 (-> obj fact-info-override enemy-options))) + (let ((v1-28 (-> obj fact enemy-options))) (cond ((logtest? (enemy-option spawner) v1-28) (process-entity-status! obj (entity-perm-status dead) #t) @@ -1469,7 +1466,7 @@ This commonly includes things such as: "Checks a variety of criteria to determine the level of awareness the enemy is of the target. Sets `aware` and related fields as well! @TODO - flesh out docs @returns the value that sets `aware`" - (let ((f30-0 (vector-vector-distance (get-trans arg0 0) (-> obj root-override2 trans))) + (let ((f30-0 (vector-vector-distance (get-trans arg0 0) (-> obj root trans))) (s3-1 #f) (s2-0 #f) ) @@ -1506,7 +1503,7 @@ This commonly includes things such as: ) ) ) - ((< f30-0 (-> obj fact-info-override idle-distance)) + ((< f30-0 (-> obj fact idle-distance)) 1 ) (else @@ -1517,7 +1514,7 @@ This commonly includes things such as: ) (when (and (> s3-2 0) (logtest? (enemy-flag called-dying) (-> obj enemy-flags))) (cond - ((logtest? (enemy-option idle-til-trigger) (-> obj fact-info-override enemy-options)) + ((logtest? (enemy-option idle-til-trigger) (-> obj fact enemy-options)) (if (not (enemy-method-130 obj f30-0)) (set! s3-2 0) ) @@ -1542,7 +1539,7 @@ This commonly includes things such as: ) (defmethod enemy-method-130 enemy ((obj enemy) (arg0 float)) - (let* ((v1-0 (-> obj fact-info-override)) + (let* ((v1-0 (-> obj fact)) (a2-0 (-> v1-0 trig-mask-count)) (a3-0 (-> v1-0 trig-mask)) ) @@ -1675,7 +1672,7 @@ This commonly includes things such as: ) ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s3-3) - (-> obj root-override2) + (-> obj root) (collide-action solid) (collide-action) ) @@ -1691,7 +1688,7 @@ This commonly includes things such as: ((= arg2 'attack-invinc) (case (-> (the-as attack-info (-> arg3 param 1)) mode) (('endlessfall) - (let ((v1-31 (-> obj root-override2 root-prim))) + (let ((v1-31 (-> obj root root-prim))) (set! (-> v1-31 prim-core collide-as) (collide-spec)) (set! (-> v1-31 prim-core collide-with) (collide-spec)) ) @@ -1821,7 +1818,7 @@ This commonly includes things such as: (logclear! (-> obj mask) (process-mask actor-pause)) (cond (v1-162 - (if (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go-ambush obj) (go-hostile obj) ) @@ -1830,7 +1827,7 @@ This commonly includes things such as: (or (= v1-173 'dormant) (= v1-173 'dormant-aware)) ) ) - (if (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go-ambush obj) (go (method-of-object obj notice)) ) @@ -1846,7 +1843,7 @@ This commonly includes things such as: (not (logtest? (-> obj focus-status) (focus-status grabbed))) ) (logclear! (-> obj enemy-flags) (enemy-flag alert victory called-dying)) - (if (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go-ambush obj) (react-to-focus obj) ) @@ -1867,10 +1864,10 @@ This commonly includes things such as: ((= arg2 'death-start) (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag recover) (-> obj enemy-flags)))) (send-event (ppointer->process (-> obj parent)) 'child-die) - (drop-pickup (-> obj fact-info-override) #t *entity-pool* (-> obj fact-info-override) 0) + (drop-pickup (-> obj fact) #t *entity-pool* (-> obj fact) 0) (let ((s5-1 (-> obj on-death))) (if s5-1 - (script-eval (the-as pair s5-1) :vector (-> obj root-override2 trans)) + (script-eval (the-as pair s5-1) :vector (-> obj root trans)) ) ) ) @@ -1886,9 +1883,9 @@ This commonly includes things such as: ((= arg2 'instant-death) (when (and (> (-> obj hit-points) 0) (zero? (-> obj fated-time))) (set! (-> obj hit-points) 0) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (let ((s5-2 (enemy-method-50 obj (new 'stack-no-clear 'vector)))) - (vector-z-quaternion! s5-2 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-2 (-> obj root quat)) (vector-float*! s5-2 s5-2 -1.0) (vector-normalize! s5-2 1.0) ) @@ -1912,7 +1909,7 @@ This commonly includes things such as: (send-event (ppointer->process (-> obj parent)) 'child-die) (let ((s5-3 (-> obj on-death))) (if s5-3 - (script-eval (the-as pair s5-3) :vector (-> obj root-override2 trans)) + (script-eval (the-as pair s5-3) :vector (-> obj root trans)) ) ) (cleanup-for-death obj) @@ -1934,10 +1931,10 @@ This commonly includes things such as: ) ) ((= arg2 'push-trans) - (move-by-vector! (-> obj root-override2) (the-as vector (-> arg3 param 0))) + (move-by-vector! (-> obj root) (the-as vector (-> arg3 param 0))) ) ((= arg2 'move-trans) - (move-to-point! (-> obj root-override2) (the-as vector (-> arg3 param 0))) + (move-to-point! (-> obj root) (the-as vector (-> arg3 param 0))) ) ((= arg2 'shadow) (cond @@ -2026,7 +2023,7 @@ This commonly includes things such as: ) (set! (-> obj hit-points) s4-1) (if (not (logtest? (-> obj enemy-flags) (enemy-flag attackable-backup))) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) ) (- s5-0 s4-1) ) @@ -2050,14 +2047,14 @@ This commonly includes things such as: (and s3-0 (not (logtest? (-> s3-0 focus-status) (focus-status disable dead ignore grabbed)))) ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -2071,13 +2068,13 @@ This commonly includes things such as: ) ((and ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action no-standon) (collide-action) ) - (not (logtest? (-> obj root-override2 penetrated-by) (-> s3-0 root-override penetrate-using))) + (not (logtest? (-> obj root penetrated-by) (-> s3-0 root penetrate-using))) ) - (if (send-shoves (-> obj root-override2) arg0 touch-entry 0.7 6144.0 16384.0) + (if (send-shoves (-> obj root) arg0 touch-entry 0.7 6144.0 16384.0) (send-event obj 'bouncing-off arg0) ) ) @@ -2098,13 +2095,13 @@ This commonly includes things such as: ) (when ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s4-0) - (-> obj root-override2) + (-> obj root) (collide-action solid semi-solid deadly) (collide-action) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s4-0) - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -2127,14 +2124,14 @@ This commonly includes things such as: (defbehavior enemy-simple-post enemy () (track-target! self) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) 0 (none) ) (defbehavior enemy-falling-post enemy () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (cond ((focus-test? self under-water) (enemy-method-47 self (-> gp-0 transv)) @@ -2172,7 +2169,7 @@ This commonly includes things such as: (defbehavior enemy-die-falling-post enemy () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (if (focus-test? self under-water) (enemy-method-47 self (-> gp-0 transv)) (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 (new-stack-vector0) 0.0)) @@ -2251,14 +2248,14 @@ This commonly includes things such as: :event enemy-event-handler :enter (behavior () ((-> (method-of-type enemy idle) enter)) - (set! (-> self root-override2 nav-flags) (nav-flags)) - (let ((v1-4 (-> self root-override2 root-prim))) + (set! (-> self root nav-flags) (nav-flags)) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (set! (-> self draw origin quad) (-> self root-override2 trans quad)) + (set! (-> self draw origin quad) (-> self root trans quad)) (if (logtest? (enemy-flag alert) (-> self enemy-flags)) (set! (-> self enemy-flags) (logior (enemy-flag victory) (-> self enemy-flags))) ) @@ -2267,13 +2264,13 @@ This commonly includes things such as: ) :exit (behavior () (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self enemy-flags) (enemy-flag victory)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :code (the-as (function none :behavior enemy) sleep-code) @@ -2288,7 +2285,7 @@ This commonly includes things such as: (when (and (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (> (the-as int (-> self focus aware)) 0) ) - (if (logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-ambush self) (go-virtual active) ) @@ -2328,7 +2325,7 @@ This commonly includes things such as: (logclear! (-> self enemy-flags) (enemy-flag jump-check-blocked)) (let ((gp-0 (-> self on-active))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -2381,7 +2378,7 @@ This commonly includes things such as: (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -2420,8 +2417,8 @@ This commonly includes things such as: :frame-num 0.0 ) (until (ja-done? 0) - (vector-! gp-0 (target-pos 0) (-> self root-override2 trans)) - (seek-toward-heading-vec! (-> self root-override2) gp-0 131072.0 (seconds 0.05)) + (vector-! gp-0 (target-pos 0) (-> self root trans)) + (seek-toward-heading-vec! (-> self root) gp-0 131072.0 (seconds 0.05)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2445,7 +2442,7 @@ This commonly includes things such as: (logclear! (-> self enemy-flags) (enemy-flag drawn-mirrored)) (let ((gp-0 (-> self on-hostile))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -2611,7 +2608,7 @@ This commonly includes things such as: (set! (-> arg0 anim-speed) (get-rand-float-range obj 0.9 1.1)) (set! (-> arg0 hang-time) 0) (set! (-> arg0 dest-pos quad) (-> obj event-param-point quad)) - (set! (-> arg0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> arg0 start-pos quad) (-> obj root trans quad)) (let ((s4-0 (new 'stack-no-clear 'collide-query))) (if (enemy-above-ground? obj @@ -2639,10 +2636,10 @@ This commonly includes things such as: ) (defmethod enemy-method-86 enemy ((obj enemy)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (when (< (-> gp-0 transv y) 0.0) (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (find-ground (-> obj root-override2) a1-0 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) + (find-ground (-> obj root) a1-0 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) ) (>= (-> gp-0 gspot-pos y) (-> gp-0 trans y)) ) @@ -2650,14 +2647,14 @@ This commonly includes things such as: ) (defmethod enemy-method-85 enemy ((obj enemy)) - (let* ((v1-0 (-> obj root-override2)) + (let* ((v1-0 (-> obj root)) (f0-0 (-> v1-0 gspot-pos y)) ) (if (< (-> v1-0 trans y) f0-0) (set! (-> v1-0 trans y) f0-0) ) ) - (set! (-> obj root-override2 transv y) 0.0) + (set! (-> obj root transv y) 0.0) ) (defmethod enemy-method-92 enemy ((obj enemy) (arg0 int) (arg1 nav-poly)) @@ -2673,9 +2670,9 @@ This commonly includes things such as: (set! (-> obj enemy-flags) (logior (enemy-flag directed) (-> obj enemy-flags))) (let ((f30-0 (the float (-> arg1 hang-time)))) (let ((a1-3 (compute-trans-at-time (-> arg1 traj) f30-0 (new 'stack-no-clear 'vector)))) - (move-to-point! (-> obj root-override2) a1-3) + (move-to-point! (-> obj root) a1-3) ) - (let ((s5-1 (-> obj root-override2 transv))) + (let ((s5-1 (-> obj root transv))) (compute-transv-at-time (-> arg1 traj) f30-0 s5-1) (vector-float*! s5-1 s5-1 300.0) ) @@ -2851,7 +2848,7 @@ This commonly includes things such as: ) ) (label cfg-12) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (let ((s5-1 2)) (logior! (-> self focus-status) (focus-status in-air)) (until (enemy-method-86 self) @@ -2896,7 +2893,7 @@ This commonly includes things such as: (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (-> self enemy-info overlaps-others-collide-with-filter)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override2) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (enemy-simple-post) (none) @@ -3030,7 +3027,7 @@ This commonly includes things such as: (return (the-as symbol #f)) ) (when (not (logtest? (enemy-flag directed) (-> obj enemy-flags))) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (if (focus-test? obj under-water) (enemy-method-47 obj (-> s5-0 transv)) (+! (-> s5-0 transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) @@ -3054,7 +3051,7 @@ This commonly includes things such as: (if (and (enemy-method-102 obj) (not (logtest? (-> obj focus-status) (focus-status dead)))) (kill-prefer-falling obj) ) - (let ((s5-1 (-> obj root-override2)) + (let ((s5-1 (-> obj root)) (a1-2 (new 'stack-no-clear 'collide-query)) (s3-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) @@ -3115,7 +3112,7 @@ This commonly includes things such as: (((knocked-type knocked-type-4)) (vector-rotate90-around-y! arg0 arg0) (let ((v1-9 (new 'stack-no-clear 'vector))) - (vector-! v1-9 (-> obj incoming attacker-pos) (-> obj root-override2 trans)) + (vector-! v1-9 (-> obj incoming attacker-pos) (-> obj root trans)) (set! (-> v1-9 y) 0.0) (if (< 0.0 (vector-dot v1-9 arg0)) (vector-negate! arg0 arg0) @@ -3127,7 +3124,7 @@ This commonly includes things such as: ) ) (((knocked-type knocked-type-5)) - (let* ((f1-2 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root-override2 trans))) + (let* ((f1-2 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root trans))) (f0-26 1.0) (f2-0 61440.0) (f1-3 (fmin f1-2 (* f2-0 f2-0))) @@ -3139,7 +3136,7 @@ This commonly includes things such as: ) ) (((knocked-type knocked-type-6)) - (let* ((f1-5 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root-override2 trans))) + (let* ((f1-5 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root trans))) (f0-34 1.0) (f2-6 122880.0) (f1-6 (fmin f1-5 (* f2-6 f2-6))) @@ -3174,21 +3171,19 @@ This commonly includes things such as: ) (defmethod enemy-method-51 enemy ((obj enemy)) - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (let ((v1-9 (get-trans (the-as process-focusable a0-5) 0))) - (set! f30-0 - (atan (- (-> v1-9 x) (-> obj root-override2 trans x)) (- (-> v1-9 z) (-> obj root-override2 trans z))) - ) + (set! f30-0 (atan (- (-> v1-9 x) (-> obj root trans x)) (- (-> v1-9 z) (-> obj root trans z)))) ) ) ) ) (else - (let* ((v1-13 (-> obj root-override2 transv)) + (let* ((v1-13 (-> obj root transv)) (f28-0 (atan (-> v1-13 x) (-> v1-13 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) @@ -3251,7 +3246,7 @@ This commonly includes things such as: ) (defmethod enemy-method-80 enemy ((obj enemy) (arg0 enemy-knocked-info)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (or (>= (-> arg0 on-surface-count) 3) (and (logtest? (-> gp-0 status) (collide-status on-ground)) (>= 16384.0 (-> gp-0 transv y))) (and (>= (-> arg0 move-count) 3) @@ -3267,7 +3262,7 @@ This commonly includes things such as: ) (defmethod enemy-method-81 enemy ((obj enemy)) - (let ((s5-0 (-> obj root-override2)) + (let ((s5-0 (-> obj root)) (a1-0 (new 'stack-no-clear 'collide-query)) (gp-0 #t) ) @@ -3311,7 +3306,7 @@ This commonly includes things such as: ) ) ((= v1-0 4) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) (set! s5-0 #t) ) (else @@ -3337,10 +3332,10 @@ This commonly includes things such as: (set! (-> self attack-id) a0-4) ) (enemy-method-103 self) - (if (logtest? (enemy-option knocked-into-water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option knocked-into-water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup) (-> self enemy-flags))) ) - (let ((v1-16 (-> self root-override2))) + (let ((v1-16 (-> self root))) (logclear! (-> v1-16 status) (collide-status on-surface on-ground @@ -3380,7 +3375,7 @@ This commonly includes things such as: (if (= (-> self incoming knocked-type) (knocked-type knocked-type-4)) (logclear! (-> self enemy-flags) (enemy-flag check-water-backup)) ) - (set! (-> self root-override2 penetrate-using) (penetrate lunge vehicle knocked)) + (set! (-> self root penetrate-using) (penetrate lunge vehicle knocked)) (enemy-method-49 self) (enemy-method-46 self 1) (none) @@ -3395,8 +3390,8 @@ This commonly includes things such as: ) (set! (-> self enemy-flags) v1-1) (when (nonzero? (-> self hit-points)) - (set! (-> self root-override2 penetrate-using) - (the-as penetrate (logclear (-> self root-override2 penetrate-using) (penetrate knocked))) + (set! (-> self root penetrate-using) + (the-as penetrate (logclear (-> self root penetrate-using) (penetrate knocked))) ) (enemy-method-46 self 2) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -3428,7 +3423,7 @@ This commonly includes things such as: ) :trans (behavior () (if (>= (-> self enemy-info knocked-seek-ry-clamp) 0.0) - (seek-toward-yaw-angle! (-> self root-override2) (-> self desired-angle) 138353.78 (seconds 0.1)) + (seek-toward-yaw-angle! (-> self root) (-> self desired-angle) 138353.78 (seconds 0.1)) ) (none) ) @@ -3442,7 +3437,7 @@ This commonly includes things such as: (if (>= (- (current-time) (-> self state-time)) (seconds 2)) (kill-prefer-falling self) ) - (if (logtest? (-> self root-override2 status) (collide-status on-surface)) + (if (logtest? (-> self root status) (collide-status on-surface)) (+! (-> gp-0 on-surface-count) 1) ) (enemy-method-79 self s5-0 gp-0) @@ -3454,7 +3449,7 @@ This commonly includes things such as: (let ((s5-1 2)) (set! (-> gp-0 land-can-land-time) (current-time)) (until #f - (if (logtest? (-> self root-override2 status) (collide-status on-surface)) + (if (logtest? (-> self root status) (collide-status on-surface)) (+! (-> gp-0 on-surface-count) 1) ) (if (enemy-method-79 self s5-1 gp-0) @@ -3488,7 +3483,7 @@ This commonly includes things such as: (cond ((logtest? (enemy-flag recover) (-> self enemy-flags)) (set! (-> self hit-points) 0) - (let ((v1-67 (-> self root-override2 root-prim))) + (let ((v1-67 (-> self root root-prim))) (set! (-> v1-67 prim-core collide-as) (collide-spec)) (set! (-> v1-67 prim-core collide-with) (collide-spec)) ) @@ -3539,7 +3534,7 @@ This commonly includes things such as: ) (let ((a0-18 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj enemy-info gem-joint)))) ) - (birth-pickup-at-point a0-18 (pickup-type gem) 1.0 #t *entity-pool* (-> obj fact-info-override)) + (birth-pickup-at-point a0-18 (pickup-type gem) 1.0 #t *entity-pool* (-> obj fact)) ) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -3563,7 +3558,7 @@ This commonly includes things such as: :event enemy-event-handler :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -3603,7 +3598,7 @@ This commonly includes things such as: ) (defmethod enemy-method-133 enemy ((obj enemy)) - (let ((s5-0 (-> obj root-override2)) + (let ((s5-0 (-> obj root)) (a1-0 (new 'stack-no-clear 'collide-query)) (gp-0 #t) ) @@ -3621,13 +3616,13 @@ This commonly includes things such as: :event enemy-event-handler :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) 0 (set! (-> self hit-points) 0) - (if (logtest? (enemy-option knocked-into-water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option knocked-into-water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup) (-> self enemy-flags))) ) (enemy-method-103 self) diff --git a/goal_src/jak2/engine/ambient/ambient-h.gc b/goal_src/jak2/engine/ambient/ambient-h.gc index bdb2a92b18..8c8c4c73cf 100644 --- a/goal_src/jak2/engine/ambient/ambient-h.gc +++ b/goal_src/jak2/engine/ambient/ambient-h.gc @@ -497,7 +497,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x34 - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -614,7 +614,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x42 - :delay #x4b0 + :delay (seconds 4) :neg #x1 :on-close #f ) @@ -623,7 +623,7 @@ :channel (gui-channel daxter) :flags #x3 :speech #x43 - :delay #xbb8 + :delay (seconds 10) :neg #x1 :on-close #f ) @@ -664,7 +664,7 @@ :channel (gui-channel daxter) :flags #x3 :speech #x48 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -681,7 +681,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x4a - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -748,7 +748,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x51 - :delay #x1770 + :delay (seconds 20) :neg #x1 :on-close #f ) @@ -823,7 +823,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x5a - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -858,7 +858,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x5e - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -883,7 +883,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x61 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -892,7 +892,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x62 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -901,7 +901,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x63 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -910,7 +910,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x64 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -919,7 +919,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x65 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -928,7 +928,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x66 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -954,7 +954,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x69 - :delay #x5dc + :delay (seconds 5) :neg #x1 :on-close #f ) @@ -995,7 +995,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x6e - :delay #x5dc + :delay (seconds 5) :neg #x1 :on-close #f ) @@ -1021,7 +1021,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x71 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -1137,7 +1137,7 @@ :speech #x7d :text-message (text-id gun-upgrade-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1147,7 +1147,7 @@ :flags #x40 :speech #x7e :text-message (text-id gun-upgrade-speed) - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1158,7 +1158,7 @@ :speech #x7f :text-message (text-id gun-upgrade-ammo) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1169,7 +1169,7 @@ :speech #x80 :text-message (text-id gun-upgrade-damage) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1180,7 +1180,7 @@ :speech #x81 :text-message (text-id mission-complete) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1190,7 +1190,7 @@ :flags #x40 :speech #x82 :text-message (text-id pass-red-acquired) - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1201,7 +1201,7 @@ :speech #x83 :text-message (text-id pass-green-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1212,7 +1212,7 @@ :speech #x84 :text-message (text-id pass-yellow-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1223,7 +1223,7 @@ :speech #x85 :text-message (text-id pass-palace-acquired) :text-duration #x5dc - :delay #xbb8 + :delay (seconds 10) :neg #x1 :on-close #f ) @@ -1234,7 +1234,7 @@ :speech #x86 :text-message (text-id pass-black-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1245,7 +1245,7 @@ :speech #x87 :text-message (text-id red-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1256,7 +1256,7 @@ :speech #x88 :text-message (text-id yellow-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1267,7 +1267,7 @@ :speech #x89 :text-message (text-id blue-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1278,7 +1278,7 @@ :speech #x8a :text-message (text-id dark-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1287,7 +1287,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x8b - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -1527,7 +1527,7 @@ :speech #xaa :text-message (text-id oracle-gem-grind-200) :text-duration #x5dc - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -1537,7 +1537,7 @@ :speech #xab :text-message (text-id oracle-gem-grind-200) :text-duration #x5dc - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -1547,7 +1547,7 @@ :speech #xac :text-message (text-id oracle-gem-grind-200) :text-duration #x5dc - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -2823,7 +2823,7 @@ :name "cityv175" :channel (gui-channel alert) :speech #x173 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -2831,7 +2831,7 @@ :name "cityv176" :channel (gui-channel alert) :speech #x174 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -2839,7 +2839,7 @@ :name "cityv177" :channel (gui-channel alert) :speech #x175 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -3519,7 +3519,7 @@ :channel (gui-channel voicebox) :flags #x2 :speech #x1ce - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -3528,7 +3528,7 @@ :channel (gui-channel voicebox) :flags #x2 :speech #x1cf - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -3537,7 +3537,7 @@ :channel (gui-channel voicebox) :flags #x2 :speech #x1d0 - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) diff --git a/goal_src/jak2/engine/anim/fma-sphere.gc b/goal_src/jak2/engine/anim/fma-sphere.gc index 913f7c5e1a..ea62bc6865 100644 --- a/goal_src/jak2/engine/anim/fma-sphere.gc +++ b/goal_src/jak2/engine/anim/fma-sphere.gc @@ -20,15 +20,15 @@ ;; DECOMP BEGINS (deftype fma-sphere (process-drawable) - ((root-override collide-shape :offset 128) - (first-time? symbol :offset-assert 200) - (mode fma-sphere-mode :offset-assert 204) - (track-handle handle :offset-assert 208) - (track-joint int32 :offset-assert 216) - (attack-id uint32 :offset-assert 220) - (duration time-frame :offset-assert 224) - (sphere sphere :inline :offset-assert 240) - (danger traffic-danger-info :inline :offset-assert 256) + ((root collide-shape :override) + (first-time? symbol :offset-assert 200) + (mode fma-sphere-mode :offset-assert 204) + (track-handle handle :offset-assert 208) + (track-joint int32 :offset-assert 216) + (attack-id uint32 :offset-assert 220) + (duration time-frame :offset-assert 224) + (sphere sphere :inline :offset-assert 240) + (danger traffic-danger-info :inline :offset-assert 256) ) :heap-base #xc0 :method-count-assert 21 @@ -64,7 +64,7 @@ (let ((v1-2 (new 'static 'attack-info :mask (attack-info-mask mode id attacker-velocity damage knock)))) (set! (-> v1-2 id) (-> self attack-id)) (set! (-> v1-2 mode) 'eco-red) - (set! (-> v1-2 attacker-velocity quad) (-> self root-override transv quad)) + (set! (-> v1-2 attacker-velocity quad) (-> self root transv quad)) (set! (-> v1-2 damage) 2.0) (set! (-> v1-2 knock) (the-as uint 2)) (set! (-> a1-2 param 1) (the-as uint v1-2)) @@ -105,7 +105,7 @@ (set! (-> gp-0 quad) (-> self sphere quad)) (set! (-> gp-0 w) 1.0) (vector-matrix*! gp-0 gp-0 (-> (the-as process-drawable a2-0) node-list data v1-5 bone transform)) - (let ((v1-9 (-> self root-override))) + (let ((v1-9 (-> self root))) (vector-! (-> v1-9 transv) gp-0 (-> v1-9 trans)) (let ((a0-12 (-> v1-9 transv))) (.lvf vf1 (&-> (-> v1-9 transv) quad)) @@ -118,7 +118,7 @@ (.svf (&-> a0-12 quad) vf1) ) ) - (move-to-point! (-> self root-override) gp-0) + (move-to-point! (-> self root) gp-0) (set! (-> self danger sphere x) (-> gp-0 x)) (set! (-> self danger sphere y) (-> gp-0 y)) (set! (-> self danger sphere z) (-> gp-0 z)) @@ -134,7 +134,7 @@ (set! (-> a1-10 options) (overlaps-others-options)) (set! (-> a1-10 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-10 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-10) + (find-overlapping-shapes (-> self root) a1-10) ) ) (if (or (logtest? *display-scene-control* (scene-controls display-controls)) @@ -143,7 +143,7 @@ (add-debug-sphere #t (bucket-id debug2) - (-> self root-override trans) + (-> self root trans) (-> self sphere r) (new 'static 'rgba :r #x80 :g #x40 :a #x80) ) @@ -211,9 +211,9 @@ (set! (-> gp-1 backup-collide-as) (-> v1-27 prim-core collide-as)) (set! (-> gp-1 backup-collide-with) (-> v1-27 prim-core collide-with)) ) - (set! (-> self root-override) gp-1) + (set! (-> self root) gp-1) ) - (let ((gp-2 (-> self root-override))) + (let ((gp-2 (-> self root))) (set! (-> gp-2 nav-radius) (-> self sphere r)) (set! (-> gp-2 root-prim local-sphere w) (-> self sphere r)) (set! (-> gp-2 trans quad) (-> self sphere quad)) @@ -240,7 +240,7 @@ ) (logclear! (-> self mask) (process-mask actor-pause enemy)) (when (logtest? (-> self mode) (fma-sphere-mode nav)) - (let ((a0-32 (find-nearest-nav-mesh (-> self root-override trans) (the-as float #x7f800000)))) + (let ((a0-32 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (cond (a0-32 (add-process-drawable-to-navmesh a0-32 self #f) diff --git a/goal_src/jak2/engine/collide/collide-shape.gc b/goal_src/jak2/engine/collide/collide-shape.gc index a5c8830fdc..6b9329c1f0 100644 --- a/goal_src/jak2/engine/collide/collide-shape.gc +++ b/goal_src/jak2/engine/collide/collide-shape.gc @@ -3139,8 +3139,6 @@ it returns a triangle and normal direction to push in. (none) ) -;; definition for method 50 of type collide-shape -;; INFO: Used lq/sq (defmethod send-shoves collide-shape ((obj collide-shape) (arg0 process) (arg1 touching-shapes-entry) (arg2 float) (arg3 float) (arg4 float)) (local-vars (sv-144 process) (sv-160 collide-shape-prim) (sv-176 vector)) (with-pp @@ -3161,7 +3159,7 @@ it returns a triangle and normal direction to push in. (when (and s0-0 gp-0) (while s0-0 (set! sv-160 (get-touched-prim s0-0 obj arg1)) - (get-touched-prim s0-0 (-> (the-as process-focusable gp-0) root-override) arg1) + (get-touched-prim s0-0 (-> (the-as process-focusable gp-0) root) arg1) (when (logtest? (-> sv-160 prim-core action) (collide-action no-standon)) (let ((v1-12 (get-middle-of-bsphere-overlap s0-0 (new 'stack-no-clear 'vector)))) (set! sv-176 (new 'stack-no-clear 'vector)) @@ -3175,18 +3173,16 @@ it returns a triangle and normal direction to push in. (.svf (&-> sv-176 quad) vf6) (vector-normalize! sv-176 1.0) (when (and (< arg2 (-> sv-176 y)) (and (not (focus-test? (the-as process-focusable gp-0) dead hit board mech)) - (< (-> (the-as process-focusable gp-0) root-override transv y) 4.096) + (< (-> (the-as process-focusable gp-0) root transv y) 4.096) ) ) (let ((s2-1 (new 'stack-no-clear 'vector))) - (set! (-> s2-1 quad) (-> (the-as process-focusable gp-0) root-override transv quad)) - (let* ((v1-26 (-> (the-as process-focusable gp-0) root-override transv)) + (set! (-> s2-1 quad) (-> (the-as process-focusable gp-0) root transv quad)) + (let* ((v1-26 (-> (the-as process-focusable gp-0) root transv)) (f30-0 (sqrtf (+ (* (-> v1-26 x) (-> v1-26 x)) (* (-> v1-26 z) (-> v1-26 z))))) ) (if (= f30-0 0.0) - (set! (-> s2-1 quad) - (-> (vector-z-quaternion! s2-1 (-> (the-as process-focusable gp-0) root-override quat)) quad) - ) + (set! (-> s2-1 quad) (-> (vector-z-quaternion! s2-1 (-> (the-as process-focusable gp-0) root quat)) quad)) ) (vector-xz-normalize! s2-1 (fmax f30-0 arg4)) ) diff --git a/goal_src/jak2/engine/collide/los-control.gc b/goal_src/jak2/engine/collide/los-control.gc index bb61a73985..84ead8c877 100644 --- a/goal_src/jak2/engine/collide/los-control.gc +++ b/goal_src/jak2/engine/collide/los-control.gc @@ -46,7 +46,7 @@ (set! (-> query collide-with) (-> obj collide-with)) (set! (-> query ignore-process0) process-focus) (set! (-> query ignore-process1) process) - (set! (-> query ignore-pat) (-> process-focus root-override pat-ignore-mask)) + (set! (-> query ignore-pat) (-> process-focus root pat-ignore-mask)) (set! (-> query action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* cquery) diff --git a/goal_src/jak2/engine/common_objs/base-plat.gc b/goal_src/jak2/engine/common_objs/base-plat.gc index 146bf7c0ae..6ce0a3d38d 100644 --- a/goal_src/jak2/engine/common_objs/base-plat.gc +++ b/goal_src/jak2/engine/common_objs/base-plat.gc @@ -20,12 +20,12 @@ ;; DECOMP BEGINS (deftype base-plat (process-focusable) - ((root-override-2 collide-shape-moving :offset 128) - (smush smush-control :inline :offset-assert 208) - (basetrans vector :inline :offset-assert 240) - (bounce-time time-frame :offset-assert 256) - (bouncing symbol :offset-assert 264) - (bounce-scale meters :offset-assert 268) + ((root collide-shape-moving :override) + (smush smush-control :inline :offset-assert 208) + (basetrans vector :inline :offset-assert 240) + (bounce-time time-frame :offset-assert 256) + (bouncing symbol :offset-assert 264) + (bounce-scale meters :offset-assert 268) ) :heap-base #x90 :method-count-assert 34 @@ -52,7 +52,7 @@ For example for an elevator pre-compute the distance between the first and last (defmethod stop-bouncing! base-plat ((obj base-plat)) "Sets `bouncing` to false and resets related settings to their defaults" - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (set! (-> obj bouncing) #f) (set! (-> obj bounce-scale) 819.2) 0 @@ -66,7 +66,7 @@ and translate the platform via the `smush` (activate! (-> obj smush) -1.0 60 150 1.0 1.0 (-> self clock)) (set! (-> obj bounce-time) (current-time)) (set! (-> obj bouncing) #t) - (sound-play "plat-bounce" :position (-> obj root-override trans)) + (sound-play "plat-bounce" :position (-> obj root trans)) (logclear! (-> obj mask) (process-mask sleep)) (logclear! (-> obj mask) (process-mask sleep-code)) 0 @@ -108,14 +108,14 @@ If we aren't bouncing however, TODO - CSHAPE" (let ((trans (new 'stack-no-clear 'vector))) (set! (-> trans quad) (-> self basetrans quad)) (+! (-> trans y) (* (-> self bounce-scale) (update! (-> self smush)))) - (move-to-point! (-> self root-override) trans) + (move-to-point! (-> self root) trans) ) (if (not (!= (-> self smush amp) 0.0)) (set! (-> self bouncing) #f) ) ) (else - (move-to-point! (-> self root-override) (-> self basetrans)) + (move-to-point! (-> self root) (-> self basetrans)) ) ) (none) @@ -135,10 +135,10 @@ If we aren't bouncing however, TODO - CSHAPE" (defmethod execute-effects base-plat ((obj base-plat)) "Executes various ancillary tasks with the platform, such as spawning particles or playing the associated sound" (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) (when (nonzero? (-> obj sound)) - (set! (-> obj sound trans quad) (-> obj root-override trans quad)) + (set! (-> obj sound trans quad) (-> obj root trans quad)) (update! (-> obj sound)) ) (none) @@ -158,7 +158,7 @@ If we aren't bouncing however, TODO - CSHAPE" (deftype eco-door (process-drawable) "@unused - Likely a left-over from Jak 1" - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (speed float :offset-assert 200) (open-distance float :offset-assert 204) (close-distance float :offset-assert 208) @@ -220,14 +220,13 @@ eco-door-event-handler :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (suspend) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (ja-post) (until #f - (when (and *target* (and (>= (-> self open-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (when (and *target* + (and (>= (-> self open-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (lock-according-to-task! self) (if (and (not (-> self locked)) @@ -254,10 +253,10 @@ eco-door-event-handler ) (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) - (sound-play "blue-eco-on" :position (-> self root-override trans)) + (sound-play "blue-eco-on" :position (-> self root trans)) ) (sound-play-by-name (-> self open-sound) (new-sound-id) 1024 0 0 (sound-group sfx) #t) - (let ((prim (-> self root-override root-prim))) + (let ((prim (-> self root root-prim))) (set! (-> prim prim-core collide-as) (collide-spec)) (set! (-> prim prim-core collide-with) (collide-spec)) ) @@ -278,7 +277,7 @@ eco-door-event-handler :code (behavior () (set! (-> self state-time) (current-time)) (process-entity-status! self (entity-perm-status subtask-complete) #t) - (let ((prim (-> self root-override root-prim))) + (let ((prim (-> self root root-prim))) (set! (-> prim prim-core collide-as) (collide-spec)) (set! (-> prim prim-core collide-with) (collide-spec)) ) @@ -286,18 +285,17 @@ eco-door-event-handler (ja :num-func num-func-identity :frame-num max) (logior! (-> self draw status) (draw-control-status no-draw)) (suspend) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (ja-post) (until #f (let ((dist-from-target (vector4-dot (-> self out-dir) (target-pos 0))) (dist-from-camera (vector4-dot (-> self out-dir) (camera-pos))) ) (when (and (-> self auto-close) - (or (not *target*) (or (< (-> self close-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (focus-test? *target* teleporting) - ) + (or (not *target*) + (or (< (-> self close-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) ) (if (and (>= (* dist-from-target dist-from-camera) 0.0) (< 16384.0 (fabs dist-from-camera))) @@ -316,15 +314,15 @@ eco-door-event-handler :virtual #t :event eco-door-event-handler :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (let ((params (new 'stack 'overlaps-others-params))) (set! (-> params options) (overlaps-others-options oo0)) (set! (-> params tlist) #f) - (while (find-overlapping-shapes (-> self root-override) params) + (while (find-overlapping-shapes (-> self root) params) (suspend) ) ) @@ -371,7 +369,7 @@ otherwise, lock it if [[eco-door-flags:0]] is set" (set! (-> collision-shape backup-collide-as) (-> prim prim-core collide-as)) (set! (-> collision-shape backup-collide-with) (-> prim prim-core collide-with)) ) - (set! (-> obj root-override) collision-shape) + (set! (-> obj root) collision-shape) ) 0 (none) @@ -394,7 +392,7 @@ This commonly includes things such as: (eco-door-method-25 obj) (process-drawable-from-entity! obj arg0) (let ((door-scale (res-lump-float (-> obj entity) 'scale :default 1.0))) - (set-vector! (-> obj root-override scale) door-scale door-scale door-scale 1.0) + (set-vector! (-> obj root scale) door-scale door-scale door-scale 1.0) ) (set! (-> obj open-distance) 32768.0) (set! (-> obj close-distance) 49152.0) @@ -410,9 +408,9 @@ This commonly includes things such as: (lock-according-to-task! obj) (set! (-> obj auto-close) (logtest? (-> obj flags) (eco-door-flags auto-close))) (set! (-> obj one-way) (logtest? (-> obj flags) (eco-door-flags one-way))) - (vector-z-quaternion! (-> obj out-dir) (-> obj root-override quat)) - (set! (-> obj out-dir w) (- (vector-dot (-> obj out-dir) (-> obj root-override trans)))) - (update-transforms (-> obj root-override)) + (vector-z-quaternion! (-> obj out-dir) (-> obj root quat)) + (set! (-> obj out-dir w) (- (vector-dot (-> obj out-dir) (-> obj root trans)))) + (update-transforms (-> obj root)) (stub obj) (if (and (not (-> obj auto-close)) (-> obj entity) diff --git a/goal_src/jak2/engine/common_objs/basebutton.gc b/goal_src/jak2/engine/common_objs/basebutton.gc index e7f99ee920..5a701e6ca3 100644 --- a/goal_src/jak2/engine/common_objs/basebutton.gc +++ b/goal_src/jak2/engine/common_objs/basebutton.gc @@ -64,11 +64,11 @@ (logclear! (-> obj button-status) (button-status button-status-2)) (if vec (set! (-> obj move-to-pos quad) (-> vec quad)) - (set! (-> obj move-to-pos quad) (-> obj root-override trans quad)) + (set! (-> obj move-to-pos quad) (-> obj root trans quad)) ) (if quat (quaternion-copy! (-> obj move-to-quat) quat) - (quaternion-copy! (-> obj move-to-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj move-to-quat) (-> obj root quat)) ) 0 (none) @@ -132,8 +132,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) (rider-post) ) (none) @@ -178,8 +178,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) ) (rider-post) (none) @@ -231,8 +231,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) (rider-post) ) (none) @@ -272,8 +272,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) ) (rider-post) (none) @@ -412,7 +412,7 @@ (set! (-> collision-shape backup-collide-as) (-> prim prim-core collide-as)) (set! (-> collision-shape backup-collide-with) (-> prim prim-core collide-with)) ) - (set! (-> obj root-override) collision-shape) + (set! (-> obj root) collision-shape) ) 0 (none) @@ -487,9 +487,9 @@ This commonly includes things such as: (set! (-> self actor-group) (the-as (pointer actor-group) #f)) (set! (-> self actor-group-count) 0) (basebutton-method-34 self) - (set! (-> self root-override trans quad) (-> vec quad)) - (quaternion-copy! (-> self root-override quat) quat) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) + (set! (-> self root trans quad) (-> vec quad)) + (quaternion-copy! (-> self root quat) quat) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (prepare-trigger-event! self) (basebutton-method-33 self) (idle-state-transition self) diff --git a/goal_src/jak2/engine/common_objs/blocking-plane.gc b/goal_src/jak2/engine/common_objs/blocking-plane.gc index aee3701b90..f2f4dd8f1b 100644 --- a/goal_src/jak2/engine/common_objs/blocking-plane.gc +++ b/goal_src/jak2/engine/common_objs/blocking-plane.gc @@ -8,7 +8,7 @@ ;; DECOMP BEGINS (deftype blocking-plane (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -33,10 +33,10 @@ (the-as object (case event-type (('on) (cond - ((nonzero? (-> self root-override)) - (let ((prim (-> self root-override root-prim))) - (set! (-> prim prim-core collide-as) (-> self root-override backup-collide-as)) - (let ((v0-0 (the-as int (-> self root-override backup-collide-with)))) + ((nonzero? (-> self root)) + (let ((prim (-> self root root-prim))) + (set! (-> prim prim-core collide-as) (-> self root backup-collide-as)) + (let ((v0-0 (the-as int (-> self root backup-collide-with)))) (set! (-> prim prim-core collide-with) (the-as collide-spec v0-0)) v0-0 ) @@ -59,8 +59,8 @@ ) (('off) (cond - ((nonzero? (-> self root-override)) - (let ((v1-13 (-> self root-override root-prim))) + ((nonzero? (-> self root)) + (let ((v1-13 (-> self root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) @@ -108,10 +108,10 @@ (set! (-> s2-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s2-0) + (set! (-> obj root) s2-0) ) (let ((s1-0 (new 'stack-no-clear 'matrix)) - (s2-1 (-> obj root-override)) + (s2-1 (-> obj root)) ) (vector+! (-> s2-1 trans) s3-0 s4-0) (vector-float*! (-> s2-1 trans) (-> s2-1 trans) 0.5) @@ -125,7 +125,7 @@ (vector-cross! (-> s1-0 vector 2) (the-as vector (-> s1-0 vector)) (-> s1-0 vector 1)) (vector-normalize! (-> s1-0 vector 2) 1.0) (matrix->quaternion (-> s2-1 quat) s1-0) - (let ((v1-20 (-> obj root-override root-prim local-sphere))) + (let ((v1-20 (-> obj root root-prim local-sphere))) (set! (-> v1-20 x) 0.0) (set! (-> v1-20 y) (* 0.00024414062 (* 0.5 height))) (set! (-> v1-20 z) 0.0) diff --git a/goal_src/jak2/engine/common_objs/collectables.gc b/goal_src/jak2/engine/common_objs/collectables.gc index 613f7fa359..0986f43b74 100644 --- a/goal_src/jak2/engine/common_objs/collectables.gc +++ b/goal_src/jak2/engine/common_objs/collectables.gc @@ -60,7 +60,7 @@ ) (deftype collectable (process-drawable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (pickup-type pickup-type :offset-assert 200) (pickup-amount float :offset-assert 204) (notify handle :offset-assert 208) @@ -130,17 +130,15 @@ (set! (-> obj mask) (logior (process-mask bit18) (-> obj mask))) (set! (-> obj flags) (collectable-flag pickup no-eco-blue)) (set! (-> obj bob-amount) arg1) - (set! (-> obj bob-offset) (the-as seconds (+ (the-as int (-> obj root-override2 trans x)) - (the-as int (-> obj root-override2 trans y)) - (the-as int (-> obj root-override2 trans z)) - ) - ) + (set! (-> obj bob-offset) + (the-as + seconds + (+ (the-as int (-> obj root trans x)) (the-as int (-> obj root trans y)) (the-as int (-> obj root trans z))) + ) ) (cond - ((or (= (vector-length (-> obj root-override2 transv)) 0.0) - (logtest? (-> obj fact options) (actor-option auto-pickup)) - ) - (vector-reset! (-> obj root-override2 transv)) + ((or (= (vector-length (-> obj root transv)) 0.0) (logtest? (-> obj fact options) (actor-option auto-pickup))) + (vector-reset! (-> obj root transv)) ) (else (logior! (-> obj flags) (collectable-flag bounce)) @@ -158,8 +156,8 @@ ) (set! (-> obj collect-timeout) (the-as seconds 99)) (set! (-> obj birth-time) (current-time)) - (set! (-> obj base quad) (-> obj root-override2 trans quad)) - (set! (-> obj old-base quad) (-> obj root-override2 trans quad)) + (set! (-> obj base quad) (-> obj root trans quad)) + (set! (-> obj old-base quad) (-> obj root trans quad)) (set! (-> obj pickup-handle) (the-as handle #f)) (case (-> obj fact pickup-type) (((pickup-type eco-pill-green) @@ -176,9 +174,7 @@ ) ) (if (logtest? (-> obj fact options) (actor-option big-collision)) - (set! (-> obj root-override2 root-prim local-sphere w) - (* 2.5 (-> obj root-override2 root-prim local-sphere w)) - ) + (set! (-> obj root root-prim local-sphere w) (* 2.5 (-> obj root root-prim local-sphere w))) ) (when (and arg2 (nonzero? (-> obj draw))) (let* ((s5-0 (-> arg2 process)) @@ -218,7 +214,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (set! (-> obj fact) (new 'process 'fact-info obj (-> obj pickup-type) (-> obj pickup-amount))) 0 @@ -274,7 +270,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-health" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (let ((v1-37 (-> (the-as collide-shape (-> obj root-override2)) root-prim local-sphere))) + (let ((v1-37 (-> (the-as collide-shape (-> obj root)) root-prim local-sphere))) (set! (-> v1-37 y) 2457.6) (set! (-> v1-37 w) 4096.0) ) @@ -295,7 +291,7 @@ (set! (-> obj part) (create-launch-control s5-0 obj)) ) (if s4-0 - (set! (-> obj sound) (new 'process 'ambient-sound s4-0 (-> obj root-override2 trans))) + (set! (-> obj sound) (new 'process 'ambient-sound s4-0 (-> obj root trans))) ) ) (none) @@ -312,8 +308,8 @@ (set! (-> self fact pickup-amount) f30-0) ) (set! (-> self fact options) (-> arg2 options)) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-effects self (-> self fact pickup-type)) (set! (-> self notify) (the-as handle #f)) (case (-> self fact pickup-type) @@ -340,7 +336,7 @@ ) ) ) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -350,10 +346,10 @@ (set! (-> obj pickup-amount) arg2) (set! (-> obj pickup-type) arg1) (initialize-allocations obj) - (set! (-> obj root-override2 trans quad) (-> arg0 extra trans quad)) + (set! (-> obj root trans quad) (-> arg0 extra trans quad)) (initialize-effects obj (-> obj fact pickup-type)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (if (logtest? (-> obj fact options) (actor-option wait-for-task-complete)) (go (method-of-object obj blocked)) ) @@ -363,7 +359,7 @@ (defmethod common-post collectable ((obj collectable)) (let ((s5-0 (-> obj part)) - (s4-0 (-> obj root-override2 root-prim prim-core)) + (s4-0 (-> obj root root-prim prim-core)) ) (if (nonzero? (-> obj draw)) (ja-post) @@ -382,7 +378,7 @@ (defmethod do-pickup collectable ((obj collectable) (arg0 handle)) (set! (-> obj pickup-handle) arg0) (logclear! (-> obj mask) (process-mask actor-pause)) - (let ((v1-3 (-> obj root-override2 root-prim))) + (let ((v1-3 (-> obj root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -456,7 +452,7 @@ (t2-8 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override2 root-prim prim-core world-sphere quad)) + (set! (-> t3-0 trans quad) (-> obj root root-prim prim-core world-sphere quad)) ((the-as (function object object object object object object object object none) t9-22) a0-60 a1-26 @@ -514,7 +510,7 @@ (t2-9 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> obj root-override2 root-prim prim-core world-sphere quad)) + (set! (-> t3-1 trans quad) (-> obj root root-prim prim-core world-sphere quad)) ((the-as (function object object object object object object object object none) t9-25) a0-63 a1-29 @@ -560,7 +556,7 @@ ) ) (when v1-1 - (let ((a0-5 (-> self root-override2 root-prim prim-core)) + (let ((a0-5 (-> self root root-prim prim-core)) (a1-2 (-> (the-as collide-shape v1-1) root-prim prim-core)) ) (when (< (vector-vector-distance (the-as vector a0-5) (the-as vector a1-2)) (-> *FACT-bank* suck-suck-dist)) @@ -588,7 +584,7 @@ ) ) (when a0-6 - (let ((s2-1 (-> self root-override2 root-prim prim-core)) + (let ((s2-1 (-> self root root-prim prim-core)) (gp-1 (get-trans a0-6 3)) ) (if (and arg1 (rand-vu-percent? 0.25)) @@ -647,7 +643,7 @@ (go-virtual wait) ) (arg1 - (add-blue-shake (-> self root-override2 trans) (the-as vector s2-1) gp-1) + (add-blue-shake (-> self root trans) (the-as vector s2-1) gp-1) ) ) ) @@ -684,8 +680,8 @@ ) (the-as object (cond ((= arg2 'trans) - (set! (-> self root-override2 trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) - (update-transforms (-> self root-override2)) + (set! (-> self root trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (update-transforms (-> self root)) (ja-post) ) ((= arg2 'jump) @@ -696,7 +692,7 @@ ((= arg2 'pickup) (when (not (and (-> self next-state) (= (-> self next-state name) 'pickup))) (if (and (> arg1 0) (-> arg3 param 0)) - (move-to-point! (-> self root-override2) (the-as vector (-> arg3 param 0))) + (move-to-point! (-> self root) (the-as vector (-> arg3 param 0))) ) (logclear! (-> self mask) (process-mask actor-pause)) (process-contact-action arg0) @@ -760,15 +756,15 @@ ((= arg2 'collide-shape) (cond ((-> arg3 param 0) - (let ((v1-97 (-> self root-override2 root-prim))) - (set! (-> v1-97 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! v0-4 (the-as none (-> self root-override2 backup-collide-with))) + (let ((v1-97 (-> self root root-prim))) + (set! (-> v1-97 prim-core collide-as) (-> self root backup-collide-as)) + (set! v0-4 (the-as none (-> self root backup-collide-with))) (set! (-> v1-97 prim-core collide-with) (the-as collide-spec v0-4)) ) v0-4 ) (else - (let ((v1-99 (-> self root-override2 root-prim))) + (let ((v1-99 (-> self root root-prim))) (set! (-> v1-99 prim-core collide-as) (collide-spec)) (set! (-> v1-99 prim-core collide-with) (collide-spec)) ) @@ -832,11 +828,11 @@ (logclear! (-> self mask) (process-mask actor-pause)) (let ((gp-0 (new 'stack 'trajectory))) (set! (-> self base y) (-> self jump-pos y)) - (setup-from-to-duration! gp-0 (-> self root-override2 trans) (-> self jump-pos) 300.0 -2.2755556) + (setup-from-to-duration! gp-0 (-> self root trans) (-> self jump-pos) 300.0 -2.2755556) (set! (-> self state-time) (current-time)) (until (>= (- (current-time) (-> self state-time)) (seconds 1)) (let ((f0-2 (the float (- (current-time) (-> self state-time))))) - (compute-trans-at-time gp-0 f0-2 (-> self root-override2 trans)) + (compute-trans-at-time gp-0 f0-2 (-> self root trans)) ) (transform-post) (common-post self) @@ -846,10 +842,10 @@ ) ) ) - (set! (-> self root-override2 trans quad) (-> self jump-pos quad)) - (set! (-> self base quad) (-> self root-override2 trans quad)) - (vector-reset! (-> self root-override2 transv)) - (update-transforms (-> self root-override2)) + (set! (-> self root trans quad) (-> self jump-pos quad)) + (set! (-> self base quad) (-> self root trans quad)) + (vector-reset! (-> self root transv)) + (update-transforms (-> self root)) (logclear! (-> self flags) (collectable-flag bounce)) (logior! (-> self flags) (collectable-flag pickup)) (if (-> self actor-pause) @@ -883,31 +879,26 @@ (none) ) :exit (behavior () - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (logclear! (-> self flags) (collectable-flag bounce)) (logior! (-> self flags) (collectable-flag pickup)) (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) - (set! (-> self base quad) (-> self root-override2 trans quad)) - (logclear! (-> self root-override2 root-prim prim-core action) (collide-action solid)) - (set! (-> self root-override2 root-prim prim-core collide-with) (collide-spec jak player-list tobot)) - (set! (-> self root-override2 root-prim prim-core collide-as) - (collide-spec collectable notice-blue-eco-powerup) - ) + (set! (-> self base quad) (-> self root trans quad)) + (logclear! (-> self root root-prim prim-core action) (collide-action solid)) + (set! (-> self root root-prim prim-core collide-with) (collide-spec jak player-list tobot)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec collectable notice-blue-eco-powerup)) (none) ) :trans (behavior () - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 0.0) - ) - (integrate-no-collide! (-> self root-override2) (-> self root-override2 transv)) - (when (and (>= 0.0 (-> self root-override2 transv y)) (>= (-> self base y) (-> self root-override2 trans y))) - (set! (-> self root-override2 trans y) (-> self base y)) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 0.0)) + (integrate-no-collide! (-> self root) (-> self root transv)) + (when (and (>= 0.0 (-> self root transv y)) (>= (-> self base y) (-> self root trans y))) + (set! (-> self root trans y) (-> self base y)) (cond - ((< (-> self root-override2 transv y) -8192.0) - (set! (-> self root-override2 transv y) (* -0.5 (-> self root-override2 transv y))) + ((< (-> self root transv y) -8192.0) + (set! (-> self root transv y) (* -0.5 (-> self root transv y))) ) (else (if (and (logtest? (-> self fact options) (actor-option suck-in)) @@ -957,9 +948,9 @@ ) :code (behavior ((arg0 handle)) (until #f - (set! (-> self root-override2 trans quad) (-> self base quad)) + (set! (-> self root trans quad) (-> self base quad)) (add-blue-motion #t #f #f #f) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (common-post self) (suspend) ) @@ -1011,10 +1002,9 @@ ) (>= (- (current-time) (the-as int (-> self birth-time))) (the-as time-frame (-> self fadeout-timeout))) ) - (or (or (not *target*) - (or (< 204800.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (or (or (not *target*) (or (< 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (logtest? (-> self flags) (collectable-flag no-distance-check-fadeout)) ) @@ -1113,9 +1103,9 @@ ) :code (behavior ((arg0 handle)) (until #f - (set! (-> self root-override2 trans quad) (-> self base quad)) + (set! (-> self root trans quad) (-> self base quad)) (add-blue-motion #t #f #t #f) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (common-post self) (suspend) ) @@ -1255,10 +1245,10 @@ ) ) (set! (-> self base quad) (-> self old-base quad)) - (set! (-> self root-override2 trans quad) (-> self base quad)) - (let ((v1-26 (-> self root-override2 root-prim))) - (set! (-> v1-26 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-26 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (set! (-> self root trans quad) (-> self base quad)) + (let ((v1-26 (-> self root root-prim))) + (set! (-> v1-26 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-26 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self clock) (-> *display* entity-clock)) (if (nonzero? (-> self draw)) @@ -1397,7 +1387,7 @@ This commonly includes things such as: :virtual #t :trans (behavior () (if (and (and *target* - (and (>= 32768.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) + (and (>= 32768.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -1459,7 +1449,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (set! (-> obj fact) (new 'process 'fact-info obj (-> obj pickup-type) (-> obj pickup-amount))) 0 @@ -1479,8 +1469,8 @@ This commonly includes things such as: (or (not (logtest? (-> obj mask) (process-mask actor-pause))) (or (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) (draw-control-status on-screen)) - (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root-override2 pause-adjust-distance)) - (vector-vector-distance (-> obj root-override2 trans) (math-camera-pos)) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (math-camera-pos)) ) ) (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) @@ -1511,14 +1501,10 @@ This commonly includes things such as: (defmethod common-post money ((obj money)) (with-pp - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (* 40049.777 (-> pp clock seconds-per-frame)) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (* 40049.777 (-> pp clock seconds-per-frame))) (let ((f30-0 (-> obj bob-amount))) (when (< 0.0 f30-0) - (set! (-> obj root-override2 trans y) + (set! (-> obj root trans y) (+ (-> obj base y) (-> obj suck-y-offset) (* f30-0 @@ -1532,7 +1518,7 @@ This commonly includes things such as: ) ) ) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) ) ) (ja-post) @@ -1544,16 +1530,12 @@ This commonly includes things such as: :virtual #t :code (behavior ((arg0 handle)) (until #f - (quaternion-rotate-y! - (-> self root-override2 quat) - (-> self root-override2 quat) - (* 91022.22 (-> self clock seconds-per-frame)) - ) - (set! (-> self root-override2 trans quad) (-> self base quad)) + (quaternion-rotate-y! (-> self root quat) (-> self root quat) (* 91022.22 (-> self clock seconds-per-frame))) + (set! (-> self root trans quad) (-> self base quad)) (add-blue-motion #t #t #t #f) (let ((f30-0 (-> self bob-amount))) (if (< 0.0 f30-0) - (set! (-> self root-override2 trans y) + (set! (-> self root trans y) (+ (-> self base y) (-> self suck-y-offset) (* f30-0 @@ -1605,7 +1587,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) @@ -1646,7 +1628,7 @@ This commonly includes things such as: (initialize-allocations obj) (process-drawable-from-entity! obj (-> obj entity)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (go-to-initial-state obj) (none) ) @@ -1670,9 +1652,9 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override2 quat)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-options self (if (and arg2 (logtest? (-> arg2 options) (actor-option fade-out))) @@ -1682,7 +1664,7 @@ This commonly includes things such as: 1024.0 arg2 ) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -1702,12 +1684,12 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override2 quat)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-options self 4500 0.0 (the-as fact-info #f)) (logior! (-> self flags) (collectable-flag no-eco-blue)) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -1734,8 +1716,8 @@ This commonly includes things such as: (with-pp (seek! (-> obj roty-speed) 20024.889 (* 65536.0 (-> pp clock seconds-per-frame))) (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) + (-> obj root quat) + (-> obj root quat) (* (-> obj roty-speed) (-> pp clock seconds-per-frame)) ) (logclear! (-> obj draw status) (draw-control-status no-draw-temp uninited)) @@ -1761,30 +1743,30 @@ This commonly includes things such as: ) ) (set-vector! - (-> self root-override2 transv) + (-> self root transv) (rand-vu-float-range -20480.0 20480.0) 81920.0 (rand-vu-float-range -20480.0 20480.0) 1.0 ) - (set-gravity-length (-> self root-override2 dynam) 122880.0) + (set-gravity-length (-> self root dynam) 122880.0) (set! (-> self roty-speed) 186413.52) (logior! (-> self flags) (collectable-flag pickup)) - (set! (-> self root-override2 root-prim prim-core collide-with) + (set! (-> self root root-prim prim-core collide-with) (collide-spec backgnd bot crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) - (set! (-> self root-override2 root-prim prim-core collide-as) (collide-spec collectable)) - (set! (-> self root-override2 max-iteration-count) (the-as uint 2)) - (logior! (-> self root-override2 root-prim prim-core action) (collide-action solid)) - (set! (-> self root-override2 reaction) projectile-bounce-reaction) - (set! (-> self root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec collectable)) + (set! (-> self root max-iteration-count) (the-as uint 2)) + (logior! (-> self root root-prim prim-core action) (collide-action solid)) + (set! (-> self root reaction) projectile-bounce-reaction) + (set! (-> self root penetrated-by) (the-as penetrate -1)) (none) ) :exit (behavior () (set! (-> self roty-speed) (fmin 262144.0 (-> self roty-speed))) - (set-gravity-length (-> self root-override2 dynam) 245760.0) - (set! (-> self root-override2 root-prim local-sphere w) 6144.0) - (update-transforms (-> self root-override2)) + (set-gravity-length (-> self root dynam) 245760.0) + (set! (-> self root root-prim local-sphere w) 6144.0) + (update-transforms (-> self root)) (let ((t9-2 (-> (method-of-type collectable deploy) exit))) (if t9-2 (t9-2) @@ -1796,37 +1778,27 @@ This commonly includes things such as: :code (the-as (function none :behavior gem) sleep-code) :post (behavior () (let ((gp-0 #t)) - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 0.0)) (when (-> self entity) (when (get-simple-travel-vector (-> self entity) - (-> self root-override2 transv) - (-> self root-override2 trans) - (-> self root-override2 transv) - (* 1.5 (-> self root-override2 root-prim prim-core world-sphere w)) + (-> self root transv) + (-> self root trans) + (-> self root transv) + (* 1.5 (-> self root root-prim prim-core world-sphere w)) 0.8 ) (let ((s5-1 (new 'stack-no-clear 'vector)) - (f30-0 (-> self root-override2 transv y)) + (f30-0 (-> self root transv y)) ) - (project-point-to-nav-mesh - (-> self entity) - s5-1 - (-> self root-override2 trans) - (the-as nav-poly #f) - 40960000.0 - ) - (when (>= (vector-vector-xz-distance s5-1 (-> self root-override2 trans)) 204.8) - (vector-! (-> self root-override2 transv) s5-1 (-> self root-override2 trans)) - (vector-normalize! (-> self root-override2 transv) 40960.0) - (set! (-> self root-override2 transv y) - (if (< 0.0 (-> self root-override2 transv y)) - (+ f30-0 (* 4.0 (-> self clock seconds-per-frame) (-> self root-override2 transv y))) - f30-0 - ) + (project-point-to-nav-mesh (-> self entity) s5-1 (-> self root trans) (the-as nav-poly #f) 40960000.0) + (when (>= (vector-vector-xz-distance s5-1 (-> self root trans)) 204.8) + (vector-! (-> self root transv) s5-1 (-> self root trans)) + (vector-normalize! (-> self root transv) 40960.0) + (set! (-> self root transv y) (if (< 0.0 (-> self root transv y)) + (+ f30-0 (* 4.0 (-> self clock seconds-per-frame) (-> self root transv y))) + f30-0 + ) ) (set! gp-0 #f) ) @@ -1835,7 +1807,7 @@ This commonly includes things such as: ) (cond (gp-0 - (let ((v1-31 (-> self root-override2)) + (let ((v1-31 (-> self root)) (a2-3 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-3 collide-with) (-> v1-31 root-prim prim-core collide-with)) @@ -1847,11 +1819,11 @@ This commonly includes things such as: ) ) (else - (integrate-no-collide! (-> self root-override2) (-> self root-override2 transv)) + (integrate-no-collide! (-> self root) (-> self root transv)) ) ) ) - (let* ((gp-1 (-> self root-override2)) + (let* ((gp-1 (-> self root)) (s5-2 (-> gp-1 status)) ) (cond @@ -1862,7 +1834,7 @@ This commonly includes things such as: (set! (-> self roty-speed) (fmin 131072.0 - (+ (-> self roty-speed) (lerp-scale 0.0 131072.0 (-> self root-override2 ground-impact-vel) 0.0 122880.0)) + (+ (-> self roty-speed) (lerp-scale 0.0 131072.0 (-> self root ground-impact-vel) 0.0 122880.0)) ) ) (if (or (and (logtest? s5-2 (collide-status on-surface)) (< (vector-length (-> gp-1 transv)) 1228.8)) @@ -1875,7 +1847,7 @@ This commonly includes things such as: (sound-play-by-name (static-sound-name "gem-bounce") (new-sound-id) - (the int (* 1024.0 (lerp-scale 0.5 1.0 (-> self root-override2 ground-impact-vel) 0.0 40960.0))) + (the int (* 1024.0 (lerp-scale 0.5 1.0 (-> self root ground-impact-vel) 0.0 40960.0))) 0 0 (sound-group sfx) @@ -1915,14 +1887,10 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (set! (-> obj roty-speed) 40049.777) - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (rand-vu-float-range 0.0 65536.0) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (rand-vu-float-range 0.0 65536.0)) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #f) (set! (-> obj notify) (the-as handle #f)) @@ -1941,7 +1909,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-gem" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (if (-> obj entity) (nav-mesh-connect-from-ent obj) ) @@ -2014,7 +1982,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) @@ -2100,12 +2068,12 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) (set! (-> obj notify) (the-as handle #f)) - (set! (-> obj root-override2 pause-adjust-distance) 204800.0) + (set! (-> obj root pause-adjust-distance) 204800.0) (set! (-> obj fact) (new 'process 'fact-info obj (pickup-type trick-point) 100.0)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 94) obj)) (set! (-> obj collect-effect) (-> *part-group-id-table* 95)) @@ -2123,7 +2091,7 @@ This commonly includes things such as: (initialize-allocations obj) (process-drawable-from-entity! obj (-> obj entity)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (go-to-initial-state obj) (none) ) @@ -2161,13 +2129,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) - ) - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (rand-vu-float-range 0.0 65536.0) + (set! (-> obj root) s5-0) ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (rand-vu-float-range 0.0 65536.0)) (set! (-> obj fact) (new 'process 'fact-info obj (-> obj pickup-type) (-> obj pickup-amount))) (case (-> obj pickup-type) (((pickup-type ammo-yellow)) @@ -2197,7 +2161,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-yellow" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 2.5 2.5 2.5 1.0) + (set-vector! (-> obj root scale) 2.5 2.5 2.5 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 108)) ) (((pickup-type ammo-red)) @@ -2206,7 +2170,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-red" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 4.0 4.0 4.0 1.0) + (set-vector! (-> obj root scale) 4.0 4.0 4.0 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 102)) ) (((pickup-type ammo-blue)) @@ -2215,7 +2179,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-blue" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 4.0 4.0 4.0 1.0) + (set-vector! (-> obj root scale) 4.0 4.0 4.0 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 98)) ) (((pickup-type ammo-dark)) @@ -2224,7 +2188,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-dark" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 3.0 3.0 3.0 1.0) + (set-vector! (-> obj root scale) 3.0 3.0 3.0 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 83)) ) (((pickup-type gun-yellow)) @@ -2233,11 +2197,11 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-yellow-up" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 3.0 3.0 3.0 1.0) + (set-vector! (-> obj root scale) 3.0 3.0 3.0 1.0) (logclear! (-> obj flags) (collectable-flag fadeout)) (let ((v1-34 (-> obj node-list data))) (set! (-> v1-34 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-34 0 param1) (the-as basic (-> obj root-override2 trans))) + (set! (-> v1-34 0 param1) (the-as basic (-> obj root trans))) (set! (-> v1-34 0 param2) (the-as basic (-> obj extra-trans))) ) (set-vector! (-> obj extra-trans) 0.0 1638.4 0.0 1.0) @@ -2248,7 +2212,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dark-up" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 3.0 3.0 3.0 1.0) + (set-vector! (-> obj root scale) 3.0 3.0 3.0 1.0) (logclear! (-> obj flags) (collectable-flag fadeout)) ) (((pickup-type board)) @@ -2262,10 +2226,10 @@ This commonly includes things such as: (let ((v1-48 (-> obj skel root-channel 0))) (set! (-> v1-48 frame-group) (the-as art-joint-anim (-> obj draw art-group data 3))) ) - (set-vector! (-> obj root-override2 scale) 2.0 2.0 2.0 1.0) + (set-vector! (-> obj root scale) 2.0 2.0 2.0 1.0) (let ((v1-52 (-> obj node-list data))) (set! (-> v1-52 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-52 0 param1) (the-as basic (-> obj root-override2 trans))) + (set! (-> v1-52 0 param1) (the-as basic (-> obj root trans))) (set! (-> v1-52 0 param2) (the-as basic (-> obj extra-trans))) ) (set-vector! (-> obj extra-trans) 0.0 2048.0 0.0 1.0) @@ -2291,12 +2255,12 @@ This commonly includes things such as: (set! (-> self fact pickup-amount) f30-0) ) (set! (-> self fact options) (-> arg2 options)) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-effects self (-> self fact pickup-type)) (set! (-> self notify) (the-as handle #f)) (initialize-options self 4500 1024.0 arg2) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -2306,21 +2270,17 @@ This commonly includes things such as: (set! (-> obj pickup-amount) arg2) (set! (-> obj pickup-type) arg1) (initialize-allocations obj) - (set! (-> obj root-override2 trans quad) (-> arg0 extra trans quad)) + (set! (-> obj root trans quad) (-> arg0 extra trans quad)) (initialize-effects obj (-> obj fact pickup-type)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (go-to-initial-state obj) (none) ) (defmethod common-post ammo-collectable ((obj ammo-collectable)) (with-pp - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (* 40049.777 (-> pp clock seconds-per-frame)) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (* 40049.777 (-> pp clock seconds-per-frame))) ((method-of-type collectable common-post) obj) 0 (none) @@ -2374,8 +2334,8 @@ This commonly includes things such as: (set! (-> self fact pickup-amount) f30-0) ) (set! (-> self fact options) (-> arg2 options)) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-effects self (-> self fact pickup-type)) (set! (-> self notify) (the-as handle #f)) (initialize-options @@ -2388,7 +2348,7 @@ This commonly includes things such as: (the-as fact-info #f) ) (set! (-> self collect-timeout) (the-as seconds 300)) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) diff --git a/goal_src/jak2/engine/common_objs/crates.gc b/goal_src/jak2/engine/common_objs/crates.gc index 2716c639cc..88be35723d 100644 --- a/goal_src/jak2/engine/common_objs/crates.gc +++ b/goal_src/jak2/engine/common_objs/crates.gc @@ -32,7 +32,7 @@ ) (deftype crate (process-focusable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (smush smush-control :inline :offset-assert 208) (base vector :inline :offset-assert 240) (look symbol :offset-assert 256) @@ -476,7 +476,7 @@ (go-virtual die #f (the-as int s5-0)) ) (else - (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root-override2 trans y) (-> self base y))) + (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root trans y) (-> self base y))) (if (not (and (demo?) (= (-> *setting-control* user-current language) (language-enum japanese)))) (talker-spawn-func (-> *talker-speech* 313) *entity-pool* (target-pos 0) (the-as region #f)) ) @@ -505,7 +505,7 @@ (go-virtual die #f (the-as int s5-0)) ) (else - (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root-override2 trans y) (-> self base y))) + (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root trans y) (-> self base y))) (talker-spawn-func (-> *talker-speech* 318) *entity-pool* (target-pos 0) (the-as region #f)) (set! (-> self incoming-attack-id) s4-0) (if (not (!= (-> self smush amp) 0.0)) @@ -581,7 +581,7 @@ ) ) (('bonk) - (when (= (-> self root-override2 trans y) (-> self base y)) + (when (= (-> self root trans y) (-> self base y)) (activate! (-> self smush) -0.1 75 150 1.0 1.0 (-> self clock)) (go-virtual bounce-on) ) @@ -601,7 +601,7 @@ (or (= v1-131 'notice-blue) (= v1-131 'die)) ) ) - (!= (-> self root-override2 trans y) (-> self base y)) + (!= (-> self root trans y) (-> self base y)) ) ) (go-virtual notice-blue (process->handle arg0)) @@ -609,7 +609,7 @@ ) (('fall) (when (not (and (-> self next-state) (= (-> self next-state name) 'fall))) - (set! (-> self root-override2 transv quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> arg3 param 0)) quad)) (go-virtual fall) ) ) @@ -621,10 +621,10 @@ :code (behavior () (process-entity-status! self (entity-perm-status dead) #f) (process-entity-status! self (entity-perm-status subtask-complete) #f) - (vector+! (-> self draw origin) (-> self root-override2 trans) (-> self draw bounds)) + (vector+! (-> self draw origin) (-> self root trans) (-> self draw bounds)) (set! (-> self draw origin w) (-> self draw bounds w)) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-9 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) + (let ((v1-9 (-> (the-as collide-shape-moving (-> self root)) root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -632,24 +632,19 @@ (ja-post) (while (or (crate-method-40 self) (and (sphere-in-view-frustum? (the-as sphere (-> self draw origin))) - (< (vector-vector-distance (camera-pos) (-> self root-override2 trans)) 327680.0) + (< (vector-vector-distance (camera-pos) (-> self root trans)) 327680.0) ) - (and *target* - (and (>= 40960.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (and *target* (and (>= 40960.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) ) (suspend) ) (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-29 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) - (set! (-> v1-29 prim-core collide-as) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-as) - ) - (set! (-> v1-29 prim-core collide-with) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-with) - ) + (let ((v1-29 (-> (the-as collide-shape-moving (-> self root)) root-prim))) + (set! (-> v1-29 prim-core collide-as) (-> (the-as collide-shape-moving (-> self root)) backup-collide-as)) + (set! (-> v1-29 prim-core collide-with) (-> (the-as collide-shape-moving (-> self root)) backup-collide-with)) ) (go-virtual idle) (none) @@ -661,7 +656,7 @@ :event crate-standard-event-handler :code (behavior () (suspend) - (update-transforms (the-as collide-shape-moving (-> self root-override2))) + (update-transforms (the-as collide-shape-moving (-> self root))) (carry-info-method-9 (-> self carry)) (logior! (-> self mask) (process-mask sleep)) (until #f @@ -681,7 +676,7 @@ (-> self carry) ) (('drop) - (set! (-> self root-override2 transv quad) (-> (the-as vector (-> event param 1)) quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> event param 1)) quad)) (go-virtual fall) ) ) @@ -691,7 +686,7 @@ (ja-post) (carry-info-method-9 (-> self carry)) (carry-info-method-13 (-> self carry)) - (update-transforms (the-as collide-shape-moving (-> self root-override2))) + (update-transforms (the-as collide-shape-moving (-> self root))) (none) ) ) @@ -716,32 +711,28 @@ (-> self carry) ) ) - (set! (-> self root-override2 status) (collide-status)) - (set! (-> self root-override2 root-prim local-sphere w) (-> self carry carry-radius)) - (set! (-> self root-override2 root-prim prim-core collide-with) + (set! (-> self root status) (collide-status)) + (set! (-> self root root-prim local-sphere w) (-> self carry carry-radius)) + (set! (-> self root root-prim prim-core collide-with) (logior (collide-spec backgnd crate obstacle hit-by-others-list pusher) - (-> self root-override2 root-prim prim-core collide-with) + (-> self root root-prim prim-core collide-with) ) ) (none) ) :trans (behavior () - (when (and (logtest? (-> (the-as collide-shape-moving (-> self root-override2)) status) (collide-status on-surface)) - (< 0.8 (-> (the-as collide-shape-moving (-> self root-override2)) surface-angle)) + (when (and (logtest? (-> (the-as collide-shape-moving (-> self root)) status) (collide-status on-surface)) + (< 0.8 (-> (the-as collide-shape-moving (-> self root)) surface-angle)) ) - (vector-reset! (-> self root-override2 transv)) - (when (= (vector-length (-> self root-override2 transv)) 0.0) - (set! (-> (the-as collide-shape-moving (-> self root-override2)) root-prim local-sphere w) + (vector-reset! (-> self root transv)) + (when (= (vector-length (-> self root transv)) 0.0) + (set! (-> (the-as collide-shape-moving (-> self root)) root-prim local-sphere w) (-> self carry backup-radius) ) - (set! (-> self base quad) (-> self root-override2 trans quad)) - (let ((v1-16 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) - (set! (-> v1-16 prim-core collide-as) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-as) - ) - (set! (-> v1-16 prim-core collide-with) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-with) - ) + (set! (-> self base quad) (-> self root trans quad)) + (let ((v1-16 (-> (the-as collide-shape-moving (-> self root)) root-prim))) + (set! (-> v1-16 prim-core collide-as) (-> (the-as collide-shape-moving (-> self root)) backup-collide-as)) + (set! (-> v1-16 prim-core collide-with) (-> (the-as collide-shape-moving (-> self root)) backup-collide-with)) ) (go-virtual idle) ) @@ -751,18 +742,13 @@ :code (the-as (function none :behavior crate) sleep-code) :post (behavior () (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root-override2)) (new-stack-vector0) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root)) (new-stack-vector0) 0.0) ) - (if (< (-> (the-as collide-shape-moving (-> self root-override2)) dynam gravity-max) - (vector-length (-> self root-override2 transv)) - ) - (vector-normalize! - (-> self root-override2 transv) - (-> (the-as collide-shape-moving (-> self root-override2)) dynam gravity-max) - ) + (if (< (-> (the-as collide-shape-moving (-> self root)) dynam gravity-max) (vector-length (-> self root transv))) + (vector-normalize! (-> self root transv) (-> (the-as collide-shape-moving (-> self root)) dynam gravity-max)) ) - (let ((gp-1 (-> self root-override2))) + (let ((gp-1 (-> self root))) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> gp-1 root-prim type) collide-shape-prim-sphere) (set! (-> a2-1 collide-with) (collide-spec backgnd crate obstacle pusher)) @@ -826,7 +812,7 @@ ) ) (when v1-4 - (let* ((gp-2 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim prim-core)) + (let* ((gp-2 (-> (the-as collide-shape-moving (-> self root)) root-prim prim-core)) (a1-3 (-> (the-as collide-shape-moving v1-4) root-prim prim-core)) (f30-0 (vector-vector-distance (the-as vector gp-2) (the-as vector a1-3))) ) @@ -903,7 +889,7 @@ ) :code (behavior ((arg0 symbol) (arg1 int)) (logior! (-> self focus-status) (focus-status dead)) - (let ((v1-3 (-> (the-as collide-shape (-> self root-override2)) root-prim))) + (let ((v1-3 (-> (the-as collide-shape (-> self root)) root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -941,16 +927,13 @@ ) (case (-> self defense) (('darkeco) - (let ((f0-0 - (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root-override2 trans) (target-pos 0)) 8192.0 40960.0) - ) - ) + (let ((f0-0 (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (target-pos 0)) 8192.0 40960.0))) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 (the int (* 255.0 f0-0)) (seconds 0.3)) ) (process-spawn touch-tracker :init touch-tracker-init - (-> self root-override2 trans) + (-> self root trans) (-> *CRATE-bank* DARKECO_EXPLODE_RADIUS) 30 :to self @@ -974,7 +957,7 @@ (t2-4 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-18) a0-34 a1-21 @@ -1006,7 +989,7 @@ (t2-5 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-21) a0-39 a1-27 @@ -1038,7 +1021,7 @@ (t2-6 #f) (t3-2 *launch-matrix*) ) - (set! (-> t3-2 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-2 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-24) a0-42 a1-32 @@ -1145,7 +1128,7 @@ ) ) ) - (let ((v1-20 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) + (let ((v1-20 (-> (the-as collide-shape-moving (-> self root)) root-prim))) (set! (-> v1-20 prim-core collide-as) (collide-spec)) (set! (-> v1-20 prim-core collide-with) (collide-spec)) ) @@ -1173,7 +1156,7 @@ (defbehavior crate-init-by-other crate ((arg0 entity) (arg1 vector) (arg2 symbol) (arg3 fact-info-crate)) (crate-init! self (the-as entity-actor arg0)) - (set! (-> self root-override2 trans quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg1 quad)) (set! (-> self look) arg2) (set! (-> self defense) arg2) (skel-init! self) @@ -1246,7 +1229,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override2) s4-0) + (set! (-> obj root) s4-0) ) (set! (-> obj fact) (new 'process 'fact-info-crate obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) @@ -1295,7 +1278,7 @@ This commonly includes things such as: "Initialize the [[crate]]'s skeleton and other parameters based on the crate type." (case (-> obj look) (('iron) - (set! (-> (the-as collide-shape-moving (-> obj root-override2)) penetrated-by) + (set! (-> (the-as collide-shape-moving (-> obj root)) penetrated-by) (penetrate flop uppercut tube vehicle flut-attack board dark-skin explode) ) (initialize-skeleton @@ -1305,7 +1288,7 @@ This commonly includes things such as: ) ) (('steel) - (set! (-> (the-as collide-shape-moving (-> obj root-override2)) penetrated-by) + (set! (-> (the-as collide-shape-moving (-> obj root)) penetrated-by) (penetrate tube vehicle flut-attack board dark-skin explode) ) (initialize-skeleton @@ -1343,7 +1326,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj base quad) (-> obj root-override2 trans quad)) + (set! (-> obj base quad) (-> obj root trans quad)) (crate-post) (nav-mesh-connect-from-ent obj) (none) @@ -1384,9 +1367,9 @@ This commonly includes things such as: (defmethod smush-update! crate ((obj crate)) (let ((f0-0 (update! (-> obj smush)))) - (set! (-> obj root-override2 scale x) (+ 1.0 (* -0.5 f0-0))) - (set! (-> obj root-override2 scale y) (+ 1.0 f0-0)) - (set! (-> obj root-override2 scale z) (+ 1.0 (* -0.5 f0-0))) + (set! (-> obj root scale x) (+ 1.0 (* -0.5 f0-0))) + (set! (-> obj root scale y) (+ 1.0 f0-0)) + (set! (-> obj root scale z) (+ 1.0 (* -0.5 f0-0))) ) 0 (none) diff --git a/goal_src/jak2/engine/common_objs/elevator.gc b/goal_src/jak2/engine/common_objs/elevator.gc index 67ed14e89e..c4fa258e7b 100644 --- a/goal_src/jak2/engine/common_objs/elevator.gc +++ b/goal_src/jak2/engine/common_objs/elevator.gc @@ -515,7 +515,7 @@ do so. (let ((f0-3 (sqrtf (sin-rad (* 3.1415925 (-> self path-pos)))))) (update-vol! (-> self sound) f0-3) ) - (update-trans! (-> self sound) (-> self root-override trans)) + (update-trans! (-> self sound) (-> self root trans)) (update! (-> self sound)) ) (plat-post) @@ -635,7 +635,7 @@ do so. (set-setting! 'board #f 0.0 0) (let ((gp-0 (-> self on-activate))) (if gp-0 - (script-eval gp-0 :key (* (the int (-> self move-pos 0)) 8) :vector (-> self root-override trans)) + (script-eval gp-0 :key (* (the int (-> self move-pos 0)) 8) :vector (-> self root trans)) ) ) (set! (-> self path-pos) 0.0) @@ -726,7 +726,7 @@ do so. ) (let ((gp-0 (-> self on-deactivate))) (if gp-0 - (script-eval gp-0 :key (* (the int (-> self move-pos 1)) 8) :vector (-> self root-override trans)) + (script-eval gp-0 :key (* (the int (-> self move-pos 1)) 8) :vector (-> self root trans)) ) ) (none) @@ -820,7 +820,7 @@ This commonly includes things such as: (initialize-skeleton obj (the-as skeleton-group (get-art-group obj)) (the-as pair 0)) (stop-bouncing! obj) (set! (-> obj elevator-status) (elevator-status)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (base-plat-method-32 obj) (init-defaults! obj) (set! (-> obj on-activate) (res-lump-struct (-> obj entity) 'on-activate pair)) @@ -870,7 +870,7 @@ This commonly includes things such as: (set! (-> obj move-pos 0) sv-32) (set! (-> obj move-pos 1) sv-32) (get-point-in-path! sv-36 (-> obj basetrans) sv-32 'interp) - (set! (-> obj root-override pause-adjust-distance) + (set! (-> obj root pause-adjust-distance) (+ 122880.0 (-> obj params xz-threshold) (total-distance (-> obj path))) ) (set-ambient-sound! obj) diff --git a/goal_src/jak2/engine/common_objs/generic-obs-h.gc b/goal_src/jak2/engine/common_objs/generic-obs-h.gc index 7fb16750c5..620d05ce28 100644 --- a/goal_src/jak2/engine/common_objs/generic-obs-h.gc +++ b/goal_src/jak2/engine/common_objs/generic-obs-h.gc @@ -23,7 +23,7 @@ ;; DECOMP BEGINS (deftype manipy (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (new-trans-hook (function none) :offset-assert 200) (cur-trans-hook (function none) :offset-assert 204) (cur-event-hook (function none) :offset-assert 208) @@ -105,23 +105,23 @@ (deftype lightning-tracker (process) - ((ppointer-override (pointer lightning-tracker) :offset 28) - (root trsqv :offset-assert 128) - (lightning lightning-control :offset-assert 132) - (callback (function lightning-tracker none) :offset-assert 136) - (duration uint64 :offset-assert 144) - (start-time time-frame :offset-assert 152) - (offset0 vector :inline :offset-assert 160) - (offset1 vector :inline :offset-assert 176) - (target0 handle :offset-assert 192) - (target1 handle :offset-assert 200) - (target-joint0 int32 :offset-assert 208) - (target-joint1 int32 :offset-assert 212) - (sound sound-id :offset-assert 216) - (userdata uint64 :offset-assert 224) - (user-time time-frame 2 :offset-assert 232) - (user-vector vector :inline :offset-assert 256) - (user-handle handle 2 :offset 288) + ((ppointer (pointer lightning-tracker) :override) + (root trsqv :offset-assert 128) + (lightning lightning-control :offset-assert 132) + (callback (function lightning-tracker none) :offset-assert 136) + (duration uint64 :offset-assert 144) + (start-time time-frame :offset-assert 152) + (offset0 vector :inline :offset-assert 160) + (offset1 vector :inline :offset-assert 176) + (target0 handle :offset-assert 192) + (target1 handle :offset-assert 200) + (target-joint0 int32 :offset-assert 208) + (target-joint1 int32 :offset-assert 212) + (sound sound-id :offset-assert 216) + (userdata uint64 :offset-assert 224) + (user-time time-frame 2 :offset-assert 232) + (user-vector vector :inline :offset-assert 256) + (user-handle handle 2 :offset 288) ) :heap-base #xb0 :method-count-assert 17 @@ -136,13 +136,13 @@ (deftype touch-tracker (process-drawable) - ((root-override collide-shape :offset 128) - (duration time-frame :offset-assert 200) - (target handle :offset-assert 208) - (event symbol :offset-assert 216) - (run-function (function object) :offset-assert 220) - (callback (function touch-tracker none) :offset-assert 224) - (event-mode basic :offset-assert 228) + ((root collide-shape :override) + (duration time-frame :offset-assert 200) + (target handle :offset-assert 208) + (event symbol :offset-assert 216) + (run-function (function object) :offset-assert 220) + (callback (function touch-tracker none) :offset-assert 224) + (event-mode basic :offset-assert 228) ) :heap-base #x70 :method-count-assert 21 @@ -155,13 +155,13 @@ (deftype swingpole (process-drawable) - ((root-override collide-shape :offset 128) - (edge-length meters :offset-assert 200) - (path-pos float :offset-assert 204) - (joint-track int32 :offset-assert 208) - (speed meters :offset-assert 212) - (dir vector :inline :offset-assert 224) - (sync sync-eased :inline :offset-assert 240) + ((root collide-shape :override) + (edge-length meters :offset-assert 200) + (path-pos float :offset-assert 204) + (joint-track int32 :offset-assert 208) + (speed meters :offset-assert 212) + (dir vector :inline :offset-assert 224) + (sync sync-eased :inline :offset-assert 240) ) :heap-base #xa0 :method-count-assert 23 @@ -219,7 +219,7 @@ (deftype explosion (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (start-time time-frame :offset-assert 200) (duration uint32 :offset-assert 208) (linger-duration uint32 :offset-assert 212) diff --git a/goal_src/jak2/engine/common_objs/generic-obs.gc b/goal_src/jak2/engine/common_objs/generic-obs.gc index 81ba8354b4..e40532c4f8 100644 --- a/goal_src/jak2/engine/common_objs/generic-obs.gc +++ b/goal_src/jak2/engine/common_objs/generic-obs.gc @@ -148,10 +148,8 @@ (set! (-> obj path-pos) (get-norm! (-> obj sync) 0)) (let ((s5-0 (new 'stack-no-clear 'vector))) (get-point-at-percent-along-path! (-> obj path) s5-0 (-> obj path-pos) 'interp) - (set! (-> obj speed) - (* (vector-vector-distance s5-0 (-> obj root-override trans)) (-> pp clock frames-per-second)) - ) - (move-to-point! (-> obj root-override) s5-0) + (set! (-> obj speed) (* (vector-vector-distance s5-0 (-> obj root trans)) (-> pp clock frames-per-second))) + (move-to-point! (-> obj root) s5-0) ) ) ((>= (-> obj joint-track) 0) @@ -162,12 +160,12 @@ (vector<-cspace! s5-1 s4-0) (vector-normalize-copy! (-> obj dir) (the-as vector (-> s4-0 bone transform)) 1.0) ) - (move-to-point! (-> obj root-override) s5-1) + (move-to-point! (-> obj root) s5-1) ) ) ) (when (nonzero? (-> obj sound)) - (set! (-> obj sound trans quad) (-> obj root-override trans quad)) + (set! (-> obj sound trans quad) (-> obj root trans quad)) (let ((f30-0 (lerp-scale -0.1 -0.05 (-> obj speed) 8192.0 20480.0)) (f0-6 (lerp-scale 0.7 1.0 (-> obj speed) 8192.0 20480.0)) ) @@ -198,7 +196,7 @@ (if (nonzero? (-> self draw)) (ja-post) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (cond ((or (nonzero? (-> self path)) (>= (-> self joint-track) 0)) (until #f @@ -267,12 +265,12 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-8 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-8 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> obj root-override trans quad) (-> arg0 extra trans quad)) - (quaternion-copy! (-> obj root-override quat) (-> arg0 quat)) - (vector-identity! (-> obj root-override scale)) - (vector-y-quaternion! (-> obj dir) (-> obj root-override quat)) + (set! (-> obj root trans quad) (-> arg0 extra trans quad)) + (quaternion-copy! (-> obj root quat) (-> arg0 quat)) + (vector-identity! (-> obj root scale)) + (vector-y-quaternion! (-> obj dir) (-> obj root quat)) (set! (-> obj joint-track) -1) (let ((a1-8 (res-lump-struct (-> obj entity) 'art-name structure))) (if a1-8 @@ -305,7 +303,7 @@ This commonly includes things such as: (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) ) - (set! (-> obj sound) (new 'process 'ambient-sound (-> obj entity) (-> obj root-override trans))) + (set! (-> obj sound) (new 'process 'ambient-sound (-> obj entity) (-> obj root trans))) (go (method-of-object obj idle)) (none) ) @@ -325,11 +323,11 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-7 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (set! (-> self root-override trans quad) (-> (the-as swingpole (-> self parent 0)) root-override trans quad)) - (quaternion-identity! (-> self root-override quat)) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> (the-as swingpole (-> self parent 0)) root trans quad)) + (quaternion-identity! (-> self root quat)) + (vector-identity! (-> self root scale)) (set! (-> self joint-track) arg0) (set-vector! (-> self dir) 0.0 0.0 1.0 1.0) (set! (-> self edge-length) 8192.0) @@ -635,11 +633,11 @@ This commonly includes things such as: ) ((= v1-0 'trans) (cond - ((type? (-> self root-override) collide-shape) - (the-as object (move-to-point! (-> self root-override) (the-as vector (-> event param 0)))) + ((type? (-> self root) collide-shape) + (the-as object (move-to-point! (-> self root) (the-as vector (-> event param 0)))) ) (else - (set! s4-0 (-> self root-override trans)) + (set! s4-0 (-> self root trans)) (set! (-> (the-as vector s4-0) quad) (-> (the-as vector (-> event param 0)) quad)) s4-0 ) @@ -648,11 +646,11 @@ This commonly includes things such as: ((= v1-0 'rot) (let ((s5-3 (new 'stack-no-clear 'matrix))) (matrix-rotate-y! s5-3 (the-as float (-> event param 0))) - (matrix->quaternion (-> self root-override quat) s5-3) + (matrix->quaternion (-> self root quat) s5-3) ) ) ((= v1-0 'rot-quat) - (quaternion-copy! (-> self root-override quat) (the-as quaternion (-> event param 0))) + (quaternion-copy! (-> self root quat) (the-as quaternion (-> event param 0))) ) ((= v1-0 'clone-copy-trans) (set! s4-0 (-> event param 0)) @@ -816,14 +814,14 @@ This commonly includes things such as: (let ((v1-20 (handle->process (-> self cur-grab-handle)))) (when v1-20 (let ((gp-1 (-> (the-as process-drawable v1-20) root trans))) - (if (type? (-> self root-override) collide-shape) + (if (type? (-> self root) collide-shape) (move-by-vector! - (the-as collide-shape (-> self root-override)) + (the-as collide-shape (-> self root)) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) ) (vector+! - (-> self root-override trans) - (-> self root-override trans) + (-> self root trans) + (-> self root trans) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) ) ) @@ -968,7 +966,7 @@ This commonly includes things such as: (set! (-> s3-1 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s3-1 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> self root-override) s3-1) + (set! (-> self root) s3-1) ) ) (arg3 @@ -985,17 +983,17 @@ This commonly includes things such as: (set! (-> s3-2 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s3-2 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> self root-override) s3-2) + (set! (-> self root) s3-2) ) ) (else - (set! (-> self root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) ) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self arg2 (the-as pair 0)) - (if (type? (-> self root-override) collide-shape) - (update-transforms (the-as collide-shape (-> self root-override))) + (if (type? (-> self root) collide-shape) + (update-transforms (the-as collide-shape (-> self root))) ) (set! (-> self shadow-backup) (-> self draw shadow)) (set! (-> self shadow-volume-joint) -1) @@ -1318,7 +1316,7 @@ This commonly includes things such as: ) ) ) - ((or (not a0-6) (zero? (-> (the-as process-focusable a0-6) root-override))) + ((or (not a0-6) (zero? (-> (the-as process-focusable a0-6) root))) (deactivate obj) ) ((= (-> obj target-joint0) 256) @@ -1365,7 +1363,7 @@ This commonly includes things such as: ) ) ) - ((or (not a0-22) (zero? (-> (the-as process-focusable a0-22) root-override))) + ((or (not a0-22) (zero? (-> (the-as process-focusable a0-22) root))) (deactivate obj) ) ((= (-> obj target-joint1) 256) @@ -1911,7 +1909,7 @@ This commonly includes things such as: ) (deftype launcher (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (spring-height meters :offset-assert 200) (camera state :offset-assert 204) (active-distance float :offset-assert 208) @@ -2360,18 +2358,17 @@ This commonly includes things such as: (go-virtual deactivated) ) (('trans) - (move-to-point! (-> self root-override) (the-as vector (-> event param 0))) - (the-as object (update-transforms (-> self root-override))) + (move-to-point! (-> self root) (the-as vector (-> event param 0))) + (the-as object (update-transforms (-> self root))) ) ) ) ) :trans (behavior () - (when (and *target* (and (>= (-> self active-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (when (and *target* + (and (>= (-> self active-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (cond ((send-event *target* 'query 'powerup (pickup-type eco-blue)) @@ -2385,10 +2382,9 @@ This commonly includes things such as: ) ) ) - (if (and (and *target* - (and (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (if (and (and *target* (and (>= 32768.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) @@ -2412,8 +2408,8 @@ This commonly includes things such as: (go-virtual deactivated) ) ((= event-type 'trans) - (move-to-point! (-> self root-override) (the-as vector (-> event param 0))) - (the-as object (update-transforms (-> self root-override))) + (move-to-point! (-> self root) (the-as vector (-> event param 0))) + (the-as object (update-transforms (-> self root))) ) ) ) @@ -2431,20 +2427,19 @@ This commonly includes things such as: (none) ) :trans (behavior () - (if (or (or (not *target*) (or (< (-> self active-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (focus-test? *target* teleporting) - ) + (if (or (or (not *target*) + (or (< (-> self active-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (go-virtual idle) ) - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (sound-play "launch-idle" :id (-> self sound-id)) - (if (and (and *target* (and (>= (+ 2867.2 (-> self root-override root-prim prim-core world-sphere w)) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + (if (and (and *target* (and (>= (+ 2867.2 (-> self root root-prim prim-core world-sphere w)) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) ) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) @@ -2489,10 +2484,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (set! (-> obj active-distance) 409600.0) (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 163840.0)) (let ((s4-1 (res-lump-value arg0 'mode uint128 :time -1000000000.0))) @@ -2555,12 +2550,12 @@ This commonly includes things such as: (set! (-> s2-0 backup-collide-as) (-> v1-7 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) - (set! (-> self root-override) s2-0) + (set! (-> self root) s2-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) - (set-vector! (-> self root-override quat) 0.0 0.0 0.0 1.0) - (update-transforms (-> self root-override)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> self root quat) 0.0 0.0 0.0 1.0) + (update-transforms (-> self root)) (set! (-> self spring-height) arg1) (set! (-> self active-distance) arg3) (let ((v1-18 (-> self level name))) @@ -2694,9 +2689,7 @@ This commonly includes things such as: ) ) (if a0-6 - (set! (-> self root-override trans quad) - (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad) - ) + (set! (-> self root trans quad) (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad)) ) ) ) @@ -2704,16 +2697,16 @@ This commonly includes things such as: (if (-> self callback) ((-> self callback) self) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-3 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-3 options) (overlaps-others-options oo1)) (set! (-> a1-3 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-3 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-3) + (find-overlapping-shapes (-> self root) a1-3) ) (suspend) ) - (let ((v1-21 (-> self root-override root-prim))) + (let ((v1-21 (-> self root root-prim))) (set! (-> v1-21 prim-core collide-as) (collide-spec)) (set! (-> v1-21 prim-core collide-with) (collide-spec)) ) @@ -2757,9 +2750,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (set! (-> self duration) arg2) (set! (-> self target) (the-as handle #f)) (set! (-> self event) #f) @@ -2786,9 +2779,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override event-self) 'touched) + (set! (-> obj root event-self) 'touched) 0 (none) ) @@ -2801,10 +2794,10 @@ This commonly includes things such as: (defbehavior explosion-init-by-other explosion ((arg0 explosion-init-params)) (logclear! (-> self mask) (process-mask actor-pause movie)) (setup-explosion-collision self) - (set! (-> self root-override trans quad) (-> arg0 spawn-point quad)) - (quaternion-copy! (-> self root-override quat) (-> arg0 spawn-quat)) - (set! (-> self root-override penetrate-using) (-> arg0 penetrate-using)) - (let ((v1-9 (-> self root-override root-prim))) + (set! (-> self root trans quad) (-> arg0 spawn-point quad)) + (quaternion-copy! (-> self root quat) (-> arg0 spawn-quat)) + (set! (-> self root penetrate-using) (-> arg0 penetrate-using)) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 local-sphere w) (-> arg0 radius)) (set! (-> v1-9 prim-core world-sphere w) (-> arg0 radius)) (set! (-> v1-9 prim-core collide-with) (-> arg0 collide-with)) @@ -2823,7 +2816,7 @@ This commonly includes things such as: ) ) (let ((v1-16 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> v1-16 sphere quad) (-> self root-override trans quad)) + (set! (-> v1-16 sphere quad) (-> self root trans quad)) (vector-reset! (-> v1-16 velocity)) (set! (-> v1-16 sphere r) (* 2.0 (-> arg0 radius))) (set! (-> v1-16 notify-radius) 204800.0) @@ -2866,7 +2859,7 @@ This commonly includes things such as: (let ((a0-3 (-> (the-as process-drawable v1-1) root)) (a1-2 (new 'stack-no-clear 'collide-query)) ) - (let ((v1-4 (-> self root-override root-prim prim-core)) + (let ((v1-4 (-> self root root-prim prim-core)) (a0-5 (-> (the-as collide-shape a0-3) root-prim prim-core)) ) 0.0 @@ -2903,20 +2896,20 @@ This commonly includes things such as: ) :code (behavior () (set! (-> self start-time) (current-time)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) 0 (while (< (- (current-time) (-> self start-time)) (the-as time-frame (-> self duration))) - (let ((a1-1 (-> self root-override trans))) + (let ((a1-1 (-> self root trans))) (spawn (-> self part) a1-1) ) (suspend) diff --git a/goal_src/jak2/engine/common_objs/plat.gc b/goal_src/jak2/engine/common_objs/plat.gc index 4b55f73375..eb8a096fa7 100644 --- a/goal_src/jak2/engine/common_objs/plat.gc +++ b/goal_src/jak2/engine/common_objs/plat.gc @@ -52,7 +52,7 @@ (set! (-> collision-shape backup-collide-as) (-> prim prim-core collide-as)) (set! (-> collision-shape backup-collide-with) (-> prim prim-core collide-with)) ) - (set! (-> obj root-override) collision-shape) + (set! (-> obj root) (the-as collide-shape-moving collision-shape)) ) 0 (none) @@ -128,8 +128,8 @@ otherwise, [[plat::34]] :trans (behavior () (set! (-> self path-pos) (get-norm! (-> self sync) 0)) (get-point-at-percent-along-path! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) - (if (< (vector-vector-distance (-> self root-override trans) (ear-trans 0)) 81920.0) - (sound-play "eco-plat-hover" :id (-> self sound-id) :position (-> self root-override trans)) + (if (< (vector-vector-distance (-> self root trans) (ear-trans 0)) 81920.0) + (sound-play "eco-plat-hover" :id (-> self sound-id) :position (-> self root trans)) ) (plat-trans) (none) @@ -163,7 +163,7 @@ This commonly includes things such as: (init-plat-collision! obj) (process-drawable-from-entity! obj entity) (initialize-skeleton obj (the-as skeleton-group (get-art-group obj)) (the-as pair 0)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (stop-bouncing! obj) (base-plat-method-32 obj) (set! (-> obj fact) @@ -197,13 +197,13 @@ This commonly includes things such as: ) ((> (-> obj sync period) 0) (set! (-> obj path-pos) (get-norm! (-> obj sync) 0)) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) (-> obj path-pos) 'interp) (init-plat! obj) (plat-path-sync obj) ) (else (set! (-> obj path-pos) 0.0) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) (-> obj path-pos) 'interp) (init-plat! obj) (plat-path-sync obj) ) @@ -264,7 +264,7 @@ This commonly includes things such as: (return (the-as object #f)) ) ) - (set! (-> self hit-point quad) (-> self root-override trans quad)) + (set! (-> self hit-point quad) (-> self root trans quad)) (set! proc-focus (if (type? proc process-focusable) (the-as process-focusable proc) ) @@ -323,7 +323,7 @@ This commonly includes things such as: :trans (the-as (function none :behavior drop-plat) rider-trans) :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status subtask-complete) #t) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) diff --git a/goal_src/jak2/engine/common_objs/powerups.gc b/goal_src/jak2/engine/common_objs/powerups.gc index 543bf853af..a3e87567a1 100644 --- a/goal_src/jak2/engine/common_objs/powerups.gc +++ b/goal_src/jak2/engine/common_objs/powerups.gc @@ -520,15 +520,11 @@ ) (defbehavior target-eco-process target () - (when (and (!= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 0.0) - (>= (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> self fact-override)) eco-pickup-time) - ) - (-> (the-as fact-info-target (-> self fact-override)) eco-timeout) - ) + (when (and (!= (-> self fact eco-level) 0.0) + (>= (- (-> *display* game-clock frame-counter) (-> self fact eco-pickup-time)) (-> self fact eco-timeout)) ) - (set! (-> (the-as fact-info-target (-> self fact-override)) eco-level) 0.0) - (set! (-> (the-as fact-info-target (-> self fact-override)) eco-timeout) 0) + (set! (-> self fact eco-level) 0.0) + (set! (-> self fact eco-timeout) 0) (logclear! (-> self state-flags) (state-flags sf4)) (send-event self 'reset-collide) (stop! (-> self sound)) @@ -536,25 +532,23 @@ (if (logtest? (-> self game secrets) (game-secrets endless-dark)) (set! (-> self game eco-pill-dark) (-> *FACT-bank* eco-pill-dark-max-default)) ) - (when (and (< 0.0 (-> (the-as fact-info-target (-> self fact-override)) eco-level)) + (when (and (< 0.0 (-> self fact eco-level)) (not (focus-test? self in-head)) (not (logtest? (-> self draw status) (draw-control-status no-draw no-draw-temp))) (not (movie?)) - (rand-vu-percent? (lerp-scale - 0.0 - 1.0 - (the float (- (-> (the-as fact-info-target (-> self fact-override)) eco-timeout) - (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> self fact-override)) eco-pickup-time) - ) - ) - ) - 0.0 - 900.0 - ) - ) + (rand-vu-percent? + (lerp-scale + 0.0 + 1.0 + (the float + (- (-> self fact eco-timeout) (- (-> *display* game-clock frame-counter) (-> self fact eco-pickup-time))) + ) + 0.0 + 900.0 + ) + ) ) - (case (-> (the-as fact-info-target (-> self fact-override)) eco-type) + (case (-> self fact eco-type) ((1) (change-sound! (-> self sound) (static-sound-name "yel-eco-jak")) (let ((s1-0 (rand-vu-int-range 3 (+ (-> self node-list length) -1))) @@ -839,7 +833,6 @@ 0 (none) ) - (defbehavior target-powerup-process target () (let ((f30-0 (-> self control collision-spheres 0 prim-core world-sphere w))) (if (focus-test? self board) @@ -938,30 +931,19 @@ ) ) (target-darkjak-process) - (when (nonzero? (-> (the-as fact-info-target (-> self fact-override)) trick-point-duration)) - (when (>= (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> self fact-override)) trick-point-start-time) - ) - (-> (the-as fact-info-target (-> self fact-override)) trick-point-duration) + (when (nonzero? (-> self fact trick-point-duration)) + (when (>= (- (-> *display* game-clock frame-counter) (-> self fact trick-point-start-time)) + (-> self fact trick-point-duration) ) - (format - #t - "------------> ~,,f total points~%" - (-> (the-as fact-info-target (-> self fact-override)) trick-point) - ) - (send-event - (handle->process (-> self notify)) - 'notify - 'trick-judge - (-> (the-as fact-info-target (-> self fact-override)) trick-point) - ) - (reset! (-> self fact-override) 'trick-judge) + (format #t "------------> ~,,f total points~%" (-> self fact trick-point)) + (send-event (handle->process (-> self notify)) 'notify 'trick-judge (-> self fact trick-point)) + (reset! (-> self fact) 'trick-judge) ) ) (cond ((logtest? (-> self game features) (game-feature unk-game-feature-01)) (cond - ((< (current-time) (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout)) + ((< (current-time) (-> self fact stop-time-timeout)) (set-setting! 'bg-a 'abs 0.3 0) (set-setting! 'bg-r 'abs 1.0 0) (update-rates! (-> *display* entity-clock) 0.0) @@ -969,15 +951,15 @@ (sound-play "stopwatch") ) ) - ((nonzero? (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout)) + ((nonzero? (-> self fact stop-time-timeout)) (remove-setting! 'bg-a) (remove-setting! 'bg-r) (update-rates! (-> *display* entity-clock) 1.0) - (set! (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout) 0) + (set! (-> self fact stop-time-timeout) 0) 0 ) ((cpad-pressed? (-> self control cpad number) r1) - (set! (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout) (+ (current-time) (seconds 5))) + (set! (-> self fact stop-time-timeout) (+ (current-time) (seconds 5))) ) ) ) diff --git a/goal_src/jak2/engine/common_objs/projectile-h.gc b/goal_src/jak2/engine/common_objs/projectile-h.gc index c161230e11..48ff732221 100644 --- a/goal_src/jak2/engine/common_objs/projectile-h.gc +++ b/goal_src/jak2/engine/common_objs/projectile-h.gc @@ -28,7 +28,7 @@ ;; DECOMP BEGINS (deftype projectile (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (starting-pos vector :inline :offset-assert 208) (starting-dir vector :inline :offset-assert 224) (target-pos vector :inline :offset-assert 240) diff --git a/goal_src/jak2/engine/common_objs/projectile.gc b/goal_src/jak2/engine/common_objs/projectile.gc index ea85f4e313..a5476dff96 100644 --- a/goal_src/jak2/engine/common_objs/projectile.gc +++ b/goal_src/jak2/engine/common_objs/projectile.gc @@ -125,7 +125,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (defmethod spawn-impact-particles projectile ((obj projectile)) "Spawns associated particles with the projectile if applicable" (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) 0 (none) @@ -161,7 +161,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (defmethod made-impact? projectile ((obj projectile)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -177,7 +177,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (defun projectile-move-fill-all-dirs ((arg0 projectile)) - (let ((v1-0 (-> arg0 root-override)) + (let ((v1-0 (-> arg0 root)) (a2-0 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-0 collide-with) (-> v1-0 root-prim prim-core collide-with)) @@ -199,7 +199,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (vf2 :class vf) ) (init-vf0-vector) - (let ((gp-0 (-> arg0 root-override))) + (let ((gp-0 (-> arg0 root))) (let ((a1-0 (new 'stack-no-clear 'collide-query))) (let ((a2-0 (-> gp-0 root-prim))) (set! (-> a1-0 start-pos quad) (-> gp-0 trans quad)) @@ -233,22 +233,19 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (defun projectile-update-velocity-add-gravity ((arg0 projectile)) - (vector-v++! - (-> arg0 root-override transv) - (compute-acc-due-to-gravity (-> arg0 root-override) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> arg0 root transv) (compute-acc-due-to-gravity (-> arg0 root) (new-stack-vector0) 1.0)) 0 (none) ) (defun projectile-update-velocity-space-wars ((arg0 projectile)) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target-pos) (-> arg0 root-override trans)))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target-pos) (-> arg0 root trans)))) (let ((s4-0 (new 'stack-no-clear 'vector)) - (s3-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root-override transv) 1.0)) - (f30-0 (vector-length (-> arg0 root-override transv))) + (s3-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root transv) 1.0)) + (f30-0 (vector-length (-> arg0 root transv))) ) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) - (vector-flatten! s5-1 s5-1 (-> arg0 root-override local-normal)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) + (vector-flatten! s5-1 s5-1 (-> arg0 root local-normal)) ) (vector-normalize-copy! s4-0 s5-1 1.0) (if (and (or (not (handle->process (-> arg0 last-target))) @@ -263,20 +260,17 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (go (method-of-object arg0 dissipate)) ) - (vector-deg-slerp (-> arg0 root-override transv) s3-0 s4-0 (-> arg0 tween)) - (vector-normalize! (-> arg0 root-override transv) f30-0) + (vector-deg-slerp (-> arg0 root transv) s3-0 s4-0 (-> arg0 tween)) + (vector-normalize! (-> arg0 root transv) f30-0) ) - (vector+! (-> arg0 root-override transv) (-> arg0 root-override transv) s5-1) + (vector+! (-> arg0 root transv) (-> arg0 root transv) s5-1) ) - (vector-v++! - (-> arg0 root-override transv) - (compute-acc-due-to-gravity (-> arg0 root-override) (new-stack-vector0) 0.0) - ) - (if (< (-> arg0 max-speed) (vector-length (-> arg0 root-override transv))) - (vector-normalize! (-> arg0 root-override transv) (-> arg0 max-speed)) + (vector-v++! (-> arg0 root transv) (compute-acc-due-to-gravity (-> arg0 root) (new-stack-vector0) 0.0)) + (if (< (-> arg0 max-speed) (vector-length (-> arg0 root transv))) + (vector-normalize! (-> arg0 root transv) (-> arg0 max-speed)) ) (if (logtest? (-> arg0 options) (projectile-options lose-altitude)) - (set! (-> arg0 root-override transv y) -40960.0) + (set! (-> arg0 root transv y) -40960.0) ) 0 (none) @@ -305,7 +299,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (when (logtest? (-> self options) (projectile-options proj-options-2)) (seek! (-> self tween) 1.0 (* 0.5 (-> self clock seconds-per-frame))) - (let ((f0-4 (vector-vector-distance (-> self root-override trans) (-> self target-pos)))) + (let ((f0-4 (vector-vector-distance (-> self root trans) (-> self target-pos)))) (cond ((< f0-4 20480.0) (seek! (-> self tween) 1.0 (* 3.0 (-> self clock seconds-per-frame))) @@ -316,7 +310,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) ) ) - (let ((gp-0 (-> self root-override))) + (let ((gp-0 (-> self root))) (set! (-> self pre-move-transv quad) (-> gp-0 transv quad)) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> s5-0 quad) (-> gp-0 trans quad)) @@ -331,7 +325,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (+! f0-14 (-> self old-dist v1-38)) ) (if (or (and (logtest? (-> self options) (projectile-options proj-options-4)) - (and (logtest? (-> self root-override status) (collide-status touch-wall)) (< f0-14 2048.0)) + (and (logtest? (-> self root status) (collide-status touch-wall)) (< f0-14 2048.0)) ) (< f0-14 (-> self stop-speed)) ) @@ -423,9 +417,9 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -480,11 +474,11 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (logior! (-> self options) (projectile-options proj-options-4)) (init-proj-collision! self) - (let ((s5-0 (-> self root-override))) + (let ((s5-0 (-> self root))) (when (type? s5-0 collide-shape-moving) - (set! (-> self root-override dynam gravity y) 1228800.0) - (set! (-> self root-override dynam gravity-length) 1228800.0) - (set! (-> self root-override dynam gravity-max) 1228800.0) + (set! (-> self root dynam gravity y) 1228800.0) + (set! (-> self root dynam gravity-length) 1228800.0) + (set! (-> self root dynam gravity-max) 1228800.0) ) (set! (-> self mask) (logior (process-mask projectile) (-> self mask))) (logclear! (-> self mask) (process-mask enemy)) @@ -500,7 +494,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (set! (-> self target-pos quad) (-> self base-target-pos quad)) (set! (-> self event-hook) projectile-event-handler) (init-proj-settings! self) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (draw-laser-sight self) (play-impact-sound self (projectile-options)) (when (logtest? (-> self options) (projectile-options proj-options-8000)) @@ -513,15 +507,13 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (defbehavior projectile-bounce-update-velocity projectile ((arg0 projectile-bounce)) - (set! (-> arg0 root-override transv y) - (- (-> arg0 root-override transv y) (* 184320.0 (-> self clock seconds-per-frame))) - ) + (set! (-> arg0 root transv y) (- (-> arg0 root transv y) (* 184320.0 (-> self clock seconds-per-frame)))) 0 (none) ) (defbehavior projectile-bounce-falling-post projectile-bounce ((arg0 projectile-bounce)) - (let ((gp-0 (-> self root-override)) + (let ((gp-0 (-> self root)) (s4-0 (new 'stack-no-clear 'collide-query)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -529,7 +521,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (set! (-> s5-0 quad) (-> gp-0 trans quad)) (vector-v++! s5-0 (-> gp-0 transv)) (when (find-ground gp-0 s4-0 (collide-spec backgnd crate obstacle hit-by-others-list pusher) 4096.0 81920.0 1024.0) - (let ((f0-1 (+ (-> gp-0 gspot-pos y) (-> self root-override root-prim local-sphere w)))) + (let ((f0-1 (+ (-> gp-0 gspot-pos y) (-> self root root-prim local-sphere w)))) (when (>= f0-1 (-> s5-0 y)) (set! (-> s5-0 y) f0-1) (vector-reset! (-> gp-0 transv)) @@ -588,8 +580,8 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (defun projectile-bounce-move ((arg0 projectile-bounce)) - (seek-toward-heading-vec! (-> arg0 root-override) (-> arg0 root-override transv) 131072.0 (seconds 0.1)) - (quaternion*! (-> arg0 root-override quat) (-> arg0 root-override quat) (-> arg0 tumble-quat)) + (seek-toward-heading-vec! (-> arg0 root) (-> arg0 root transv) 131072.0 (seconds 0.1)) + (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> arg0 tumble-quat)) (projectile-move-fill-all-dirs arg0) (none) ) @@ -608,7 +600,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; WARN: Return type mismatch sound-id vs none. (defmethod play-impact-sound! projectile-bounce ((obj projectile-bounce)) "Plays impact sound" - (let* ((a2-0 (-> obj root-override)) + (let* ((a2-0 (-> obj root)) (v1-0 (-> a2-0 status)) ) (if (logtest? v1-0 (collide-status touch-surface)) @@ -646,14 +638,14 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (set-collide-with! - (-> obj root-override) + (-> obj root) (collide-spec backgnd bot crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) - (set-collide-as! (-> obj root-override) (collide-spec projectile)) - (set! (-> obj root-override pat-ignore-mask) + (set-collide-as! (-> obj root) (collide-spec projectile)) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -665,9 +657,9 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (set! (-> obj timeout) (seconds 1.6)) (set! (-> obj update-velocity) projectile-bounce-update-velocity) (set! (-> obj move) projectile-bounce-move) - (set! (-> obj root-override dynam gravity y) 184320.0) - (set! (-> obj root-override dynam gravity-length) 184320.0) - (set! (-> obj root-override dynam gravity-max) 184320.0) + (set! (-> obj root dynam gravity y) 184320.0) + (set! (-> obj root dynam gravity-length) 184320.0) + (set! (-> obj root dynam gravity-max) 184320.0) (let ((f0-4 1092.2667)) (quaternion-axis-angle! (-> obj tumble-quat) 1.0 0.0 0.0 f0-4) ) diff --git a/goal_src/jak2/engine/common_objs/rigid-body-plat.gc b/goal_src/jak2/engine/common_objs/rigid-body-plat.gc index 2c22a5e687..78e6cb5386 100644 --- a/goal_src/jak2/engine/common_objs/rigid-body-plat.gc +++ b/goal_src/jak2/engine/common_objs/rigid-body-plat.gc @@ -51,7 +51,7 @@ (set! (-> rigid-body-control-point-inline-array heap-base) (the-as uint 48)) (deftype rigid-body-platform (rigid-body-object) - ((info-override rigid-body-platform-constants :offset 204) + ((info rigid-body-platform-constants :override) (control-point-array rigid-body-control-point-inline-array :offset-assert 272) (player-velocity vector :inline :offset-assert 288) (player-velocity-prev vector :inline :offset-assert 304) @@ -118,7 +118,7 @@ ) (let* ((s4-0 (new 'stack-no-clear 'vector)) (f0-3 (- (-> ctrl-point world-pos w) (-> ctrl-point world-pos y))) - (f30-0 (/ f0-3 (-> obj info-override max-buoyancy-depth))) + (f30-0 (/ f0-3 (-> obj info max-buoyancy-depth))) ) (when (< 0.0 f0-3) (vector-float*! @@ -126,8 +126,8 @@ *y-vector* (* (-> obj rbody state info mass) (fmin 1.0 f30-0) - (/ (-> obj info-override extra gravity) (the float (-> obj info-override control-point-count))) - (-> obj info-override buoyancy-factor) + (/ (-> obj info extra gravity) (the float (-> obj info control-point-count))) + (-> obj info buoyancy-factor) ) ) (let ((v1-6 (-> obj rbody)) @@ -136,7 +136,7 @@ ) (rigid-body-method-18 (-> v1-6 state) a1-9 a2-0) ) - (vector-float*! s4-0 (-> ctrl-point velocity) (* -1.0 (-> obj info-override drag-factor) (fmin 1.0 f30-0))) + (vector-float*! s4-0 (-> ctrl-point velocity) (* -1.0 (-> obj info drag-factor) (fmin 1.0 f30-0))) (let ((v1-11 (-> obj rbody)) (a1-13 (-> ctrl-point world-pos)) ) @@ -157,7 +157,7 @@ (let ((rigid-body (-> obj rbody)) (force-pos (-> obj player-force-position)) (force (-> obj player-force)) - (force-dist (-> obj info-override player-force-distance)) + (force-dist (-> obj info player-force-distance)) ) (rigid-body-method-21 (-> rigid-body state) force-pos force force-dist) ) @@ -168,7 +168,7 @@ (defmethod rigid-body-platform-method-55 rigid-body-platform ((obj rigid-body-platform)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (vector-float*! a1-0 *y-vector* (* -1.0 (-> obj info-override extra gravity) (-> obj rbody state info mass))) + (vector-float*! a1-0 *y-vector* (* -1.0 (-> obj info extra gravity) (-> obj rbody state info mass))) (rigid-body-method-20 (-> obj rbody state) a1-0) ) 0 @@ -194,7 +194,7 @@ (defmethod rigid-body-object-method-29 rigid-body-platform ((obj rigid-body-platform) (arg0 float)) (let ((s4-0 (-> obj rbody state matrix))) - (dotimes (s3-0 (-> obj info-override control-point-count)) + (dotimes (s3-0 (-> obj info control-point-count)) (let ((s2-0 (-> obj control-point-array data s3-0))) (vector-matrix*! (-> s2-0 world-pos) (-> s2-0 local-pos) s4-0) (let ((v1-4 (-> obj rbody)) @@ -214,8 +214,8 @@ ) (defmethod rigid-body-object-method-30 rigid-body-platform ((obj rigid-body-platform)) - (if (-> obj info-override platform) - (detect-riders! (-> obj root-override-2)) + (if (-> obj info platform) + (detect-riders! (-> obj root)) ) (set! (-> obj player-velocity-prev quad) (-> obj player-velocity quad)) (if *target* @@ -248,7 +248,7 @@ (logior! (-> obj flags) (rigid-body-object-flag player-contact-force)) (set! (-> obj player-force-position quad) (-> (the-as rigid-body-control-point v1-1) velocity quad)) (vector-reset! (-> obj player-force)) - (set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight))) + (set! (-> obj player-force y) (* -1.0 (-> obj info player-weight))) ) ) ) @@ -267,7 +267,7 @@ ) (when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))) (logior! (-> obj flags) (rigid-body-object-flag player-contact-force)) - (set! (-> obj player-force-position quad) (-> v1-11 root-override trans quad)) + (set! (-> obj player-force-position quad) (-> v1-11 root trans quad)) (vector-reset! (-> obj player-force)) (let* ((a1-5 (-> obj player-force-position)) (f30-0 0.0) @@ -277,7 +277,7 @@ (f1-2 12288.0) (f0-8 (fmax f30-0 (fmin f28-0 (- f26-0 (* f0-4 (/ 1.0 f1-2)))))) ) - (set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight) f0-8)) + (set! (-> obj player-force y) (* -1.0 (-> obj info player-weight) f0-8)) ) ) ) @@ -287,7 +287,7 @@ ) (('bonk) (when (>= (- (current-time) (the-as int (-> obj player-bonk-timeout))) - (the-as time-frame (-> obj info-override player-force-timeout)) + (the-as time-frame (-> obj info player-force-timeout)) ) (set! (-> obj player-bonk-timeout) (the-as uint (current-time))) (let* ((s4-0 arg0) @@ -302,10 +302,10 @@ (let ((f0-14 (fmin (* 0.00012207031 (the-as float (-> arg3 param 1)) - (-> obj info-override player-bonk-factor) - (-> obj info-override player-weight) + (-> obj info player-bonk-factor) + (-> obj info player-weight) ) - (-> obj info-override player-force-clamp) + (-> obj info player-force-clamp) ) ) ) @@ -325,7 +325,7 @@ (defmethod rigid-body-object-method-37 rigid-body-platform ((obj rigid-body-platform)) (if (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force)) (sound-play-by-name - (string->sound-name (-> obj info-override sound-name)) + (string->sound-name (-> obj info sound-name)) (new-sound-id) 1024 0 @@ -335,9 +335,9 @@ ) ) (rigid-body-object-method-30 obj) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (let ((v1-9 (-> obj rbody)) - (a1-2 (-> obj root-override-2 trans)) + (a1-2 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-9 state) a1-2) ) @@ -346,16 +346,16 @@ ) (defmethod alloc-and-init-rigid-body-control rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-object-constants)) - (set! (-> obj info-override) (the-as rigid-body-platform-constants arg0)) + (set! (-> obj info) (the-as rigid-body-platform-constants arg0)) (set! (-> obj rbody) (new 'process 'rigid-body-control obj)) (set! (-> obj control-point-array) - (new 'process 'rigid-body-control-point-inline-array (-> obj info-override control-point-count)) + (new 'process 'rigid-body-control-point-inline-array (-> obj info control-point-count)) ) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (let ((v1-5 (-> obj rbody)) - (a1-3 (-> obj info-override info)) - (a2-2 (-> obj root-override-2 trans)) - (a3-0 (-> obj root-override-2 quat)) + (a1-3 (-> obj info info)) + (a2-2 (-> obj root trans)) + (a3-0 (-> obj root quat)) (t0-0 (method-of-object obj rigid-body-object-method-29)) ) (rigid-body-method-25 (-> v1-5 state) a1-3 a2-2 a3-0 t0-0) @@ -364,7 +364,7 @@ (set! (-> obj player-force quad) (-> *null-vector* quad)) (set! (-> obj player-velocity quad) (-> *null-vector* quad)) (set! (-> obj player-velocity-prev quad) (-> *null-vector* quad)) - (set! (-> obj root-override-2 max-iteration-count) (the-as uint 4)) + (set! (-> obj root max-iteration-count) (the-as uint 4)) (set! (-> obj max-time-step) (-> arg0 extra max-time-step)) (set! (-> obj water-anim) (the-as water-anim (entity-actor-lookup (-> obj entity) 'water-actor 0))) 0 @@ -393,7 +393,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -436,7 +436,7 @@ (defmethod init-skel-and-rigid-body rigid-body-platform ((obj rigid-body-platform)) (set! (-> obj float-height-offset) 0.0) (alloc-and-init-rigid-body-control obj *rigid-body-platform-constants*) - (let ((s5-0 (-> obj info-override control-point-count))) + (let ((s5-0 (-> obj info control-point-count))) (dotimes (s4-0 s5-0) (let ((s3-0 (-> obj control-point-array data s4-0))) (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0))))) diff --git a/goal_src/jak2/engine/common_objs/voicebox.gc b/goal_src/jak2/engine/common_objs/voicebox.gc index b9ec8d6d44..df01af14c6 100644 --- a/goal_src/jak2/engine/common_objs/voicebox.gc +++ b/goal_src/jak2/engine/common_objs/voicebox.gc @@ -58,14 +58,14 @@ (deftype remote (process-drawable) - ((parent-override (pointer camera-slave) :offset 16) - (base-trans vector :inline :offset-assert 208) - (focus focus :inline :offset-assert 224) - (seeker cam-float-seeker :inline :offset-assert 236) - (start-time time-frame :offset-assert 264) - (blend float :offset-assert 272) - (twist float :offset-assert 276) - (speak-effect? basic :offset-assert 280) + ((parent (pointer camera-slave) :override) + (base-trans vector :inline :offset-assert 208) + (focus focus :inline :offset-assert 224) + (seeker cam-float-seeker :inline :offset-assert 236) + (start-time time-frame :offset-assert 264) + (blend float :offset-assert 272) + (twist float :offset-assert 276) + (speak-effect? basic :offset-assert 280) ) :heap-base #xa0 :method-count-assert 26 @@ -121,12 +121,9 @@ (-> obj speak-effect?) ) ) - (let ((v1-15 (vector-float*! - (new 'stack-no-clear 'vector) - (-> obj parent-override 0 velocity) - (-> pp clock frames-per-second) - ) - ) + (let ((v1-15 + (vector-float*! (new 'stack-no-clear 'vector) (-> obj parent 0 velocity) (-> pp clock frames-per-second)) + ) (a0-8 *particle-vel*) ) (let ((a1-4 (-> obj node-list data 3 bone transform vector 2))) @@ -159,10 +156,10 @@ (let ((gp-0 (handle->process (-> self focus handle))) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self parent-override 0 trans quad)) + (set! (-> s5-0 quad) (-> self parent 0 trans quad)) (let ((f30-0 (get-track-pt-and-scale self s5-0))) (let ((a1-2 (new 'stack-no-clear 'vector))) - (set! (-> a1-2 quad) (-> self parent-override 0 trans quad)) + (set! (-> a1-2 quad) (-> self parent 0 trans quad)) (vector-lerp! (-> self root trans) a1-2 s5-0 (-> self blend)) ) (+! (-> self root trans y) (* 1638.4 (sin (* 54.613335 (the float (mod (current-time) 1200)))))) @@ -190,7 +187,7 @@ (set! (-> a1-9 from) (process->ppointer self)) (set! (-> a1-9 num-params) 0) (set! (-> a1-9 message) 'blocked-side?) - (case (send-event-function (ppointer->process (-> self parent-override)) a1-9) + (case (send-event-function (ppointer->process (-> self parent)) a1-9) ((1) (set! (-> self twist) 0.5) ) @@ -202,7 +199,7 @@ ) ) ) - (send-event (ppointer->process (-> self parent-override)) 'joystick (-> self twist) -1082130432) + (send-event (ppointer->process (-> self parent)) 'joystick (-> self twist) -1082130432) ) (set! (-> self root scale x) f30-0) (set! (-> self root scale y) f30-0) @@ -230,7 +227,7 @@ ) :enter (behavior () (set! (-> self start-time) (-> *display* game-clock frame-counter)) - (let* ((gp-0 (ppointer->process (-> self parent-override 0 parent))) + (let* ((gp-0 (ppointer->process (-> self parent 0 parent))) (a1-1 (if (type? gp-0 process-focusable) gp-0 ) @@ -252,7 +249,7 @@ (none) ) :code (behavior () - (let* ((gp-0 (ppointer->process (-> self parent-override 0 parent))) + (let* ((gp-0 (ppointer->process (-> self parent 0 parent))) (a0-1 (if (type? gp-0 process-focusable) (the-as process-focusable gp-0) ) @@ -260,13 +257,13 @@ ) (if (and a0-1 (focus-test? a0-1 pilot)) (send-event - (ppointer->process (-> self parent-override)) + (ppointer->process (-> self parent)) 'set-dist (new 'static 'vector :z 8192.0 :w 1.0) (new 'static 'vector :y 20480.0 :z 12288.0 :w 1.0) ) (send-event - (ppointer->process (-> self parent-override)) + (ppointer->process (-> self parent)) 'set-dist (new 'static 'vector :z 16384.0 :w 1.0) (new 'static 'vector :y 20480.0 :z 40960.0 :w 1.0) @@ -310,7 +307,7 @@ :trans remote-track :code (behavior () (set! (-> self blend) 1.0) - (send-event (ppointer->process (-> self parent-override)) 'change-state empty-state) + (send-event (ppointer->process (-> self parent)) 'change-state empty-state) (suspend) 0 (none) @@ -375,7 +372,7 @@ (suspend) ) (set! (-> self blend) 1.0) - (send-event (ppointer->process (-> self parent-override)) 'change-state empty-state) + (send-event (ppointer->process (-> self parent)) 'change-state empty-state) (suspend) (cleanup-for-death self) (none) @@ -438,7 +435,7 @@ ) ) (if *target* - (set! (-> *game-info* score) (-> *target* fact-override trick-point)) + (set! (-> *game-info* score) (-> *target* fact trick-point)) ) (let ((v1-15 (the-as int (- (-> obj total-time) (- (-> *display* game-clock frame-counter) (-> obj start-time)))))) (if (< (the-as time-frame v1-15) 0) diff --git a/goal_src/jak2/engine/debug/nav/nav-graph-editor.gc b/goal_src/jak2/engine/debug/nav/nav-graph-editor.gc index e3258975c0..7ba500f4bd 100644 --- a/goal_src/jak2/engine/debug/nav/nav-graph-editor.gc +++ b/goal_src/jak2/engine/debug/nav/nav-graph-editor.gc @@ -40,7 +40,7 @@ (set! (-> nav-graph-command-array heap-base) (the-as uint 32)) (deftype nav-graph-editor (process) - ((self-override nav-graph-editor :offset 32) + ((self nav-graph-editor :override) (nav-graph mysql-nav-graph :offset-assert 128) (mode symbol :offset-assert 132) (command-id int32 :offset-assert 136) @@ -2079,59 +2079,36 @@ ) (defun get-nav-graph-editor () - (let ((v1-0 *nav-graph-editor*)) - (if v1-0 - (-> v1-0 0 self-override) - ) - ) + (ppointer->process *nav-graph-editor*) ) (defun exit-nav-graph-editor () - (when *nav-graph-editor* - (let ((v1-1 *nav-graph-editor*)) - (deactivate (if v1-1 - (-> v1-1 0 self-override) - ) - ) + (if *nav-graph-editor* + (deactivate (ppointer->process *nav-graph-editor*)) ) - ) (none) ) ;; WARN: Return type mismatch mysql-save-flag vs uint. (defun set-minimap-edge-flag ((arg0 nav-minimap-edge-flag)) - (let ((v1-0 *nav-graph-editor*)) - (the-as uint (when (if v1-0 - (-> v1-0 0 self-override) - ) - (let* ((a1-1 *nav-graph-editor*) - (v1-2 (if a1-1 - (-> a1-1 0 self-override) - ) - ) - ) - (when (>= (-> v1-2 edge-visibility) 0) - (let ((v1-6 (-> v1-2 nav-graph edge-array data (-> v1-2 edge-visibility)))) - (set! (-> v1-6 minimap_edge_flag) arg0) - (let ((v0-0 (logior (-> v1-6 mysql-save-flag) (mysql-save-flag update)))) - (set! (-> v1-6 mysql-save-flag) v0-0) - v0-0 - ) + (the-as uint (when (ppointer->process *nav-graph-editor*) + (let ((v1-2 (ppointer->process *nav-graph-editor*))) + (when (>= (-> v1-2 edge-visibility) 0) + (let ((v1-6 (-> v1-2 nav-graph edge-array data (-> v1-2 edge-visibility)))) + (set! (-> v1-6 minimap_edge_flag) arg0) + (let ((v0-0 (logior (-> v1-6 mysql-save-flag) (mysql-save-flag update)))) + (set! (-> v1-6 mysql-save-flag) v0-0) + v0-0 ) ) ) ) - ) - ) + ) + ) ) (defun set-vehicle-edit-mode ((arg0 symbol)) - (let* ((a1-0 *nav-graph-editor*) - (v1-0 (if a1-0 - (-> a1-0 0 self-override) - ) - ) - ) + (let ((v1-0 (ppointer->process *nav-graph-editor*))) (when v1-0 (set! (-> v1-0 vehicle-edit-mode) arg0) (set! (-> v1-0 default-node nav_node_flag) (if arg0 @@ -2145,49 +2122,31 @@ ) (defun translate-nav-graph ((arg0 float) (arg1 float) (arg2 float)) - (let ((v1-0 *nav-graph-editor*)) - (when (if v1-0 - (-> v1-0 0 self-override) - ) - (let* ((a3-1 *nav-graph-editor*) - (v1-2 (if a3-1 - (-> a3-1 0 self-override) - ) - ) - ) - (dotimes (a3-2 (-> v1-2 nav-graph node-array length)) - (let ((t0-3 (-> v1-2 nav-graph node-array data a3-2))) - (+! (-> t0-3 position x) arg0) - (+! (-> t0-3 position y) arg1) - (+! (-> t0-3 position z) arg2) - (logior! (-> t0-3 mysql-save-flag) (mysql-save-flag update)) - ) + (when (ppointer->process *nav-graph-editor*) + (let ((v1-2 (ppointer->process *nav-graph-editor*))) + (dotimes (a3-2 (-> v1-2 nav-graph node-array length)) + (let ((t0-3 (-> v1-2 nav-graph node-array data a3-2))) + (+! (-> t0-3 position x) arg0) + (+! (-> t0-3 position y) arg1) + (+! (-> t0-3 position z) arg2) + (logior! (-> t0-3 mysql-save-flag) (mysql-save-flag update)) ) ) - #f ) + #f ) ) (defun update-nav-meshes () - (let ((v1-0 *nav-graph-editor*)) - (when (if v1-0 - (-> v1-0 0 self-override) - ) - (let* ((v1-2 *nav-graph-editor*) - (gp-0 (if v1-2 - (-> v1-2 0 self-override) - ) - ) - ) - (dotimes (s5-0 (-> gp-0 nav-graph node-array length)) - (if (not (logtest? (-> gp-0 nav-graph node-array data s5-0 mysql-save-flag) (mysql-save-flag delete))) - (nav-graph-editor-method-54 gp-0 s5-0) - ) - ) + (when (ppointer->process *nav-graph-editor*) + (let ((gp-0 (ppointer->process *nav-graph-editor*))) + (dotimes (s5-0 (-> gp-0 nav-graph node-array length)) + (if (not (logtest? (-> gp-0 nav-graph node-array data s5-0 mysql-save-flag) (mysql-save-flag delete))) + (nav-graph-editor-method-54 gp-0 s5-0) + ) ) - #f ) + #f ) ) @@ -2208,14 +2167,7 @@ (vf6 :class vf) ) (init-vf0-vector) - (let* ((v1-0 *nav-graph-editor*) - (s5-0 (-> (if v1-0 - (-> v1-0 0 self-override) - ) - nav-graph - ) - ) - ) + (let ((s5-0 (-> (ppointer->process *nav-graph-editor*) nav-graph))) (dotimes (s4-0 (-> s5-0 node-array length)) (let ((s3-0 (-> s5-0 node-array data s4-0)) (s2-0 (new-stack-vector0)) @@ -2293,14 +2245,7 @@ ) (defun update-height ((arg0 string)) - (let* ((v1-0 *nav-graph-editor*) - (v1-2 (-> (if v1-0 - (-> v1-0 0 self-override) - ) - nav-graph - ) - ) - ) + (let ((v1-2 (-> (ppointer->process *nav-graph-editor*) nav-graph))) (dotimes (a1-1 (-> v1-2 node-array length)) (let ((a2-3 (-> v1-2 node-array data a1-1))) (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) @@ -2318,14 +2263,7 @@ (defun update-width ((arg0 string)) (local-vars (sv-16 (array entity-nav-mesh)) (sv-32 int) (sv-48 uint) (sv-64 entity-nav-mesh)) - (let* ((v1-0 *nav-graph-editor*) - (s5-0 (-> (if v1-0 - (-> v1-0 0 self-override) - ) - nav-graph - ) - ) - ) + (let ((s5-0 (-> (ppointer->process *nav-graph-editor*) nav-graph))) (dotimes (s4-0 (-> s5-0 edge-array length)) (let ((s3-0 (-> s5-0 edge-array data s4-0))) (when (not (logtest? (-> s3-0 mysql-save-flag) (mysql-save-flag delete))) diff --git a/goal_src/jak2/engine/game/effect-control.gc b/goal_src/jak2/engine/game/effect-control.gc index 7bd7bc48cd..5e01794369 100644 --- a/goal_src/jak2/engine/game/effect-control.gc +++ b/goal_src/jak2/engine/game/effect-control.gc @@ -110,7 +110,7 @@ (set! (-> arg0 reg 0) (the-as uint 127)) ) (else - (let* ((s2-4 (-> v1-33 root-override)) + (let* ((s2-4 (-> v1-33 root)) (v1-34 (if (type? s2-4 collide-shape-moving) s2-4 ) diff --git a/goal_src/jak2/engine/game/task/game-task.gc b/goal_src/jak2/engine/game/task/game-task.gc index 389dfca154..ca27e95a2c 100644 --- a/goal_src/jak2/engine/game/task/game-task.gc +++ b/goal_src/jak2/engine/game/task/game-task.gc @@ -10064,7 +10064,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-2-resolution) - :index #xe + :index 14 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10212,7 +10212,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-4-resolution) - :index #xa + :index 10 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10584,7 +10584,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-6-resolution) - :index #xd + :index 13 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10737,7 +10737,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-7-resolution) - :index #xc + :index 12 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10811,7 +10811,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-8-resolution) - :index #x6 + :index 6 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10885,7 +10885,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-9-resolution) - :index #x8 + :index 8 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11106,7 +11106,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-11-resolution) - :index #x9 + :index 9 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11399,7 +11399,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-13-resolution) - :index #xb + :index 11 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11473,7 +11473,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-14-resolution) - :index #x7 + :index 7 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11695,7 +11695,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-race-errol-resolution) - :index #x7 + :index 7 :on-complete #f :on-fail #f ) @@ -11769,7 +11769,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-race-port-resolution) - :index #x8 + :index 8 :on-complete #f :on-fail #f ) @@ -12079,7 +12079,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class1-resolution) - :index #x6 + :index 6 :on-complete #f :on-fail #f ) @@ -12150,7 +12150,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class3-r-resolution) - :index #x9 + :index 9 :on-complete #f :on-fail #f ) @@ -12221,7 +12221,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class2-r-resolution) - :index #xa + :index 10 :on-complete #f :on-fail #f ) @@ -12292,7 +12292,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class1-r-resolution) - :index #xb + :index 11 :on-complete #f :on-fail #f ) diff --git a/goal_src/jak2/engine/game/task/task-control.gc b/goal_src/jak2/engine/game/task/task-control.gc index 86c3f1e537..c0e78b6a0e 100644 --- a/goal_src/jak2/engine/game/task/task-control.gc +++ b/goal_src/jak2/engine/game/task/task-control.gc @@ -84,7 +84,7 @@ 0 ) ) - (let ((s5-0 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s5-0 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s5-0 (let ((s4-0 (the-as connection-minimap s5-0))) (if (and (logtest? (-> s4-0 flags) (minimap-flag task-graph)) @@ -1496,17 +1496,9 @@ (when (and (not (logtest? (-> obj flags) (fail-mission-flags famflags-6))) (= (get-status *gui-control* (-> obj message-id)) (gui-status active)) ) - (let ((gp-0 (new - 'stack - 'font-context - *font-default-matrix* - 70 - 20 - 0.0 - (font-color orange) - (font-flags shadow kerning) - ) - ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning)) + ) ) (set! (-> gp-0 origin x) 120.0) (let ((v1-7 gp-0)) diff --git a/goal_src/jak2/engine/gfx/mood/mood-funcs.gc b/goal_src/jak2/engine/gfx/mood/mood-funcs.gc index 7fcd9c31b6..08163c6623 100644 --- a/goal_src/jak2/engine/gfx/mood/mood-funcs.gc +++ b/goal_src/jak2/engine/gfx/mood/mood-funcs.gc @@ -1073,6 +1073,13 @@ (none) ) +(#when PC_PORT +;; added - drillmtn uses camera-other but only palout sets the trans +(defun init-mood-drillmnt ((arg0 mood-context)) + (set-vector! (-> *math-camera* trans-other) 0.0 0.0 0.0 1.0) + ) +) + (deftype drillb-states (structure) ((fire-floor float :offset-assert 0) (fire-floor-fade float :offset-assert 4) diff --git a/goal_src/jak2/engine/level/level-info.gc b/goal_src/jak2/engine/level/level-info.gc index 82faf61b47..5dbc3b337d 100644 --- a/goal_src/jak2/engine/level/level-info.gc +++ b/goal_src/jak2/engine/level/level-info.gc @@ -1053,7 +1053,7 @@ :music-bank 'strip :ambient-sounds '() :mood-func 'update-mood-drillmnt - :mood-init #f + :mood-init 'init-mood-drillmnt ;; added :ocean #f :sky #t :use-camera-other #t diff --git a/goal_src/jak2/engine/nav/nav-enemy-h.gc b/goal_src/jak2/engine/nav/nav-enemy-h.gc index 679206c5e2..2cccf5287f 100644 --- a/goal_src/jak2/engine/nav/nav-enemy-h.gc +++ b/goal_src/jak2/engine/nav/nav-enemy-h.gc @@ -55,7 +55,7 @@ (deftype nav-enemy (enemy) - ((enemy-info-override nav-enemy-info :offset 216) + ((enemy-info nav-enemy-info :override) (frustration-point vector :inline :offset-assert 544) (move-dest vector :inline :offset-assert 560) (frustration-time time-frame :offset-assert 576) diff --git a/goal_src/jak2/engine/nav/nav-enemy.gc b/goal_src/jak2/engine/nav/nav-enemy.gc index 64373b9069..4e49e31afe 100644 --- a/goal_src/jak2/engine/nav/nav-enemy.gc +++ b/goal_src/jak2/engine/nav/nav-enemy.gc @@ -82,7 +82,7 @@ ) (countdown (s3-0 s4-0) (get-point-in-path! (-> obj path) s5-0 (the float s2-0) 'interp) - (if (< 4096.0 (vector-vector-xz-distance s5-0 (-> obj root-override2 trans))) + (if (< 4096.0 (vector-vector-xz-distance s5-0 (-> obj root trans))) (goto cfg-11) ) (set! s2-0 (mod (+ s2-0 1) s4-0)) @@ -103,7 +103,7 @@ ) (defmethod enemy-method-102 nav-enemy ((obj nav-enemy)) - (let ((gp-0 (-> obj root-override2)) + (let ((gp-0 (-> obj root)) (s3-0 (-> obj nav state)) ) (do-navigation-to-destination s3-0 (-> gp-0 trans)) @@ -123,17 +123,9 @@ ) ) (cond - ((-> obj enemy-info-override move-to-ground) + ((-> obj enemy-info move-to-ground) (let ((s3-1 (new 'stack-no-clear 'collide-query))) - (when (enemy-above-ground? - obj - s3-1 - s4-0 - (-> obj enemy-info-override recover-gnd-collide-with) - 8192.0 - 81920.0 - 1024.0 - ) + (when (enemy-above-ground? obj s3-1 s4-0 (-> obj enemy-info recover-gnd-collide-with) 8192.0 81920.0 1024.0) (let ((f0-4 (- (-> gp-0 trans y) (-> s3-1 best-other-tri intersect y)))) (if (and (>= 12288.0 f0-4) (< -8192.0 f0-4)) (return #f) @@ -155,18 +147,18 @@ (defmethod enemy-method-100 nav-enemy ((obj nav-enemy)) (local-vars (v0-1 vector)) (with-pp - (when (not (-> obj enemy-info-override move-to-ground)) + (when (not (-> obj enemy-info move-to-ground)) (enemy-method-103 obj) (return (the-as symbol #f)) ) (when (not (logtest? (enemy-flag directed) (-> obj enemy-flags))) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (if (focus-test? obj under-water) (enemy-method-47 obj (-> s5-0 transv)) - (+! (-> s5-0 transv y) (* (-> obj enemy-info-override movement-gravity) (-> pp clock seconds-per-frame))) + (+! (-> s5-0 transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) ) (let ((a2-0 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-16 (-> obj enemy-info-override))) + (let ((v1-16 (-> obj enemy-info))) (set! (-> a2-0 gnd-collide-with) (-> v1-16 recover-gnd-collide-with)) (set! (-> a2-0 popup) 8192.0) (set! (-> a2-0 dont-move-if-overlaps?) #t) @@ -184,36 +176,34 @@ (if (and (enemy-method-102 obj) (not (logtest? (-> obj focus-status) (focus-status dead)))) (kill-prefer-falling obj) ) - (the-as - symbol - (when (logtest? (-> obj nav state flags) (nav-state-flag in-mesh)) - (let ((s5-1 (-> obj root-override2)) - (a1-2 (new 'stack-no-clear 'collide-query)) - (s3-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s3-0 quad) (-> s5-1 gspot-pos quad)) - (set! (-> s4-0 quad) (-> s5-1 gspot-normal quad)) - (cond - ((find-ground s5-1 a1-2 (-> obj enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) - (let ((f0-4 (- (-> s5-1 trans y) (-> s5-1 gspot-pos y)))) - (when (>= 409.6 (fabs f0-4)) - (enemy-method-103 obj) - (return (the-as symbol #f)) - v0-1 - ) - ) - ) - (else - (set! (-> s5-1 gspot-pos quad) (-> s3-0 quad)) - (set! v0-1 (-> s5-1 gspot-normal)) - (set! (-> v0-1 quad) (-> s4-0 quad)) - v0-1 - ) + (the-as symbol (when (logtest? (-> obj nav state flags) (nav-state-flag in-mesh)) + (let ((s5-1 (-> obj root)) + (a1-2 (new 'stack-no-clear 'collide-query)) + (s3-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s3-0 quad) (-> s5-1 gspot-pos quad)) + (set! (-> s4-0 quad) (-> s5-1 gspot-normal quad)) + (cond + ((find-ground s5-1 a1-2 (-> obj enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) + (let ((f0-4 (- (-> s5-1 trans y) (-> s5-1 gspot-pos y)))) + (when (>= 409.6 (fabs f0-4)) + (enemy-method-103 obj) + (return (the-as symbol #f)) + v0-1 + ) + ) + ) + (else + (set! (-> s5-1 gspot-pos quad) (-> s3-0 quad)) + (set! v0-1 (-> s5-1 gspot-normal)) + (set! (-> v0-1 quad) (-> s4-0 quad)) + v0-1 + ) + ) + ) + ) ) - ) - ) - ) ) ) @@ -233,7 +223,7 @@ ) ) (when *target* - (target-look-at-me! :trans (the-as vector (-> self root-override2 root-prim prim-core)) + (target-look-at-me! :trans (the-as vector (-> self root root-prim prim-core)) :message (if (logtest? (-> self enemy-flags) (enemy-flag use-notice-distance)) 'attacking )) @@ -249,11 +239,9 @@ ) ((logtest? (-> self enemy-flags) (enemy-flag death-start)) (let ((s5-1 (-> self move-dest)) - (v1-47 (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data (-> self enemy-info-override neck-joint)) - ) - ) + (v1-47 + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> self enemy-info neck-joint))) + ) (a1-6 (new 'stack-no-clear 'vector)) ) (set! (-> a1-6 x) (-> s5-1 x)) @@ -269,12 +257,12 @@ (>= (- (current-time) (-> self auto-reset-penetrate-time)) (seconds 0.1)) ) (logclear! (-> self enemy-flags) (enemy-flag attackable-backup)) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (let ((v1-62 0)) - (if (logtest? (penetrate knocked) (-> self root-override2 penetrate-using)) + (if (logtest? (penetrate knocked) (-> self root penetrate-using)) (set! v1-62 (logior (shl 1 32) v1-62)) ) - (set! (-> self root-override2 penetrate-using) (the-as penetrate v1-62)) + (set! (-> self root penetrate-using) (the-as penetrate v1-62)) ) ) (if (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) @@ -287,11 +275,11 @@ (when (nonzero? v1-73) (when (>= (current-time) v1-73) (set! (-> self restore-nav-radius-time) 0) - (set! (-> self root-override2 nav-radius) (-> self nav-radius-backup)) + (set! (-> self root nav-radius) (-> self nav-radius-backup)) ) ) ) - (if (and *debug-segment* (-> self enemy-info-override debug-draw-neck) (nonzero? (-> self neck))) + (if (and *debug-segment* (-> self enemy-info debug-draw-neck) (nonzero? (-> self neck))) (joint-mod-debug-draw (-> self neck)) ) (ja-post) @@ -357,7 +345,7 @@ ) ) (track-target! obj) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -553,9 +541,9 @@ (vector-normalize! s5-0 1.0) ;; modified for PC, see comment near definition in collide-shape-h.gc - (normalized-heading-to-quaternion! (-> obj root-override2 quat) s5-0) + (normalized-heading-to-quaternion! (-> obj root quat) s5-0) ) - (quaternion-normalize! (-> obj root-override2 quat)) + (quaternion-normalize! (-> obj root quat)) 0 (none) ) @@ -566,21 +554,19 @@ (let ((a2-0 (-> arg0 state))) (set! (-> v1-0 quad) (-> a2-0 velocity quad)) ) - (let ((a0-3 (-> obj root-override2 transv))) + (let ((a0-3 (-> obj root transv))) (set! (-> a0-3 x) (-> v1-0 x)) (set! (-> a0-3 z) (-> v1-0 z)) ) ) (cond - ((-> obj enemy-info-override move-to-ground) + ((-> obj enemy-info move-to-ground) (if (focus-test? obj under-water) - (enemy-method-47 obj (-> obj root-override2 transv)) - (+! (-> obj root-override2 transv y) - (* (-> obj enemy-info-override movement-gravity) (-> pp clock seconds-per-frame)) - ) + (enemy-method-47 obj (-> obj root transv)) + (+! (-> obj root transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) ) (let ((a2-3 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-14 (-> obj enemy-info-override))) + (let ((v1-14 (-> obj enemy-info))) (set! (-> a2-3 gnd-collide-with) (the-as collide-spec (-> obj gnd-collide))) (set! (-> a2-3 popup) 8192.0) (set! (-> a2-3 dont-move-if-overlaps?) #t) @@ -590,15 +576,15 @@ ) (set! (-> a2-3 overlaps-params tlist) *touching-list*) (-> a2-3 overlaps-params) - (enemy-method-128 obj (-> obj root-override2 transv) a2-3) + (enemy-method-128 obj (-> obj root transv) a2-3) ) ) (else (let ((a2-4 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a2-4 options) (overlaps-others-options oo0)) - (set! (-> a2-4 collide-with-filter) (-> obj enemy-info-override overlaps-others-collide-with-filter)) + (set! (-> a2-4 collide-with-filter) (-> obj enemy-info overlaps-others-collide-with-filter)) (set! (-> a2-4 tlist) *touching-list*) - (integrate-for-enemy-no-mtg (-> obj root-override2) (-> obj root-override2 transv) a2-4) + (integrate-for-enemy-no-mtg (-> obj root) (-> obj root transv) a2-4) ) ) ) @@ -850,7 +836,7 @@ (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> obj enemy-flags)))) ) (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> obj enemy-flags)))) - (set! (-> obj nav callback-info) (-> obj enemy-info-override callback-info)) + (set! (-> obj nav callback-info) (-> obj enemy-info callback-info)) 0 (none) ) @@ -895,9 +881,9 @@ ) (defmethod nav-enemy-method-158 nav-enemy ((obj nav-enemy) (arg0 vector)) - (let ((f1-0 (-> obj root-override2 trans y)) + (let ((f1-0 (-> obj root trans y)) (f0-0 (-> arg0 y)) - (v1-1 (-> obj fact-info-override)) + (v1-1 (-> obj fact)) ) (and (< f0-0 (+ f1-0 (-> v1-1 notice-top))) (and (< (- f1-0 (-> v1-1 notice-bottom)) f0-0) (let ((v1-3 (-> obj nav)) @@ -915,13 +901,13 @@ ) (defmethod nav-enemy-method-159 nav-enemy ((obj nav-enemy) (arg0 vector)) - (let ((f1-0 (-> obj root-override2 trans y)) + (let ((f1-0 (-> obj root trans y)) (f0-0 (-> arg0 y)) - (v1-1 (-> obj fact-info-override)) + (v1-1 (-> obj fact)) ) (and (< f0-0 (+ f1-0 (-> v1-1 notice-top))) (and (< (- f1-0 (-> v1-1 notice-bottom)) f0-0) - (is-in-mesh? (-> obj nav) arg0 (-> obj enemy-info-override notice-nav-radius)) + (is-in-mesh? (-> obj nav) arg0 (-> obj enemy-info notice-nav-radius)) ) ) ) @@ -938,12 +924,12 @@ ) (when arg1 (let* ((f0-0 (-> arg1 y)) - (v1-4 (-> obj root-override2)) + (v1-4 (-> obj root)) (f1-0 (-> v1-4 trans y)) - (a0-2 (-> obj fact-info-override)) + (a0-2 (-> obj fact)) ) (when (and (< f0-0 (+ f1-0 (-> a0-2 notice-top))) (< (- f1-0 (-> a0-2 notice-bottom)) f0-0)) - (let* ((f30-0 (-> obj enemy-info-override notice-nav-radius)) + (let* ((f30-0 (-> obj enemy-info notice-nav-radius)) (f0-1 f30-0) ) (or (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (-> v1-4 trans) arg1)) @@ -972,15 +958,15 @@ (cond ((or (not s5-0) (< 6144.0 (vector-vector-distance (get-trans (the-as process-focusable s5-0) 1) (-> obj frustration-point))) - (< (-> obj enemy-info-override frustration-distance) - (vector-vector-xz-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root-override2 trans)) + (< (-> obj enemy-info frustration-distance) + (vector-vector-xz-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root trans)) ) ) (nav-enemy-method-161 obj) ) (else (when (>= (- (current-time) (-> obj frustration-time)) - (+ (-> obj reaction-time) (-> obj enemy-info-override frustration-time)) + (+ (-> obj reaction-time) (-> obj enemy-info frustration-time)) ) (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag not-frustrated) (-> obj enemy-flags)))) 0 @@ -999,12 +985,12 @@ (defmethod nav-enemy-method-163 nav-enemy ((obj nav-enemy)) (let ((v1-0 (-> obj blocked-start-time))) - (and (nonzero? v1-0) (>= (- (current-time) v1-0) (-> obj enemy-info-override blocked-time))) + (and (nonzero? v1-0) (>= (- (current-time) v1-0) (-> obj enemy-info blocked-time))) ) ) (defmethod nav-enemy-method-164 nav-enemy ((obj nav-enemy)) - (if (-> obj enemy-info-override use-momentum) + (if (-> obj enemy-info use-momentum) (logior! (-> obj nav flags) (nav-control-flag use-momentum)) (logclear! (-> obj nav flags) (nav-control-flag use-momentum)) ) @@ -1022,7 +1008,7 @@ ) 0 (let ((v1-5 (-> obj nav))) - (set! (-> v1-5 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-5 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 0 @@ -1031,15 +1017,15 @@ (defmethod nav-enemy-method-165 nav-enemy ((obj nav-enemy)) (let ((v1-0 (-> obj nav))) - (set! (-> v1-0 target-speed) (-> obj enemy-info-override walk-travel-speed)) + (set! (-> v1-0 target-speed) (-> obj enemy-info walk-travel-speed)) ) 0 (let ((v1-2 (-> obj nav))) - (set! (-> v1-2 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-2 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 (let ((v1-4 (-> obj nav))) - (set! (-> v1-4 turning-acceleration) (-> obj enemy-info-override walk-turning-acceleration)) + (set! (-> v1-4 turning-acceleration) (-> obj enemy-info walk-turning-acceleration)) ) 0 0 @@ -1048,15 +1034,15 @@ (defmethod nav-enemy-method-166 nav-enemy ((obj nav-enemy)) (let ((v1-0 (-> obj nav))) - (set! (-> v1-0 target-speed) (-> obj enemy-info-override run-travel-speed)) + (set! (-> v1-0 target-speed) (-> obj enemy-info run-travel-speed)) ) 0 (let ((v1-2 (-> obj nav))) - (set! (-> v1-2 acceleration) (-> obj enemy-info-override run-acceleration)) + (set! (-> v1-2 acceleration) (-> obj enemy-info run-acceleration)) ) 0 (let ((v1-4 (-> obj nav))) - (set! (-> v1-4 turning-acceleration) (-> obj enemy-info-override run-turning-acceleration)) + (set! (-> v1-4 turning-acceleration) (-> obj enemy-info run-turning-acceleration)) ) 0 0 @@ -1067,12 +1053,10 @@ (defmethod set-enemy-info! nav-enemy ((obj nav-enemy) (arg0 nav-enemy-info)) "In addition to setting the `enemy-info`, also init the `neck-joint` if applicable from it @param info Set `enemy-info` accordingly" - (set! (-> obj enemy-info-override) arg0) + (set! (-> obj enemy-info) arg0) (set! (-> arg0 callback-info) *nav-enemy-callback-info*) - (when (and (!= (-> obj enemy-info-override neck-joint) -1) (zero? (-> obj neck))) - (set! (-> obj neck) - (new 'process 'joint-mod (joint-mod-mode flex-blend) obj (-> obj enemy-info-override neck-joint)) - ) + (when (and (!= (-> obj enemy-info neck-joint) -1) (zero? (-> obj neck))) + (set! (-> obj neck) (new 'process 'joint-mod (joint-mod-mode flex-blend) obj (-> obj enemy-info neck-joint))) (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) (set! (-> obj neck up) (the-as uint 1)) (set! (-> obj neck nose) (the-as uint 2)) @@ -1097,10 +1081,10 @@ (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (logior! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj enemy-flags) (enemy-flag notice)) - (set! (-> obj nav-radius-backup) (-> obj root-override2 nav-radius)) + (set! (-> obj nav-radius-backup) (-> obj root nav-radius)) (set-enemy-info! obj arg0) - (set! (-> obj enemy-info-override callback-info) *nav-enemy-callback-info*) - (let ((a1-2 (-> obj enemy-info-override idle-anim-script))) + (set! (-> obj enemy-info callback-info) *nav-enemy-callback-info*) + (let ((a1-2 (-> obj enemy-info idle-anim-script))) (if a1-2 (idle-control-method-9 (-> obj idle-anim-player) a1-2) ) @@ -1109,9 +1093,9 @@ (set! (-> obj draw shadow-ctrl) (new 'process 'shadow-control - (-> obj enemy-info-override shadow-min-y) - (-> obj enemy-info-override shadow-max-y) - (-> obj enemy-info-override shadow-locus-dist) + (-> obj enemy-info shadow-min-y) + (-> obj enemy-info shadow-max-y) + (-> obj enemy-info shadow-locus-dist) (shadow-flags shdf00 shdf04) 245760.0 ) @@ -1137,15 +1121,15 @@ ) 0 (let ((v1-49 (-> obj nav))) - (set! (-> v1-49 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-49 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 (let ((v1-51 (-> obj nav))) - (set! (-> v1-51 turning-acceleration) (-> obj enemy-info-override walk-turning-acceleration)) + (set! (-> v1-51 turning-acceleration) (-> obj enemy-info walk-turning-acceleration)) ) 0 (let ((v1-53 (-> obj nav))) - (set! (-> v1-53 max-rotation-rate) (-> obj enemy-info-override maximum-rotation-rate)) + (set! (-> v1-53 max-rotation-rate) (-> obj enemy-info maximum-rotation-rate)) ) 0 (nav-enemy-method-164 obj) @@ -1154,8 +1138,8 @@ (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) ) (if (logtest? (-> *game-info* secrets) (game-secrets hero-mode)) - (set! (-> obj hit-points) (* (-> obj enemy-info-override default-hit-points) 2)) - (set! (-> obj hit-points) (-> obj enemy-info-override default-hit-points)) + (set! (-> obj hit-points) (* (-> obj enemy-info default-hit-points) 2)) + (set! (-> obj hit-points) (-> obj enemy-info default-hit-points)) ) (let* ((v1-71 *game-info*) (a0-28 (+ (-> v1-71 attack-id) 1)) @@ -1170,16 +1154,16 @@ (set! (-> obj persistent-attack-id) a0-30) ) (enemy-method-124 obj) - (set! (-> obj fact-info-override) (new - 'process - 'fact-info-enemy - obj - (the-as (pointer float) (-> arg0 fact-defaults)) - (pickup-type eco-pill-random) - (-> *FACT-bank* default-eco-pill-green-inc) - ) + (set! (-> obj fact) (new + 'process + 'fact-info-enemy + obj + (the-as (pointer float) (-> arg0 fact-defaults)) + (pickup-type eco-pill-random) + (-> *FACT-bank* default-eco-pill-green-inc) + ) ) - (let ((a1-9 (if (logtest? (enemy-option multi-focus) (-> obj fact-info-override enemy-options)) + (let ((a1-9 (if (logtest? (enemy-option multi-focus) (-> obj fact enemy-options)) 1030 1026 ) @@ -1215,16 +1199,16 @@ (logior! (-> obj enemy-flags) (enemy-flag drawn-mirrored)) ) (set! (-> obj incoming attacker-handle) (the-as handle #f)) - (let ((s4-0 (-> obj root-override2))) - (set! (-> obj penetrated-by-all) (-> obj root-override2 penetrated-by)) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (let ((s4-0 (-> obj root))) + (set! (-> obj penetrated-by-all) (-> obj root penetrated-by)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (set! (-> s4-0 event-self) 'touched) ) (set! (-> obj penetrated-flinch) (-> arg0 penetrate-flinch)) (set! (-> obj penetrated-knocked) (-> arg0 penetrate-knocked)) (set! (-> obj reaction-time) (the-as time-frame (get-rand-int-range obj 30 240))) (let* ((v1-113 (-> obj enemy-flags)) - (a0-47 (-> obj fact-info-override enemy-options)) + (a0-47 (-> obj fact enemy-options)) (v1-114 (logior (enemy-flag enable-on-active checking-water @@ -1246,10 +1230,10 @@ (set! (-> obj enemy-flags) v1-114) ) (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) - (do-navigation-to-destination (-> obj nav state) (-> obj root-override2 trans)) - (if (and (-> obj enemy-info-override move-to-ground) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) + (if (and (-> obj enemy-info move-to-ground) (not (logtest? (enemy-flag vulnerable-backup) (-> obj enemy-flags))) - (not (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options))) + (not (logtest? (enemy-option ambush) (-> obj fact enemy-options))) ) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) ) @@ -1270,35 +1254,28 @@ This commonly includes things such as: (init-enemy-collision! obj) (process-drawable-from-entity! obj arg0) (init-enemy! obj) - (when (> (-> obj enemy-info-override gem-joint) 0) + (when (> (-> obj enemy-info gem-joint) 0) (cond ((or (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status save))) (not (-> obj entity)) ) (setup-masks (-> obj draw) - (the-as int (-> obj enemy-info-override gem-no-seg)) - (the-as int (-> obj enemy-info-override gem-seg)) + (the-as int (-> obj enemy-info gem-no-seg)) + (the-as int (-> obj enemy-info gem-seg)) ) ) (else (setup-masks (-> obj draw) - (the-as int (-> obj enemy-info-override gem-seg)) - (the-as int (-> obj enemy-info-override gem-no-seg)) - ) - (add-connection - *part-engine* - obj - (-> obj enemy-info-override gem-joint) - obj - 314 - (-> obj enemy-info-override gem-offset) + (the-as int (-> obj enemy-info gem-seg)) + (the-as int (-> obj enemy-info gem-no-seg)) ) + (add-connection *part-engine* obj (-> obj enemy-info gem-joint) obj 314 (-> obj enemy-info gem-offset)) ) ) ) - (let ((v1-25 (-> obj fact-info-override enemy-options))) + (let ((v1-25 (-> obj fact enemy-options))) (cond ((logtest? (enemy-option spawner) v1-25) (process-entity-status! obj (entity-perm-status dead) #t) @@ -1308,7 +1285,7 @@ This commonly includes things such as: (go (method-of-object obj view-anims)) ) ((logtest? (enemy-option dormant) v1-25) - (let ((v1-33 (-> obj root-override2 root-prim))) + (let ((v1-33 (-> obj root root-prim))) (set! (-> v1-33 prim-core collide-as) (collide-spec)) (set! (-> v1-33 prim-core collide-with) (collide-spec)) ) @@ -1317,7 +1294,7 @@ This commonly includes things such as: (go (method-of-object obj dormant)) ) ((logtest? (enemy-option dormant-aware) v1-25) - (let ((v1-43 (-> obj root-override2 root-prim))) + (let ((v1-43 (-> obj root root-prim))) (set! (-> v1-43 prim-core collide-as) (collide-spec)) (set! (-> v1-43 prim-core collide-with) (collide-spec)) ) @@ -1336,7 +1313,7 @@ This commonly includes things such as: (defbehavior nav-enemy-simple-post nav-enemy () (track-target! self) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) 0 (none) ) @@ -1382,16 +1359,13 @@ This commonly includes things such as: (defbehavior nav-enemy-flee-post nav-enemy () (let ((a0-1 (handle->process (-> self focus handle)))) (when a0-1 - (let ((gp-1 (vector-! - (new 'stack-no-clear 'vector) - (-> self root-override2 trans) - (get-trans (the-as process-focusable a0-1) 0) - ) - ) + (let ((gp-1 + (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (get-trans (the-as process-focusable a0-1) 0)) + ) ) (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 409600.0) - (vector+! gp-1 gp-1 (-> self root-override2 trans)) + (vector+! gp-1 gp-1 (-> self root trans)) (let ((v1-10 (-> self nav state))) (logclear! (-> v1-10 flags) (nav-state-flag directional-mode)) (logior! (-> v1-10 flags) (nav-state-flag target-poly-dirty)) @@ -1412,7 +1386,7 @@ This commonly includes things such as: (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1431,19 +1405,19 @@ This commonly includes things such as: (set! (-> obj nav-radius-backup) arg0) ) (if (zero? (-> obj restore-nav-radius-time)) - (set! (-> obj root-override2 nav-radius) arg0) + (set! (-> obj root nav-radius) arg0) ) ) (defmethod nav-enemy-method-168 nav-enemy ((obj nav-enemy)) (if (zero? (-> obj restore-nav-radius-time)) - (set! (-> obj root-override2 nav-radius) (-> obj nav-radius-backup)) + (set! (-> obj root nav-radius) (-> obj nav-radius-backup)) ) ) ;; WARN: Return type mismatch int vs time-frame. (defmethod nav-enemy-method-144 nav-enemy ((obj nav-enemy)) - (set! (-> obj root-override2 nav-radius) 4.096) + (set! (-> obj root nav-radius) 4.096) (let ((s5-1 (max (-> obj restore-nav-radius-time) (+ (current-time) (get-rand-int-range obj 1500 2400))))) (set! (-> obj restore-nav-radius-time) (the-as time-frame s5-1)) (the-as time-frame s5-1) @@ -1456,7 +1430,7 @@ This commonly includes things such as: (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1484,22 +1458,22 @@ This commonly includes things such as: (defbehavior nav-enemy-turn-to-face-dir nav-enemy ((arg0 vector) (arg1 float)) (local-vars (v1-18 symbol)) (let ((s4-0 (current-time))) - (ja :group! (-> self draw art-group data (-> self enemy-info-override turn-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info turn-anim))) (ja :num-func num-func-identity :frame-num 0.0) (until v1-18 - (seek-toward-heading-vec! (-> self root-override2) arg0 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) arg0 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (loop! 0.75)) (set! v1-18 (or (>= (- (current-time) s4-0) (seconds 10)) (enemy-method-94 self arg0 arg1))) ) ) - (forward-up->quaternion (-> self root-override2 quat) arg0 *y-vector*) + (forward-up->quaternion (-> self root quat) arg0 *y-vector*) 0 (none) ) (defbehavior nav-enemy-turn-to-face-point nav-enemy ((arg0 vector) (arg1 float)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self root-override2 trans)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self root trans)))) (set! (-> gp-1 y) 0.0) (when (< 0.0 (vector-length gp-1)) (vector-normalize! gp-1 1.0) @@ -1512,7 +1486,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defmethod go-stare2 nav-enemy ((obj nav-enemy)) - (if (!= (-> obj enemy-info-override taunt-anim) -1) + (if (!= (-> obj enemy-info taunt-anim) -1) (go (method-of-object obj taunt)) ) (go (method-of-object obj stare)) @@ -1522,12 +1496,12 @@ This commonly includes things such as: (defmethod go-stare nav-enemy ((obj nav-enemy)) (let ((s5-0 (-> obj focus aware))) (cond - ((or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + ((or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) ) - ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info-override use-circling)) + ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info use-circling)) (go (method-of-object obj circling)) ) ((= s5-0 (enemy-aware unaware)) @@ -1542,7 +1516,7 @@ This commonly includes things such as: ) (defmethod go-hostile nav-enemy ((obj nav-enemy)) - (if (or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + (if (or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) @@ -1582,7 +1556,7 @@ This commonly includes things such as: ) (vector-rotate-y! s4-0 s4-0 (* 1820.4445 (-> gp-0 steering))) (vector-float*! s4-0 s4-0 20480.0) - (vector+! s5-0 (-> self root-override2 trans) s4-0) + (vector+! s5-0 (-> self root trans) s4-0) (let ((v1-26 (-> self nav state))) (logclear! (-> v1-26 flags) (nav-state-flag directional-mode)) (logior! (-> v1-26 flags) (nav-state-flag target-poly-dirty)) @@ -1664,7 +1638,7 @@ This commonly includes things such as: (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1678,13 +1652,10 @@ This commonly includes things such as: (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -1705,13 +1676,10 @@ This commonly includes things such as: ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1725,13 +1693,10 @@ This commonly includes things such as: (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1749,19 +1714,16 @@ This commonly includes things such as: (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-101 enemy-flags)))) ) (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-101 enemy-flags)))) - (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info-override callback-info)) + (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -1809,7 +1771,7 @@ This commonly includes things such as: (set! (-> v1-14 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-14 enemy-flags)))) ) (set! (-> v1-14 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-14 enemy-flags)))) - (set! (-> v1-14 nav callback-info) (-> v1-14 enemy-info-override callback-info)) + (set! (-> v1-14 nav callback-info) (-> v1-14 enemy-info callback-info)) ) 0 (let ((v1-17 self)) @@ -1827,13 +1789,10 @@ This commonly includes things such as: (let ((f30-0 (get-rand-float-range self 0.8 1.2)) (gp-0 (new 'stack-no-clear 'vector)) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -1845,7 +1804,7 @@ This commonly includes things such as: (let ((a1-9 (-> self nav state))) (set! (-> gp-0 quad) (-> a1-9 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1871,7 +1830,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (let ((v1-9 self)) @@ -1882,7 +1841,7 @@ This commonly includes things such as: ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) @@ -1892,7 +1851,7 @@ This commonly includes things such as: (let ((gp-0 (-> self focus aware))) (cond ((>= 1 (the-as int gp-0)) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) @@ -1905,10 +1864,8 @@ This commonly includes things such as: ) ) ) - (when (and (-> self enemy-info-override use-frustration) - (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)) - ) - (if (-> self enemy-info-override use-stop-chase) + (when (and (-> self enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> self enemy-flags))) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-stare self) ) @@ -1928,7 +1885,7 @@ This commonly includes things such as: (let ((a2-0 (-> self nav state))) (set! (-> a1-0 quad) (-> a2-0 target-post quad)) ) - (let ((f0-0 (vector-vector-distance (-> self root-override2 trans) a1-0))) + (let ((f0-0 (vector-vector-distance (-> self root trans) a1-0))) (set! (-> self state-timeout) (the-as time-frame @@ -1943,7 +1900,7 @@ This commonly includes things such as: (set! (-> v1-10 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-10 enemy-flags)))) ) (set! (-> v1-10 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-10 enemy-flags)))) - (set! (-> v1-10 nav callback-info) (-> v1-10 enemy-info-override callback-info)) + (set! (-> v1-10 nav callback-info) (-> v1-10 enemy-info callback-info)) ) 0 (let ((v1-13 self)) @@ -1955,7 +1912,7 @@ This commonly includes things such as: ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (when (>= (- (current-time) (-> self state-time)) (seconds 0.1)) @@ -1987,7 +1944,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override walk-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) (until #f @@ -2017,7 +1974,7 @@ This commonly includes things such as: (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-9 enemy-flags)))) ) (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-9 enemy-flags)))) - (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info-override callback-info)) + (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info callback-info)) ) 0 (let ((v1-12 self)) @@ -2025,7 +1982,7 @@ This commonly includes things such as: ) 0 (nav-enemy-method-167 self) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self starting-time) (current-time)) (none) ) @@ -2043,7 +2000,7 @@ This commonly includes things such as: (set! (-> v1-4 speed) 0.0) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (if (logtest? (enemy-flag enemy-flag43) (-> self enemy-flags)) (logior! (-> self nav flags) (nav-control-flag update-heading-from-facing)) (logclear! (-> self nav flags) (nav-control-flag update-heading-from-facing)) @@ -2052,7 +2009,7 @@ This commonly includes things such as: (not (nav-enemy-method-163 self)) ) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (set! (-> gp-0 y) 0.0) (let ((v1-23 gp-0)) (let ((f0-2 1.0)) @@ -2082,7 +2039,7 @@ This commonly includes things such as: ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (let ((gp-0 (-> self focus aware))) @@ -2096,15 +2053,12 @@ This commonly includes things such as: ) ((= gp-0 (enemy-aware enemy-aware-3)) (if (and (get-enemy-target self) - (not (and (-> self enemy-info-override use-frustration) - (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)) - ) - ) + (not (and (-> self enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)))) (>= (- (current-time) (-> self starting-time)) (-> self reaction-time)) ) (go-hostile self) ) - (if (-> self enemy-info-override use-circling) + (if (-> self enemy-info use-circling) (go-virtual circling) ) ) @@ -2112,7 +2066,7 @@ This commonly includes things such as: (go-flee self) ) ((and (= gp-0 (enemy-aware enemy-aware-2)) - (-> self enemy-info-override use-pacing) + (-> self enemy-info use-pacing) (>= (- (current-time) (-> self starting-time)) (-> self reaction-time)) ) (go-virtual pacing) @@ -2125,7 +2079,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info idle-anim))) ) (until #f (ja-no-eval :group! gp-0 @@ -2183,7 +2137,7 @@ This commonly includes things such as: (s5-0 (current-time)) (f28-0 f30-0) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop! f28-0) :frame-num 0.0 ) @@ -2193,13 +2147,10 @@ This commonly includes things such as: ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override taunt-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info taunt-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override taunt-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info taunt-anim))) frames num-frames) -1 ) ) @@ -2230,7 +2181,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (let ((v1-9 self)) @@ -2239,7 +2190,7 @@ This commonly includes things such as: 0 (nav-enemy-method-165 self) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self move-dest quad) (-> self root-override2 trans quad)) + (set! (-> self move-dest quad) (-> self root trans quad)) (set! (-> self state-timeout) (the-as time-frame (get-rand-int-range self 2100 3300))) (set! (-> self starting-time) (current-time)) (if (zero? (get-rand-int self 2)) @@ -2273,7 +2224,7 @@ This commonly includes things such as: (nav-enemy-method-161 self) (go-virtual hostile) ) - (if (-> self enemy-info-override use-circling) + (if (-> self enemy-info use-circling) (go-virtual circling) ) ) @@ -2286,7 +2237,7 @@ This commonly includes things such as: ) ) ) - (when (>= 1024.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest))) + (when (>= 1024.0 (vector-vector-xz-distance (-> self root trans) (-> self move-dest))) (when (and (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (zero? (get-rand-int self 3))) (nav-enemy-method-161 self) (go-stare2 self) @@ -2304,13 +2255,13 @@ This commonly includes things such as: ) ) (set! (-> s5-0 quad) (-> self focus-pos quad)) - (vector-! s4-0 (-> self root-override2 trans) s5-0) + (vector-! s4-0 (-> self root trans) s5-0) (set! (-> s4-0 y) 0.0) (vector-normalize! s4-0 (get-rand-float-range self 16384.0 49152.0)) (vector-rotate-around-y! s4-0 s4-0 f30-1) (vector+! s5-0 s5-0 s4-0) (if (and (cloest-point-on-mesh (-> self nav) s5-0 s5-0 (the-as nav-poly #f)) - (< 4096.0 (vector-vector-xz-distance s5-0 (-> self root-override2 trans))) + (< 4096.0 (vector-vector-xz-distance s5-0 (-> self root trans))) ) (return #f) ) @@ -2322,7 +2273,7 @@ This commonly includes things such as: ) :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info walk-anim))) ) (let ((v1-8 (ja-group))) (if (not (and v1-8 (= v1-8 gp-0))) @@ -2369,7 +2320,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) @@ -2384,13 +2335,13 @@ This commonly includes things such as: ) (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable gp-0) 0) quad)) ) - (let ((f30-0 (-> self enemy-info-override circle-dist-lo)) - (f28-0 (-> self enemy-info-override circle-dist-hi)) + (let ((f30-0 (-> self enemy-info circle-dist-lo)) + (f28-0 (-> self enemy-info circle-dist-hi)) ) (if (zero? (get-rand-int self 4)) (set! (-> self desired-angle) (get-rand-float-range self f30-0 f28-0)) (set! (-> self desired-angle) - (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans)) f28-0) f30-0) + (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root trans)) f28-0) f30-0) ) ) ) @@ -2412,7 +2363,7 @@ This commonly includes things such as: (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (when (>= 1 (the-as int gp-1)) (nav-enemy-method-161 self) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) @@ -2436,7 +2387,7 @@ This commonly includes things such as: ) :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info walk-anim))) ) (let ((v1-8 (ja-group))) (if (not (and v1-8 (= v1-8 gp-0))) @@ -2467,7 +2418,7 @@ This commonly includes things such as: (set! f30-0 (- f30-0)) ) (set! (-> s5-0 quad) (-> self focus-pos quad)) - (vector-! gp-0 (-> self root-override2 trans) s5-0) + (vector-! gp-0 (-> self root trans) s5-0) (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 (-> self desired-angle)) (vector+! s5-0 s5-0 gp-0) @@ -2477,9 +2428,9 @@ This commonly includes things such as: (vector+! s5-0 s5-0 gp-0) ) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override2 trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (cloest-point-on-mesh (-> self nav) gp-1 s5-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-1 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-1 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -2513,7 +2464,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (let ((v1-9 self)) @@ -2557,7 +2508,7 @@ This commonly includes things such as: (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-9 enemy-flags)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) :post nav-enemy-simple-post @@ -2588,13 +2539,10 @@ This commonly includes things such as: (local-vars (v1-37 enemy-flag) (v1-45 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -2725,12 +2673,7 @@ This commonly includes things such as: (when (or (zero? v1-0) (= v1-0 1) (= v1-0 2) (= v1-0 3)) (let ((a1-4 obj)) (if (logtest? (enemy-flag enemy-flag37) (-> a1-4 enemy-flags)) - (seek-to-point-toward-point! - (-> obj root-override2) - (-> arg1 vertex2) - (-> obj nav max-rotation-rate) - (seconds 0.02) - ) + (seek-to-point-toward-point! (-> obj root) (-> arg1 vertex2) (-> obj nav max-rotation-rate) (seconds 0.02)) ) ) ) @@ -2774,7 +2717,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'enemy-jump-info))) (let ((s5-0 0)) (enemy-method-83 self gp-0) - (if (and (-> self enemy-info-override use-jump-blocked) + (if (and (-> self enemy-info use-jump-blocked) (logtest? (enemy-flag vulnerable) (-> self enemy-flags)) (enemy-method-82 self gp-0) ) @@ -2810,7 +2753,7 @@ This commonly includes things such as: ) ) (label cfg-12) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (let ((s5-1 2)) (logior! (-> self focus-status) (focus-status in-air)) (until (enemy-method-86 self) @@ -2868,9 +2811,9 @@ This commonly includes things such as: (else (let ((a1-2 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-2 options) (overlaps-others-options)) - (set! (-> a1-2 collide-with-filter) (-> self enemy-info-override overlaps-others-collide-with-filter)) + (set! (-> a1-2 collide-with-filter) (-> self enemy-info overlaps-others-collide-with-filter)) (set! (-> a1-2 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override2) a1-2) + (find-overlapping-shapes (-> self root) a1-2) ) (nav-enemy-simple-post) ) @@ -2943,13 +2886,10 @@ This commonly includes things such as: ) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) diff --git a/goal_src/jak2/engine/physics/rigid-body-h.gc b/goal_src/jak2/engine/physics/rigid-body-h.gc index 5df2a80d51..513f4687ff 100644 --- a/goal_src/jak2/engine/physics/rigid-body-h.gc +++ b/goal_src/jak2/engine/physics/rigid-body-h.gc @@ -313,7 +313,7 @@ ) (deftype rigid-body-object (process-focusable) - ((root-override-2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info rigid-body-object-constants :offset-assert 204) (flags rigid-body-object-flag :offset-assert 208) (max-time-step float :offset-assert 216) diff --git a/goal_src/jak2/engine/physics/rigid-body.gc b/goal_src/jak2/engine/physics/rigid-body.gc index 1efe0eb541..38894e2a9a 100644 --- a/goal_src/jak2/engine/physics/rigid-body.gc +++ b/goal_src/jak2/engine/physics/rigid-body.gc @@ -843,7 +843,7 @@ (+! s4-1 -1) (s3-0 arg0 f30-0) (let ((v1-2 obj) - (a1-2 (-> arg0 root-override-2)) + (a1-2 (-> arg0 root)) (f0-4 f30-0) ) (rigid-body-method-9 (-> v1-2 state) a1-2 f0-4) @@ -935,17 +935,17 @@ (defmethod alloc-and-init-rigid-body-control rigid-body-object ((obj rigid-body-object) (arg0 rigid-body-object-constants)) (set! (-> obj info) arg0) (set! (-> obj rbody) (new 'process 'rigid-body-control obj)) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (rigid-body-method-25 (-> obj rbody state) (-> obj info info) - (-> obj root-override-2 trans) - (-> obj root-override-2 quat) + (-> obj root trans) + (-> obj root quat) (method-of-object obj rigid-body-object-method-29) ) (rigid-body-object-method-35 obj) (set! (-> obj max-time-step) (-> arg0 extra max-time-step)) - (set! (-> obj root-override-2 max-iteration-count) (the-as uint 4)) + (set! (-> obj root max-iteration-count) (the-as uint 4)) (let ((v1-15 (-> obj skel root-channel 0))) (set! (-> v1-15 num-func) num-func-identity) (set! (-> v1-15 frame-num) 0.0) @@ -976,7 +976,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1033,7 +1033,7 @@ This commonly includes things such as: (rigid-body-object-method-30 obj) (do-engine-sounds obj) (let ((v1-4 (-> obj rbody)) - (a1-0 (-> obj root-override-2)) + (a1-0 (-> obj root)) ) (rigid-body-method-11 (-> v1-4 state) a1-0) ) @@ -1044,9 +1044,9 @@ This commonly includes things such as: (defmethod rigid-body-object-method-40 rigid-body-object ((obj rigid-body-object)) (logior! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> obj root-override-2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> obj root-override-2 backup-collide-with)) + (let ((v1-3 (-> obj root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> obj root backup-collide-with)) ) 0 (none) @@ -1054,7 +1054,7 @@ This commonly includes things such as: (defmethod rigid-body-object-method-41 rigid-body-object ((obj rigid-body-object)) (logclear! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) + (let ((v1-3 (-> obj root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1066,8 +1066,8 @@ This commonly includes things such as: (defmethod rigid-body-object-method-38 rigid-body-object ((obj rigid-body-object)) (when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) (logior! (-> obj rbody state flags) (rigid-body-flag enable-physics)) - (rigid-body-method-26 (-> obj rbody state) (-> obj root-override-2 trans) (-> obj root-override-2 quat)) - (vector-float*! (-> obj rbody state lin-momentum) (-> obj root-override-2 transv) (-> obj info info mass)) + (rigid-body-method-26 (-> obj rbody state) (-> obj root trans) (-> obj root quat)) + (vector-float*! (-> obj rbody state lin-momentum) (-> obj root transv) (-> obj info info mass)) (vector-reset! (-> obj rbody state ang-momentum)) ) 0 @@ -1111,12 +1111,12 @@ This commonly includes things such as: (set! (-> arg0 prim-id) (the-as uint 0)) (vector-reset! (-> arg0 normal)) (vector-reset! (-> arg0 velocity)) - (set! (-> arg0 point quad) (-> obj root-override-2 trans quad)) + (set! (-> arg0 point quad) (-> obj root trans quad)) (when arg1 (let ((s3-0 (-> arg1 head))) (when s3-0 - (get-intersect-point (-> arg0 point) s3-0 (-> obj root-override-2) arg1) - (let ((s5-1 (get-touched-prim s3-0 (-> obj root-override-2) arg1))) + (get-intersect-point (-> arg0 point) s3-0 (-> obj root) arg1) + (let ((s5-1 (get-touched-prim s3-0 (-> obj root) arg1))) (when s5-1 (set! (-> arg0 prim-id) (-> s5-1 prim-id)) (vector-! (-> arg0 normal) (-> arg0 point) (the-as vector (-> s5-1 prim-core))) @@ -1240,10 +1240,10 @@ This commonly includes things such as: ) ) (else - (set! (-> s5-0 velocity quad) (-> obj root-override-2 transv quad)) + (set! (-> s5-0 velocity quad) (-> obj root transv quad)) ) ) - (let ((v1-18 (-> arg0 root-override))) + (let ((v1-18 (-> arg0 root))) (set! (-> s4-0 quad) (-> v1-18 transv quad)) (vector-! (-> s5-0 velocity) (-> v1-18 transv) (-> s5-0 velocity)) ) @@ -1379,7 +1379,7 @@ This commonly includes things such as: ) (when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))) (logior! (-> obj flags) (rigid-body-object-flag player-touching player-standing-on player-contact-force)) - (set! (-> obj player-force-position quad) (-> a0-34 root-override trans quad)) + (set! (-> obj player-force-position quad) (-> a0-34 root trans quad)) (vector-reset! (-> obj player-force)) (let ((f0-4 (/ 163840.0 (get-inv-mass a0-34))) (f1-1 1.0) @@ -1401,7 +1401,7 @@ This commonly includes things such as: ) (when a0-38 (logior! (-> obj flags) (rigid-body-object-flag player-touching player-impulse-force)) - (set! (-> obj player-force-position quad) (-> a0-38 root-override trans quad)) + (set! (-> obj player-force-position quad) (-> a0-38 root trans quad)) (let ((f30-2 (* 0.00012207031 (the-as float (-> arg3 param 1)))) (f0-9 (/ 163840.0 (get-inv-mass a0-38))) ) @@ -1427,7 +1427,7 @@ This commonly includes things such as: :virtual #t :trans (behavior () (if (and *target* (and (>= (-> self info extra idle-distance) - (vector-vector-distance (-> self root-override-2 trans) (-> *target* control trans)) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) ) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) @@ -1444,12 +1444,11 @@ This commonly includes things such as: :virtual #t :event rigid-body-object-event-handler :trans (behavior () - (if (or (not *target*) - (or (< (+ 4096.0 (-> self info extra idle-distance)) - (vector-vector-distance (-> self root-override-2 trans) (-> *target* control trans)) - ) - (focus-test? *target* teleporting) - ) + (if (or (not *target*) (or (< (+ 4096.0 (-> self info extra idle-distance)) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) + ) + (focus-test? *target* teleporting) + ) ) (go-virtual idle) ) diff --git a/goal_src/jak2/engine/process-drawable/focus.gc b/goal_src/jak2/engine/process-drawable/focus.gc index 3adadad7d8..5ba5fbe957 100644 --- a/goal_src/jak2/engine/process-drawable/focus.gc +++ b/goal_src/jak2/engine/process-drawable/focus.gc @@ -33,7 +33,7 @@ (defmethod collide-check? focus ((obj focus) (arg0 process-focusable)) (when (and arg0 (not (logtest? (-> arg0 focus-status) (focus-status disable dead)))) - (let* ((s5-0 (-> arg0 root-override)) + (let* ((s5-0 (-> arg0 root)) (v1-2 (if (type? s5-0 collide-shape) s5-0 ) diff --git a/goal_src/jak2/engine/process-drawable/process-focusable.gc b/goal_src/jak2/engine/process-drawable/process-focusable.gc index 6115a2c5a4..754bfe749d 100644 --- a/goal_src/jak2/engine/process-drawable/process-focusable.gc +++ b/goal_src/jak2/engine/process-drawable/process-focusable.gc @@ -45,8 +45,8 @@ ;; DECOMP BEGINS (deftype process-focusable (process-drawable) - ((root-override collide-shape :offset 128) - (focus-status focus-status :offset-assert 200) + ((root collide-shape :override) + (focus-status focus-status :offset-assert 200) ) :heap-base #x50 :method-count-assert 27 @@ -67,7 +67,7 @@ ;; WARN: Return type mismatch structure vs vector. (defmethod get-trans process-focusable ((obj process-focusable) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((gp-0 (-> obj root-override))) + (let ((gp-0 (-> obj root))) (the-as vector (cond ((zero? arg0) (-> gp-0 trans) @@ -90,11 +90,11 @@ ) (defmethod get-transv process-focusable ((obj process-focusable)) - (-> obj root-override transv) + (-> obj root transv) ) (defmethod get-quat process-focusable ((obj process-focusable) (arg0 int)) - (-> obj root-override quat) + (-> obj root quat) ) (defmethod time-to-apex-or-ground process-focusable ((obj process-focusable) (arg0 int)) @@ -116,4 +116,5 @@ ) (defmacro focus-test? (pfoc &rest status) - `(logtest? (-> (the process-focusable ,pfoc) focus-status) (focus-status ,@status))) \ No newline at end of file + `(logtest? (-> (the process-focusable ,pfoc) focus-status) (focus-status ,@status))) + diff --git a/goal_src/jak2/engine/process-drawable/process-taskable.gc b/goal_src/jak2/engine/process-drawable/process-taskable.gc index 46a40a4f2c..c496ad46a8 100644 --- a/goal_src/jak2/engine/process-drawable/process-taskable.gc +++ b/goal_src/jak2/engine/process-drawable/process-taskable.gc @@ -89,7 +89,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy :enter (behavior () (set! (-> self state-time) (current-time)) (logior! (-> self draw status) (draw-control-status no-draw-bounds)) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -98,9 +98,9 @@ Seen take in - `true-func` which takes no args TODO - seems fishy ) :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw-bounds)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -146,14 +146,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy ) ) (('touch) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) ) (('say) (let ((v0-0 (the-as object (current-time)))) @@ -208,7 +201,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy ) ) (and (not (logtest? (focus-status dead in-air in-head pole flut tube pilot mech dark) (-> *target* focus-status))) - (and (or (and (< (-> (target-pos 0) y) (+ (-> self root-override root-prim prim-core world-sphere y) (-> self talk-height))) + (and (or (and (< (-> (target-pos 0) y) (+ (-> self root root-prim prim-core world-sphere y) (-> self talk-height))) (let ((s5-0 (get-trans self 2)) (f30-0 (if (= (-> gp-0 distance) 0.0) (-> self talk-distance) @@ -325,9 +318,9 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (process-entity-status! self (entity-perm-status no-kill) #f) (logior! (-> self mask) (process-mask actor-pause)) (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-13 (-> self root-override root-prim))) - (set! (-> v1-13 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-13 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-13 (-> self root root-prim))) + (set! (-> v1-13 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-13 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -338,7 +331,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (suspend) ) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-17 (-> self root-override root-prim))) + (let ((v1-17 (-> self root root-prim))) (set! (-> v1-17 prim-core collide-as) (collide-spec)) (set! (-> v1-17 prim-core collide-with) (collide-spec)) ) @@ -402,7 +395,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -428,7 +421,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (set! s5-0 (+ (-> v1-15 number) 1)) ) ) - (let ((v1-19 (the-as collide-shape-prim-group (-> obj root-override root-prim)))) + (let ((v1-19 (the-as collide-shape-prim-group (-> obj root root-prim)))) (set! (-> v1-19 transform-index) s5-0) (dotimes (a0-7 (the-as int (-> v1-19 num-children))) (set! (-> v1-19 child a0-7 transform-index) s5-0) @@ -468,8 +461,7 @@ This commonly includes things such as: (format (clear *temp-string*) "skel-~S" (-> obj draw art-group name)) (let ((s4-3 (s4-2 s5-1 *temp-string* (the-as (pointer uint32) #f)))) (when s4-3 - (let ((s5-2 (process-spawn manipy :init manipy-init (-> obj root-override trans) (-> obj entity) s4-3 #f 0 :to obj)) - ) + (let ((s5-2 (process-spawn manipy :init manipy-init (-> obj root trans) (-> obj entity) s4-3 #f 0 :to obj))) (send-event (ppointer->process s5-2) 'anim-mode 'mirror) (send-event (ppointer->process s5-2) 'mirror #t) ) diff --git a/goal_src/jak2/engine/process-drawable/simple-focus.gc b/goal_src/jak2/engine/process-drawable/simple-focus.gc index 92e7989ec5..ee42b5c5a9 100644 --- a/goal_src/jak2/engine/process-drawable/simple-focus.gc +++ b/goal_src/jak2/engine/process-drawable/simple-focus.gc @@ -22,7 +22,7 @@ (defmethod get-trans simple-focus ((obj simple-focus) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (-> obj root-override trans) + (-> obj root trans) ) (defmethod run-logic? simple-focus ((obj simple-focus)) @@ -37,7 +37,7 @@ :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (the-as object (case event-type (('move-trans) - (let ((v0-0 (-> self root-override trans))) + (let ((v0-0 (-> self root trans))) (set! (-> v0-0 quad) (-> (the-as vector (-> event param 0)) quad)) v0-0 ) @@ -52,7 +52,7 @@ (defbehavior simple-focus-init-by-other simple-focus () "Initializes the new [[simple-focus]]. `first-time?` will be set to [[#t]]" (let ((root (new 'process 'trsqv))) - (set! (-> self root-override) (the-as collide-shape root)) + (set! (-> self root) (the-as collide-shape root)) (vector-identity! (-> root scale)) (quaternion-identity! (-> root quat)) ) diff --git a/goal_src/jak2/engine/process-drawable/simple-nav-sphere.gc b/goal_src/jak2/engine/process-drawable/simple-nav-sphere.gc index aef4c36732..5f43549530 100644 --- a/goal_src/jak2/engine/process-drawable/simple-nav-sphere.gc +++ b/goal_src/jak2/engine/process-drawable/simple-nav-sphere.gc @@ -8,9 +8,9 @@ ;; DECOMP BEGINS (deftype simple-nav-sphere (process-drawable) - ((root-override collide-shape :offset 128) - (first-time? symbol :offset-assert 200) - (track-joint int32 :offset-assert 204) + ((root collide-shape :override) + (first-time? symbol :offset-assert 200) + (track-joint int32 :offset-assert 204) ) :heap-base #x50 :method-count-assert 22 @@ -30,12 +30,12 @@ (go empty-state) ) (('move-trans) - (move-to-point! (-> self root-override) (the-as vector (-> event param 0))) + (move-to-point! (-> self root) (the-as vector (-> event param 0))) #t ) (('set-radius) (let ((radius (the-as float (-> event param 0))) - (collide-shape (-> self root-override)) + (collide-shape (-> self root)) ) (set! (-> collide-shape nav-radius) radius) (set! (-> collide-shape root-prim local-sphere w) radius) @@ -73,8 +73,8 @@ (add-debug-sphere #t (bucket-id debug2) - (-> self root-override trans) - (-> self root-override nav-radius) + (-> self root trans) + (-> self root nav-radius) (new 'static 'rgba :r #x80 :g #x40 :a #x80) ) ) @@ -94,7 +94,7 @@ (gp-0 (new 'stack-no-clear 'vector)) ) (vector<-cspace! gp-0 (-> (the-as process-drawable v1-0) node-list data (-> self track-joint))) - (move-to-point! (-> self root-override) gp-0) + (move-to-point! (-> self root) gp-0) ) (none) ) @@ -130,7 +130,7 @@ ) 0 (update-transforms s5-0) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) (logclear! (-> self mask) (process-mask actor-pause enemy)) (set! (-> self event-hook) diff --git a/goal_src/jak2/engine/sound/speech-h.gc b/goal_src/jak2/engine/sound/speech-h.gc index 4e0ee0e0e8..cc213fb226 100644 --- a/goal_src/jak2/engine/sound/speech-h.gc +++ b/goal_src/jak2/engine/sound/speech-h.gc @@ -20,13 +20,63 @@ ;; +++speech-type (defenum speech-type :type int8 - :bitfield #t - (speech-type-0 0) - (speech-type-1 1) - (speech-type-2 2) - (speech-type-3 3) - (speech-type-4 4) - (speech-type-5 5) + (speech-type-0) + (speech-type-1) + (speech-type-2) + (speech-type-3) + (speech-type-4) + (speech-type-5) + (speech-type-6) + (speech-type-7) + (speech-type-8) + (speech-type-9) + (speech-type-10) + (speech-type-11) + (speech-type-12) + (speech-type-13) + (speech-type-14) + (speech-type-15) + (speech-type-16) + (speech-type-17) + (speech-type-18) + (speech-type-19) + (speech-type-20) + (speech-type-21) + (speech-type-22) + (speech-type-23) + (speech-type-24) + (speech-type-25) + (speech-type-26) + (speech-type-27) + (speech-type-28) + (speech-type-29) + (speech-type-30) + (speech-type-31) + (speech-type-32) + (speech-type-33) + (speech-type-34) + (speech-type-35) + (speech-type-36) + (speech-type-37) + (speech-type-38) + (speech-type-39) + (speech-type-40) + (speech-type-41) + (speech-type-42) + (speech-type-43) + (speech-type-44) + (speech-type-45) + (speech-type-46) + (speech-type-47) + (speech-type-48) + (speech-type-49) + (speech-type-50) + (speech-type-51) + (speech-type-52) + (speech-type-53) + (speech-type-54) + (speech-type-55) + (speech-type-56) ) ;; ---speech-type @@ -105,7 +155,7 @@ :flag-assert #x11000001c4 (:methods (speech-control-method-9 (_type_) none 9) - (speech-control-method-10 (_type_ int speech-type-info) none 10) + (speech-table-set! (_type_ speech-type speech-type-info) none 10) (speech-control-method-11 (_type_) none 11) (speech-control-method-12 (_type_ process-drawable speech-type) none 12) (speech-control-method-13 (_type_ handle) none 13) diff --git a/goal_src/jak2/engine/sound/speech.gc b/goal_src/jak2/engine/sound/speech.gc index d9bc46bfd7..bc26343ff3 100644 --- a/goal_src/jak2/engine/sound/speech.gc +++ b/goal_src/jak2/engine/sound/speech.gc @@ -242,7 +242,7 @@ (none) ) -(defmethod speech-control-method-10 speech-control ((obj speech-control) (arg0 int) (arg1 speech-type-info)) +(defmethod speech-table-set! speech-control ((obj speech-control) (arg0 speech-type) (arg1 speech-type-info)) (set! (-> obj speech-table arg0) arg1) 0 (none) @@ -278,13 +278,13 @@ (when v1-3 (cond ((focus-test? v1-3 dark) - (speech-control-method-12 obj arg0 (speech-type speech-type-3)) + (speech-control-method-12 obj arg0 (speech-type speech-type-8)) ) ((focus-test? v1-3 pilot) - (speech-control-method-12 obj arg0 (speech-type speech-type-0 speech-type-1 speech-type-2)) + (speech-control-method-12 obj arg0 (speech-type speech-type-7)) ) (else - (speech-control-method-12 obj arg0 (speech-type speech-type-1 speech-type-2)) + (speech-control-method-12 obj arg0 (speech-type speech-type-6)) ) ) ) @@ -329,162 +329,162 @@ (dotimes (s5-0 2) (speech-channel-method-12 (-> obj channel-array s5-0)) ) - (speech-control-method-10 obj 0 (new 'static 'speech-type-info - :priority 3 - :request-timeout #x12c - :min-delay #x12c - :max-delay #x12c - :list (new 'static 'boxed-array :type string) - ) - ) - (speech-control-method-10 obj 3 (new 'static 'speech-type-info - :priority 3 - :request-timeout #x12c - :min-delay #x12c - :max-delay #x12c - :list (new 'static 'boxed-array :type string - "kg136" - "kg139" - "kg140" - "kg141" - "kg142" - "kg134" - "kg157" - "kg143" - "kg156" - "kg176" - "kg177" - "kg536" - "kg551" - ) - ) - ) - (speech-control-method-10 obj 9 (new 'static 'speech-type-info - :priority 1 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg133" - "kg135" - "kg137" - "kg138" - "kg144" - "kg145" - "kg146" - "kg147" - "kg148" - "kg149" - "kg150" - "kg151" - "kg152" - "kg153" - "kg154" - "kg155" - "kg158" - "kg159" - "kg160" - "kg163" - "kg164" - "kg507" - "kg508" - "kg509" - "kg511" - "kg513" - "kg514" - "kg515" - "kg516" - "kg517" - "kg518" - "kg520" - "kg521" - "kg523" - "kg526" - "kg527" - "kg528" - "kg529" - "kg530" - "kg532" - "kg534" - "kg535" - "kg537" - "kg538" - "kg539" - "kg540" - "kg541" - "kg542" - "kg543" - "kg544" - "kg545" - "kg546" - "kg549" - "kg550" - ) - ) - ) - (speech-control-method-10 obj 10 (new 'static 'speech-type-info - :flags (speech-type-flag random-order) - :priority #xa - :request-timeout #x258 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg165" - "kg165a" - "kg165b" - "kg166" - "kg166a" - "kg166b" - "kg167" - "kg167a" - "kg167b" - "kg168" - "kg168a" - "kg168b" - "kg169" - "kg169a" - "kg169b" - "kg170" - "kg170a" - "kg170b" - "kg171" - "kg171a" - "kg171b" - "kg172" - "kg172a" - "kg172b" - "kg173" - "kg173a" - "kg173b" - "kg174" - "kg174a" - "kg174b" - "kg175" - "kg175a" - "kg175b" - "kg510" - ) - ) - ) - (speech-control-method-10 obj 11 (new 'static 'speech-type-info - :priority 2 - :min-delay #x1e - :max-delay #x1e - :list (new 'static 'boxed-array :type string - "kg386a" - "kg428a" - "kg641" - "kg650" - "kg338a" - "kg339a" - "kg340a" - "kg341a" - "kg342a" - "kg343a" - "kg344a" - "kg512" - ) - ) - ) + (speech-table-set! obj (speech-type speech-type-0) (new 'static 'speech-type-info + :priority 3 + :request-timeout #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string) + ) + ) + (speech-table-set! obj (speech-type speech-type-3) (new 'static 'speech-type-info + :priority 3 + :request-timeout #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg136" + "kg139" + "kg140" + "kg141" + "kg142" + "kg134" + "kg157" + "kg143" + "kg156" + "kg176" + "kg177" + "kg536" + "kg551" + ) + ) + ) + (speech-table-set! obj (speech-type speech-type-9) (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg133" + "kg135" + "kg137" + "kg138" + "kg144" + "kg145" + "kg146" + "kg147" + "kg148" + "kg149" + "kg150" + "kg151" + "kg152" + "kg153" + "kg154" + "kg155" + "kg158" + "kg159" + "kg160" + "kg163" + "kg164" + "kg507" + "kg508" + "kg509" + "kg511" + "kg513" + "kg514" + "kg515" + "kg516" + "kg517" + "kg518" + "kg520" + "kg521" + "kg523" + "kg526" + "kg527" + "kg528" + "kg529" + "kg530" + "kg532" + "kg534" + "kg535" + "kg537" + "kg538" + "kg539" + "kg540" + "kg541" + "kg542" + "kg543" + "kg544" + "kg545" + "kg546" + "kg549" + "kg550" + ) + ) + ) + (speech-table-set! obj (speech-type speech-type-10) (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 10 + :request-timeout #x258 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg165" + "kg165a" + "kg165b" + "kg166" + "kg166a" + "kg166b" + "kg167" + "kg167a" + "kg167b" + "kg168" + "kg168a" + "kg168b" + "kg169" + "kg169a" + "kg169b" + "kg170" + "kg170a" + "kg170b" + "kg171" + "kg171a" + "kg171b" + "kg172" + "kg172a" + "kg172b" + "kg173" + "kg173a" + "kg173b" + "kg174" + "kg174a" + "kg174b" + "kg175" + "kg175a" + "kg175b" + "kg510" + ) + ) + ) + (speech-table-set! obj (speech-type speech-type-11) (new 'static 'speech-type-info + :priority 2 + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) + :list (new 'static 'boxed-array :type string + "kg386a" + "kg428a" + "kg641" + "kg650" + "kg338a" + "kg339a" + "kg340a" + "kg341a" + "kg342a" + "kg343a" + "kg344a" + "kg512" + ) + ) + ) 0 (none) ) diff --git a/goal_src/jak2/engine/target/board/board-states.gc b/goal_src/jak2/engine/target/board/board-states.gc index 43bbb2deaa..3d2c174ba8 100644 --- a/goal_src/jak2/engine/target/board/board-states.gc +++ b/goal_src/jak2/engine/target/board/board-states.gc @@ -3110,7 +3110,7 @@ (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) (set! (-> self control time-of-last-debug-heal) (current-time)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-board-stance) ) ) @@ -3188,22 +3188,22 @@ (go target-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-death (-> gp-0 mode)) ) ) ) (('drown-death 'sharkey 'lava 'dark-eco-pool 'melt 'instant-death 'crush 'death 'grenade 'big-explosion 'bot) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-death (-> gp-0 mode)) ) ) (('death) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) ) ) (target-hit-effect gp-0) @@ -3216,8 +3216,7 @@ ) ) ) - (when (not (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact-override)) health))) - ) + (when (not (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health)))) (when (= (-> gp-0 knock) 8) (set-quaternion! (-> self control) (-> self control dir-targ)) (set-forward-vel (* -3.0 (-> gp-0 shove-back))) @@ -3244,7 +3243,7 @@ ) (target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-board-falling-anim-trans (-> gp-0 speed)) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact-override)) health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health))) (go target-death (-> gp-0 mode)) ) ) diff --git a/goal_src/jak2/engine/target/board/board-util.gc b/goal_src/jak2/engine/target/board/board-util.gc index d29600cefc..c97a8df3bc 100644 --- a/goal_src/jak2/engine/target/board/board-util.gc +++ b/goal_src/jak2/engine/target/board/board-util.gc @@ -24,7 +24,7 @@ (defbehavior board-post board () (let* ((a0-0 (-> self parent)) (v1-0 (if a0-0 - (-> (the-as target (-> a0-0 0)) self-override) + (-> (the-as target (-> a0-0 0)) self) ) ) ) diff --git a/goal_src/jak2/engine/target/board/target-board.gc b/goal_src/jak2/engine/target/board/target-board.gc index 2089cdb9cf..e12880487c 100644 --- a/goal_src/jak2/engine/target/board/target-board.gc +++ b/goal_src/jak2/engine/target/board/target-board.gc @@ -2965,13 +2965,11 @@ "Add specified trick and point amount to trick list." (send-event (handle->process (-> obj process 0 notify)) 'notify 'trick-point arg0) (when (and (< (-> obj trick-count) 16) - (and (< 0.0 arg1) - (nonzero? (-> (the-as fact-info-target (-> obj process 0 fact-override)) trick-point-duration)) - ) + (and (< 0.0 arg1) (nonzero? (-> (the-as fact-info-target (-> obj process 0 fact)) trick-point-duration))) ) (let ((s4-0 0)) (when (>= (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> obj process 0 fact-override)) trick-point-pickup-time) + (-> (the-as fact-info-target (-> obj process 0 fact)) trick-point-pickup-time) ) (seconds 30) ) @@ -3025,44 +3023,27 @@ (defmethod flush-trick-list board-info ((obj board-info)) "Flush trick list and give out points." - (with-pp - (let ((f30-0 0.0)) - (dotimes (v1-0 (-> obj trick-count)) - (+! f30-0 (-> obj trick-points-array v1-0)) - ) - (when (< 0.0 f30-0) - (send-event - (handle->process (-> obj process 0 notify)) - 'notify - 'trick-flush - f30-0 - (-> obj trick-list) - (-> obj trick-count) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) (process->ppointer pp)) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'get-pickup) - (set! (-> a1-1 param 0) (the-as uint 19)) - (set! (-> a1-1 param 1) (the-as uint f30-0)) - (let ((t9-1 send-event-function) - (v1-22 (-> obj process)) - ) - (t9-1 - (if v1-22 - (-> v1-22 0 self-override) - ) - a1-1 - ) - ) - ) - (sound-play "trick-score") - (#when PC_PORT - (end-combo! *board-trick-tracker*))) + (let ((f30-0 0.0)) + (dotimes (v1-0 (-> obj trick-count)) + (+! f30-0 (-> obj trick-points-array v1-0)) + ) + (when (< 0.0 f30-0) + (send-event + (handle->process (-> obj process 0 notify)) + 'notify + 'trick-flush + f30-0 + (-> obj trick-list) + (-> obj trick-count) + ) + (send-event (ppointer->process (-> obj process)) 'get-pickup 19 f30-0) + (sound-play "trick-score") + (#when PC_PORT + (end-combo! *board-trick-tracker*)) ) - (set! (-> obj trick-count) 0) - 0 - 0 - (none) ) + (set! (-> obj trick-count) 0) + 0 + 0 + (none) ) diff --git a/goal_src/jak2/engine/target/gun/gun-blue-shot.gc b/goal_src/jak2/engine/target/gun/gun-blue-shot.gc index e1826730e8..24e4e8061a 100644 --- a/goal_src/jak2/engine/target/gun/gun-blue-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-blue-shot.gc @@ -64,7 +64,7 @@ (vector-rotate-y! s1-0 s1-0 16384.0) (vector+float*! s1-0 s5-1 s1-0 -8806.4) (set! (-> s2-0 start-pos quad) (-> s1-0 quad)) - (vector-float*! (-> s2-0 move-dist) (-> obj root-override dynam gravity-normal) -81920.0) + (vector-float*! (-> s2-0 move-dist) (-> obj root dynam gravity-normal) -81920.0) (let ((v1-11 s2-0)) (set! (-> v1-11 radius) 1228.8) (set! (-> v1-11 collide-with) (collide-spec backgnd obstacle hit-by-player-list hit-by-others-list)) @@ -83,7 +83,7 @@ ) (let ((s4-1 (get-field-spec-by-id s4-0 (sp-field-id spt-rotate-y)))) (if s4-1 - (set! (-> s4-1 initial-valuef) (y-angle (-> obj root-override))) + (set! (-> s4-1 initial-valuef) (y-angle (-> obj root))) ) ) (let ((t9-7 sp-launch-particles-var) @@ -96,7 +96,7 @@ ) (let ((s4-2 (get-field-spec-by-id (-> *part-id-table* 195) (sp-field-id spt-rotate-y)))) (if s4-2 - (set! (-> s4-2 initial-valuef) (y-angle (-> obj root-override))) + (set! (-> s4-2 initial-valuef) (y-angle (-> obj root))) ) ) (let ((t9-10 sp-launch-particles-var) @@ -120,7 +120,7 @@ (vf6 :class vf) ) (init-vf0-vector) - (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override trans) (-> obj init-pos)))) + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj init-pos)))) (draw-beam (-> *part-id-table* 191) (-> obj init-pos) s3-1 #t #t) (draw-beam (-> *part-id-table* 194) (-> obj init-pos) (-> obj starting-dir) #f #t) (let ((s5-0 (-> *part-id-table* 206)) @@ -178,7 +178,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-13) a0-19 a1-15 @@ -223,7 +223,7 @@ (defmethod made-impact? gun-blue-shot ((obj gun-blue-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -240,7 +240,7 @@ (defun gun-blue-shot-move ((arg0 gun-blue-shot)) (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) 0 @@ -301,9 +301,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -314,13 +314,9 @@ "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (with-pp (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) - (set! (-> obj init-pos quad) (-> obj root-override trans quad)) + (set! (-> obj init-pos quad) (-> obj root trans quad)) (set! (-> obj init-dir quad) (-> obj starting-dir quad)) - (vector-normalize-copy! - (-> obj root-override transv) - (-> obj init-dir) - (* 327680.0 (-> pp clock frames-per-second)) - ) + (vector-normalize-copy! (-> obj root transv) (-> obj init-dir) (* 327680.0 (-> pp clock frames-per-second))) (set! (-> obj attack-mode) 'eco-blue) (set! (-> obj max-speed) (* 327680.0 (-> pp clock frames-per-second))) (set! (-> obj timeout) 1) diff --git a/goal_src/jak2/engine/target/gun/gun-dark-shot.gc b/goal_src/jak2/engine/target/gun/gun-dark-shot.gc index 6a4e99781c..9b22aa43c7 100644 --- a/goal_src/jak2/engine/target/gun/gun-dark-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-dark-shot.gc @@ -145,7 +145,7 @@ (defmethod init-proj-settings! gun-dark-shot ((obj gun-dark-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj attack-mode) 'eco-dark) - (vector-normalize! (-> obj root-override transv) (+ 225280.0 (* 225280.0 (-> obj charge-level)))) + (vector-normalize! (-> obj root transv) (+ 225280.0 (* 225280.0 (-> obj charge-level)))) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 72) obj)) (set! (-> obj blast-radius) 40960.0) (set! (-> obj size-t) 0.0) @@ -178,7 +178,7 @@ (set! (-> *part-id-table* 218 init-specs 2 initial-valuef) (lerp 409.6 8192.0 (-> obj size-t))) (set! (-> *part-id-table* 217 init-specs 1 initial-valuef) (lerp 0.1 1.0 (-> obj size-t))) (set! (-> *part-id-table* 217 init-specs 2 initial-valuef) (lerp 409.6 3686.4 (-> obj size-t))) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) ) (ja-post) @@ -222,7 +222,7 @@ ((or (< (- (current-time) (-> self state-time)) (seconds 0.3)) (cpad-hold? 0 r1)) (set! (-> self size-t) (fmin 1.0 (* 0.016666668 (the float (- (current-time) (-> self state-time)))))) (let ((t9-1 vector<-cspace!) - (a0-13 (-> self root-override trans)) + (a0-13 (-> self root trans)) (v1-26 (-> self parent)) ) (t9-1 a0-13 (-> (the-as process-drawable (if v1-26 @@ -249,7 +249,7 @@ (none) ) :post (behavior () - (sound-play "pmkr-charge" :id (-> self charge-sound) :position (-> self root-override trans)) + (sound-play "pmkr-charge" :id (-> self charge-sound) :position (-> self root trans)) (spawn-impact-particles self) (none) ) @@ -263,7 +263,7 @@ (t9-0) ) ) - (set! (-> self core-position quad) (-> self root-override trans quad)) + (set! (-> self core-position quad) (-> self root trans quad)) (let ((v1-5 (-> self core-velocity)) (a0-3 (-> self parent)) ) @@ -314,7 +314,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-18 a1-4 @@ -329,7 +329,7 @@ (-> gp-2 ppointer) ) ) - (draw-beam (-> *part-id-table* 210) (-> self root-override trans) (-> self core-velocity) #f #t) + (draw-beam (-> *part-id-table* 210) (-> self root trans) (-> self core-velocity) #f #t) (none) ) :trans (behavior () @@ -387,14 +387,14 @@ ) ) (vector-cross! (the-as vector (-> s5-0 vector)) (-> s5-0 vector 1) (-> s5-0 vector 2)) - (matrix->quaternion (-> self root-override quat) s5-0) + (matrix->quaternion (-> self root quat) s5-0) ) (vector+! (-> self core-position) (-> self core-position) (-> self core-velocity)) (vector+! gp-0 (-> self core-position) (-> self spin-vector)) - (vector-! (-> self root-override transv) gp-0 (-> self root-override trans)) + (vector-! (-> self root transv) gp-0 (-> self root trans)) ) - (let ((v1-31 (-> self root-override transv))) - (.lvf vf1 (&-> (-> self root-override transv) quad)) + (let ((v1-31 (-> self root transv))) + (.lvf vf1 (&-> (-> self root transv) quad)) (let ((f0-12 (-> self clock frames-per-second))) (.mov at-0 f0-12) ) @@ -404,11 +404,11 @@ (.svf (&-> v1-31 quad) vf1) ) (projectile-move-fill-line-sphere self) - (if (logtest? (-> self root-override status) (collide-status touch-surface)) + (if (logtest? (-> self root status) (collide-status touch-surface)) (go-virtual impact) ) - (sound-play "pmkr-fire" :id (-> self fire-sound) :position (-> self root-override trans)) - (sound-play "pmkr-trail" :id (-> self trail-sound) :position (-> self root-override trans)) + (sound-play "pmkr-fire" :id (-> self fire-sound) :position (-> self root trans)) + (sound-play "pmkr-trail" :id (-> self trail-sound) :position (-> self root trans)) (none) ) ) @@ -537,7 +537,7 @@ (a1-1 (-> *part-id-table* 215)) (a2-1 *launch-matrix*) ) - (set! (-> a2-1 trans quad) (-> self root-override trans quad)) + (set! (-> a2-1 trans quad) (-> self root trans quad)) (t9-2 a0-3 a1-1 a2-1 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) (let ((t9-3 sp-launch-particles-var) @@ -545,7 +545,7 @@ (a1-2 (-> *part-id-table* 216)) (a2-2 *launch-matrix*) ) - (set! (-> a2-2 trans quad) (-> self root-override trans quad)) + (set! (-> a2-2 trans quad) (-> self root trans quad)) (t9-3 a0-4 a1-2 a2-2 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) (let ((gp-0 (-> *part-id-table* 430))) @@ -559,7 +559,7 @@ (a0-8 *sp-particle-system-2d*) (a2-3 *launch-matrix*) ) - (set! (-> a2-3 trans quad) (-> self root-override trans quad)) + (set! (-> a2-3 trans quad) (-> self root trans quad)) (t9-5 a0-8 gp-0 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) ) @@ -594,10 +594,10 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (let ((v1-16 (-> self root-override root-prim))) + (set! (-> self root trans quad) (-> arg0 quad)) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) @@ -651,14 +651,14 @@ ) ) ) - (let ((v1-16 (-> self root-override root-prim))) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) 0 (let ((gp-1 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-1 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-1 spawn-quat) (-> self root-override quat)) + (set! (-> gp-1 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-1 spawn-quat) (-> self root quat)) (set! (-> gp-1 radius) 36864.0) (set! (-> gp-1 group) (-> *part-group-id-table* 71)) (set! (-> gp-1 collide-with) @@ -671,7 +671,7 @@ (s3-0 (the-as (pointer collide-shape) (new 'stack-no-clear 'array 'collide-shape 16))) (a1-8 (new 'stack-no-clear 'sphere)) ) - (set! (-> a1-8 quad) (-> self root-override trans quad)) + (set! (-> a1-8 quad) (-> self root trans quad)) (set! (-> a1-8 r) (-> self blast-radius)) (let ((gp-2 (fill-actor-list-for-sphere *actor-hash* a1-8 s3-0 16))) (let ((s1-0 (the-as process-drawable #f)) @@ -695,7 +695,7 @@ (not (logtest? (process-mask no-track) (-> s0-0 mask))) ) (set! sv-288 (get-trans (the-as process-focusable s0-0) 3)) - (let ((f28-0 (- (vector-vector-distance (-> self root-override trans) sv-288) (-> sv-288 w)))) + (let ((f28-0 (- (vector-vector-distance (-> self root trans) sv-288) (-> sv-288 w)))) (set! sv-304 s0-0) (if (and (not (if (type? sv-304 crate) sv-304 @@ -748,7 +748,7 @@ (go-virtual fizzle) ) (if s5-1 - (process-spawn gun-dark-shot :init gun-dark-shot-init-fizzle (-> self root-override trans)) + (process-spawn gun-dark-shot :init gun-dark-shot-init-fizzle (-> self root trans)) ) ) (countdown (s5-3 gp-2) diff --git a/goal_src/jak2/engine/target/gun/gun-red-shot.gc b/goal_src/jak2/engine/target/gun/gun-red-shot.gc index bd39b6e67e..f58c31066e 100644 --- a/goal_src/jak2/engine/target/gun/gun-red-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-red-shot.gc @@ -11,15 +11,15 @@ ;; DECOMP BEGINS (deftype gun-red-shot (process-drawable) - ((root-override collide-shape-moving :offset 128) - (probe-count int32 :offset-assert 200) - (probe-mask uint32 :offset-assert 204) - (actor-count int32 :offset-assert 208) - (attack-id uint32 :offset-assert 212) - (start-pos vector :inline :offset-assert 224) - (start-dir vector :inline :offset-assert 240) - (start-rot vector :inline :offset-assert 256) - (probe-dir vector 19 :inline :offset-assert 272) + ((root collide-shape-moving :override) + (probe-count int32 :offset-assert 200) + (probe-mask uint32 :offset-assert 204) + (actor-count int32 :offset-assert 208) + (attack-id uint32 :offset-assert 212) + (start-pos vector :inline :offset-assert 224) + (start-dir vector :inline :offset-assert 240) + (start-rot vector :inline :offset-assert 256) + (probe-dir vector 19 :inline :offset-assert 272) ) :heap-base #x1c0 :method-count-assert 30 @@ -255,7 +255,7 @@ (vector-float*! s5-0 s5-0 43417.6) (vector+! s5-0 s5-0 (-> obj start-pos)) (set! (-> s5-0 w) 43827.2) - (let ((s4-0 (-> obj root-override root-prim prim-core collide-with))) + (let ((s4-0 (-> obj root root-prim prim-core collide-with))) (set! *actor-list-length* 0) (if (logtest? s4-0 (collide-spec hit-by-others-list)) (set! *actor-list-length* (fill-actor-list-for-sphere *actor-hash* (the-as sphere s5-0) *actor-list* 256)) @@ -385,7 +385,7 @@ (vf2 :class vf) ) (init-vf0-vector) - (let ((gp-0 (-> obj root-override))) + (let ((gp-0 (-> obj root))) (let ((v1-0 (new 'stack-no-clear 'collide-query))) (set! (-> gp-0 trans quad) (-> obj start-pos quad)) (vector-float*! (-> gp-0 transv) arg0 61440.0) @@ -421,7 +421,7 @@ ) (defmethod gun-red-shot-method-24 gun-red-shot ((obj gun-red-shot)) - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -539,14 +539,14 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set! (-> s5-1 trans quad) (-> arg0 quad)) (quaternion-copy! (-> s5-1 quat) (-> (the-as process-drawable (-> self parent 0)) root quat)) (vector-identity! (-> s5-1 scale)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (set! (-> self event-hook) gun-red-shot-event-handler) (set! (-> self mask) (logior (process-mask projectile) (-> self mask))) (logclear! (-> self mask) (process-mask enemy)) @@ -589,7 +589,7 @@ ) (draw-beam (-> *part-id-table* 187) (-> self start-pos) (-> self start-dir) #f #t) (sound-play "red-shot-fire") - (vector-float*! (-> self root-override transv) (-> self start-dir) 61440.0) + (vector-float*! (-> self root transv) (-> self start-dir) 61440.0) (the-as gun-red-shot (if (gun-red-shot-method-24 self) (go-virtual blocked) (go-virtual idle) diff --git a/goal_src/jak2/engine/target/gun/gun-util.gc b/goal_src/jak2/engine/target/gun/gun-util.gc index d072252ebb..c3bfba0e8d 100644 --- a/goal_src/jak2/engine/target/gun/gun-util.gc +++ b/goal_src/jak2/engine/target/gun/gun-util.gc @@ -30,9 +30,9 @@ (let ((t9-3 (method-of-type projectile-bounce init-proj-settings!))) (t9-3 obj) ) - (quaternion-copy! (-> obj root-override quat) (-> (the-as gun (-> obj parent 0)) root quat)) + (quaternion-copy! (-> obj root quat) (-> (the-as gun (-> obj parent 0)) root quat)) (set! (-> obj timeout) (seconds 4)) - (set! (-> (the-as collide-shape (-> obj root-override)) root-prim local-sphere w) 3276.8) + (set! (-> (the-as collide-shape (-> obj root)) root-prim local-sphere w) 3276.8) (logclear! (-> obj mask) (process-mask projectile)) 0 (none) @@ -950,12 +950,7 @@ (let ((v1-13 s4-0)) (set! (-> v1-13 radius) (-> obj track-beam-size)) (set! (-> v1-13 collide-with) (-> obj process 0 control root-prim prim-core collide-with)) - (let ((a0-9 (-> obj process))) - (set! (-> v1-13 ignore-process0) (if a0-9 - (-> a0-9 0 self-override) - ) - ) - ) + (set! (-> v1-13 ignore-process0) (ppointer->process (-> obj process))) (set! (-> v1-13 ignore-process1) #f) (set! (-> v1-13 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) diff --git a/goal_src/jak2/engine/target/gun/gun-yellow-shot.gc b/goal_src/jak2/engine/target/gun/gun-yellow-shot.gc index 38b628dee1..0055b31013 100644 --- a/goal_src/jak2/engine/target/gun/gun-yellow-shot.gc +++ b/goal_src/jak2/engine/target/gun/gun-yellow-shot.gc @@ -80,7 +80,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s4-0 (-> obj root-override trans)) + (let* ((s4-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) s4-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -191,7 +191,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -228,7 +228,7 @@ (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-1 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-6 a1-5 @@ -263,7 +263,7 @@ (sound-play "yellow-shot-fiz") ) (else - (sound-play "yellow-shot-std" :id (-> obj sound-id) :position (-> obj root-override trans)) + (sound-play "yellow-shot-std" :id (-> obj sound-id) :position (-> obj root trans)) ) ) ) @@ -272,7 +272,7 @@ (defmethod made-impact? gun-yellow-shot ((obj gun-yellow-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a0-1 t1-0)) @@ -284,7 +284,7 @@ (set! (-> a0-1 action-mask) (collide-action solid)) ) (when (fill-and-try-snap-to-surface v1-0 (-> v1-0 transv) -10240.0 12697.6 -4096.0 t1-0) - (if (logtest? (-> obj root-override status) (collide-status touch-actor)) + (if (logtest? (-> obj root status) (collide-status touch-actor)) (set! (-> obj hit-actor?) #t) ) #t @@ -294,7 +294,7 @@ (defun gun-yellow-shot-move ((arg0 gun-yellow-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -305,7 +305,7 @@ ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (let ((v1-14 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> arg0 tail-pos) (-> s5-0 trans)) 2048.0)) @@ -313,7 +313,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-14) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (method-of-object arg0 impact)) ) @@ -365,9 +365,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -377,7 +377,7 @@ (defmethod init-proj-settings! gun-yellow-shot ((obj gun-yellow-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 819200.0) diff --git a/goal_src/jak2/engine/target/logic-target.gc b/goal_src/jak2/engine/target/logic-target.gc index 5a709b8691..a976022bd8 100644 --- a/goal_src/jak2/engine/target/logic-target.gc +++ b/goal_src/jak2/engine/target/logic-target.gc @@ -34,8 +34,8 @@ (set! (-> self control time-of-last-surface-change) (current-time)) ) (surface-mult! (-> self control current-surface) (-> self control mod-surface) (-> self control surf)) - (when (and (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 3) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) + (when (and (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 3) + (>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0) ) (or (= (-> self control mod-surface name) 'run) (= (-> self control mod-surface name) 'jump)) ) @@ -2216,14 +2216,14 @@ (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((s4-1 (vector+float*! (new 'stack-no-clear 'vector) - (-> (the-as swingpole s2-0) root-override trans) + (-> (the-as swingpole s2-0) root trans) gp-0 (the-as float (-> (the-as swingpole s2-0) edge-length)) ) ) (s3-1 (vector+float*! (new 'stack-no-clear 'vector) - (-> (the-as swingpole s2-0) root-override trans) + (-> (the-as swingpole s2-0) root trans) gp-0 (- (-> (the-as swingpole s2-0) edge-length)) ) @@ -2246,7 +2246,7 @@ (add-debug-vector #t (bucket-id debug-no-zbuf1) - (-> (the-as swingpole s2-0) root-override trans) + (-> (the-as swingpole s2-0) root trans) (-> (the-as swingpole s2-0) dir) (meters 3) (new 'static 'rgba :r #xff :b #xff :a #x80) @@ -3259,7 +3259,7 @@ (set! (-> obj leg-ik 1 elbow-rotation-axis) (the-as uint 0)) (set! (-> obj foot 0) (new 'process 'joint-mod (joint-mod-mode foot-rot) obj 29)) (set! (-> obj foot 1) (new 'process 'joint-mod (joint-mod-mode foot-rot) obj 36)) - (set! (-> obj fact-override) + (set! (-> obj fact) (new 'process 'fact-info-target obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) ) (target-gun-setup (logtest? (-> obj game features) (game-feature gun))) diff --git a/goal_src/jak2/engine/target/mech_suit/carry-h.gc b/goal_src/jak2/engine/target/mech_suit/carry-h.gc index 4266e84947..a8aa8f3484 100644 --- a/goal_src/jak2/engine/target/mech_suit/carry-h.gc +++ b/goal_src/jak2/engine/target/mech_suit/carry-h.gc @@ -255,74 +255,28 @@ Returns `-1.0` if it exceeds the maximum allowed" (-> arg0 local-point z) ) ) - (let* ((t9-13 change-parent) - (v1-42 (-> arg0 process)) - (a0-28 (if v1-42 - (-> v1-42 0 self-override) - ) - ) - (v1-44 (-> obj process)) - ) - (t9-13 a0-28 (if v1-44 - (-> v1-44 0 self-override) - ) - ) - ) - (let* ((v1-46 (-> arg0 process)) - (v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-46 - (-> v1-46 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) - (let ((a0-30 (-> v1-49 prim-core collide-as)) - (a1-25 (-> arg0 process)) + (change-parent (ppointer->process (-> arg0 process)) (ppointer->process (-> obj process))) + (let ((v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-as + ) + (-> v1-49 prim-core collide-as) ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a1-25 - (-> a1-25 0 self-override) - ) - ) - root - ) - ) - backup-collide-as - ) - a0-30 - ) - ) - (let ((v1-50 (-> v1-49 prim-core collide-with)) - (a0-31 (-> arg0 process)) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-with + ) + (-> v1-49 prim-core collide-with) ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a0-31 - (-> a0-31 0 self-override) - ) - ) - root - ) - ) - backup-collide-with - ) - v1-50 - ) - ) ) - (let* ((v1-51 (-> arg0 process)) - (v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-51 - (-> v1-51 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) + (let ((v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) (set! (-> v1-54 prim-core collide-as) (collide-spec)) (set! (-> v1-54 prim-core collide-with) (collide-spec)) ) @@ -348,54 +302,23 @@ Returns `-1.0` if it exceeds the maximum allowed" ) (set! (-> obj other) (the-as handle #f)) (set! (-> arg0 other) (the-as handle #f)) - (let ((t9-3 change-parent) - (v1-11 (-> arg0 process)) - ) - (t9-3 - (if v1-11 - (-> v1-11 0 self-override) + (change-parent (ppointer->process (-> arg0 process)) *entity-pool*) + (let ((v1-16 + (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) + (set! (-> v1-16 prim-core collide-as) + (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-as + ) + ) + (set! (-> v1-16 prim-core collide-with) + (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-with + ) ) - *entity-pool* - ) - ) - (let* ((v1-13 (-> arg0 process)) - (v1-16 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-13 - (-> v1-13 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) - (let ((a0-8 (-> arg0 process))) - (set! (-> v1-16 prim-core collide-as) - (-> (the-as collide-shape (-> (the-as process-drawable (if a0-8 - (-> a0-8 0 self-override) - ) - ) - root - ) - ) - backup-collide-as - ) - ) - ) - (let ((a0-12 (-> arg0 process))) - (set! (-> v1-16 prim-core collide-with) - (-> (the-as collide-shape (-> (the-as process-drawable (if a0-12 - (-> a0-12 0 self-override) - ) - ) - root - ) - ) - backup-collide-with - ) - ) - ) ) 0 (none) @@ -518,74 +441,28 @@ Returns `-1.0` if it exceeds the maximum allowed" ) ) (vector+float*! arg1 (-> arg0 point) arg2 (- (-> arg0 carry-radius))) - (let* ((t9-7 change-parent) - (v1-42 (-> arg0 process)) - (a0-30 (if v1-42 - (-> v1-42 0 self-override) - ) - ) - (v1-44 (-> obj process)) - ) - (t9-7 a0-30 (if v1-44 - (-> v1-44 0 self-override) - ) + (change-parent (ppointer->process (-> arg0 process)) (ppointer->process (-> obj process))) + (let ((v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-as + ) + (-> v1-49 prim-core collide-as) + ) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-with + ) + (-> v1-49 prim-core collide-with) ) ) - (let* ((v1-46 (-> arg0 process)) - (v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-46 - (-> v1-46 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) - (let ((a0-32 (-> v1-49 prim-core collide-as)) - (a1-7 (-> arg0 process)) - ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a1-7 - (-> a1-7 0 self-override) - ) - ) - root - ) - ) - backup-collide-as - ) - a0-32 - ) - ) - (let ((v1-50 (-> v1-49 prim-core collide-with)) - (a0-33 (-> arg0 process)) - ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a0-33 - (-> a0-33 0 self-override) - ) - ) - root - ) - ) - backup-collide-with - ) - v1-50 - ) - ) - ) - (let* ((v1-51 (-> arg0 process)) - (v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-51 - (-> v1-51 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) + (let ((v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) (set! (-> v1-54 prim-core collide-as) (collide-spec)) (set! (-> v1-54 prim-core collide-with) (collide-spec)) ) diff --git a/goal_src/jak2/engine/target/mech_suit/grunt-mech.gc b/goal_src/jak2/engine/target/mech_suit/grunt-mech.gc index 40f4a9ebb5..19110425f4 100644 --- a/goal_src/jak2/engine/target/mech_suit/grunt-mech.gc +++ b/goal_src/jak2/engine/target/mech_suit/grunt-mech.gc @@ -206,7 +206,7 @@ (grunt-mech-info-method-10 s4-0) (let ((gp-0 -1)) (let ((f30-0 0.0) - (s3-0 (-> obj root-override2 trans)) + (s3-0 (-> obj root trans)) ) (countdown (s2-0 4) (let ((s1-0 (-> s4-0 holds s2-0))) @@ -216,7 +216,7 @@ (set! (-> s0-0 quad) (-> s1-0 world-mat vector 2 quad)) (set! (-> s0-0 y) 0.0) (vector-normalize! s0-0 1.0) - (vector-! sv-592 (-> s1-0 world-mat trans) (-> obj root-override2 trans)) + (vector-! sv-592 (-> s1-0 world-mat trans) (-> obj root trans)) (set! (-> sv-592 y) 0.0) (vector-normalize! sv-592 1.0) (let ((f0-2 (-> sv-592 x)) @@ -247,7 +247,7 @@ (let ((s3-1 (-> s4-0 holds gp-0 lower-hold))) (when (!= s3-1 -1) (if (and (or (zero? (get-rand-int obj 2)) - (>= 14336.0 (vector-vector-xz-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (>= 14336.0 (vector-vector-xz-distance-squared (-> obj root trans) (target-pos 0))) ) (grunt-mech-info-method-9 s4-0 s3-1 obj #t) ) @@ -256,7 +256,7 @@ ) ) (let ((a1-9 (new 'stack-no-clear 'collide-query))) - (set! (-> a1-9 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> a1-9 start-pos quad) (-> obj root trans quad)) (set! (-> a1-9 start-pos y) (+ 6144.0 (-> a1-9 start-pos y))) (vector-! (-> a1-9 move-dist) @@ -296,7 +296,7 @@ (let ((v1-4 (get-trans gp-0 0)) (a1-2 (new 'stack-no-clear 'vector)) ) - (vector-! a1-2 v1-4 (-> obj root-override2 trans)) + (vector-! a1-2 v1-4 (-> obj root trans)) (.lvf vf1 (&-> a1-2 quad)) ) (.add.w.vf vf2 vf0 vf0 :mask #b1) @@ -349,13 +349,13 @@ ) 0 (nav-enemy-method-167 self) - (set! (-> self dismount-dest quad) (-> self root-override2 trans quad)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (set! (-> self dismount-dest quad) (-> self root trans quad)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :exit (behavior () (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :trans (behavior () @@ -365,8 +365,8 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) - (set! (-> gp-0 vector 1 quad) (-> self root-override2 trans quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) + (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 48) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 48)) frames num-frames) -1)) @@ -381,12 +381,12 @@ (matrix->quaternion (the-as quaternion (-> gp-0 vector 2)) (-> s5-1 world-mat)) (let ((f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 0.0 6.0))) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 2)) f30-0 ) - (vector-lerp! (-> self root-override2 trans) (-> gp-0 vector 1) (-> s5-1 world-mat trans) f30-0) + (vector-lerp! (-> self root trans) (-> gp-0 vector 1) (-> s5-1 world-mat trans) f30-0) ) ) ) @@ -404,7 +404,7 @@ (let ((gp-0 *grunt-mech-info*)) (grunt-mech-info-method-10 gp-0) (let ((v1-5 (-> gp-0 holds (-> self hold-id))) - (a0-2 (-> self root-override2)) + (a0-2 (-> self root)) ) (set! (-> a0-2 trans quad) (-> v1-5 world-mat trans quad)) (matrix->quaternion (-> a0-2 quat) (-> v1-5 world-mat)) @@ -423,7 +423,7 @@ ) (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'nav-avoid-spheres-params))) - (vector-! (-> s5-0 current-pos) (-> obj root-override2 trans) (-> obj nav state mesh bounds)) + (vector-! (-> s5-0 current-pos) (-> obj root trans) (-> obj nav state mesh bounds)) (vector-normalize-copy! (-> s5-0 travel) arg0 (the-as float arg1)) (set! (-> s5-0 pref-dir quad) (-> s5-0 travel quad)) (avoid-spheres-1! (-> obj nav) s5-0) @@ -431,7 +431,7 @@ (let ((t0-0 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info))) (clamp-vector-to-mesh-no-gaps (-> obj nav) - (-> obj root-override2 trans) + (-> obj root trans) (-> obj nav state current-poly) (the-as vector (-> s5-0 out-travel)) t0-0 @@ -453,7 +453,7 @@ (set! (-> a1-3 w) (-> obj nav-radius-backup)) (when (not (add-root-sphere-to-hash! (-> obj nav) a1-3 #x80068)) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector+! s4-1 (-> obj root-override2 trans) (the-as vector (-> s5-0 out-travel))) + (vector+! s4-1 (-> obj root trans) (the-as vector (-> s5-0 out-travel))) (let ((s5-1 (new 'stack-no-clear 'collide-query))) (when (enemy-above-ground? obj s5-1 s4-1 (the-as collide-spec (-> obj gnd-collide)) 4096.0 122880.0 1024.0) (set! (-> s4-1 y) (-> s5-1 best-other-tri intersect y)) @@ -472,7 +472,7 @@ ) (defmethod grunt-mech-method-192 grunt-mech ((obj grunt-mech)) - (do-navigation-to-destination (-> obj nav state) (-> obj root-override2 trans)) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) (let ((a1-1 *target*)) (if (or (not a1-1) (not (logtest? (focus-status mech) (-> a1-1 focus-status)))) (return #t) @@ -517,7 +517,7 @@ ) ) (label cfg-16) - (let ((a0-15 (-> obj root-override2 trans))) + (let ((a0-15 (-> obj root trans))) (if (or (>= 0.0 (- (-> a0-15 y) (-> obj dismount-dest y))) (let ((f0-4 40960.0)) (< (* f0-4 f0-4) (vector-vector-xz-distance-squared a0-15 (-> obj dismount-dest))) @@ -567,19 +567,19 @@ :enter (behavior () (set! (-> self state-time) (current-time)) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) - (set! (-> self root-override2 root-prim prim-core collide-as) (collide-spec)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec)) (stop-looking-at-target! self) (set! (-> self state-timeout) (+ (current-time) (get-rand-int-range self 450 900))) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :exit (behavior () (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :trans (behavior () @@ -709,7 +709,7 @@ :event (the-as (function process int symbol event-message-block object :behavior grunt-mech) enemy-event-handler) :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override2 root-prim prim-core collide-as) (collide-spec)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec)) (let* ((v1-4 (-> self nav)) (a1-0 (-> self dismount-dest)) (f0-0 (-> v1-4 extra-nav-sphere w)) @@ -726,30 +726,30 @@ (logior! (-> v1-9 shape nav-flags) (nav-flags has-extra-sphere)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((v1-2 (-> self nav))) (logclear! (-> v1-2 shape nav-flags) (nav-flags has-extra-sphere)) ) 0 - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :code (behavior () (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (vector-! (-> gp-0 vector 1) (-> self root-override2 trans) (-> self dismount-dest)) + (vector-! (-> gp-0 vector 1) (-> self root trans) (-> self dismount-dest)) (set! (-> gp-0 vector 1 y) 0.0) (vector-normalize! (-> gp-0 vector 1) 1.0) (quaternion-look-at! (the-as quaternion (-> gp-0 vector 2)) (-> gp-0 vector 1) *up-vector*) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) - (set! (-> gp-0 vector 1 quad) (-> self root-override2 trans quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) + (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 54) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 54)) frames num-frames) -1))) :frame-num 0.0 @@ -757,20 +757,20 @@ (until (ja-done? 0) (let ((f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 33.0 41.0))) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 2)) f30-0 ) - (vector-lerp! (-> self root-override2 trans) (-> gp-0 vector 1) (-> self dismount-dest) f30-0) + (vector-lerp! (-> self root trans) (-> gp-0 vector 1) (-> self dismount-dest) f30-0) ) (suspend) (ja :num! (seek!)) ) ) - (let ((v1-32 (-> self root-override2 root-prim))) - (set! (-> v1-32 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-32 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-32 (-> self root root-prim))) + (set! (-> v1-32 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-32 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((v1-33 (-> self nav))) (logclear! (-> v1-33 shape nav-flags) (nav-flags has-extra-sphere)) @@ -817,7 +817,7 @@ (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (when (>= 1 (the-as int gp-1)) (nav-enemy-method-161 self) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) diff --git a/goal_src/jak2/engine/target/mech_suit/mech-states.gc b/goal_src/jak2/engine/target/mech_suit/mech-states.gc index 99b87c375e..b56d162671 100644 --- a/goal_src/jak2/engine/target/mech_suit/mech-states.gc +++ b/goal_src/jak2/engine/target/mech_suit/mech-states.gc @@ -1039,7 +1039,7 @@ (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) (set! (-> self control time-of-last-debug-heal) (current-time)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-mech-stance) ) ) @@ -1114,14 +1114,14 @@ (go target-mech-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-mech-death (-> gp-0 mode)) ) ) ) ) (target-hit-effect gp-0) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-mech-death (-> gp-0 mode)) ) (else diff --git a/goal_src/jak2/engine/target/mech_suit/mech.gc b/goal_src/jak2/engine/target/mech_suit/mech.gc index 278e2b294e..91339e48fd 100644 --- a/goal_src/jak2/engine/target/mech_suit/mech.gc +++ b/goal_src/jak2/engine/target/mech_suit/mech.gc @@ -15,7 +15,7 @@ ) (deftype mech (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (extra-trans vector :inline :offset-assert 208) (condition int32 :offset-assert 224) (shadow-backup basic :offset-assert 228) @@ -40,7 +40,7 @@ (defmethod mech-method-24 mech ((obj mech)) (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) (update! (-> obj sound)) 0 @@ -77,18 +77,11 @@ ) (('touch) (send-event proc 'target-mech-get-off 90) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) (the-as structure #f) ) (('trans) - (vector+! (the-as vector (-> event param 0)) (-> self root-override trans) (-> self extra-trans)) + (vector+! (the-as vector (-> event param 0)) (-> self root trans) (-> self extra-trans)) ) (('shadow) (cond @@ -108,8 +101,8 @@ ) ) :exit (behavior () - (set! (-> self root-override root-prim prim-core action) (collide-action)) - (set! (-> self root-override penetrated-by) (the-as penetrate -1)) + (set! (-> self root root-prim prim-core action) (collide-action)) + (set! (-> self root penetrated-by) (the-as penetrate -1)) (none) ) :code (behavior () @@ -123,12 +116,12 @@ :event (-> (method-of-type mech wait-for-start) event) :enter (behavior () (set! (-> self nav-sphere-handle) (the-as uint #f)) - (let ((s5-0 (find-nearest-nav-mesh (-> self root-override trans) 8192.0))) + (let ((s5-0 (find-nearest-nav-mesh (-> self root trans) 8192.0))) (when s5-0 (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! gp-0 (-> self root-override quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (vector-normalize! gp-0 5120.0) - (vector+! gp-0 gp-0 (-> self root-override trans)) + (vector+! gp-0 gp-0 (-> self root trans)) (set! (-> self nav-sphere-handle) (the-as uint (ppointer->handle (process-spawn simple-nav-sphere #x46266666 gp-0 s5-0 -1 :to self))) ) @@ -146,8 +139,8 @@ (change-parent self *entity-pool*) (ja-channel-set! 1) (ja :group! mech-mech-idle-ja) - (set! (-> self root-override root-prim prim-core action) (collide-action solid can-ride no-standon)) - (set! (-> self root-override penetrated-by) (penetrate)) + (set! (-> self root root-prim prim-core action) (collide-action solid can-ride no-standon)) + (set! (-> self root penetrated-by) (penetrate)) 0.0 (let ((f30-0 20480.0)) (until #f @@ -155,7 +148,7 @@ (>= (- (current-time) (-> self probe-time)) (seconds 1)) ) (move-to-ground - (-> self root-override) + (-> self root) 8192.0 40960.0 #t @@ -163,10 +156,9 @@ ) (set! (-> self probe-time) (current-time)) ) - (when (and (and *target* - (and (>= f30-0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (when (and (and *target* (and (>= f30-0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (not (focus-test? *target* in-head pole board mech dark)) (can-display-query? self (the-as string #f) -99.0) @@ -198,7 +190,7 @@ (go-virtual pickup (method-of-object self wait-for-return)) ) ) - (target-look-at-me! :trans (vector+! (new 'stack-no-clear 'vector) (the-as vector (-> self root-override root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0))) + (target-look-at-me! :trans (vector+! (new 'stack-no-clear 'vector) (the-as vector (-> self root root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0))) (mech-method-24 self) (suspend) ) @@ -216,12 +208,12 @@ (('draw) (ja-channel-set! 1) (ja :group! mech-mech-idle-ja) - (set! (-> self root-override root-prim prim-core action) (collide-action solid can-ride no-standon)) - (set! (-> self root-override penetrated-by) (penetrate)) + (set! (-> self root root-prim prim-core action) (collide-action solid can-ride no-standon)) + (set! (-> self root penetrated-by) (penetrate)) (transform-post) ) (('trans) - (vector+! (the-as vector (-> event param 0)) (-> self root-override trans) (-> self extra-trans)) + (vector+! (the-as vector (-> event param 0)) (-> self root trans) (-> self extra-trans)) ) (('touch 'attack 'bonk) #f @@ -254,10 +246,9 @@ (ja-channel-set! 0) (ja-post) (while (zero? (ja-group-size)) - (if (or (not *target*) - (or (< 24576.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (if (or (not *target*) (or (< 24576.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (go arg0) ) @@ -282,28 +273,26 @@ (defstate wait-for-return (mech) :virtual #t :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) - (the-as - object - (case event-type - (('trans) - (vector+! (the-as vector (-> event param 0)) (-> self root-override trans) (-> self extra-trans)) - ) - (('shadow) - (cond - ((-> event param 0) - (let ((v0-1 (the-as structure (-> self shadow-backup)))) - (set! (-> self draw shadow) (the-as shadow-geo v0-1)) - v0-1 - ) + (the-as object (case event-type + (('trans) + (vector+! (the-as vector (-> event param 0)) (-> self root trans) (-> self extra-trans)) + ) + (('shadow) + (cond + ((-> event param 0) + (let ((v0-1 (the-as structure (-> self shadow-backup)))) + (set! (-> self draw shadow) (the-as shadow-geo v0-1)) + v0-1 + ) + ) + (else + (set! (-> self draw shadow) #f) + (the-as structure #f) + ) + ) + ) + ) ) - (else - (set! (-> self draw shadow) #f) - (the-as structure #f) - ) - ) - ) - ) - ) ) :code (behavior () (ja-channel-set! 0) @@ -335,17 +324,17 @@ (set! (-> s2-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> self root-override) s2-0) + (set! (-> self root) s2-0) ) (set! (-> self rider) (the-as uint arg2)) (when arg0 (process-entity-set! self arg0) (process-drawable-from-entity! self arg0) - (set-yaw-angle-clear-roll-pitch! (-> self root-override) (res-lump-float arg0 'rotoffset)) + (set-yaw-angle-clear-roll-pitch! (-> self root) (res-lump-float arg0 'rotoffset)) ) (when arg1 - (set! (-> self root-override trans quad) (-> arg1 vector 0 quad)) - (quaternion-copy! (-> self root-override quat) (the-as quaternion (-> arg1 vector 1))) + (set! (-> self root trans quad) (-> arg1 vector 0 quad)) + (quaternion-copy! (-> self root quat) (the-as quaternion (-> arg1 vector 1))) ) (initialize-skeleton self @@ -356,7 +345,7 @@ (set! (-> self draw shadow-ctrl) *mech-shadow-control*) (let ((v1-27 (-> self node-list data))) (set! (-> v1-27 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-27 0 param1) (the-as basic (-> self root-override trans))) + (set! (-> v1-27 0 param1) (the-as basic (-> self root trans))) (set! (-> v1-27 0 param2) (the-as basic (-> self extra-trans))) ) (set! (-> self condition) (res-lump-value arg0 'index int :time -1000000000.0)) @@ -367,7 +356,7 @@ (set! (-> self nav-sphere-handle) (the-as uint #f)) (if (-> self entity) (move-to-ground - (-> self root-override) + (-> self root) 8192.0 40960.0 #t @@ -375,7 +364,7 @@ ) ) (set! (-> self sound) - (new 'process 'ambient-sound (static-sound-spec "zoom-teleport" :fo-max 30) (-> self root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "zoom-teleport" :fo-max 30) (-> self root trans)) ) (set! (-> self draw light-index) (the-as uint 30)) (if (handle->process arg2) @@ -496,11 +485,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defbehavior mech-target-init mech ((arg0 vector) (arg1 quaternion) (arg2 entity-actor)) (process-entity-set! self arg2) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) - (set! (-> self root-override scale x) 0.0) - (set! (-> self root-override scale y) 0.0) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) + (set! (-> self root scale x) 0.0) + (set! (-> self root scale y) 0.0) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-mech-target" (the-as (pointer uint32) #f))) diff --git a/goal_src/jak2/engine/target/mech_suit/target-mech.gc b/goal_src/jak2/engine/target/mech_suit/target-mech.gc index 99a260943e..108845d5c2 100644 --- a/goal_src/jak2/engine/target/mech_suit/target-mech.gc +++ b/goal_src/jak2/engine/target/mech_suit/target-mech.gc @@ -401,7 +401,7 @@ (a0-12 *sp-particle-system-2d*) (a2-3 *launch-matrix*) ) - (set! (-> a2-3 trans quad) (-> self root-override trans quad)) + (set! (-> a2-3 trans quad) (-> self root trans quad)) (t9-6 a0-12 s5-2 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) ) @@ -415,7 +415,7 @@ (a0-15 *sp-particle-system-2d*) (a2-4 *launch-matrix*) ) - (set! (-> a2-4 trans quad) (-> self root-override trans quad)) + (set! (-> a2-4 trans quad) (-> self root trans quad)) (t9-8 a0-15 s5-3 a2-4 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) ) @@ -1182,19 +1182,14 @@ (send-event (ppointer->process (-> self manipy)) 'trans-hook - (lambda :behavior target + (lambda :behavior manipy () - (let* ((a0-0 (-> self parent)) - (v1-0 (if a0-0 - (-> (the-as (pointer target) a0-0) 0 self-override) - ) - ) - ) - (set! (-> self control trans quad) (-> v1-0 mech mech-trans quad)) + (let ((v1-0 (ppointer->process (the-as (pointer target) (-> self parent))))) + (set! (-> self root trans quad) (-> v1-0 mech mech-trans quad)) (let ((a0-4 (-> v1-0 mech mech-quat quad))) - (set! (-> self control quat quad) a0-4) + (set! (-> self root quat quad) a0-4) ) - (set! (-> self control scale quad) (-> v1-0 mech mech-scale quad)) + (set! (-> self root scale quad) (-> v1-0 mech mech-scale quad)) (set! (-> self draw light-index) (-> v1-0 draw light-index)) (let ((a0-10 (-> v1-0 draw color-mult quad))) (set! (-> self draw color-mult quad) a0-10) @@ -1207,7 +1202,7 @@ ) ) (dotimes (gp-0 2) - (enable-set! (-> self mech-ik gp-0) #t) + (target-set! (-> self joint gp-0) (the-as vector #t)) ) (none) ) diff --git a/goal_src/jak2/engine/target/sidekick.gc b/goal_src/jak2/engine/target/sidekick.gc index a8d997a7ff..d29c61b2e9 100644 --- a/goal_src/jak2/engine/target/sidekick.gc +++ b/goal_src/jak2/engine/target/sidekick.gc @@ -67,12 +67,7 @@ ("board-jump" ,(lambda :behavior sidekick ((arg0 object) (arg1 vector) (arg2 object)) - (let* ((v1-0 (-> self parent-override)) - (gp-0 (if v1-0 - (-> v1-0 0 self-override) - ) - ) - ) + (let ((gp-0 (ppointer->process (-> self parent)))) (when (>= (- (current-time) (-> self special-anim-time)) (seconds 1)) (set! (-> self special-anim-interp) 0.0) (set! (-> self special-anim-frame) 0.0) @@ -184,9 +179,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace+transformq!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) (the-as basic (-> self offset))) ) (('copy-parent) @@ -194,9 +187,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) (('root) @@ -204,9 +195,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace-normalized!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) (('indax) @@ -214,11 +203,9 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 control trans)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 control trans))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) - (the-as basic (-> self parent-override 0 control cspace-offset)) + (the-as basic (-> self parent 0 control cspace-offset)) ) ) (('board) @@ -226,9 +213,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace-normalized!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data 25)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data 25))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) (else @@ -237,7 +222,7 @@ (the-as (function cspace transformq none) cspace<-cspace+transformq!) ) (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 control sidekick-root parent)) + (the-as basic (-> self parent 0 control sidekick-root parent)) ) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) (the-as basic (-> self offset))) ) @@ -266,144 +251,126 @@ ) :code (the-as (function none :behavior sidekick) looping-code) :post (behavior () - (let ((v1-0 (-> self parent-override))) - (when (not (and (-> (if v1-0 - (-> v1-0 0 self-override) - ) - next-state - ) - (let ((v1-4 (-> self parent-override))) - (= (-> (if v1-4 - (-> v1-4 0 self-override) - ) - next-state - name - ) - 'process-drawable-art-error - ) - ) - ) - ) - (quaternion-rotate-y! - (-> self root quat) - (-> self parent-override 0 control quat) - (-> self parent-override 0 upper-body twist z) - ) - (set! (-> self anim-seed) (-> self parent-override 0 anim-seed)) - (set! (-> self draw status) (-> self parent-override 0 draw status)) - (logclear! (-> self draw status) (draw-control-status no-draw-bounds2)) - (let ((gp-0 0)) - (cond - ((and (not (logtest? (-> self parent-override 0 focus-status) (focus-status edge-grab))) - (> (-> self parent-override 0 skel float-channels) 0) - ) - (let ((gp-1 (-> self skel))) - (joint-control-copy! gp-1 (-> self parent-override 0 skel)) - (set! (-> gp-1 root-channel) - (the-as (inline-array joint-control-channel) (-> gp-1 channel (-> gp-1 active-channels))) - ) - (dotimes (s5-0 (the-as int (-> self parent-override 0 skel float-channels))) - (let ((s4-0 (-> gp-1 channel (+ s5-0 (-> gp-1 active-channels))))) - (mem-copy! - (the-as pointer s4-0) - (the-as - pointer - (-> self parent-override 0 skel channel (+ s5-0 (-> self parent-override 0 skel active-channels))) - ) - 64 - ) - (set! (-> s4-0 frame-interp 0) (-> s4-0 frame-interp 1)) - (set! (-> s4-0 command) (joint-control-command blend)) - ) - ) - (dotimes (v1-58 (the-as int (-> gp-1 allocated-length))) - (set! (-> gp-1 channel v1-58 parent) gp-1) - ) - (+! (-> gp-1 active-channels) (-> self parent-override 0 skel float-channels)) - (set! (-> gp-1 float-channels) (the-as uint 0)) + (when (not (and (-> (ppointer->process (-> self parent)) next-state) + (= (-> (ppointer->process (-> self parent)) next-state name) 'process-drawable-art-error) + ) ) - (set! gp-0 1) - ) - (else - (joint-control-copy! (-> self skel) (-> self parent-override 0 skel)) - ) - ) - (joint-control-remap! - (-> self skel) - (-> self draw art-group) - (-> self parent-override 0 draw art-group) - *sidekick-remap* - (the-as int (-> self anim-seed)) - "" - ) - (cond - ((zero? gp-0) - (set! (-> self skel effect channel-offset) (-> self parent-override 0 skel effect channel-offset)) - ) - ((= gp-0 1) - (set! (-> self skel effect channel-offset) 0) - 0 - ) - ) - ) - (let ((v1-85 (-> self parent-override 0 draw color-mult quad))) - (set! (-> self draw color-mult quad) v1-85) - ) - (let ((v1-89 (-> self parent-override 0 draw color-emissive quad))) - (set! (-> self draw color-emissive quad) v1-89) - ) - (set! (-> self draw force-fade) (-> self parent-override 0 draw force-fade)) - (set! (-> self draw death-vertex-skip) (-> self parent-override 0 draw death-vertex-skip)) - (set! (-> self draw death-effect) (-> self parent-override 0 draw death-effect)) - (set! (-> self draw death-timer) (-> self parent-override 0 draw death-timer)) - (set! (-> self draw death-timer-org) (-> self parent-override 0 draw death-timer-org)) - (set! (-> self draw death-draw-overlap) (-> self parent-override 0 draw death-draw-overlap)) - (quaternion-copy! (-> self offset quat) (-> self root quat)) - (let ((f0-3 (* (-> self parent-override 0 darkjak-interp) (-> self parent-override 0 darkjak-giant-interp)))) - (set! (-> self offset trans x) (* 286.72 f0-3)) - (set! (-> self offset trans y) (* 204.8 f0-3)) - (set! (-> self offset trans z) (* 409.6 f0-3)) - ) - (update-anim-data (-> self skel)) - (when *debug-segment* - (let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0)) - (v1-132 'target-post) - (s5-1 *profile-target-post-color*) + (quaternion-rotate-y! + (-> self root quat) + (-> self parent 0 control quat) + (-> self parent 0 upper-body twist z) + ) + (set! (-> self anim-seed) (-> self parent 0 anim-seed)) + (set! (-> self draw status) (-> self parent 0 draw status)) + (logclear! (-> self draw status) (draw-control-status no-draw-bounds2)) + (let ((gp-0 0)) + (cond + ((and (not (logtest? (-> self parent 0 focus-status) (focus-status edge-grab))) + (> (-> self parent 0 skel float-channels) 0) ) - (when (and *dproc* *debug-segment*) - (let ((s4-1 (-> gp-2 data (-> gp-2 count)))) - (let ((s3-0 (-> gp-2 base-time))) - (set! (-> s4-1 name) v1-132) - (set! (-> s4-1 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-0)))) - ) - (set! (-> s4-1 depth) (the-as uint (-> gp-2 depth))) - (set! (-> s4-1 color) s5-1) - (set! (-> gp-2 segment (-> gp-2 depth)) s4-1) - ) - (+! (-> gp-2 count) 1) - (+! (-> gp-2 depth) 1) - (set! (-> gp-2 max-depth) (max (-> gp-2 max-depth) (-> gp-2 depth))) - ) + (let ((gp-1 (-> self skel))) + (joint-control-copy! gp-1 (-> self parent 0 skel)) + (set! (-> gp-1 root-channel) + (the-as (inline-array joint-control-channel) (-> gp-1 channel (-> gp-1 active-channels))) + ) + (dotimes (s5-0 (the-as int (-> self parent 0 skel float-channels))) + (let ((s4-0 (-> gp-1 channel (+ s5-0 (-> gp-1 active-channels))))) + (mem-copy! + (the-as pointer s4-0) + (the-as pointer (-> self parent 0 skel channel (+ s5-0 (-> self parent 0 skel active-channels)))) + 64 + ) + (set! (-> s4-0 frame-interp 0) (-> s4-0 frame-interp 1)) + (set! (-> s4-0 command) (joint-control-command blend)) + ) + ) + (dotimes (v1-58 (the-as int (-> gp-1 allocated-length))) + (set! (-> gp-1 channel v1-58 parent) gp-1) + ) + (+! (-> gp-1 active-channels) (-> self parent 0 skel float-channels)) + (set! (-> gp-1 float-channels) (the-as uint 0)) + ) + (set! gp-0 1) + ) + (else + (joint-control-copy! (-> self skel) (-> self parent 0 skel)) ) - 0 ) - (do-joint-math (-> self draw) (-> self node-list) (-> self skel)) - (when *debug-segment* - (let ((gp-3 (-> *display* frames (-> *display* on-screen) profile-array data 0))) - (when (and *dproc* *debug-segment*) - (let* ((v1-158 (+ (-> gp-3 depth) -1)) - (s5-2 (-> gp-3 segment v1-158)) - (s4-2 (-> gp-3 base-time)) - ) - (when (>= v1-158 0) - (set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-2)))) - (+! (-> gp-3 depth) -1) - ) + (joint-control-remap! + (-> self skel) + (-> self draw art-group) + (-> self parent 0 draw art-group) + *sidekick-remap* + (the-as int (-> self anim-seed)) + "" + ) + (cond + ((zero? gp-0) + (set! (-> self skel effect channel-offset) (-> self parent 0 skel effect channel-offset)) + ) + ((= gp-0 1) + (set! (-> self skel effect channel-offset) 0) + 0 + ) + ) + ) + (let ((v1-85 (-> self parent 0 draw color-mult quad))) + (set! (-> self draw color-mult quad) v1-85) + ) + (let ((v1-89 (-> self parent 0 draw color-emissive quad))) + (set! (-> self draw color-emissive quad) v1-89) + ) + (set! (-> self draw force-fade) (-> self parent 0 draw force-fade)) + (set! (-> self draw death-vertex-skip) (-> self parent 0 draw death-vertex-skip)) + (set! (-> self draw death-effect) (-> self parent 0 draw death-effect)) + (set! (-> self draw death-timer) (-> self parent 0 draw death-timer)) + (set! (-> self draw death-timer-org) (-> self parent 0 draw death-timer-org)) + (set! (-> self draw death-draw-overlap) (-> self parent 0 draw death-draw-overlap)) + (quaternion-copy! (-> self offset quat) (-> self root quat)) + (let ((f0-3 (* (-> self parent 0 darkjak-interp) (-> self parent 0 darkjak-giant-interp)))) + (set! (-> self offset trans x) (* 286.72 f0-3)) + (set! (-> self offset trans y) (* 204.8 f0-3)) + (set! (-> self offset trans z) (* 409.6 f0-3)) + ) + (update-anim-data (-> self skel)) + (when *debug-segment* + (let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0)) + (v1-132 'target-post) + (s5-1 *profile-target-post-color*) + ) + (when (and *dproc* *debug-segment*) + (let ((s4-1 (-> gp-2 data (-> gp-2 count)))) + (let ((s3-0 (-> gp-2 base-time))) + (set! (-> s4-1 name) v1-132) + (set! (-> s4-1 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-0)))) + ) + (set! (-> s4-1 depth) (the-as uint (-> gp-2 depth))) + (set! (-> s4-1 color) s5-1) + (set! (-> gp-2 segment (-> gp-2 depth)) s4-1) + ) + (+! (-> gp-2 count) 1) + (+! (-> gp-2 depth) 1) + (set! (-> gp-2 max-depth) (max (-> gp-2 max-depth) (-> gp-2 depth))) + ) + ) + 0 + ) + (do-joint-math (-> self draw) (-> self node-list) (-> self skel)) + (when *debug-segment* + (let ((gp-3 (-> *display* frames (-> *display* on-screen) profile-array data 0))) + (when (and *dproc* *debug-segment*) + (let* ((v1-158 (+ (-> gp-3 depth) -1)) + (s5-2 (-> gp-3 segment v1-158)) + (s4-2 (-> gp-3 base-time)) + ) + (when (>= v1-158 0) + (set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-2)))) + (+! (-> gp-3 depth) -1) ) ) ) - 0 ) + 0 ) ) (when *display-sidekick-stats* @@ -412,7 +379,7 @@ (add-debug-sphere *display-sidekick-stats* (bucket-id debug-no-zbuf1) - (-> self parent-override 0 control sidekick-root parent bone transform trans) + (-> self parent 0 control sidekick-root parent bone transform trans) (meters 0.1) (new 'static 'rgba :g #xff :a #x80) ) @@ -438,12 +405,12 @@ ) ) (set! (-> self draw shadow) - (the-as shadow-geo (if (or (and (movie?) (-> self shadow-in-movie?)) - (logtest? (focus-status indax) (-> self parent-override 0 focus-status)) - ) - (-> self draw art-group data 3) - ) - ) + (the-as + shadow-geo + (if (or (and (movie?) (-> self shadow-in-movie?)) (logtest? (focus-status indax) (-> self parent 0 focus-status))) + (-> self draw art-group data 3) + ) + ) ) (let ((a0-53 (-> self skel effect))) (if a0-53 @@ -513,7 +480,7 @@ (set! (-> self draw light-index) (the-as uint 30)) (let ((v1-14 (-> self node-list data))) (set! (-> v1-14 0 param0) (the-as (function cspace transformq none) cspace<-cspace+transformq!)) - (set! (-> v1-14 0 param1) (the-as basic (-> self parent-override 0 control sidekick-root parent))) + (set! (-> v1-14 0 param1) (the-as basic (-> self parent 0 control sidekick-root parent))) (set! (-> v1-14 0 param2) (the-as basic (-> self offset))) ) (set! (-> self shadow-in-movie?) #t) diff --git a/goal_src/jak2/engine/target/target-darkjak.gc b/goal_src/jak2/engine/target/target-darkjak.gc index a197e4b1da..03f8814796 100644 --- a/goal_src/jak2/engine/target/target-darkjak.gc +++ b/goal_src/jak2/engine/target/target-darkjak.gc @@ -58,9 +58,7 @@ ) ) (or (and (not (and (focus-test? self dark) (nonzero? (-> self darkjak)))) - (and (>= (- (current-time) (-> (the-as fact-info-target (-> self fact-override)) darkjak-start-time)) - (seconds 0.05) - ) + (and (>= (- (current-time) (-> (the-as fact-info-target (-> self fact)) darkjak-start-time)) (seconds 0.05)) (>= (-> self game eco-pill-dark) (-> *FACT-bank* eco-pill-dark-max-default)) ) ) @@ -113,8 +111,8 @@ ) (target-danger-set! (-> self control danger-mode) #f) (update-transforms (-> self control)) - (if (and (or (>= (- (current-time) (-> (the-as fact-info-target (-> self fact-override)) darkjak-start-time)) - (-> (the-as fact-info-target (-> self fact-override)) darkjak-effect-time) + (if (and (or (>= (- (current-time) (-> (the-as fact-info-target (-> self fact)) darkjak-start-time)) + (-> (the-as fact-info-target (-> self fact)) darkjak-effect-time) ) (not (-> *setting-control* user-current darkjak)) ) @@ -288,7 +286,7 @@ (persist-with-delay *setting-control* 'bg-a-speed (seconds 3) 'bg-a-speed 'abs 0.5 0) (if (not (and (-> self next-state) (= (-> self next-state name) 'target-darkjak-get-off))) (pickup-collectable! - (-> self fact-override) + (-> self fact) (pickup-type eco-pill-dark) (- (-> *FACT-bank* eco-pill-dark-max-default)) (the-as handle #f) @@ -319,8 +317,8 @@ (set! (-> self darkjak-giant-interp) 1.0) (set-setting! 'sound-flava #f 30.0 4) (set! (-> self focus-status) (logior (focus-status dark) (-> self focus-status))) - (set! (-> (the-as fact-info-target (-> self fact-override)) darkjak-start-time) (current-time)) - (set! (-> (the-as fact-info-target (-> self fact-override)) darkjak-effect-time) (seconds 20)) + (set! (-> (the-as fact-info-target (-> self fact)) darkjak-start-time) (current-time)) + (set! (-> (the-as fact-info-target (-> self fact)) darkjak-effect-time) (seconds 20)) (if (logtest? (-> self darkjak stage) 16) (logior! (-> self state-flags) (state-flags sf4)) (logclear! (-> self state-flags) (state-flags sf4)) diff --git a/goal_src/jak2/engine/target/target-death.gc b/goal_src/jak2/engine/target/target-death.gc index f51d5f6ea4..89a615819e 100644 --- a/goal_src/jak2/engine/target/target-death.gc +++ b/goal_src/jak2/engine/target/target-death.gc @@ -666,7 +666,7 @@ (case (-> arg4 angle) (('jump 'up 'up-forward) (when (and (not (focus-test? self flut pilot mech indax)) - (not (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health)))) + (not (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health)))) ) (if (and (cpad-pressed? (-> self control cpad number) circle) (can-feet? #f)) (go target-attack-air #f) @@ -954,7 +954,7 @@ (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) (set! (-> self control time-of-last-debug-heal) (current-time)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-stance) ) ) @@ -995,8 +995,8 @@ ) (when (and (focus-test? self dark) (nonzero? (-> self darkjak))) (set! (-> sv-32 damage) (fmax 1.0 (ceil (* 0.5 (-> sv-32 damage))))) - (if (< (- (-> self fact-override health) (-> sv-32 damage)) 1.0) - (set! (-> sv-32 damage) (+ -1.0 (-> self fact-override health))) + (if (< (- (-> self fact health) (-> sv-32 damage)) 1.0) + (set! (-> sv-32 damage) (+ -1.0 (-> self fact health))) ) ) (set! (-> sv-36 quad) (-> sv-32 vector quad)) @@ -1038,13 +1038,13 @@ (go target-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-death (-> sv-32 mode)) ) ) ) (('lava 'melt) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-2 (let ((t9-15 (method-of-type part-tracker activate))) @@ -1095,23 +1095,23 @@ 'centipede 'big-explosion ) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-death (-> sv-32 mode)) ) ) (('explode) - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-death (-> sv-32 mode)) ) ) (('smush) - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) (go target-hit-ground-hard (-> *TARGET-bank* fall-far)) ) (('shock 'shock-red 'shock-green) - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) (let* ((v1-123 (-> sv-32 mode)) (gp-3 (cond ((= v1-123 'shock-red) @@ -1236,7 +1236,7 @@ ) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) ) ) (target-hit-effect sv-32) @@ -1249,17 +1249,17 @@ ) ) ) - (when (and (= (-> self game mode) 'play) (and (>= 0.0 (-> self fact-override health)) (using-gun? self))) + (when (and (= (-> self game mode) 'play) (and (>= 0.0 (-> self fact health)) (using-gun? self))) (send-event (ppointer->process (-> self gun gun)) 'die) (target-gun-end-mode #f) ) (set! (-> self control mod-surface) *smack-mods*) (target-hit-setup-anim sv-32) (target-hit-move sv-32 (target-hit-orient sv-32 sv-36) target-falling-anim-trans 1.0) - (if (and (and (focus-test? self dark) (nonzero? (-> self darkjak))) (>= 1.0 (-> self fact-override health))) + (if (and (and (focus-test? self dark) (nonzero? (-> self darkjak))) (>= 1.0 (-> self fact health))) (go target-darkjak-get-off) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-death (-> sv-32 mode)) ) (go target-hit-ground #f) diff --git a/goal_src/jak2/engine/target/target-gun.gc b/goal_src/jak2/engine/target/target-gun.gc index 2d736a36db..df5ef842ee 100644 --- a/goal_src/jak2/engine/target/target-gun.gc +++ b/goal_src/jak2/engine/target/target-gun.gc @@ -2324,7 +2324,7 @@ (logtest? (state-flags sf16) (-> self state-flags)) (logtest? (-> self game secrets) (game-secrets endless-ammo)) ) - (pickup-collectable! (-> self fact-override) (the-as pickup-type a1-0) -1.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type a1-0) -1.0 (the-as handle #f)) (case (-> gp-0 gun-type) (((pickup-type eco-blue)) (cond diff --git a/goal_src/jak2/engine/target/target-h.gc b/goal_src/jak2/engine/target/target-h.gc index 17796ae4ea..4895df9615 100644 --- a/goal_src/jak2/engine/target/target-h.gc +++ b/goal_src/jak2/engine/target/target-h.gc @@ -179,9 +179,9 @@ ;; DECOMP BEGINS (deftype target (process-focusable) - ((self-override target :offset 32) + ((self target :override) + (fact fact-info-target :override) (control control-info :offset 128) - (fact-override fact-info-target :offset 160) (skel2 joint-control :offset-assert 204) (shadow-backup shadow-geo :offset-assert 208) (target-flags uint32 :offset 188) @@ -417,7 +417,7 @@ (define-perm *target* target #f) (deftype sidekick (process-drawable) - ((parent-override (pointer target) :offset 16) + ((parent (pointer target) :override) (control control-info :offset 128) (anim-seed uint64 :offset 208) (shadow-in-movie? symbol :offset-assert 216) diff --git a/goal_src/jak2/engine/target/target-handler.gc b/goal_src/jak2/engine/target/target-handler.gc index e325c2bd35..0610be85d4 100644 --- a/goal_src/jak2/engine/target/target-handler.gc +++ b/goal_src/jak2/engine/target/target-handler.gc @@ -74,10 +74,10 @@ ((or (logtest? (state-flags sf2 tinvul1 tinvul2) (-> self state-flags)) (logtest? (-> self game secrets) (game-secrets invulnerable)) (and (logtest? (-> self state-flags) (state-flags sf4)) (not (attack-mode-is-invinc s4-0))) - (< 0.0 (-> (the-as fact-info-target (-> self fact-override)) shield-level)) + (< 0.0 (-> (the-as fact-info-target (-> self fact)) shield-level)) (and (= s4-0 'darkeco) - (and (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) + (and (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2) + (>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0) ) (or (logtest? (-> self state-flags) (state-flags sf15)) (focus-test? self dangerous)) ) @@ -124,12 +124,12 @@ ((and (logtest? (-> self attack-info-rec mask) (attack-info-mask mode)) (= (-> self attack-info-rec mode) 'damage) (not (and (= (-> self game mode) 'play) - (>= 0.0 (- (-> (the-as fact-info-target (-> self fact-override)) health) (-> self attack-info-rec damage))) + (>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> self attack-info-rec damage))) ) ) ) (pickup-collectable! - (-> self fact-override) + (-> self fact) (pickup-type health) (if (logtest? (attack-info-mask damage) (-> self attack-info-rec mask)) (- (-> self attack-info-rec damage)) @@ -191,7 +191,7 @@ (else (logior! (-> self focus-status) (focus-status ignore hit)) (when (and (= (-> self game mode) 'play) - (and (or (and (>= 0.0 (- (-> (the-as fact-info-target (-> self fact-override)) health) (-> self attack-info-rec damage))) + (and (or (and (>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> self attack-info-rec damage))) (not (and (focus-test? self dark) (nonzero? (-> self darkjak)))) ) (attack-mode-is-invinc s4-0) @@ -666,8 +666,8 @@ (let ((s4-0 (-> arg3 param 0)) (f28-0 (the-as float (-> arg3 param 1))) ) - (if (!= (pickup-collectable! (-> self fact-override) (the-as pickup-type s4-0) 0.0 (the-as handle #f)) - (pickup-collectable! (-> self fact-override) (the-as pickup-type s4-0) f28-0 (process->handle arg0)) + (if (!= (pickup-collectable! (-> self fact) (the-as pickup-type s4-0) 0.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type s4-0) f28-0 (process->handle arg0)) ) #t 'full @@ -677,11 +677,11 @@ ) (('test-pickup) (let ((a1-6 (-> arg3 param 0))) - (pickup-collectable! (-> self fact-override) (the-as pickup-type a1-6) 0.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type a1-6) 0.0 (the-as handle #f)) ) ) (('reset-pickup) - (the-as object (reset! (-> self fact-override) (the-as symbol (-> arg3 param 0)))) + (the-as object (reset! (-> self fact) (the-as symbol (-> arg3 param 0)))) ) (('reset-collide) (cond @@ -718,13 +718,9 @@ (let ((s4-1 (-> s5-1 info))) (let ((v1-40 (-> s4-1 buzzer))) (if (nonzero? v1-40) - (set! (-> self fact-override buzzer) 0.0) - (set! (-> self fact-override buzzer) (pickup-collectable! - (-> self fact-override) - (pickup-type buzzer) - (the float (logior -65536 v1-40)) - (the-as handle #f) - ) + (set! (-> self fact buzzer) 0.0) + (set! (-> self fact buzzer) + (pickup-collectable! (-> self fact) (pickup-type buzzer) (the float (logior -65536 v1-40)) (the-as handle #f)) ) ) ) @@ -769,12 +765,12 @@ (('query) (case (-> arg3 param 0) (('powerup) - (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) (-> arg3 param 1)) - (< 0.0 (-> (the-as fact-info-target (-> self fact-override)) eco-level)) + (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) (-> arg3 param 1)) + (< 0.0 (-> (the-as fact-info-target (-> self fact)) eco-level)) ) ) (('pickup) - (pickup-collectable! (-> self fact-override) (the-as pickup-type (-> arg3 param 1)) 0.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type (-> arg3 param 1)) 0.0 (the-as handle #f)) ) (('ground-height) (target-height-above-ground) @@ -934,20 +930,20 @@ ) (('touched) (cond - ((< 0.0 (-> (the-as fact-info-target (-> self fact-override)) shield-level)) + ((< 0.0 (-> (the-as fact-info-target (-> self fact)) shield-level)) (let ((s4-3 (-> self control penetrate-using))) (set! (-> self control penetrate-using) (penetrate touch shield)) (let* ((v1-193 (-> self game)) (a0-161 (+ (-> v1-193 attack-id) 1)) ) (set! (-> v1-193 attack-id) a0-161) - (set! (-> self fact-override shield-attack-id) a0-161) + (set! (-> self fact shield-attack-id) a0-161) ) (set! v0-0 (target-send-attack arg0 'shield (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> (the-as fact-info-target (-> self fact-override)) shield-attack-id)) + (the-as int (-> (the-as fact-info-target (-> self fact)) shield-attack-id)) 0 (-> self control penetrate-using) ) @@ -1257,8 +1253,8 @@ ) ((logtest? (-> arg3 param 2) 128) (set! (-> self darkjak stage) (logand -2 (-> self darkjak stage))) - (set! v0-0 (+ (- (seconds 20) (-> self fact-override darkjak-start-time)) (current-time))) - (set! (-> self fact-override darkjak-effect-time) (the-as time-frame v0-0)) + (set! v0-0 (+ (- (seconds 20) (-> self fact darkjak-start-time)) (current-time))) + (set! (-> self fact darkjak-effect-time) (the-as time-frame v0-0)) v0-0 ) ) @@ -1395,14 +1391,14 @@ (case arg2 (('touched) (cond - ((< 0.0 (-> (the-as fact-info-target (-> self fact-override)) shield-level)) + ((< 0.0 (-> (the-as fact-info-target (-> self fact)) shield-level)) (let ((s4-1 (-> self control penetrate-using))) (set! (-> self control penetrate-using) (penetrate touch shield)) (let ((v0-0 (the-as object (target-send-attack arg0 'shield (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> (the-as fact-info-target (-> self fact-override)) shield-attack-id)) + (the-as int (-> (the-as fact-info-target (-> self fact)) shield-attack-id)) 0 (-> self control penetrate-using) ) diff --git a/goal_src/jak2/engine/target/target-part.gc b/goal_src/jak2/engine/target/target-part.gc index 0c32d3887e..41a522ba45 100644 --- a/goal_src/jak2/engine/target/target-part.gc +++ b/goal_src/jak2/engine/target/target-part.gc @@ -2526,7 +2526,7 @@ ) (-> s5-0 end-pos) ) - (-> sv-752 ppointer-override) + (-> sv-752 ppointer) ) ) (when sv-624 @@ -2574,7 +2574,7 @@ (t9-5 s0-1 arg1 (symbol->string (-> lightning-tracker symbol)) (the-as pointer #x70004000)) ) (run-now-in-process s0-1 lightning-tracker-init arg2 0 arg3 arg0 s1-0 sv-16) - (-> s0-1 ppointer-override) + (-> s0-1 ppointer) ) ) ) diff --git a/goal_src/jak2/engine/target/target-swim.gc b/goal_src/jak2/engine/target/target-swim.gc index a4d369cbd0..f484ecb596 100644 --- a/goal_src/jak2/engine/target/target-swim.gc +++ b/goal_src/jak2/engine/target/target-swim.gc @@ -680,7 +680,7 @@ (set! (-> v1-1 mode) 'damage) ) (if (and (= (-> self game mode) 'play) - (>= 0.0 (- (-> (the-as fact-info-target (-> self fact-override)) health) (-> v1-1 damage))) + (>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> v1-1 damage))) ) (set! (-> v1-1 mode) 'drown-death) ) diff --git a/goal_src/jak2/engine/target/target-tube.gc b/goal_src/jak2/engine/target/target-tube.gc index d6f6b13b9f..3a5de17817 100644 --- a/goal_src/jak2/engine/target/target-tube.gc +++ b/goal_src/jak2/engine/target/target-tube.gc @@ -874,13 +874,13 @@ (set! (-> self game hit-time) (current-time)) (case (-> gp-0 mode) (('bot) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-death (-> gp-0 mode)) ) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) ) ) (target-hit-effect gp-0) @@ -912,7 +912,7 @@ (set! (-> a0-58 quad) (-> self control transv quad)) (s5-2 s4-1 (t9-9 a0-58 1.0) (vector-y-quaternion! (new-stack-vector0) (-> self control dir-targ))) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-tube-death (-> gp-0 mode)) ) ) diff --git a/goal_src/jak2/engine/target/target-turret-shot.gc b/goal_src/jak2/engine/target/target-turret-shot.gc index 5f26c5a32d..77b8fbd740 100644 --- a/goal_src/jak2/engine/target/target-turret-shot.gc +++ b/goal_src/jak2/engine/target/target-turret-shot.gc @@ -229,14 +229,14 @@ ) ) :code (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> (the-as collide-shape-prim-group root-prim) child 0 prim-core world-sphere w) 4915.2) ) (let ((overlap-params (new 'stack-no-clear 'overlaps-others-params))) (set! (-> overlap-params options) (overlaps-others-options)) (set! (-> overlap-params collide-with-filter) (the-as collide-spec -1)) (set! (-> overlap-params tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) overlap-params) + (find-overlapping-shapes (-> self root) overlap-params) ) (suspend) (go-virtual die) @@ -254,7 +254,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -324,7 +324,7 @@ (defmethod spawn-shell-particles turret-shot ((obj turret-shot)) "TODO - confirm" - (let* ((root (-> obj root-override)) + (let* ((root (-> obj root)) (v1-2 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> root trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -388,7 +388,7 @@ ;; WARN: Return type mismatch projectile-options vs none. (defmethod init-proj-settings! turret-shot ((obj turret-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (set! (-> obj attack-mode) 'turret) (set! (-> obj max-speed) 1228800.0) @@ -466,9 +466,9 @@ ) (set! (-> cshape max-iteration-count) (the-as uint 1)) (set! (-> cshape event-self) 'touched) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 diff --git a/goal_src/jak2/engine/target/target-turret.gc b/goal_src/jak2/engine/target/target-turret.gc index 8c826a9f97..f84dd0ce2f 100644 --- a/goal_src/jak2/engine/target/target-turret.gc +++ b/goal_src/jak2/engine/target/target-turret.gc @@ -759,7 +759,7 @@ (defmethod base-turret-method-36 base-turret ((obj base-turret)) (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) 0 (none) @@ -776,7 +776,7 @@ (matrix->quaternion gp-0 s3-0) (quaternion-smooth-seek! (-> obj target-quat) (-> obj target-quat) gp-0 0.33) (let ((f0-2 (update! (-> obj smush-control)))) - (quaternion-rotate-local-x! (-> obj root-override quat) gp-0 (* -910.2222 f0-2)) + (quaternion-rotate-local-x! (-> obj root quat) gp-0 (* -910.2222 f0-2)) ) ) 0 @@ -797,7 +797,7 @@ (set! (-> obj sound-playing 0) #f) ) ((< (* 1.2 f26-0) f30-0) - (sound-play "drill-turret-lp" :id (-> obj sound-id 0) :position (-> obj root-override trans)) + (sound-play "drill-turret-lp" :id (-> obj sound-id 0) :position (-> obj root trans)) (set! (-> obj sound-playing 0) #t) ) ) @@ -807,12 +807,12 @@ (set! (-> obj sound-playing 1) #f) ) ((< (* 1.2 f24-0) f28-0) - (sound-play "drill-turret-l2" :id (-> obj sound-id 1) :position (-> obj root-override trans)) + (sound-play "drill-turret-l2" :id (-> obj sound-id 1) :position (-> obj root trans)) (set! (-> obj sound-playing 1) #t) ) ) (if (and (or s5-0 s4-0) (< f30-0 f26-0) (< f28-0 f24-0)) - (sound-play "drill-tur-stop" :position (-> obj root-override trans)) + (sound-play "drill-tur-stop" :position (-> obj root trans)) ) ) (case (-> obj path-mode) @@ -824,7 +824,7 @@ (the int (* 1524.0 (lerp-scale -0.3 0.3 (-> obj path-speed-mult) 0.0 4.0))) 0 (sound-group sfx) - (-> obj root-override trans) + (-> obj root trans) ) (set! (-> obj sound-playing 2) #t) ) @@ -844,7 +844,7 @@ (case arg2 (('trans) (set! v0-0 (-> arg3 param 0)) - (set! (-> (the-as vector v0-0) quad) (-> obj root-override trans quad)) + (set! (-> (the-as vector v0-0) quad) (-> obj root trans quad)) v0-0 ) (('quat) @@ -879,7 +879,7 @@ (defmethod get-trans base-turret ((obj base-turret) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" (if (= arg0 1) - (-> obj root-override trans) + (-> obj root trans) ((method-of-type process-focusable get-trans) obj arg0) ) ) @@ -912,14 +912,7 @@ ) (('touch) (send-event proc 'target-turret-get-off 90) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) #f ) (('exit) @@ -943,7 +936,7 @@ (let ((f30-0 20480.0)) (until #f (when (and (and *target* - (and (>= f30-0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + (and (>= f30-0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -951,7 +944,7 @@ (can-display-query? self (the-as string #f) -99.0) (not (focus-test? *target* in-head board mech dark)) (let ((f28-0 24576.0) - (s4-0 (-> self root-override)) + (s4-0 (-> self root)) (s5-0 (target-pos 0)) ) (and (< f28-0 @@ -996,7 +989,7 @@ (go-virtual setup) ) ) - (target-look-at-me! :trans (vector+! (new 'stack-no-clear 'vector) (the-as vector (-> self root-override root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0))) + (target-look-at-me! :trans (vector+! (new 'stack-no-clear 'vector) (the-as vector (-> self root root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0))) (base-turret-method-36 self) (suspend) ) @@ -1008,12 +1001,12 @@ (cond ((-> self enable-controls) (quaternion-slerp! - (-> self root-override quat) - (-> self root-override quat) + (-> self root quat) + (-> self root quat) (-> self init-quat) (* 3.0 (-> self clock seconds-per-frame)) ) - (quaternion-copy! (-> self target-quat) (-> self root-override quat)) + (quaternion-copy! (-> self target-quat) (-> self root quat)) ) (else (let ((s4-0 (new 'stack-no-clear 'matrix)) @@ -1026,7 +1019,7 @@ (matrix->quaternion gp-0 s4-0) (quaternion-smooth-seek! (-> self target-quat) (-> self target-quat) gp-0 0.33) (let ((f0-4 (update! (-> self smush-control)))) - (quaternion-rotate-local-x! (-> self root-override quat) gp-0 (* -910.2222 f0-4)) + (quaternion-rotate-local-x! (-> self root quat) gp-0 (* -910.2222 f0-4)) ) ) ) @@ -1177,7 +1170,7 @@ (set! (-> self focus-status) (focus-status)) (set! (-> self red-filter-timer) 0) (set! (-> self ride-height) 0.0) - (set! (-> self roty) (y-angle (-> self root-override))) + (set! (-> self roty) (y-angle (-> self root))) (set! (-> self rotyv) 0.0) (set! (-> self rotx) 0.0) (set! (-> self rotxv) 0.0) @@ -1186,7 +1179,7 @@ (base-turret-method-34 self a1-1) ) ) - (let ((v1-14 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-14 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-14 prim-core action) (collide-action solid)) (set! (-> v1-14 prim-core collide-as) (collide-spec obstacle)) ) @@ -1194,7 +1187,7 @@ ) :exit (behavior () (set-filter-color! 1.0 1.0 1.0) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core action) (collide-action)) (set! (-> v1-3 prim-core collide-as) (collide-spec)) ) @@ -1224,8 +1217,8 @@ ((2 3 4) (let ((s5-0 (new 'stack-no-clear 'vector))) (get-point-at-percent-along-path! (-> self path) s5-0 (-> self path-u) 'interp) - (set! (-> self root-override trans quad) (-> s5-0 quad)) - (set! (-> self root-override trans y) (+ (-> s5-0 y) (-> self ride-height))) + (set! (-> self root trans quad) (-> s5-0 quad)) + (set! (-> self root trans y) (+ (-> s5-0 y) (-> self ride-height))) ) (seek! (-> self ride-height) 2048.0 (* 2048.0 (-> self clock seconds-per-frame))) (set! (-> self path-u-prev) (-> self path-u)) @@ -1239,7 +1232,7 @@ ) (base-turret-method-38 self) (when (= (-> self path-u) 1.0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override trans) 1.0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) 1.0 'interp) (let ((a1-9 (displacement-between-points-at-percent-normalized! (-> self path) (new 'stack-no-clear 'vector) 1.0))) (forward-up-nopitch->quaternion (-> self init-quat) a1-9 *y-vector*) ) @@ -1269,7 +1262,7 @@ ) ) ) - (set! (-> self path-old-pos quad) (-> self root-override trans quad)) + (set! (-> self path-old-pos quad) (-> self root trans quad)) (base-turret-method-36 self) (suspend) ) @@ -1398,7 +1391,7 @@ ) :trans (behavior () (when (< 0.99 (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self init-quat)) ) ) @@ -1420,7 +1413,7 @@ (ja :group! (-> self draw art-group data 2)) (until #f (base-turret-method-37 self) - (target-look-at-me! :trans (vector+! (new 'stack-no-clear 'vector) (the-as vector (-> self root-override root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0))) + (target-look-at-me! :trans (vector+! (new 'stack-no-clear 'vector) (the-as vector (-> self root root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0))) (suspend) ) #f @@ -1430,8 +1423,8 @@ (when (= (-> self path-mode) 5) (let ((gp-0 (new 'stack-no-clear 'vector))) (get-point-at-percent-along-path! (-> self path) gp-0 1.0 'interp) - (set! (-> self root-override trans quad) (-> gp-0 quad)) - (set! (-> self root-override trans y) (+ (-> gp-0 y) (-> self ride-height))) + (set! (-> self root trans quad) (-> gp-0 quad)) + (set! (-> self root trans y) (+ (-> gp-0 y) (-> self ride-height))) ) (seek! (-> self ride-height) 0.0 (* 2048.0 (-> self clock seconds-per-frame))) ) @@ -1514,14 +1507,7 @@ ) (('touch) (send-event proc 'target-turret-get-off 90) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) #f ) (('exit) @@ -1571,13 +1557,13 @@ ) (send-event-function (handle->process (-> self rider)) a1-1) ) - (let ((v1-17 (-> self root-override root-prim))) + (let ((v1-17 (-> self root root-prim))) (set! (-> v1-17 prim-core collide-as) (collide-spec)) (set! (-> v1-17 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (sound-play "turret-die" :position (-> self root-override trans)) + (sound-play "turret-die" :position (-> self root trans)) (let ((gp-2 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) (process-spawn joint-exploder @@ -1589,7 +1575,7 @@ ) ) (let ((gp-3 (new 'stack-no-clear 'vector))) - (set! (-> gp-3 quad) (-> self root-override trans quad)) + (set! (-> gp-3 quad) (-> self root trans quad)) (set! (-> gp-3 y) (+ 8192.0 (-> gp-3 y))) (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-2 @@ -1636,7 +1622,7 @@ (defmethod base-turret-method-47 base-turret ((obj base-turret)) (with-pp - (let ((a0-1 (-> obj root-override trans)) + (let ((a0-1 (-> obj root trans)) (f30-0 0.0) (s4-0 (the-as process-drawable #f)) ) @@ -1667,7 +1653,7 @@ (!= s2-1 *target*) (base-turret-method-46 obj s2-1) ) - (let ((f0-1 (vector-vector-xz-distance (-> obj root-override trans) (-> s2-1 root trans)))) + (let ((f0-1 (vector-vector-xz-distance (-> obj root trans) (-> s2-1 root trans)))) (when (or (not s4-0) (< f0-1 f30-0)) (set! s4-0 s2-1) (set! f30-0 f0-1) @@ -1688,12 +1674,12 @@ (set! (-> s5-1 w) 1.0) (let ((s1-1 (new 'stack-no-clear 'vector)) (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 12))) - (s2-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (s2-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (vector-matrix*! s5-1 s5-1 (-> (the-as process-focusable s4-0) node-list data 0 bone transform)) (vector-line-distance-point! s5-1 s3-1 (vector+float*! (new 'stack-no-clear 'vector) s3-1 s2-2 4096.0) s1-1) (let* ((a1-10 (vector-! (new 'stack-no-clear 'vector) s5-1 s1-1)) - (s4-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) a1-10 (-> obj root-override quat))) + (s4-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) a1-10 (-> obj root quat))) (f30-1 (vector-vector-angle-safe s2-2 (vector-! (new 'stack-no-clear 'vector) s5-1 s3-1))) ) (let ((f0-10 (- (atan (-> s4-1 x) (-> s4-1 y))))) @@ -1716,7 +1702,7 @@ ) (seek! (-> obj arrow-red) - (lerp-scale 1.0 0.0 (vector-vector-distance s5-1 (-> obj root-override trans)) 122880.0 245760.0) + (lerp-scale 1.0 0.0 (vector-vector-distance s5-1 (-> obj root trans)) 122880.0 245760.0) (-> pp clock seconds-per-frame) ) ) @@ -1733,7 +1719,7 @@ ) (defmethod base-turret-method-43 base-turret ((obj base-turret)) - (set! (-> obj roty) (y-angle (-> obj root-override))) + (set! (-> obj roty) (y-angle (-> obj root))) (set! (-> obj rotyv) 0.0) (set! (-> obj rotyvv) 0.0) (set! (-> obj rotx) 0.0) @@ -1775,15 +1761,15 @@ (set! (-> s3-0 backup-collide-as) (-> v1-19 prim-core collide-as)) (set! (-> s3-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) - (set! (-> obj root-override) s3-0) + (set! (-> obj root) s3-0) ) (when arg0 (process-drawable-from-entity! obj arg0) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (res-lump-float arg0 'rotoffset)) + (set-yaw-angle-clear-roll-pitch! (-> obj root) (res-lump-float arg0 'rotoffset)) ) (when arg1 - (set! (-> obj root-override trans quad) (-> arg1 vector 0 quad)) - (quaternion-copy! (-> obj root-override quat) (the-as quaternion (-> arg1 vector 1))) + (set! (-> obj root trans quad) (-> arg1 vector 0 quad)) + (quaternion-copy! (-> obj root quat) (the-as quaternion (-> arg1 vector 1))) ) (initialize-skeleton obj @@ -1797,13 +1783,7 @@ (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) ) (if (-> obj entity) - (move-to-ground - (the-as collide-shape-moving (-> obj root-override)) - 40960.0 - 40960.0 - #t - (collide-spec backgnd) - ) + (move-to-ground (the-as collide-shape-moving (-> obj root)) 40960.0 40960.0 #t (collide-spec backgnd)) ) (set-zero! (-> obj smush-control)) (set! (-> obj hud) (the-as handle #f)) @@ -1849,12 +1829,12 @@ (logior! (-> s5-1 flags) (path-control-flag display draw-line draw-point draw-text)) ) (when (not (logtest? (-> obj path flags) (path-control-flag not-found))) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) 0.0 'interp) - (set! (-> obj path-old-pos quad) (-> obj root-override trans quad)) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) 0.0 'interp) + (set! (-> obj path-old-pos quad) (-> obj root trans quad)) ) (set! (-> obj path-speed-mult) 1.0) (quaternion-copy! (-> obj target-quat) *unity-quaternion*) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (set! (-> obj gun-index) 0) (set! (-> obj shot-timeout) (seconds 0.667)) (set! (-> obj gun-recoil-jmod 0) (new 'process 'joint-mod-add-local obj 5 #t #f #f)) @@ -1883,7 +1863,7 @@ (defmethod base-turret-method-41 base-turret ((obj base-turret) (arg0 vector)) (local-vars (sv-592 int)) (let* ((s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj init-quat))) - (s1-0 (-> obj root-override trans)) + (s1-0 (-> obj root trans)) (s5-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack 'collide-query)) (s0-0 8) @@ -1903,7 +1883,7 @@ (set! (-> v1-9 collide-with) (collide-spec backgnd)) (set! (-> v1-9 ignore-process0) obj) (set! (-> v1-9 ignore-process1) #f) - (set! (-> v1-9 ignore-pat) (-> obj root-override pat-ignore-mask)) + (set! (-> v1-9 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-9 action-mask) (collide-action solid)) ) (when (>= (fill-and-probe-using-line-sphere *collide-cache* s2-0) 0.0) @@ -1980,7 +1960,7 @@ (let ((s3-0 (new 'static 'array int32 4 5 11 7 9)) (s4-0 (* (-> obj gun-index) 2)) (s2-0 (+ (* (-> obj gun-index) 2) 1)) - (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set-recoil (the-as joint-mod (-> obj gun-recoil-jmod s4-0)) -819.2 arg1) (set-recoil (the-as joint-mod (-> obj gun-recoil-jmod s2-0)) 819.2 arg1) @@ -2314,14 +2294,12 @@ This commonly includes things such as: ) (let ((v1-2 (handle->process (-> self turret handle)))) (if v1-2 - (quaternion<-rotate-y-vector - (-> self control dir-targ) - (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-focusable v1-2) root-override trans) - (-> self control trans) - ) - ) + (quaternion<-rotate-y-vector (-> self control dir-targ) (vector-! + (new 'stack-no-clear 'vector) + (-> (the-as process-focusable v1-2) root trans) + (-> self control trans) + ) + ) ) ) (set! (-> self control unknown-handle02) (-> self turret handle)) @@ -2393,7 +2371,7 @@ This commonly includes things such as: (new 'static 'vector :z -10649.6 :w 1.0) (-> (the-as process-focusable s5-0) node-list data 0 bone transform) ) - (set! (-> self control unknown-vector40 quad) (-> (the-as process-focusable s5-0) root-override quat quad)) + (set! (-> self control unknown-vector40 quad) (-> (the-as process-focusable s5-0) root quat quad)) ) ) (set! (-> self alt-cam-pos quad) (-> self control camera-pos quad)) @@ -2411,7 +2389,7 @@ This commonly includes things such as: ) ) (if a0-39 - (set! (-> self alt-cam-pos quad) (-> (the-as process-focusable a0-39) root-override trans quad)) + (set! (-> self alt-cam-pos quad) (-> (the-as process-focusable a0-39) root trans quad)) ) ) (vector-lerp! diff --git a/goal_src/jak2/engine/target/target-util.gc b/goal_src/jak2/engine/target/target-util.gc index 345c79b3ce..1197916d58 100644 --- a/goal_src/jak2/engine/target/target-util.gc +++ b/goal_src/jak2/engine/target/target-util.gc @@ -622,7 +622,7 @@ ) ) ) - (case (-> (the-as fact-info-target (-> self fact-override)) eco-type) + (case (-> self fact eco-type) ((1) (set! (-> self control penetrate-using) (logior (penetrate eco-yellow) (-> self control penetrate-using))) ) @@ -1305,9 +1305,7 @@ ) ) (>= (- (current-time) (-> self control last-running-attack-end-time)) - (the-as time-frame (if (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 1) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (the-as time-frame (if (and (= (-> self fact eco-type) 1) (>= (-> self fact eco-level) 1.0)) (-> *TARGET-bank* yellow-attack-timeout) (-> *TARGET-bank* attack-timeout) ) diff --git a/goal_src/jak2/engine/target/target.gc b/goal_src/jak2/engine/target/target.gc index 647bcfc6e1..5cc7bb586a 100644 --- a/goal_src/jak2/engine/target/target.gc +++ b/goal_src/jak2/engine/target/target.gc @@ -2216,9 +2216,7 @@ (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-quat) 1.0 1.0 1.0) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 38) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) (talker-spawn-func (-> *talker-speech* 328) *entity-pool* (target-pos 0) (the-as region #f)) @@ -2519,9 +2517,7 @@ #f ) ) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 22) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) (talker-spawn-func (-> *talker-speech* 328) *entity-pool* (target-pos 0) (the-as region #f)) @@ -2961,9 +2957,7 @@ (set! (-> self control dynam gravity-max) (-> self control standard-dynamics gravity-max)) (set! (-> self control dynam gravity-length) (-> self control standard-dynamics gravity-length)) ) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 31) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) (talker-spawn-func (-> *talker-speech* 328) *entity-pool* (target-pos 0) (the-as region #f)) @@ -3253,9 +3247,7 @@ (go target-attack-air 'uppercut) ) (mod-var-jump #t #t (cpad-hold? (-> self control cpad number) x) (-> self control transv)) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 22) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) ) @@ -3373,9 +3365,7 @@ ) :enter (behavior ((arg0 float) (arg1 float) (arg2 float)) (cond - ((and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 1) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + ((and (= (-> self fact eco-type) 1) (>= (-> self fact eco-level) 1.0)) (go target-yellow-jump-blast) ) ((and (focus-test? self dark) (nonzero? (-> self darkjak)) (logtest? (-> self darkjak stage) 4)) @@ -3448,15 +3438,11 @@ ) (when gp-1 (logior! (-> self control status) (collide-status on-surface)) - (when (or (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (or (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (and (focus-test? self dark) (nonzero? (-> self darkjak)) (logtest? (-> self darkjak stage) 2)) ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) - (if (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (if (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-strike-ground (ja-frame-num 0) 0) ) (let ((v1-56 (process-spawn touch-tracker :init touch-tracker-init (-> self control trans) #x45800000 30 :to self)) @@ -3476,9 +3462,7 @@ (go target-flop-hit-ground gp-1) ) ) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) (if (rand-vu-percent? 0.5) 22 18 @@ -3687,9 +3671,7 @@ (go target-attack-air 'flop) ) ) - (when (and (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (< (- (current-time) (-> self state-time)) (seconds 0.25)) ) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) (if (rand-vu-percent? 0.5) diff --git a/goal_src/jak2/engine/target/target2.gc b/goal_src/jak2/engine/target/target2.gc index 2cae873709..d40cd260d7 100644 --- a/goal_src/jak2/engine/target/target2.gc +++ b/goal_src/jak2/engine/target/target2.gc @@ -1105,7 +1105,7 @@ (let ((f0-5 (the float (the int (+ 1.0 (/ (- arg0 (-> *TARGET-bank* fall-far)) (-> *TARGET-bank* fall-far-inc)))))) ) (pickup-collectable! - (-> self fact-override) + (-> self fact) (pickup-type health) (* (-> *FACT-bank* health-single-inc) (- (fmax 0.0 f0-5))) (the-as handle #f) @@ -1114,7 +1114,7 @@ (target-timed-invulnerable (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)) self 1) ) (cond - ((and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact-override)) health))) + ((and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health))) (set! (-> self attack-info attacker) (the-as handle #f)) (go target-death 'target-hit-ground-hard) ) diff --git a/goal_src/jak2/engine/ui/bigmap.gc b/goal_src/jak2/engine/ui/bigmap.gc index 3c311e523e..237e663b3f 100644 --- a/goal_src/jak2/engine/ui/bigmap.gc +++ b/goal_src/jak2/engine/ui/bigmap.gc @@ -610,7 +610,7 @@ (format 0 "ERROR: bigmap: mini-map-icons texture is #f~%") ) ) - (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-2 (let ((a2-3 (the-as connection-minimap s3-2))) (when (logtest? (-> a2-3 class flags) (minimap-flag bigmap)) diff --git a/goal_src/jak2/engine/ui/hud-classes.gc b/goal_src/jak2/engine/ui/hud-classes.gc index 80b15ad922..5c0d0aece5 100644 --- a/goal_src/jak2/engine/ui/hud-classes.gc +++ b/goal_src/jak2/engine/ui/hud-classes.gc @@ -7,8 +7,6 @@ ;; DECOMP BEGINS -(defglobalconstant SKIP_MINIMAP_DRAW #f) - (defmethod draw hud-map ((obj hud-map)) (set-hud-piece-position! (-> obj sprites 1) @@ -36,9 +34,6 @@ (let ((t9-5 (method-of-type hud draw))) (t9-5 obj) ) - (#when SKIP_MINIMAP_DRAW - (return #f) - ) (cond ((< (-> *setting-control* user-current race-minimap) 0) (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) @@ -258,10 +253,10 @@ ) (defmethod update-values hud-health ((obj hud-health)) - (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact-override health)))) - (set! (-> obj values 1 target) (the-as int (-> *target* fact-override health-pickup-time))) + (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact health)))) + (set! (-> obj values 1 target) (the-as int (-> *target* fact health-pickup-time))) (set! (-> obj values 2 target) (mod (the int (+ 0.5 (-> *target* game eco-pill-dark))) 100)) - (set! (-> obj values 3 target) (the-as int (-> *target* fact-override eco-pill-dark-pickup-time))) + (set! (-> obj values 3 target) (the-as int (-> *target* fact eco-pill-dark-pickup-time))) (if (and (zero? (-> obj values 2 target)) (!= (-> *target* game eco-pill-dark) 0.0)) (set! (-> obj values 2 target) 100) ) @@ -402,10 +397,10 @@ ) (defmethod update-values hud-dark-eco-symbol ((obj hud-dark-eco-symbol)) - (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact-override health)))) - (set! (-> obj values 1 target) (the-as int (-> *target* fact-override health-pickup-time))) + (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact health)))) + (set! (-> obj values 1 target) (the-as int (-> *target* fact health-pickup-time))) (set! (-> obj values 2 target) (mod (the int (+ 0.5 (-> *target* game eco-pill-dark))) 100)) - (set! (-> obj values 3 target) (the-as int (-> *target* fact-override eco-pill-dark-pickup-time))) + (set! (-> obj values 3 target) (the-as int (-> *target* fact eco-pill-dark-pickup-time))) (if (and (or (and (zero? (-> obj values 2 target)) (!= (-> *target* game eco-pill-dark) 0.0)) (focus-test? *target* dark) ) @@ -511,7 +506,7 @@ (when (not (paused?)) (let ((s5-1 (new 'stack-no-clear 'quaternion))) (quaternion-axis-angle! s5-1 0.0 1.0 0.0 364.0889) - (quaternion*! (-> obj icons 0 icon 0 root-override quat) s5-1 (-> obj icons 0 icon 0 root-override quat)) + (quaternion*! (-> obj icons 0 icon 0 root quat) s5-1 (-> obj icons 0 icon 0 root quat)) ) ) ((method-of-type hud draw) obj) @@ -1040,7 +1035,7 @@ (cond ((focus-test? *target* gun) (set! (-> obj values 0 target) (the-as int (-> *target* gun gun-type))) - (set! (-> obj values 1 target) (the int (get-gun-ammo (-> *target* fact-override)))) + (set! (-> obj values 1 target) (the int (get-gun-ammo (-> *target* fact)))) (logclear! (-> obj flags) (hud-flags disable)) (logior! (-> obj flags) (hud-flags show)) ) diff --git a/goal_src/jak2/engine/ui/hud.gc b/goal_src/jak2/engine/ui/hud.gc index d91443c13e..da1f818364 100644 --- a/goal_src/jak2/engine/ui/hud.gc +++ b/goal_src/jak2/engine/ui/hud.gc @@ -261,32 +261,10 @@ (t2-0 (the int (- (-> obj max y) (-> obj min y)))) (t1-0 (/ t2-0 4)) ) - (let* ((t3-0 arg0) - (t4-0 (the-as dma-packet (-> t3-0 base))) - ) - (set! (-> t4-0 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) - (set! (-> t4-0 vif0) (new 'static 'vif-tag)) - (set! (-> t4-0 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> t3-0 base) (the-as pointer (&+ t4-0 16))) - ) - (let* ((t3-1 arg0) - (t4-2 (the-as gs-gif-tag (-> t3-1 base))) - ) - (set! (-> t4-2 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) - (set! (-> t4-2 regs) GIF_REGS_ALL_AD) - (set! (-> t3-1 base) (the-as pointer (&+ t4-2 16))) - ) - (let* ((t3-2 arg0) - (t4-4 (-> t3-2 base)) - ) - (set! (-> (the-as (pointer gs-test) t4-4) 0) - (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) t4-4) 1) (gs-reg64 test-1)) - (set! (-> (the-as (pointer gs-alpha) t4-4) 2) (new 'static 'gs-alpha :b #x2 :d #x1)) - (set! (-> (the-as (pointer gs-reg64) t4-4) 3) (gs-reg64 alpha-1)) - (set! (-> t3-2 base) (&+ t4-4 32)) - ) + (dma-buffer-add-gs-set arg0 + (test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always))) + (alpha-1 (new 'static 'gs-alpha :b #x2 :d #x1)) + ) (set! (-> v1-0 scanline) (mod (+ (-> v1-0 scanline) 6) (the-as uint t2-0))) (let ((t3-6 (the-as (pointer uint128) (-> arg0 base)))) (set! (-> t3-6 0) (-> v1-0 scan-tmpl dma-vif quad)) @@ -308,30 +286,7 @@ (&+! (-> arg0 base) 80) ) ) - (let* ((a0-5 arg0) - (t2-1 (the-as dma-packet (-> a0-5 base))) - ) - (set! (-> t2-1 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) - (set! (-> t2-1 vif0) (new 'static 'vif-tag)) - (set! (-> t2-1 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> a0-5 base) (the-as pointer (&+ t2-1 16))) - ) - (let* ((a0-6 arg0) - (t2-3 (the-as gs-gif-tag (-> a0-6 base))) - ) - (set! (-> t2-3 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) - (set! (-> t2-3 regs) GIF_REGS_ALL_AD) - (set! (-> a0-6 base) (the-as pointer (&+ t2-3 16))) - ) - (let* ((a0-7 arg0) - (t2-5 (-> a0-7 base)) - ) - (set! (-> (the-as (pointer gs-alpha) t2-5) 0) (new 'static 'gs-alpha :a #x2 :d #x1)) - (set! (-> (the-as (pointer gs-reg64) t2-5) 1) (gs-reg64 alpha-1)) - (set! (-> (the-as (pointer gs-rgbaq) t2-5) 2) (-> v1-0 line-color)) - (set! (-> (the-as (pointer gs-reg64) t2-5) 3) (gs-reg64 rgbaq)) - (set! (-> a0-7 base) (&+ t2-5 32)) - ) + (dma-buffer-add-gs-set arg0 (alpha-1 (new 'static 'gs-alpha :a #x2 :d #x1)) (rgbaq (-> v1-0 line-color))) (dotimes (a0-8 t1-0) (let ((t2-7 (the-as (inline-array vector4w) (-> arg0 base)))) (set! (-> t2-7 0 quad) (-> v1-0 line-tmpl dma-vif quad)) @@ -493,32 +448,10 @@ ) (defmethod draw-box-alpha-1 hud-box ((obj hud-box) (arg0 dma-buffer)) - (let* ((v1-0 arg0) - (a2-0 (the-as dma-packet (-> v1-0 base))) - ) - (set! (-> a2-0 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) - (set! (-> a2-0 vif0) (new 'static 'vif-tag)) - (set! (-> a2-0 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> v1-0 base) (the-as pointer (&+ a2-0 16))) - ) - (let* ((v1-1 arg0) - (a2-2 (the-as gs-gif-tag (-> v1-1 base))) - ) - (set! (-> a2-2 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) - (set! (-> a2-2 regs) GIF_REGS_ALL_AD) - (set! (-> v1-1 base) (the-as pointer (&+ a2-2 16))) - ) - (let* ((v1-2 arg0) - (a2-4 (-> v1-2 base)) - ) - (set! (-> (the-as (pointer gs-test) a2-4) 0) - (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 1) (gs-reg64 test-1)) - (set! (-> (the-as (pointer gs-alpha) a2-4) 2) (new 'static 'gs-alpha :a #x1 :d #x2)) - (set! (-> (the-as (pointer gs-reg64) a2-4) 3) (gs-reg64 alpha-1)) - (set! (-> v1-2 base) (&+ a2-4 32)) - ) + (dma-buffer-add-gs-set arg0 + (test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always))) + (alpha-1 (new 'static 'gs-alpha :a #x1 :d #x2)) + ) (let ((t0-0 *hud-sprite-work*) (v1-3 (the-as (inline-array vector4w) (-> arg0 base))) (a2-8 (* (+ (the int (-> obj min x)) 1792) 16)) @@ -540,32 +473,10 @@ ) (defmethod draw-box-alpha-2 hud-box ((obj hud-box) (arg0 dma-buffer)) - (let* ((v1-0 arg0) - (a2-0 (the-as dma-packet (-> v1-0 base))) - ) - (set! (-> a2-0 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) - (set! (-> a2-0 vif0) (new 'static 'vif-tag)) - (set! (-> a2-0 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> v1-0 base) (the-as pointer (&+ a2-0 16))) - ) - (let* ((v1-1 arg0) - (a2-2 (the-as gs-gif-tag (-> v1-1 base))) - ) - (set! (-> a2-2 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) - (set! (-> a2-2 regs) GIF_REGS_ALL_AD) - (set! (-> v1-1 base) (the-as pointer (&+ a2-2 16))) - ) - (let* ((v1-2 arg0) - (a2-4 (-> v1-2 base)) - ) - (set! (-> (the-as (pointer gs-test) a2-4) 0) - (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 1) (gs-reg64 test-1)) - (set! (-> (the-as (pointer gs-alpha) a2-4) 2) (new 'static 'gs-alpha :b #x2 :d #x1)) - (set! (-> (the-as (pointer gs-reg64) a2-4) 3) (gs-reg64 alpha-1)) - (set! (-> v1-2 base) (&+ a2-4 32)) - ) + (dma-buffer-add-gs-set arg0 + (test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always))) + (alpha-1 (new 'static 'gs-alpha :b #x2 :d #x1)) + ) (let ((t0-0 *hud-sprite-work*) (v1-3 (the-as (inline-array vector4w) (-> arg0 base))) (a2-8 (* (+ (the int (-> obj min x)) 1792) 16)) @@ -587,32 +498,10 @@ ) (defmethod draw-box-alpha-3 hud-box ((obj hud-box) (arg0 dma-buffer)) - (let* ((v1-0 arg0) - (a2-0 (the-as dma-packet (-> v1-0 base))) - ) - (set! (-> a2-0 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) - (set! (-> a2-0 vif0) (new 'static 'vif-tag)) - (set! (-> a2-0 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> v1-0 base) (the-as pointer (&+ a2-0 16))) - ) - (let* ((v1-1 arg0) - (a2-2 (the-as gs-gif-tag (-> v1-1 base))) - ) - (set! (-> a2-2 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) - (set! (-> a2-2 regs) GIF_REGS_ALL_AD) - (set! (-> v1-1 base) (the-as pointer (&+ a2-2 16))) - ) - (let* ((v1-2 arg0) - (a2-4 (-> v1-2 base)) - ) - (set! (-> (the-as (pointer gs-test) a2-4) 0) - (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 1) (gs-reg64 test-1)) - (set! (-> (the-as (pointer gs-alpha) a2-4) 2) (new 'static 'gs-alpha :b #x1 :d #x1)) - (set! (-> (the-as (pointer gs-reg64) a2-4) 3) (gs-reg64 alpha-1)) - (set! (-> v1-2 base) (&+ a2-4 32)) - ) + (dma-buffer-add-gs-set arg0 + (test-1 (new 'static 'gs-test :ate #x1 :afail #x3 :zte #x1 :ztst (gs-ztest always))) + (alpha-1 (new 'static 'gs-alpha :b #x1 :d #x1)) + ) (let ((t0-0 *hud-sprite-work*) (v1-3 (the-as (inline-array vector4w) (-> arg0 base))) (a2-8 (* (+ (the int (-> obj min x)) 1792) 16)) @@ -634,61 +523,20 @@ ) (defmethod setup-scissor hud-box ((obj hud-box) (arg0 dma-buffer)) - (let* ((v1-0 arg0) - (a2-0 (the-as dma-packet (-> v1-0 base))) - ) - (set! (-> a2-0 dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) - (set! (-> a2-0 vif0) (new 'static 'vif-tag)) - (set! (-> a2-0 vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> v1-0 base) (the-as pointer (&+ a2-0 16))) - ) - (let* ((v1-1 arg0) - (a2-2 (the-as gs-gif-tag (-> v1-1 base))) - ) - (set! (-> a2-2 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) - (set! (-> a2-2 regs) GIF_REGS_ALL_AD) - (set! (-> v1-1 base) (the-as pointer (&+ a2-2 16))) - ) - (let* ((v1-2 arg0) - (a1-1 (-> v1-2 base)) - ) - (set! (-> (the-as (pointer gs-scissor) a1-1) 0) (new 'static 'gs-scissor - :scax0 (the int (-> obj min x)) - :scay0 (the int (-> obj min y)) - :scax1 (the int (-> obj max x)) - :scay1 (the int (-> obj max y)) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a1-1) 1) (gs-reg64 scissor-1)) - (set! (-> v1-2 base) (&+ a1-1 16)) - ) + (dma-buffer-add-gs-set arg0 (scissor-1 (new 'static 'gs-scissor + :scax0 (the int (-> obj min x)) + :scay0 (the int (-> obj min y)) + :scax1 (the int (-> obj max x)) + :scay1 (the int (-> obj max y)) + ) + ) + ) 0 (none) ) (defmethod restore-scissor hud-box ((obj hud-box) (arg0 dma-buffer)) - (let* ((v1-0 arg0) - (a0-1 (the-as dma-packet (-> v1-0 base))) - ) - (set! (-> a0-1 dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) - (set! (-> a0-1 vif0) (new 'static 'vif-tag)) - (set! (-> a0-1 vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) - (set! (-> v1-0 base) (the-as pointer (&+ a0-1 16))) - ) - (let* ((v1-1 arg0) - (a0-3 (the-as gs-gif-tag (-> v1-1 base))) - ) - (set! (-> a0-3 tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) - (set! (-> a0-3 regs) GIF_REGS_ALL_AD) - (set! (-> v1-1 base) (the-as pointer (&+ a0-3 16))) - ) - (let* ((v1-2 arg0) - (a0-5 (-> v1-2 base)) - ) - (set! (-> (the-as (pointer gs-scissor) a0-5) 0) (new 'static 'gs-scissor :scax1 #x1ff :scay1 #x19f)) - (set! (-> (the-as (pointer gs-reg64) a0-5) 1) (gs-reg64 scissor-1)) - (set! (-> v1-2 base) (&+ a0-5 16)) - ) + (dma-buffer-add-gs-set arg0 (scissor-1 (new 'static 'gs-scissor :scax1 #x1ff :scay1 #x19f))) 0 (none) ) @@ -703,8 +551,6 @@ (the-as hud ((method-of-type process relocate) obj arg0)) ) -;; WARN: Failed store: (s.w! (+ v1-47 8) 0) at op 126 -;; WARN: Failed store: (s.w! (+ v1-47 12) 0) at op 127 (defmethod draw hud ((obj hud)) (when (not (hidden? obj)) (with-dma-buffer-add-bucket ((s4-0 (-> *display* frames (-> *display* on-screen) global-buf)) @@ -715,17 +561,9 @@ (draw (-> obj sprites s3-0) s4-0 (-> obj level)) ) ) - (let ((s3-1 (new - 'stack - 'font-context - *font-default-matrix* - 0 - 0 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) + (let ((s3-1 + (new 'stack 'font-context *font-default-matrix* 0 0 0.0 (font-color default) (font-flags shadow kerning)) + ) ) (dotimes (s2-0 14) (when (and (-> obj strings s2-0 text) (nonzero? (-> obj strings s2-0 pos 0))) @@ -747,18 +585,18 @@ (dotimes (v1-55 2) (when (-> obj icons v1-55 icon) (set-vector! - (-> obj icons v1-55 icon 0 root-override scale) + (-> obj icons v1-55 icon 0 root scale) (* (-> obj icons v1-55 scale-x) (-> *video-params* relative-x-scale)) (-> obj icons v1-55 scale-y) (* (-> obj icons v1-55 scale-x) (-> *video-params* relative-x-scale)) 1.0 ) (if (-> *blit-displays-work* horizontal-flip-flag) - (set! (-> obj icons v1-55 icon 0 root-override trans x) (the float (- 256 (-> obj icons v1-55 pos 0)))) - (set! (-> obj icons v1-55 icon 0 root-override trans x) (the float (+ (-> obj icons v1-55 pos 0) -256))) + (set! (-> obj icons v1-55 icon 0 root trans x) (the float (- 256 (-> obj icons v1-55 pos 0)))) + (set! (-> obj icons v1-55 icon 0 root trans x) (the float (+ (-> obj icons v1-55 pos 0) -256))) ) - (set! (-> obj icons v1-55 icon 0 root-override trans y) (the float (* (+ (-> obj icons v1-55 pos 1) -208) 2))) - (set! (-> obj icons v1-55 icon 0 root-override trans z) (the float (-> obj icons v1-55 pos 2))) + (set! (-> obj icons v1-55 icon 0 root trans y) (the float (* (+ (-> obj icons v1-55 pos 1) -208) 2))) + (set! (-> obj icons v1-55 icon 0 root trans z) (the float (-> obj icons v1-55 pos 2))) ) ) ) @@ -792,7 +630,7 @@ (the-as uint (seekl (the-as int (-> obj values s4-0 counter)) 0 - (the-as int (- (-> pp clock frame-counter) (-> pp clock old-frame-counter))) + (the-as int (- (current-time) (-> pp clock old-frame-counter))) ) ) ) @@ -826,13 +664,10 @@ ) ) (if (and (not *progress-process*) - (>= (- (-> pp clock frame-counter) (-> obj last-hide-time)) (seconds 0.05)) + (>= (- (current-time) (-> obj last-hide-time)) (seconds 0.05)) (>= (- (-> *display* base-clock frame-counter) (-> *game-info* letterbox-time)) (seconds 0.1)) (>= (- (-> *display* base-clock frame-counter) (-> *game-info* blackout-time)) (seconds 0.1)) - (or (not *target*) - (not (logtest? (-> *target* focus-status) (focus-status grabbed))) - (logtest? (-> obj flags) (hud-flags show)) - ) + (or (not *target*) (not (focus-test? *target* grabbed)) (logtest? (-> obj flags) (hud-flags show))) (not (logtest? (-> obj flags) (hud-flags disable))) (not (or (= *master-mode* 'progress) (= *master-mode* 'menu))) (or s5-0 @@ -894,17 +729,21 @@ (the-as symbol (and (-> obj next-state) (= (-> obj next-state name) 'hud-hidden))) ) +;; WARN: Return type mismatch (pointer process) vs (pointer manipy). (defun hud-create-icon ((arg0 hud) (arg1 int) (arg2 int)) (let ((s4-0 (process-spawn manipy :init manipy-init (new 'static 'vector :w 1.0) #f arg2 #f 0 :to arg0))) - (when s4-0 - (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) - (the-as (function process-drawable draw-control symbol object none) dma-add-process-drawable-hud) - ) - (logior! (-> s4-0 0 mask) (process-mask freeze pause)) - (logclear! (-> s4-0 0 mask) (process-mask menu progress)) - (send-event (ppointer->process s4-0) 'draw #f) - (set! (-> arg0 icons arg1 icon) (the-as (pointer manipy) s4-0)) - s4-0 + (the-as + (pointer manipy) + (when s4-0 + (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) + (the-as (function process-drawable draw-control symbol object none) dma-add-process-drawable-hud) + ) + (logior! (-> s4-0 0 mask) (process-mask freeze pause)) + (logclear! (-> s4-0 0 mask) (process-mask menu progress)) + (send-event (ppointer->process s4-0) 'draw #f) + (set! (-> arg0 icons arg1 icon) (the-as (pointer manipy) s4-0)) + s4-0 + ) ) ) ) @@ -924,19 +763,19 @@ (case event-type (('show) (if (and (not *progress-process*) - (!= (-> self last-hide-time) (-> self clock frame-counter)) + (!= (-> self last-hide-time) (current-time)) (check-ready-and-maybe-show self #t) ) (go hud-arriving) ) ) (('hide) - (set! v0-1 (-> self clock frame-counter)) + (set! v0-1 (current-time)) (set! (-> self last-hide-time) (the-as time-frame v0-1)) v0-1 ) (('force-hide) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (set! v0-1 (logclear (-> self flags) (hud-flags show))) (set! (-> self flags) (the-as hud-flags v0-1)) v0-1 @@ -944,19 +783,19 @@ (('force-show) (logior! (-> self flags) (hud-flags show)) (if (and (not *progress-process*) - (!= (-> self last-hide-time) (-> self clock frame-counter)) + (!= (-> self last-hide-time) (current-time)) (check-ready-and-maybe-show self #t) ) (go hud-arriving) ) ) (('hide-quick) - (set! v0-1 (-> self clock frame-counter)) + (set! v0-1 (current-time)) (set! (-> self last-hide-time) (the-as time-frame v0-1)) v0-1 ) (('hide-and-die) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (logior! (-> self flags) (hud-flags should-die)) (set! v0-1 (logclear (-> self flags) (hud-flags show))) (set! (-> self flags) (the-as hud-flags v0-1)) @@ -1018,38 +857,38 @@ (local-vars (v0-1 object)) (case event-type (('hide-quick) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (set! (-> self offset) 1.0) (update-values self) (go hud-hidden) ) (('force-hide) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (logclear! (-> self flags) (hud-flags show)) (go hud-leaving 0.1) ) (('force-show) (logior! (-> self flags) (hud-flags show)) (if (and (not *progress-process*) - (!= (-> self last-hide-time) (-> self clock frame-counter)) + (!= (-> self last-hide-time) (current-time)) (check-ready-and-maybe-show self #t) ) (go hud-arriving) ) ) (('hide) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (go hud-leaving 0.1) ) (('hide-and-die) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (logior! (-> self flags) (hud-flags should-die)) (logclear! (-> self flags) (hud-flags show)) (go hud-leaving 0.1) ) (('show) (if (and (not *progress-process*) - (!= (-> self last-hide-time) (-> self clock frame-counter)) + (!= (-> self last-hide-time) (current-time)) (check-ready-and-maybe-show self #t) ) (go hud-arriving) @@ -1077,7 +916,7 @@ ) ) :enter (behavior () - (set! (-> self trigger-time) (-> self clock frame-counter)) + (set! (-> self trigger-time) (current-time)) (let ((gp-0 (-> self child))) (while gp-0 (send-event (ppointer->process gp-0) 'draw #t) @@ -1096,7 +935,7 @@ ) (when (= (get-status *gui-control* (-> self gui-id)) (gui-status pending)) (set! (-> self event-hook) #f) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (set! (-> self offset) 1.0) (update-values self) (go hud-hidden) @@ -1122,16 +961,14 @@ (defstate hud-in (hud) :event (-> hud-arriving event) :code (behavior () - (set! (-> self trigger-time) (-> self clock frame-counter)) - (while (and (< (- (-> self clock frame-counter) (-> self trigger-time)) (seconds 2)) - (check-ready-and-maybe-show self #f) - ) + (set! (-> self trigger-time) (current-time)) + (while (and (< (- (current-time) (-> self trigger-time)) (seconds 2)) (check-ready-and-maybe-show self #f)) (set! (-> self offset) 0.0) (suspend) ) (when (= (get-status *gui-control* (-> self gui-id)) (gui-status pending)) (set! (-> self event-hook) #f) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (set! (-> self offset) 1.0) (update-values self) (go hud-hidden) @@ -1151,7 +988,7 @@ ) (when (= (get-status *gui-control* (-> self gui-id)) (gui-status pending)) (set! (-> self event-hook) #f) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (set! (-> self offset) 1.0) (update-values self) (go hud-hidden) @@ -1172,7 +1009,7 @@ (set! (-> self mask) (process-mask menu)) (set! (-> self clock) (-> *display* real-clock)) (set! (-> self flags) (hud-flags)) - (set! (-> self last-hide-time) (-> self clock frame-counter)) + (set! (-> self last-hide-time) (current-time)) (set! (-> self offset) 1.0) (dotimes (v1-9 14) (set! (-> self strings v1-9 text) #f) diff --git a/goal_src/jak2/engine/ui/minimap-h.gc b/goal_src/jak2/engine/ui/minimap-h.gc index 58b94b9b2f..1a39e4a95c 100644 --- a/goal_src/jak2/engine/ui/minimap-h.gc +++ b/goal_src/jak2/engine/ui/minimap-h.gc @@ -142,8 +142,8 @@ (deftype engine-minimap (engine-pers) - ((alive-list-override connection-minimap :offset 24) - (dead-list-override connection-minimap :offset 28) + ((alive-list connection-minimap :override) + (dead-list connection-minimap :override) ) :method-count-assert 15 :size-assert #x20 diff --git a/goal_src/jak2/engine/ui/minimap.gc b/goal_src/jak2/engine/ui/minimap.gc index a54e395008..e1a0a6a808 100644 --- a/goal_src/jak2/engine/ui/minimap.gc +++ b/goal_src/jak2/engine/ui/minimap.gc @@ -1134,8 +1134,8 @@ (defmethod run-pending-updates! engine-minimap ((obj engine-minimap) (arg0 time-frame)) (with-pp - (let ((s2-0 (the-as (pointer connection-pers) (&-> obj alive-list-override))) - (s3-0 (-> obj alive-list-override)) + (let ((s2-0 (the-as (pointer connection-pers) (&-> obj alive-list))) + (s3-0 (-> obj alive-list)) ) (while s3-0 (let ((s4-0 (-> s3-0 next))) @@ -1172,8 +1172,8 @@ ((and (logtest? (-> s3-0 flags) (minimap-flag fade-out)) (= (-> s3-0 alpha) 0.0)) (kill-callback obj s3-0) (set! (-> s2-0 0) (-> s3-0 next)) - (set! (-> s3-0 next) (-> obj dead-list-override)) - (set! (-> obj dead-list-override) s3-0) + (set! (-> s3-0 next) (-> obj dead-list)) + (set! (-> obj dead-list) s3-0) (+! (-> obj length) -1) ) ((and (handle->process (-> s3-0 handle)) @@ -1974,7 +1974,7 @@ ) (dma-buffer-add-gs-set s5-0 (xyoffset-1 (new 'static 'gs-xy-offset :ofx #x640 :ofy #x640))) (when (!= (-> obj frustum-alpha) 0.0) - (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-2 (let ((a2-6 s3-2)) (if (logtest? (-> (the-as connection-minimap a2-6) class flags) (minimap-flag frustum)) @@ -1998,7 +1998,7 @@ (format *stdcon* "minimap: mini-map-icons texture is #f~%") ) ) - (let ((s3-4 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-4 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-4 (let ((a2-7 s3-4)) (if (logtest? (-> (the-as connection-minimap a2-7) class flags) (minimap-flag frustum)) @@ -2018,7 +2018,7 @@ (&+! (-> arg0 buf base) 112) ) ) - (let ((s3-6 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-6 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-6 (let ((a2-8 s3-6)) (if (logtest? (-> (the-as connection-minimap a2-8) class flags) (minimap-flag racer)) @@ -2313,7 +2313,7 @@ ((not a2-2) (when (!= (-> arg1 alpha) 0.0) (when (not (get-trail-for-connection obj arg1 #t)) - (let ((s2-1 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s2-1 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s2-1 (let ((a1-12 s2-1)) (if (and (= (the-as float (-> a1-12 param 1)) 0.0) (logtest? (-> arg1 class flags) (minimap-flag trail))) @@ -2530,7 +2530,7 @@ (format *stdcon* "minimap: mini-map-icons texture is #f~%") ) ) - (let ((s4-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s4-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s4-2 (let ((a2-1 s4-2)) (draw-connection obj s5-1 (the-as connection-minimap a2-1)) @@ -2638,7 +2638,7 @@ (f28-0 (the float (/ (-> s5-0 draw-pos y) 16))) (s4-2 (the-as connection-pers #f)) ) - (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-2 (let ((s2-2 s3-2)) (when (logtest? (-> (the-as connection-minimap s2-2) class flags) (minimap-flag racer)) diff --git a/goal_src/jak2/engine/ui/progress/progress.gc b/goal_src/jak2/engine/ui/progress/progress.gc index be7e843193..6cd157e53d 100644 --- a/goal_src/jak2/engine/ui/progress/progress.gc +++ b/goal_src/jak2/engine/ui/progress/progress.gc @@ -168,10 +168,10 @@ ) (deftype hud-ring-cell (process-drawable) - ((parent-override (pointer progress) :offset 16) - (joint-idx int32 :offset-assert 200) - (init-angle degrees :offset-assert 204) - (graphic-index int32 :offset-assert 208) + ((parent (pointer progress) :override) + (joint-idx int32 :offset-assert 200) + (init-angle degrees :offset-assert 204) + (graphic-index int32 :offset-assert 208) ) :heap-base #x60 :method-count-assert 21 @@ -194,10 +194,10 @@ (set! (-> self joint-idx) arg0) (set! (-> self init-angle) arg1) (set! (-> self graphic-index) arg2) - (set! (-> self root trans quad) (-> (the-as progress (-> self parent-override 0)) root trans quad)) - (quaternion-copy! (-> self root quat) (-> (the-as progress (-> self parent-override 0)) root quat)) + (set! (-> self root trans quad) (-> self parent 0 root trans quad)) + (quaternion-copy! (-> self root quat) (-> self parent 0 root quat)) (quaternion-normalize! (-> self root quat)) - (set! (-> self root scale quad) (-> (the-as progress (-> self parent-override 0)) root scale quad)) + (set! (-> self root scale quad) (-> self parent 0 root scale quad)) (let ((gp-1 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) *z-vector* (-> self init-angle)))) (quaternion-normalize! gp-1) (quaternion*! (-> self root quat) (-> self root quat) gp-1) @@ -217,10 +217,7 @@ (the-as int (-> *hud-ring-kiosk-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) - ) + (mod (+ (-> self graphic-index) (-> self parent 0 graphic-index)) (-> *hud-ring-kiosk-graphic-remap* length)) ) ) 0 @@ -232,10 +229,7 @@ (the-as int (-> *hud-ring-demo-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) - ) + (mod (+ (-> self graphic-index) (-> self parent 0 graphic-index)) (-> *hud-ring-kiosk-graphic-remap* length)) ) ) 0 @@ -247,10 +241,7 @@ (the-as int (-> *hud-ring-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-graphic-remap* length) - ) + (mod (+ (-> self graphic-index) (-> self parent 0 graphic-index)) (-> *hud-ring-graphic-remap* length)) ) ) 0 @@ -273,53 +264,47 @@ :post (behavior () (vector<-cspace! (-> self root trans) - (-> (the-as progress (-> self parent-override 0)) node-list data (-> self joint-idx)) + (-> (the-as progress (-> self parent 0)) node-list data (-> self joint-idx)) ) - (when (-> (the-as progress (-> self parent-override 0)) main-menu) + (when (-> (the-as progress (-> self parent 0)) main-menu) (setup-masks (-> self draw) 0 2046) (cond ((and (= *cheat-mode* #f) (= *kernel-boot-message* 'kiosk)) (setup-masks (-> self draw) - (the-as - int - (-> *hud-ring-kiosk-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) + (the-as int (-> *hud-ring-kiosk-graphic-remap* + (mod + (+ (-> self graphic-index) (-> (the-as progress (-> self parent 0)) graphic-index)) + (-> *hud-ring-kiosk-graphic-remap* length) + ) + ) ) - ) - ) 0 ) ) ((and (= *cheat-mode* #f) (demo?)) (setup-masks (-> self draw) - (the-as - int - (-> *hud-ring-demo-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) + (the-as int (-> *hud-ring-demo-graphic-remap* + (mod + (+ (-> self graphic-index) (-> (the-as progress (-> self parent 0)) graphic-index)) + (-> *hud-ring-kiosk-graphic-remap* length) + ) + ) ) - ) - ) 0 ) ) (else (setup-masks (-> self draw) - (the-as - int - (-> *hud-ring-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-graphic-remap* length) + (the-as int (-> *hud-ring-graphic-remap* + (mod + (+ (-> self graphic-index) (-> (the-as progress (-> self parent 0)) graphic-index)) + (-> *hud-ring-graphic-remap* length) + ) + ) ) - ) - ) 0 ) ) @@ -327,8 +312,8 @@ ) (when (= (-> self init-angle) 0.0) (cond - ((= (-> (the-as progress (-> self parent-override 0)) ring-angle) - (-> (the-as progress (-> self parent-override 0)) ring-want-angle) + ((= (-> (the-as progress (-> self parent 0)) ring-angle) + (-> (the-as progress (-> self parent 0)) ring-want-angle) ) (set! (-> self draw color-mult x) 1.2) (set! (-> self draw color-mult y) 1.2) @@ -345,11 +330,11 @@ (a0-8 (new 'stack-no-clear 'quaternion)) (a1-26 *z-vector*) (f0-8 (-> self init-angle)) - (f1-2 (-> (the-as progress (-> self parent-override 0)) ring-angle)) + (f1-2 (-> (the-as progress (-> self parent 0)) ring-angle)) (gp-0 (t9-6 a0-8 a1-26 (+ f0-8 (- f1-2 (* (the float (the int (/ f1-2 6553.6))) 6553.6))))) ) (quaternion-normalize! gp-0) - (quaternion-copy! (-> self root quat) (-> (the-as progress (-> self parent-override 0)) root quat)) + (quaternion-copy! (-> self root quat) (-> (the-as progress (-> self parent 0)) root quat)) (quaternion-normalize! (-> self root quat)) (quaternion*! (-> self root quat) (-> self root quat) gp-0) ) diff --git a/goal_src/jak2/engine/util/types-h.gc b/goal_src/jak2/engine/util/types-h.gc index 6b1f721cb7..7db3bc4c20 100644 --- a/goal_src/jak2/engine/util/types-h.gc +++ b/goal_src/jak2/engine/util/types-h.gc @@ -79,3 +79,16 @@ ) ) ) + +(defmacro fsec (x) + "Convert number to seconds unit. + Returns float." + (cond + ((or (integer? x) (float? x)) + (* 1.0 TICKS_PER_SECOND x) + ) + (#t + `(* 1.0 TICKS_PER_SECOND ,x) + ) + ) + ) diff --git a/goal_src/jak2/kernel/gkernel-h.gc b/goal_src/jak2/kernel/gkernel-h.gc index 6476cb786a..0e8e7adec9 100644 --- a/goal_src/jak2/kernel/gkernel-h.gc +++ b/goal_src/jak2/kernel/gkernel-h.gc @@ -276,7 +276,8 @@ ;; Base type for all actual processes. ;; this can be used directly, or child types can be made. (deftype process (process-tree) - ((pool dead-pool ) ;; where to return us when we die + ((self process :override) ;; ourselves! + (pool dead-pool ) ;; where to return us when we die (status symbol :offset-assert 40) ;; used by kernel to track init/death (pid int32 ) ;; globally unique ID, never reused for another (main-thread cpu-thread :offset-assert 48) ;; suspendable main thread @@ -483,13 +484,13 @@ ;; this uses the self field, which seems to always just get set to the object. ;; confirmed in Jak 1 that using self here is useless, not sure... `(let ((the-pp ,ppointer)) - (the process (if the-pp (-> the-pp 0 self))) + (if the-pp (-> the-pp 0 self)) ) ) (defmacro process->ppointer (proc) "safely get a (pointer process) from a process, returning #f if invalid." - `(let ((the-proc (the-as process ,proc))) + `(let ((the-proc ,proc)) (if the-proc (-> the-proc ppointer)) ) ) @@ -503,7 +504,7 @@ (defmacro process->handle (proc) "convert a process to a handle. if proc is #f, returns a #f handle." - `(ppointer->handle (process->ppointer ,proc)) + `(ppointer->handle (process->ppointer (the-as process ,proc))) ) (defmethod print handle ((obj handle)) diff --git a/goal_src/jak2/levels/atoll/ash1-course.gc b/goal_src/jak2/levels/atoll/ash1-course.gc index ae2ffb9846..4b9c2f0770 100644 --- a/goal_src/jak2/levels/atoll/ash1-course.gc +++ b/goal_src/jak2/levels/atoll/ash1-course.gc @@ -47,7 +47,7 @@ :skip-to -1 :on-set (lambda ((arg0 ashelin-battle)) (clear-speech-flags! arg0) - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ash-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ash-course spots 0))) (let ((v1-7 (get-current-task-event (-> arg0 task)))) (if (= (-> v1-7 action) (game-task-action say)) (add-process @@ -63,7 +63,7 @@ ) (let ((a0-8 15)) (set! (-> arg0 hit-points) a0-8) - (set! (-> arg0 enemy-info-override default-hit-points) a0-8) + (set! (-> arg0 enemy-info default-hit-points) a0-8) ) (set! (-> arg0 waypoint-time0) 0) (let ((v1-10 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) @@ -97,7 +97,7 @@ ((and (nonzero? (-> arg1 waypoint-time0)) (and (>= (- (current-time) (-> arg1 waypoint-time0)) (seconds 1)) (let ((f0-0 143360.0)) - (and (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root-override2 trans))) + (and (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root trans))) (= (-> s5-0 action) (game-task-action say)) ) ) @@ -328,12 +328,12 @@ :on-set (lambda ((arg0 ashelin-battle)) (logclear! (-> arg0 bot-flags) (bot-flags bf06)) (bot-method-196 arg0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) - (set! (-> arg0 root-override2 backup-collide-as) (collide-spec)) - (set! (-> arg0 root-override2 backup-collide-with) (collide-spec)) + (set! (-> arg0 root backup-collide-as) (collide-spec)) + (set! (-> arg0 root backup-collide-with) (collide-spec)) 0 (send-event arg0 'hide #t) (let ((v1-15 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) @@ -429,7 +429,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "asha042") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max 100 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max 100 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 8 (new 'static 'bot-spot :center (new 'static 'vector :x 2263285.8 :y 213319.69 :z -4552335.5 :w 16384.0)) diff --git a/goal_src/jak2/levels/atoll/atoll-obs.gc b/goal_src/jak2/levels/atoll/atoll-obs.gc index 21e7b62365..042b333dfe 100644 --- a/goal_src/jak2/levels/atoll/atoll-obs.gc +++ b/goal_src/jak2/levels/atoll/atoll-obs.gc @@ -86,7 +86,7 @@ :event (-> (method-of-type piston idle) event) :enter (behavior () (let ((f1-1 (- (-> self range-top) (-> self range-bottom)))) - (set! (-> self root-override trans y) (+ (-> self init-height) (+ (-> self range-bottom) f1-1))) + (set! (-> self root trans y) (+ (-> self init-height) (+ (-> self range-bottom) f1-1))) ) (none) ) @@ -106,7 +106,7 @@ :code (the-as (function none :behavior piston) sleep-code) :post (behavior () (let ((f0-1 (- (-> self range-top) (-> self range-bottom)))) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self init-height) (+ (-> self range-bottom) (get-scaled-val! (-> self sync) f0-1 0))) ) ) @@ -151,11 +151,11 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (set! (-> obj sound-trans quad) (-> obj root-override trans quad)) - (set! (-> obj root-override trans y) (+ 53248.0 (-> obj root-override trans y))) + (set! (-> obj sound-trans quad) (-> obj root trans quad)) + (set! (-> obj root trans y) (+ 53248.0 (-> obj root trans y))) (initialize-skeleton obj (the-as skeleton-group (art-group-get-by-name *level* "skel-piston" (the-as (pointer uint32) #f))) @@ -199,8 +199,8 @@ This commonly includes things such as: (set! (-> obj range-bottom) (* 4096.0 f28-0)) (set! (-> obj range-top) (* 4096.0 f30-0)) ) - (set! (-> obj init-height) (-> obj root-override trans y)) - (set! (-> obj root-override trans y) (+ -40960.0 (-> obj root-override trans y))) + (set! (-> obj init-height) (-> obj root trans y)) + (set! (-> obj root trans y) (+ -40960.0 (-> obj root trans y))) (cond ((logtest? (actor-option user18) (-> obj fact options)) (set! (-> obj looping-id) (new-sound-id)) @@ -550,7 +550,7 @@ This commonly includes things such as: ) (deftype atollrotpipe (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (smush smush-control :inline :offset 200) (init-quat quaternion :inline :offset 240) (rot-angle float :offset 256) @@ -589,7 +589,7 @@ This commonly includes things such as: ) ) ) - (quaternion*! (-> self root-override quat) (-> self init-quat) a2-1) + (quaternion*! (-> self root quat) (-> self init-quat) a2-1) ) ) (none) @@ -607,7 +607,7 @@ This commonly includes things such as: ) ) (activate! (-> self smush) -1.0 60 225 1.0 1.0 (-> self clock)) - (sound-play "rot-pipe-wiggle" :position (-> self root-override trans)) + (sound-play "rot-pipe-wiggle" :position (-> self root trans)) (let ((gp-3 (current-time))) (until (>= (- (current-time) gp-3) (seconds 0.75)) (set! (-> self shudder-angle) (* 364.0889 (update! (-> self smush)))) @@ -621,7 +621,7 @@ This commonly includes things such as: (suspend) ) ) - (sound-play "rot-pipe-turn" :position (-> self root-override trans)) + (sound-play "rot-pipe-turn" :position (-> self root trans)) (let* ((f0-7 2.0) (f30-1 (* 16384.0 f0-7)) (gp-6 (current-time)) @@ -678,9 +678,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) - (set! (-> obj root-override rider-max-momentum) 8192.0) + (set! (-> obj root rider-max-momentum) 8192.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -690,7 +690,7 @@ This commonly includes things such as: (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj rot-angle) 0.0) (set! (-> obj shudder-angle) 0.0) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (ja-channel-push! 1 0) (let ((s4-2 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! @@ -719,7 +719,7 @@ This commonly includes things such as: ) (deftype slider (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (path-pos float :offset-assert 200) (sync sync-eased :inline :offset-assert 208) (attack-id uint32 :offset-assert 252) @@ -758,7 +758,7 @@ This commonly includes things such as: ) ) (when s3-0 - (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let* ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s3-0) 0))) (f0-1 (vector-dot s4-1 v1-7)) ) @@ -797,19 +797,19 @@ This commonly includes things such as: :post (behavior () (let ((f30-0 (get-norm! (-> self sync) 0))) (set! (-> self path-pos) f30-0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override trans) (-> self path-pos) 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) (-> self path-pos) 'interp) (let ((f0-3 (sin-rad (* 3.1415925 f30-0)))) (update-vol! (-> self sound) (sqrtf f0-3)) ) ) - (update-trans! (-> self sound) (-> self root-override trans)) + (update-trans! (-> self sound) (-> self root trans)) (let ((a1-4 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-4 options) (overlaps-others-options oo0)) (set! (-> a1-4 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-4 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-4) + (find-overlapping-shapes (-> self root) a1-4) ) - (let ((v1-17 (-> self root-override trans)) + (let ((v1-17 (-> self root trans)) (a0-6 (-> self l-bolts)) (a1-5 (-> self l-points)) ) @@ -881,7 +881,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (logclear! (-> obj mask) (process-mask actor-pause)) (process-drawable-from-entity! obj arg0) @@ -945,7 +945,7 @@ This commonly includes things such as: ) ) (s4-2 (-> obj l-points)) - (s3-0 (-> obj root-override trans)) + (s3-0 (-> obj root trans)) ) (dotimes (s2-0 4) (set! (-> obj l-bolts s2-0) (new 'process 'lightning-control s5-2 obj 0.0)) @@ -965,7 +965,7 @@ This commonly includes things such as: ) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "slider" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "slider" :fo-max 50) (-> obj root trans)) ) (ja-channel-push! 1 0) (let ((s5-3 (-> obj skel root-channel 0))) diff --git a/goal_src/jak2/levels/atoll/atoll-tank.gc b/goal_src/jak2/levels/atoll/atoll-tank.gc index 67da76fa0d..c718346864 100644 --- a/goal_src/jak2/levels/atoll/atoll-tank.gc +++ b/goal_src/jak2/levels/atoll/atoll-tank.gc @@ -1617,7 +1617,7 @@ (defmethod get-trans atoll-tank ((obj atoll-tank) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (case arg0 ((3 2) (let ((v0-0 (new 'static 'vector :w 1.0))) @@ -1636,8 +1636,8 @@ ;; WARN: Return type mismatch object vs none. (defbehavior atoll-tank-init-by-other atoll-tank ((arg0 process-drawable) (arg1 int)) (set! (-> self is-master?) #f) - (set! (-> self root-override) (the-as collide-shape (new 'process 'trsqv))) - (let ((s4-0 (-> self root-override))) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (let ((s4-0 (-> self root))) (set! (-> s4-0 trans quad) (-> arg0 root trans quad)) (quaternion-copy! (-> s4-0 quat) (-> arg0 root quat)) (vector-identity! (-> s4-0 scale)) @@ -1685,7 +1685,7 @@ :virtual #t :trans (behavior () (if (-> self is-master?) - (spawn (-> self aftermath-part) (-> self root-override trans)) + (spawn (-> self aftermath-part) (-> self root trans)) ) (none) ) @@ -1776,7 +1776,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-28 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-28 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1807,12 +1807,12 @@ This commonly includes things such as: ) (else (logior! (-> obj draw status) (draw-control-status no-draw)) - (let ((v1-54 (-> obj root-override root-prim))) + (let ((v1-54 (-> obj root root-prim))) (set! (-> v1-54 prim-core collide-as) (collide-spec)) (set! (-> v1-54 prim-core collide-with) (collide-spec)) ) - (set! (-> obj root-override backup-collide-as) (collide-spec)) - (set! (-> obj root-override backup-collide-with) (collide-spec)) + (set! (-> obj root backup-collide-as) (collide-spec)) + (set! (-> obj root backup-collide-with) (collide-spec)) 0 (go (method-of-object obj dormant)) ) diff --git a/goal_src/jak2/levels/atoll/juicer.gc b/goal_src/jak2/levels/atoll/juicer.gc index acb36ae78c..725367acf8 100644 --- a/goal_src/jak2/levels/atoll/juicer.gc +++ b/goal_src/jak2/levels/atoll/juicer.gc @@ -123,9 +123,9 @@ (case arg2 (('reset) (let ((v1-1 (the-as object (-> arg3 param 0)))) - (set! (-> obj root-override trans quad) (-> (the-as matrix v1-1) trans quad)) + (set! (-> obj root trans quad) (-> (the-as matrix v1-1) trans quad)) (set! (-> obj starting-pos quad) (-> (the-as matrix v1-1) trans quad)) - (set! (-> obj root-override transv quad) (-> (&+ (the-as matrix v1-1) 64) quad 0)) + (set! (-> obj root transv quad) (-> (&+ (the-as matrix v1-1) 64) quad 0)) (set! (-> obj pre-move-transv quad) (-> (&+ (the-as matrix v1-1) 64) quad 0)) ) (set! (-> obj hits) 0) @@ -167,7 +167,7 @@ (defmethod spawn-impact-particles juicer-shot ((obj juicer-shot)) "Spawns associated particles with the projectile if applicable" (let ((s5-0 (-> obj starting-pos)) - (s4-0 (-> obj root-override trans)) + (s4-0 (-> obj root trans)) ) (when (line-in-view-frustum? s5-0 s4-0) (let ((s3-0 (new 'stack-no-clear 'vector)) @@ -258,7 +258,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-3) a0-4 a1-2 @@ -279,7 +279,7 @@ (defmethod made-impact? juicer-shot ((obj juicer-shot)) "TODO - queries the collision cache, return true/false" - (let ((gp-0 (-> obj root-override)) + (let ((gp-0 (-> obj root)) (s5-0 (new 'stack-no-clear 'collide-query)) ) (let ((v1-0 s5-0)) @@ -306,12 +306,12 @@ (let ((s5-0 (handle->process (-> arg0 victim)))) (cond (s5-0 - (set! (-> arg0 root-override trans quad) (-> (get-trans (the-as process-focusable s5-0) 3) quad)) + (set! (-> arg0 root trans quad) (-> (get-trans (the-as process-focusable s5-0) 3) quad)) ((method-of-type projectile deal-damage!) arg0 s5-0 (the-as event-message-block #f)) ) (else (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) ) @@ -358,9 +358,9 @@ (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -381,9 +381,9 @@ (logior! (-> obj options) (projectile-options proj-options-8000)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj move) juicer-proj-move) - (set! (-> obj root-override dynam gravity y) 0.0) - (set! (-> obj root-override dynam gravity-length) 0.0) - (set! (-> obj root-override dynam gravity-max) 0.0) + (set! (-> obj root dynam gravity y) 0.0) + (set! (-> obj root dynam gravity-length) 0.0) + (set! (-> obj root dynam gravity-max) 0.0) (set! (-> obj attack-mode) 'shock-red) (dotimes (s5-0 5) (set! (-> obj lightning s5-0) (new @@ -664,7 +664,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 2) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 7.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -742,7 +742,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -812,9 +812,9 @@ (('instant-death) (when (> (-> obj hit-points) 0) (set! (-> obj hit-points) 0) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (let ((s4-0 (enemy-method-50 obj (new 'stack-no-clear 'vector)))) - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-0 (-> obj root quat)) (vector-float*! s4-0 s4-0 -1.0) (vector-normalize! s4-0 1.0) ) @@ -917,7 +917,7 @@ (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-102 enemy-flags)))) ) (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-102 enemy-flags)))) - (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info-override callback-info)) + (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info callback-info)) ) 0 ) @@ -930,7 +930,7 @@ (defmethod enemy-method-84 juicer ((obj juicer) (arg0 enemy-jump-info)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user8)) + ((logtest? (-> obj fact enemy-options) (enemy-option user8)) (vector-vector-xz-distance (-> arg0 start-pos) (-> arg0 dest-pos)) (let ((f0-1 8192.0)) (setup-from-to-height! (-> arg0 traj) (-> arg0 start-pos) (-> arg0 dest-pos) f0-1 -4.551111) @@ -967,7 +967,7 @@ (format 0 "ERROR: ~A has no intro path, skipping ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-in-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-in-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -1033,11 +1033,11 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((s5-0 0)) - (let ((s4-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override2 quat))) + (let ((s4-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (gp-1 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable (handle->process (-> self focus handle))) 0) - (-> self root-override2 trans) + (-> self root trans) ) ) ) @@ -1066,7 +1066,7 @@ (let ((a1-9 (-> self nav state))) (set! (-> gp-2 quad) (-> a1-9 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-2 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-2 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -1152,10 +1152,10 @@ (let ((a0-1 (handle->process (-> self focus handle)))) (when a0-1 (let* ((gp-0 (get-trans (the-as process-focusable a0-1) 1)) - (f30-0 (vector-vector-xz-distance (-> self root-override2 trans) gp-0)) + (f30-0 (vector-vector-xz-distance (-> self root trans) gp-0)) ) (cond - ((< (- (-> gp-0 y) (-> self root-override2 trans y)) 4096.0) + ((< (- (-> gp-0 y) (-> self root trans y)) 4096.0) (let ((v1-10 (-> self nav state))) (logclear! (-> v1-10 flags) (nav-state-flag directional-mode)) (logior! (-> v1-10 flags) (nav-state-flag target-poly-dirty)) @@ -1223,23 +1223,22 @@ (a0-3 self) ) (when (and (logtest? (enemy-flag enemy-flag37) (-> a0-3 enemy-flags)) gp-0) - (let ((f0-1 (fabs (deg-diff - (quaternion-y-angle (-> self root-override2 quat)) - (vector-y-angle (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-0) 0) - (-> self root-override2 trans) - ) - ) - ) - ) + (let ((f0-1 + (fabs + (deg-diff + (quaternion-y-angle (-> self root quat)) + (vector-y-angle + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) + ) ) + ) + ) ) (cond ((or (< 5461.3335 f0-1) (and (-> self using-turn-anim) (< 910.2222 f0-1))) (set! (-> self using-turn-anim) #t) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable gp-0) 0) (-> self nav max-rotation-rate) (seconds 0.2) @@ -1294,7 +1293,7 @@ :event (the-as (function process int symbol event-message-block object :behavior juicer) enemy-event-handler) :enter (behavior () (let ((v1-1 (-> self nav state)) - (a0-1 (-> self root-override2 trans)) + (a0-1 (-> self root trans)) ) (logclear! (-> v1-1 flags) (nav-state-flag directional-mode)) (logior! (-> v1-1 flags) (nav-state-flag target-poly-dirty)) @@ -1358,9 +1357,7 @@ (until (ja-done? 0) (let ((s3-0 (handle->process (-> self focus handle)))) (when s3-0 - (when (< 28672.0 - (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable s3-0) 0)) - ) + (when (< 28672.0 (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable s3-0) 0))) (fire-projectile self (the-as process-focusable s3-0) s5-0) (current-time) (if (not gp-0) @@ -1369,7 +1366,7 @@ ) ) ) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (b! @@ -1399,9 +1396,7 @@ (send-event (handle->process (-> self current-projectile)) 'die) (let ((a0-37 (handle->process (-> self focus handle)))) (when a0-37 - (if (>= 28672.0 - (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable a0-37) 0)) - ) + (if (>= 28672.0 (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable a0-37) 0))) (go-virtual circling) ) ) @@ -1437,7 +1432,7 @@ (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-15 enemy-flags)))) ) (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-15 enemy-flags)))) - (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info-override callback-info)) + (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info callback-info)) ) 0 (let ((v1-18 self)) @@ -1470,7 +1465,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-54 self)) (set! (-> v1-54 enemy-flags) (the-as enemy-flag (logclear (-> v1-54 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-54 nav callback-info) *nav-enemy-null-callback-info*) @@ -1480,7 +1475,7 @@ (set! (-> v1-57 enemy-flags) (the-as enemy-flag (logclear (-> v1-57 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (ja-channel-push! 1 (seconds 0.1)) (let ((gp-2 (-> self draw art-group data (-> *juicer-global-info* celebrate-anim (get-rand-int self 2)))) (f30-2 (get-rand-float-range self 0.9 1.1)) @@ -1507,13 +1502,10 @@ (local-vars (v1-37 enemy-flag) (v1-45 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -1560,7 +1552,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 1)) (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info idle-anim))) ) (until #f (ja-no-eval :group! gp-0 @@ -1587,7 +1579,7 @@ (s5-0 (current-time)) (f28-0 f30-0) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop! f28-0) :frame-num 0.0 ) @@ -1597,13 +1589,10 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override taunt-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info taunt-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override taunt-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info taunt-anim))) frames num-frames) -1 ) ) @@ -1730,7 +1719,7 @@ ;; WARN: Return type mismatch symbol vs none. (defmethod juicer-method-184 juicer ((obj juicer) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (-> v1-1 specific 0))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1839,7 +1828,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-26 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1878,7 +1867,7 @@ (set! (-> v1-7 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj last-fire-time) 0) (set! (-> obj heading) (the-as basic (if (rand-vu-percent? 0.5) #t @@ -1914,7 +1903,7 @@ (new 'static 'vector :x -901.12 :y -1146.88 :z 1269.76 :w 163840.0) ) (add-connection *part-engine* obj 20 obj 4635 (new 'static 'vector :w 163840.0)) - (set! (-> obj root-override2 pause-adjust-distance) 81920.0) + (set! (-> obj root pause-adjust-distance) 81920.0) (set! (-> obj current-projectile) (the-as handle #f)) 0 (none) diff --git a/goal_src/jak2/levels/atoll/sig0-course.gc b/goal_src/jak2/levels/atoll/sig0-course.gc index 33f68d81a6..0c483137cb 100644 --- a/goal_src/jak2/levels/atoll/sig0-course.gc +++ b/goal_src/jak2/levels/atoll/sig0-course.gc @@ -152,7 +152,7 @@ ) ) (when v1-9 - (if (>= 20480.0 (- (-> (the-as process-focusable v1-9) root-override trans y) (-> arg0 root-override2 trans y))) + (if (>= 20480.0 (- (-> (the-as process-focusable v1-9) root trans y) (-> arg0 root trans y))) (logior! (-> arg0 bot-task-bits) 16) ) ) @@ -203,15 +203,15 @@ :waypoints (new 'static 'boxed-array :type bot-waypoint (new 'static 'bot-waypoint :waypoint-id 1 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (let ((a0-1 20)) (set! (-> arg0 hit-points) a0-1) - (set! (-> arg0 enemy-info-override default-hit-points) a0-1) + (set! (-> arg0 enemy-info default-hit-points) a0-1) ) (let ((a1-0 (new 'stack-no-clear 'vector))) (set-vector! a1-0 0.0 32768.0 0.0 1.0) - (quaternion-zxy! (-> arg0 root-override2 quat) a1-0) + (quaternion-zxy! (-> arg0 root quat) a1-0) ) (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) @@ -238,9 +238,9 @@ (lambda ((arg0 object) (arg1 sig-atoll)) (when *target* (let* ((s5-0 (target-pos 0)) - (f1-0 (vector-vector-xz-distance (-> arg1 root-override2 trans) s5-0)) - (f0-1 (- (-> s5-0 x) (-> arg1 root-override2 trans x))) - (f2-2 (- (-> s5-0 z) (-> arg1 root-override2 trans z))) + (f1-0 (vector-vector-xz-distance (-> arg1 root trans) s5-0)) + (f0-1 (- (-> s5-0 x) (-> arg1 root trans x))) + (f2-2 (- (-> s5-0 z) (-> arg1 root trans z))) ) (when (and (>= f2-2 -40960.0) (or (>= 40960.0 f1-0) (< f2-2 24576.0) (and (< f2-2 192512.0) (or (< f0-1 -81920.0) (< 53248.0 f0-1)))) @@ -308,7 +308,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (with-pp (if (demo?) @@ -376,7 +376,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 4 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 286720.0) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -429,7 +429,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-choose-piston arg0))) (set! (-> v1-1 bytes 5) 4) @@ -460,7 +460,7 @@ :on-update (lambda ((arg0 sig-atoll)) (if (and (not (speech-playing? arg0 1)) (not (channel-active? arg0 (the-as uint 0))) - (< (-> arg0 root-override2 trans z) (-> (target-pos 0) z)) + (< (-> arg0 root trans z) (-> (target-pos 0) z)) ) (play-speech arg0 1) ) @@ -472,7 +472,7 @@ (new 'static 'bot-waypoint :waypoint-id 6 :nav-mesh-index 1 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (logior! (-> arg0 focus-status) (focus-status ignore)) (let ((gp-0 7) @@ -505,7 +505,7 @@ ) :on-update (lambda ((arg0 sig-atoll)) (when (not (channel-active? arg0 (the-as uint 0))) - (if (and (not (speech-playing? arg0 1)) (< (-> arg0 root-override2 trans z) (-> (target-pos 0) z))) + (if (and (not (speech-playing? arg0 1)) (< (-> arg0 root trans z) (-> (target-pos 0) z))) (play-speech arg0 1) ) ) @@ -517,7 +517,7 @@ (new 'static 'bot-waypoint :waypoint-id 7 :nav-mesh-index 1 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (reset-warn-time! arg0) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -660,7 +660,7 @@ (new 'static 'bot-waypoint :waypoint-id 10 :nav-mesh-index 2 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 sig-atoll)) (play-speech arg0 4) (logior! (-> arg0 focus-status) (focus-status disable)) @@ -690,7 +690,7 @@ (if (and (not (speech-playing? arg1 5)) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-1 73728.0)) - (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root-override2 trans))) + (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root trans))) ) ) (play-speech arg1 5) @@ -732,10 +732,10 @@ (new 'static 'bot-waypoint :waypoint-id 11 :nav-mesh-index 2 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 sig-course liftcat-speech-index) 0) - (let ((f0-0 (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (let ((f0-0 (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) (f1-0 98304.0) ) (if (>= f0-0 (* f1-0 f1-0)) @@ -849,14 +849,14 @@ ) (set! (-> arg0 waypoint-bits) (logand -3 (-> arg0 waypoint-bits))) (let ((f0-0 98304.0)) - (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) (play-speech arg0 34) ) ) ) ((and (logtest? (-> arg0 waypoint-bits) 2) (let ((f0-3 49152.0)) - (>= (* f0-3 f0-3) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (>= (* f0-3 f0-3) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) ) ) (set! (-> arg0 waypoint-bits) (logand -3 (-> arg0 waypoint-bits))) @@ -881,7 +881,7 @@ ) ) (let ((f0-6 98304.0)) - (>= (* f0-6 f0-6) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (>= (* f0-6 f0-6) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) ) ) (when (and (demo?) @@ -950,7 +950,7 @@ (cond ((not (logtest? (-> arg1 waypoint-bits) 1)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 81920.0) ) (cond @@ -1073,7 +1073,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (not (focus-test? s5-0 edge-grab)) - (>= (- (-> s5-0 control trans y) (-> arg1 root-override2 trans y)) -4096.0) + (>= (- (-> s5-0 control trans y) (-> arg1 root trans y)) -4096.0) ) ) ) @@ -1139,13 +1139,13 @@ (when (scene-release? arg1) (let ((a1-1 (new 'stack-no-clear 'vector))) (set-vector! a1-1 0.0 -16384.0 0.0 1.0) - (quaternion-zxy! (-> arg1 root-override2 quat) a1-1) + (quaternion-zxy! (-> arg1 root quat) a1-1) ) (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((v1-6 (-> arg1 sig-course spots))) (vector-lerp! s5-0 (the-as vector (-> v1-6 21)) (the-as vector (-> v1-6 22)) 0.5) ) - (move-to-point! (-> arg1 root-override2) s5-0) + (move-to-point! (-> arg1 root) s5-0) ) (clear-poi-and-focus! arg1) (remove-setting! 'sound-mode) @@ -1168,7 +1168,7 @@ (new 'static 'bot-waypoint :waypoint-id 15 :nav-mesh-index 3 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (play-speech arg0 11) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1282,7 +1282,7 @@ (new 'static 'bot-waypoint :waypoint-id 16 :nav-mesh-index 3 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1378,7 +1378,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 73728.0) ) (cond @@ -1501,7 +1501,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -1590,7 +1590,7 @@ (new 'static 'bot-waypoint :waypoint-id 20 :nav-mesh-index 4 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1627,7 +1627,7 @@ (new 'static 'bot-waypoint :waypoint-id 21 :nav-mesh-index 5 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 sig-course liftcat-speech-index) 0) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1656,7 +1656,7 @@ (cond ((zero? v1-6) (when (not (channel-active? arg1 (the-as uint 0))) - (let ((s5-0 (-> arg1 root-override2 trans)) + (let ((s5-0 (-> arg1 root trans)) (s4-0 (-> arg1 sig-course spots)) (f0-0 163840.0) ) @@ -1751,7 +1751,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 22 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 waypoint-time0) 0) @@ -1778,7 +1778,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 61440.0) ) (cond @@ -1833,8 +1833,8 @@ ) (new 'static 'bot-waypoint :waypoint-id 23 - :nav-mesh-index #x6 - :skip-to #x1f + :nav-mesh-index 6 + :skip-to 31 :on-set (lambda ((arg0 sig-atoll)) (with-pp (add-process *gui-control* arg0 (gui-channel art-load) (gui-action queue) "atoll-sniper-c" -99.0 0) @@ -1899,7 +1899,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -1962,7 +1962,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 24 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1994,7 +1994,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 25 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (logior! (-> arg0 focus-status) (focus-status disable)) @@ -2025,7 +2025,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 26 - :nav-mesh-index #x7 + :nav-mesh-index 7 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -2054,7 +2054,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 27 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (logclear! (-> arg0 focus-status) (focus-status disable)) @@ -2101,7 +2101,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 28 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 waypoint-time0) 0) @@ -2125,7 +2125,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 73728.0) ) (cond @@ -2187,7 +2187,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 29 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2253,7 +2253,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -2304,7 +2304,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 30 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -2340,8 +2340,8 @@ ) (new 'static 'bot-waypoint :waypoint-id 31 - :nav-mesh-index #x9 - :skip-to #x25 + :nav-mesh-index 9 + :skip-to 37 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) (set! (-> arg0 too-far-fail-dist-delta) 163840.0) @@ -2414,7 +2414,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 32 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2474,7 +2474,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 33 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) @@ -2514,7 +2514,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 34 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2618,7 +2618,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 35 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2684,7 +2684,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 36 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) @@ -2701,7 +2701,7 @@ (not (channel-active? arg1 (the-as uint 0))) ) (let ((f0-0 122880.0)) - (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (play-speech arg1 30) ) ) @@ -2722,7 +2722,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 37 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) @@ -2747,7 +2747,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-0 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 61440.0) ) (cond @@ -2818,7 +2818,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 38 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2884,7 +2884,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -2943,7 +2943,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 39 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -2974,7 +2974,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 40 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (task-node-close! (game-task-node atoll-sig-resolution)) @@ -3056,7 +3056,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "sigt092") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 42 (new 'static 'bot-spot :center (new 'static 'vector :x 2341970.0 :y 4915.2 :z -3590061.8 :w 16384.0)) diff --git a/goal_src/jak2/levels/atoll/sniper.gc b/goal_src/jak2/levels/atoll/sniper.gc index bb4af53d66..62bc8e9946 100644 --- a/goal_src/jak2/levels/atoll/sniper.gc +++ b/goal_src/jak2/levels/atoll/sniper.gc @@ -179,7 +179,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -194,7 +194,7 @@ (defmethod run-logic? sniper ((obj sniper)) (let ((f0-0 573440.0)) - (>= (* f0-0 f0-0) (vector-vector-distance-squared (-> obj root-override2 trans) (camera-pos))) + (>= (* f0-0 f0-0) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) ) ) @@ -205,12 +205,11 @@ (set! (-> obj focus handle) (the-as handle #f)) ) ) - (set! (-> obj focus aware) (if (>= (vector-vector-distance (-> obj root-override2 trans) (camera-pos)) - (-> obj fact-info-override idle-distance) - ) - (enemy-aware enemy-aware-0) - (enemy-aware enemy-aware-1) - ) + (set! (-> obj focus aware) + (if (>= (vector-vector-distance (-> obj root trans) (camera-pos)) (-> obj fact idle-distance)) + (enemy-aware enemy-aware-0) + (enemy-aware enemy-aware-1) + ) ) (none) ) @@ -225,7 +224,7 @@ ) (countdown (s3-0 s4-0) (get-point-in-path! (-> obj path) gp-0 (the float s2-0) 'interp) - (if (< 409.6 (vector-vector-xz-distance gp-0 (-> obj root-override2 trans))) + (if (< 409.6 (vector-vector-xz-distance gp-0 (-> obj root trans))) (goto cfg-9) ) (set! s2-0 (mod (+ s2-0 1) s4-0)) @@ -258,13 +257,10 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -313,12 +309,12 @@ (let ((t9-0 (method-of-type spyder init-enemy-collision!))) (t9-0 obj) ) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) - (set! (-> obj root-override2 backup-collide-as) (collide-spec)) - (set! (-> obj root-override2 backup-collide-with) (collide-spec)) + (set! (-> obj root backup-collide-as) (collide-spec)) + (set! (-> obj root backup-collide-with) (collide-spec)) 0 0 (none) diff --git a/goal_src/jak2/levels/castle/boss/casboss-texture.gc b/goal_src/jak2/levels/castle/boss/casboss-texture.gc index 1750eb7794..fc60f57e1c 100644 --- a/goal_src/jak2/levels/castle/boss/casboss-texture.gc +++ b/goal_src/jak2/levels/castle/boss/casboss-texture.gc @@ -43,7 +43,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 3932160.0) + :end-st-rot (degrees 3932160) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -86,7 +86,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -108,7 +108,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func diff --git a/goal_src/jak2/levels/castle/boss/castle-baron.gc b/goal_src/jak2/levels/castle/boss/castle-baron.gc index 5db28dcbcf..785168b46d 100644 --- a/goal_src/jak2/levels/castle/boss/castle-baron.gc +++ b/goal_src/jak2/levels/castle/boss/castle-baron.gc @@ -105,7 +105,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root trans)) (none) ) ) @@ -137,11 +137,11 @@ For example for an elevator pre-compute the distance between the first and last @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -158,9 +158,9 @@ For example for an elevator pre-compute the distance between the first and last ) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) - (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root-override trans))) + (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root trans))) ) - (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root quat)) (and (< (fabs (-> gp-2 x)) 40960.0) (< (fabs (-> gp-2 z)) 40960.0)) ) ) @@ -198,7 +198,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -709,7 +709,7 @@ For example for an elevator pre-compute the distance between the first and last :walk-travel-speed (meters 4) :walk-acceleration (meters 16) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -791,7 +791,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) ) - (if (< (-> obj root-override2 trans y) 1228800.0) + (if (< (-> obj root trans y) 1228800.0) (deactivate obj) ) 0 @@ -833,23 +833,20 @@ For example for an elevator pre-compute the distance between the first and last (ja-channel-push! 1 (seconds 0.1)) (let ((a0-15 (-> obj skel root-channel 0))) (set! (-> a0-15 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) ) (set! (-> a0-15 param 0) 0.0) (set! (-> a0-15 param 1) (* 2.0 (-> pp clock time-adjust-ratio))) (set! (-> a0-15 frame-num) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) frames num-frames) -1 ) ) ) (joint-control-channel-group! a0-15 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) num-func-seek! ) ) @@ -893,14 +890,14 @@ For example for an elevator pre-compute the distance between the first and last (none) ) :trans (behavior () - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override2 trans))) - (s5-0 (quaternion->matrix (new-stack-matrix0) (-> self root-override2 quat))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans))) + (s5-0 (quaternion->matrix (new-stack-matrix0) (-> self root quat))) ) (vector-normalize! gp-1 1.0) (let* ((a2-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-0 vector 1) 1.0)) (a0-8 (vector-normalize! (vector-flatten! (new 'stack-no-clear 'vector) gp-1 a2-1) 1.0)) ) - (quaternion-axis-angle! (-> self root-override2 quat) 0.0 1.0 0.0 (vector-y-angle a0-8)) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (vector-y-angle a0-8)) ) ) (none) @@ -919,12 +916,9 @@ For example for an elevator pre-compute the distance between the first and last ) :post (behavior () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (let ((a1-0 (new-stack-vector0))) - (vector-v++! - (-> gp-0 transv) - (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info-override slip-factor)) - ) + (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info slip-factor))) ) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (-> gp-0 root-prim prim-core collide-with)) @@ -960,24 +954,19 @@ For example for an elevator pre-compute the distance between the first and last (cond ((<= (-> obj hit-points) 0) (let ((a0-2 (-> obj skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) - ) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim)))) (set! (-> a0-2 param 0) 0.0) (set! (-> a0-2 param 1) (* 2.0 (-> pp clock time-adjust-ratio))) (set! (-> a0-2 frame-num) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) frames num-frames) -1 ) ) ) (joint-control-channel-group! a0-2 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) num-func-seek! ) ) @@ -985,14 +974,11 @@ For example for an elevator pre-compute the distance between the first and last (else (let ((a0-3 (-> obj skel root-channel 0))) (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) ) (set! (-> a0-3 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) frames num-frames) -1 ) ) @@ -1001,7 +987,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group! a0-3 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) num-func-seek! ) ) @@ -1016,11 +1002,11 @@ For example for an elevator pre-compute the distance between the first and last (ja-channel-push! 1 (seconds 0.1)) (let ((a0-2 (-> obj skel root-channel 0))) (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) ) (set! (-> a0-2 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) frames num-frames ) @@ -1032,7 +1018,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-2 frame-num) 0.0) (joint-control-channel-group! a0-2 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) num-func-seek! ) ) @@ -1064,7 +1050,7 @@ For example for an elevator pre-compute the distance between the first and last s5-0 ) ((= v1-0 4) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) #t ) (else @@ -1101,7 +1087,7 @@ For example for an elevator pre-compute the distance between the first and last (if (< 65536.0 (-> obj wiggle-angle)) (set! (-> obj wiggle-angle) (+ -65536.0 (-> obj wiggle-angle))) ) - (let* ((v1-5 (-> obj root-override2 trans)) + (let* ((v1-5 (-> obj root trans)) (a1-2 (vector-! (new 'stack-no-clear 'vector) v1-5 arg0)) (s3-0 (vector-rotate-around-y! (new 'stack-no-clear 'vector) a1-2 16384.0)) (s4-0 (new 'stack-no-clear 'vector)) @@ -1142,9 +1128,9 @@ For example for an elevator pre-compute the distance between the first and last ) ) (let ((v1-6 (ja-group))) - (when (not (and v1-6 (= v1-6 (-> self draw art-group data (-> self enemy-info-override hostile-anim))))) + (when (not (and v1-6 (= v1-6 (-> self draw art-group data (-> self enemy-info hostile-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim)) :num! min) ) ) (none) @@ -1183,24 +1169,24 @@ For example for an elevator pre-compute the distance between the first and last (sound-stop (-> self id)) ) (when (< 25 (rand-vu-int-range 0 50)) - (let ((gp-1 (-> self root-override2)) + (let ((gp-1 (-> self root)) (a1-1 (new 'stack-no-clear 'collide-query)) ) - (when (find-ground gp-1 a1-1 (-> self enemy-info-override recover-gnd-collide-with) 8192.0 81920.0 1024.0) - (let ((f0-1 (- (-> self root-override2 trans y) (-> gp-1 gspot-pos y)))) + (when (find-ground gp-1 a1-1 (-> self enemy-info recover-gnd-collide-with) 8192.0 81920.0 1024.0) + (let ((f0-1 (- (-> self root trans y) (-> gp-1 gspot-pos y)))) (when (and (>= f0-1 -1228.8) (>= 26624.0 f0-1)) (cond ((>= (rand-vu-int-range 0 100) (/ (* 40 (you-suck-stage *game-info* #f)) 4)) - (set! (-> self fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> self fact-info-override pickup-amount) 1.0) + (set! (-> self fact pickup-type) (pickup-type ammo-random)) + (set! (-> self fact pickup-amount) 1.0) ) (else - (set! (-> self fact-info-override pickup-type) (pickup-type health)) - (set! (-> self fact-info-override pickup-amount) 2.0) + (set! (-> self fact pickup-type) (pickup-type health)) + (set! (-> self fact pickup-amount) 2.0) ) ) - (set! (-> self fact-info-override fade-time) (seconds 10)) - (let ((v1-25 (drop-pickup (-> self fact-info-override) #t *entity-pool* (-> self fact-info-override) 0))) + (set! (-> self fact fade-time) (seconds 10)) + (let ((v1-25 (drop-pickup (-> self fact) #t *entity-pool* (-> self fact) 0))) (when v1-25 (set! (-> (the-as collectable (-> v1-25 0)) draw light-index) (the-as uint 0)) 0 @@ -1287,7 +1273,7 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :probe #x1 :noendlessfall #x1)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1377,9 +1363,9 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-22 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) - (set-vector! (-> obj root-override2 scale) 0.8 0.8 0.8 1.0) + (set-vector! (-> obj root scale) 0.8 0.8 0.8 1.0) (set! (-> obj draw light-index) (the-as uint 1)) (set-vector! (-> obj draw color-emissive) 0.0 1.0 0.0 0.0) (set! (-> obj wiggle-angle) 0.0) @@ -1910,11 +1896,11 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-9 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) - (set-vector! (-> obj root-override2 trans) -1302528.0 -1449984.0 -6836224.0 1.0) + (set-vector! (-> obj root trans) -1302528.0 -1449984.0 -6836224.0 1.0) (let ((v1-20 (-> obj nav state)) - (a0-17 (-> obj root-override2 trans)) + (a0-17 (-> obj root trans)) ) (logclear! (-> v1-20 flags) (nav-state-flag directional-mode)) (logior! (-> v1-20 flags) (nav-state-flag target-poly-dirty)) @@ -1968,7 +1954,7 @@ For example for an elevator pre-compute the distance between the first and last ) :enter (behavior () (logior! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1990,9 +1976,9 @@ For example for an elevator pre-compute the distance between the first and last :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -2068,14 +2054,11 @@ For example for an elevator pre-compute the distance between the first and last (else (let ((a0-3 (-> obj skel root-channel 0))) (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) ) (set! (-> a0-3 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) frames num-frames) -1 ) ) @@ -2084,7 +2067,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group! a0-3 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) num-func-seek! ) ) @@ -2103,11 +2086,11 @@ For example for an elevator pre-compute the distance between the first and last (ja-channel-push! 1 (seconds 0.1)) (let ((a0-2 (-> obj skel root-channel 0))) (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) ) (set! (-> a0-2 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) frames num-frames ) @@ -2119,7 +2102,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-2 frame-num) 0.0) (joint-control-channel-group! a0-2 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) num-func-seek! ) ) @@ -2168,7 +2151,7 @@ For example for an elevator pre-compute the distance between the first and last ) :post (behavior () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (cond ((and (>= 1449984.0 (-> gp-0 trans y)) (< (-> gp-0 transv y) 0.0)) (set! (-> gp-0 transv y) 0.0) @@ -2177,10 +2160,7 @@ For example for an elevator pre-compute the distance between the first and last ) (else (let ((a1-0 (new-stack-vector0))) - (vector-v++! - (-> gp-0 transv) - (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info-override slip-factor)) - ) + (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info slip-factor))) ) ) ) @@ -2255,7 +2235,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2281,7 +2261,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -2343,7 +2323,7 @@ For example for an elevator pre-compute the distance between the first and last (init-vf0-vector) (when (and (task-node-closed? (game-task-node castle-boss-introduction)) (zero? (-> self gameplay-pass)) - (< (-> self root-override2 trans y) 0.0) + (< (-> self root trans y) 0.0) ) (let ((v1-5 (-> self nav state)) (a0-4 (-> *krew-boss-idle-path* (-> self next-path-point))) @@ -2364,21 +2344,18 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-13 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-13 enemy-flags)))) ) (set! (-> v1-13 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-13 enemy-flags)))) - (set! (-> v1-13 nav callback-info) (-> v1-13 enemy-info-override callback-info)) + (set! (-> v1-13 nav callback-info) (-> v1-13 enemy-info callback-info)) ) 0 (let ((v1-16 self)) (set! (-> v1-16 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-16 enemy-flags)))) ) 0 - (set! (-> self root-override2 trans y) 1449984.0) + (set! (-> self root trans y) 1449984.0) (set! (-> self num-clones-to-spawn) 20) (set! (-> self state-time) (current-time)) ) - (when (< (vector-vector-xz-distance - (-> self root-override2 trans) - (-> *krew-boss-idle-path* (-> self next-path-point)) - ) + (when (< (vector-vector-xz-distance (-> self root trans) (-> *krew-boss-idle-path* (-> self next-path-point))) 20480.0 ) (let ((gp-1 (+ (-> self next-path-point) 1))) @@ -2407,7 +2384,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> *krew-boss-clone-nav-enemy-info* run-travel-speed) 28672.0) ) ) - (when (< 0.0 (-> self root-override2 trans y)) + (when (< 0.0 (-> self root trans y)) (let ((gp-2 -1)) (let ((v1-51 0)) (dotimes (a0-34 8) @@ -2424,13 +2401,13 @@ For example for an elevator pre-compute the distance between the first and last (> (-> self num-clones-to-spawn) 0) (>= (- (current-time) (-> self state-time)) (seconds 0.6)) ) - (let ((s3-0 (-> self root-override2)) + (let ((s3-0 (-> self root)) (a1-26 (new 'stack-no-clear 'collide-query)) (s2-0 #t) (s4-1 #f) (s5-1 (new 'stack-no-clear 'vector)) ) - (when (find-ground s3-0 a1-26 (-> self enemy-info-override recover-gnd-collide-with) 8192.0 81920.0 1024.0) + (when (find-ground s3-0 a1-26 (-> self enemy-info recover-gnd-collide-with) 8192.0 81920.0 1024.0) (let ((f0-8 (- (-> s3-0 trans y) (-> s3-0 gspot-pos y)))) (if (and (>= f0-8 -1228.8) (>= 26624.0 f0-8)) (set! s2-0 #f) @@ -2468,7 +2445,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> self last-closest-spawn) s2-1) (set! sv-848 (mod (+ s2-1 1) s3-1)) (set! sv-864 (mod (+ s2-1 -1) s3-1)) - (let ((s1-1 (quaternion->matrix (new-stack-matrix0) (-> self root-override2 quat)))) + (let ((s1-1 (quaternion->matrix (new-stack-matrix0) (-> self root quat)))) (when (< sv-864 0) (set! sv-864 (+ sv-864 s3-1)) sv-864 @@ -2596,7 +2573,7 @@ For example for an elevator pre-compute the distance between the first and last (when (<= sv-768 0) (let ((s4-2 (new 'stack-no-clear 'enemy-init-by-other-params))) (set! (-> s4-2 trans quad) (-> s5-1 quad)) - (quaternion-copy! (-> s4-2 quat) (-> self root-override2 quat)) + (quaternion-copy! (-> s4-2 quat) (-> self root quat)) (set! (-> s4-2 entity) #f) (set! (-> s4-2 directed?) #f) (set! (-> s4-2 no-initial-move-to-ground?) #f) @@ -2615,7 +2592,7 @@ For example for an elevator pre-compute the distance between the first and last ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! min) (let ((f30-0 (get-rand-float-range self 0.3 0.5))) (until #f (suspend) @@ -2631,8 +2608,8 @@ For example for an elevator pre-compute the distance between the first and last ((the-as (function none) t9-0)) ) ) - (if (< 0.0 (-> self root-override2 trans y)) - (seek! (-> self root-override2 trans y) 1470464.0 (* 204.8 (-> self clock time-adjust-ratio))) + (if (< 0.0 (-> self root trans y)) + (seek! (-> self root trans y) 1470464.0 (* 204.8 (-> self clock time-adjust-ratio))) ) (nav-enemy-method-176 self) (none) @@ -2668,8 +2645,8 @@ For example for an elevator pre-compute the distance between the first and last (with-pp (cond ((not (logtest? (-> obj nav flags) (nav-control-flag update-heading-from-facing))) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root-override2 trans))) - (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root-override2 quat))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root trans))) + (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root quat))) ) (vector-normalize! s5-1 1.0) (let* ((s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s3-0 vector 1) 1.0)) @@ -2699,7 +2676,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (let ((f0-3 (seek f30-0 f0-0 (* f2-0 (-> pp clock time-adjust-ratio))))) - (quaternion-axis-angle! (-> obj root-override2 quat) 0.0 1.0 0.0 f0-3) + (quaternion-axis-angle! (-> obj root quat) 0.0 1.0 0.0 f0-3) ) ) ) @@ -2770,7 +2747,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-58 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-58 enemy-flags)))) ) (set! (-> v1-58 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-58 enemy-flags)))) - (set! (-> v1-58 nav callback-info) (-> v1-58 enemy-info-override callback-info)) + (set! (-> v1-58 nav callback-info) (-> v1-58 enemy-info callback-info)) ) 0 (nav-enemy-method-166 self) @@ -2785,13 +2762,13 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable gp-1) 0) quad)) ) - (let ((f30-0 (-> self enemy-info-override circle-dist-lo)) - (f28-0 (-> self enemy-info-override circle-dist-hi)) + (let ((f30-0 (-> self enemy-info circle-dist-lo)) + (f28-0 (-> self enemy-info circle-dist-hi)) ) (if (zero? (get-rand-int self 4)) (set! (-> self desired-angle) (get-rand-float-range self f30-0 f28-0)) (set! (-> self desired-angle) - (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans)) f28-0) f30-0) + (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root trans)) f28-0) f30-0) ) ) ) @@ -2826,9 +2803,7 @@ For example for an elevator pre-compute the distance between the first and last ) (when (= (-> self next-shooting-frame) 200) (cond - ((< (vector-length (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root-override2 trans))) - 122880.0 - ) + ((< (vector-length (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root trans))) 122880.0) (set! (-> self next-shooting-frame) 0) (ja :chan 1 :num-func num-func-identity :frame-num 0.0) (let ((v1-24 (-> self enemy-flags))) @@ -2871,8 +2846,8 @@ For example for an elevator pre-compute the distance between the first and last ) :code (behavior () (ja-channel-push! 2 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) :num! min) - (ja :chan 1 :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! min) + (ja :chan 1 :group! (-> self draw art-group data (-> self enemy-info hostile-anim)) :num! min) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f (ja :num! (loop! f30-0)) @@ -2903,7 +2878,7 @@ For example for an elevator pre-compute the distance between the first and last (set! f30-0 (- f30-0)) ) (set! (-> s5-0 quad) (-> self focus-pos quad)) - (vector-! gp-0 (-> self root-override2 trans) s5-0) + (vector-! gp-0 (-> self root trans) s5-0) (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 (-> self desired-angle)) (vector+! s5-0 s5-0 gp-0) @@ -2913,9 +2888,9 @@ For example for an elevator pre-compute the distance between the first and last (vector+! s5-0 s5-0 gp-0) ) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override2 trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (cloest-point-on-mesh (-> self nav) gp-1 s5-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-1 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-1 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -2953,7 +2928,7 @@ For example for an elevator pre-compute the distance between the first and last (logior! (-> self skel status) (joint-control-status sync-math)) ) (nav-enemy-travel-post) - (seek! (-> self root-override2 trans y) 1449984.0 (* 204.8 (-> self clock time-adjust-ratio))) + (seek! (-> self root trans y) 1449984.0 (* 204.8 (-> self clock time-adjust-ratio))) (when (= (the int (ja-frame-num 1)) (-> self next-shooting-frame)) (logclear! (-> self skel status) (joint-control-status sync-math)) (cond @@ -3052,7 +3027,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -3076,9 +3051,9 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-18 target-post quad) (-> a0-22 quad)) ) 0 - (let ((v1-22 (-> self root-override2 root-prim))) - (set! (-> v1-22 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-22 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-22 (-> self root root-prim))) + (set! (-> v1-22 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-22 prim-core collide-with) (-> self root backup-collide-with)) ) (iterate-process-tree *entity-pool* @@ -3086,9 +3061,7 @@ For example for an elevator pre-compute the distance between the first and last (function object object) (lambda ((arg0 collectable)) (if (and (or (type? arg0 ammo-collectable) (type? arg0 health)) - (and (nonzero? (-> arg0 root-override2)) - (>= 819200.0 (vector-vector-distance (-> arg0 root-override2 trans) (target-pos 0))) - ) + (and (nonzero? (-> arg0 root)) (>= 819200.0 (vector-vector-distance (-> arg0 root trans) (target-pos 0)))) ) (deactivate arg0) ) @@ -3114,10 +3087,8 @@ For example for an elevator pre-compute the distance between the first and last ) :trans (behavior () (let ((f30-0 (vector-vector-xz-distance (target-pos 0) (-> *krew-boss-die-positions* (-> self next-path-point))))) - (when (and (< f30-0 (vector-vector-xz-distance - (-> self root-override2 trans) - (-> *krew-boss-die-positions* (-> self next-path-point)) - ) + (when (and (< f30-0 + (vector-vector-xz-distance (-> self root trans) (-> *krew-boss-die-positions* (-> self next-path-point))) ) (< f30-0 40960.0) ) @@ -3135,10 +3106,8 @@ For example for an elevator pre-compute the distance between the first and last (none) ) :code (behavior () - (while (< 81920.0 (vector-vector-xz-distance - (-> self root-override2 trans) - (-> *krew-boss-die-positions* (-> self next-path-point)) - ) + (while (< 81920.0 + (vector-vector-xz-distance (-> self root trans) (-> *krew-boss-die-positions* (-> self next-path-point))) ) (ja :num! (loop! (-> self clock time-adjust-ratio))) (suspend) diff --git a/goal_src/jak2/levels/castle/pad/caspad-obs.gc b/goal_src/jak2/levels/castle/pad/caspad-obs.gc index fc64f70a86..4f9f446fed 100644 --- a/goal_src/jak2/levels/castle/pad/caspad-obs.gc +++ b/goal_src/jak2/levels/castle/pad/caspad-obs.gc @@ -38,11 +38,11 @@ @see [[path-control]] and [[elevator]]" (let ((path-point-a (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-a 'interp)) (path-point-b (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-b 'interp)) - (elevator-trans (-> obj root-override trans)) + (elevator-trans (-> obj root trans)) ) (when (and (< (-> path-point-b y) (-> path-point-a y)) (< (-> vec y) (+ -8192.0 (-> elevator-trans y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) vec elevator-trans))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 49152.0) (< (fabs (-> s4-2 z)) 49152.0)) ) ) @@ -59,9 +59,9 @@ ) (when target-proc (let* ((target-pos (get-trans target-proc 0)) - (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root-override trans))) + (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root trans))) ) - (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root-override quat)) + (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root quat)) (and (< (fabs (-> dist-from-center x)) 40960.0) (< (fabs (-> dist-from-center z)) 40960.0)) ) ) @@ -71,7 +71,7 @@ (defmethod configure-collision cpad-elevator ((obj cpad-elevator) (collide-with-jak? symbol)) "Appropriately sets the collision on the elevator @param collide-with-jak? If set, the elevator will collide with Jak" - (let ((prim (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((prim (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (collide-with-jak? (set! (-> prim prim-core collide-as) (collide-spec obstacle pusher)) @@ -164,7 +164,7 @@ (defmethod set-ambient-sound! cpad-elevator ((obj cpad-elevator)) "Sets the elevator's [[ambient-sound]] up" (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "cpad-elevator-l" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "cpad-elevator-l" :fo-max 70) (-> obj root trans)) ) (none) ) @@ -217,7 +217,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> cshape-moving backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape-moving backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape-moving) + (set! (-> obj root) cshape-moving) ) (none) ) diff --git a/goal_src/jak2/levels/city/common/bike.gc b/goal_src/jak2/levels/city/common/bike.gc index 9cf1ba6ed2..67d404b249 100644 --- a/goal_src/jak2/levels/city/common/bike.gc +++ b/goal_src/jak2/levels/city/common/bike.gc @@ -929,7 +929,7 @@ (* 4.0 (-> obj force-scale) (-> obj sputter-sound-envelope) - (-> obj info-override inv-max-engine-thrust) + (-> obj info inv-max-engine-thrust) (+ (-> obj roll-thrust 0) (-> obj roll-thrust 1)) ) ) @@ -990,14 +990,14 @@ (a2-4 (-> s5-0 0 vector 1)) (a3-2 1638.4) (f0-5 12288.0) - (f1-1 (-> obj info-override extra gravity)) + (f1-1 (-> obj info extra gravity)) ) (t9-5 a0-11 (the-as vector a1-5) a2-4 a3-2 - (* f0-5 (/ 1.0 f1-1) (-> obj info-override info inv-mass) (-> obj force-scale) (-> obj roll-thrust s2-0)) + (* f0-5 (/ 1.0 f1-1) (-> obj info info inv-mass) (-> obj force-scale) (-> obj roll-thrust s2-0)) ) ) ) @@ -1097,7 +1097,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1231,7 +1231,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1379,7 +1379,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1524,7 +1524,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/city/common/car.gc b/goal_src/jak2/levels/city/common/car.gc index 49ac8168e4..a8998a1663 100644 --- a/goal_src/jak2/levels/city/common/car.gc +++ b/goal_src/jak2/levels/city/common/car.gc @@ -131,7 +131,7 @@ :seat-count 3 :section-count 4 :rider-stance #x1 - :grab-rail-count #x6 + :grab-rail-count 6 :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 6 (new 'static 'vehicle-grab-rail-info :local-pos (new 'static 'inline-array vector 2 @@ -459,7 +459,7 @@ :explosion #f :engine-pitch-scale 0.25 :engine-pitch-mod-amp 0.025 - :engine-sound-select #x6 + :engine-sound-select 6 :engine-sound (static-sound-name "vehicle-engine") :thrust-sound (static-sound-name "bike-thrust") :scrape-sound (static-sound-name "car-scrape-stn") @@ -635,7 +635,7 @@ :seat-count 4 :section-count 4 :rider-stance #x1 - :grab-rail-count #x9 + :grab-rail-count 9 :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 9 (new 'static 'vehicle-grab-rail-info :local-pos (new 'static 'inline-array vector 2 @@ -738,7 +738,7 @@ :explosion #f :engine-pitch-scale 0.25 :engine-pitch-mod-amp 0.025 - :engine-sound-select #x7 + :engine-sound-select 7 :engine-sound (static-sound-name "vehicle-engine") :thrust-sound (static-sound-name "bike-thrust") :scrape-sound (static-sound-name "car-scrape-stn") @@ -916,7 +916,7 @@ :seat-count 3 :section-count 4 :rider-stance #x1 - :grab-rail-count #x6 + :grab-rail-count 6 :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 6 (new 'static 'vehicle-grab-rail-info :local-pos (new 'static 'inline-array vector 2 @@ -996,7 +996,7 @@ :explosion #f :engine-pitch-scale 0.25 :engine-pitch-mod-amp 0.025 - :engine-sound-select #x8 + :engine-sound-select 8 :engine-sound (static-sound-name "vehicle-engine") :thrust-sound (static-sound-name "bike-thrust") :scrape-sound (static-sound-name "car-scrape-stn") @@ -1117,7 +1117,7 @@ (defmethod vehicle-method-117 car-base ((obj car-base) (arg0 vector) (arg1 int) (arg2 int)) (vector-matrix*! arg0 - (-> obj info-override rider-hand-offset arg2) + (-> obj info rider-hand-offset arg2) (-> obj node-list data (-> obj rider-hand-joint-array arg1) bone transform) ) 0 @@ -1230,7 +1230,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1370,7 +1370,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1505,7 +1505,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1642,7 +1642,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/city/common/citizen-chick.gc b/goal_src/jak2/levels/city/common/citizen-chick.gc index 1e68fc58bf..47ca9ec871 100644 --- a/goal_src/jak2/levels/city/common/citizen-chick.gc +++ b/goal_src/jak2/levels/city/common/citizen-chick.gc @@ -28,13 +28,13 @@ :anim-cover-head-start 14 :anim-cover-head-loop 15 :anim-cover-head-end 16 - :speech-ambient #x17 - :speech-alert #x18 - :speech-cower #x19 - :speech-touched-by-player #x1a - :speech-shot-by-player #x1b - :speech-avoiding-player-vehicle #x1c - :speech-hit-by-player-vehicle #x1d + :speech-ambient 23 + :speech-alert 24 + :speech-cower 25 + :speech-touched-by-player 26 + :speech-shot-by-player 27 + :speech-avoiding-player-vehicle 28 + :speech-hit-by-player-vehicle 29 ) ) @@ -207,7 +207,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :frustration-distance (meters 8) :frustration-time (seconds 4) :blocked-time (seconds 0.3) @@ -224,18 +224,15 @@ ) (defmethod enemy-method-51 citizen-chick ((obj citizen-chick)) - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (get-trans (the-as process-focusable a0-5) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -247,14 +244,14 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) 0.0) + (set! (-> s5-1 quad) (-> obj root transv quad)) + (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0) (vector-negate-in-place! s5-1) ) (let* ((f28-0 (atan (-> s5-1 x) (-> s5-1 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) - (f0-8 (-> obj enemy-info-override knocked-seek-ry-clamp)) + (f0-8 (-> obj enemy-info knocked-seek-ry-clamp)) ) (when (and (< f0-8 f2-0) (< f2-0 (- 32768.0 f0-8))) (set! f30-0 (+ (cond @@ -448,7 +445,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -467,7 +464,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -487,7 +484,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -572,7 +569,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -652,7 +649,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-17 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-17 f30-0 f0-17 1.0) + (set-vector! (-> obj root scale) f0-17 f30-0 f0-17 1.0) ) (let ((f0-19 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-19 f0-19 f0-19 1.0) diff --git a/goal_src/jak2/levels/city/common/citizen-enemy.gc b/goal_src/jak2/levels/city/common/citizen-enemy.gc index f265815deb..54f6948471 100644 --- a/goal_src/jak2/levels/city/common/citizen-enemy.gc +++ b/goal_src/jak2/levels/city/common/citizen-enemy.gc @@ -29,9 +29,9 @@ @TODO Not extremely well understood yet" (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) - (set! (-> a1-0 collide-with-filter) (-> obj enemy-info-override overlaps-others-collide-with-filter)) + (set! (-> a1-0 collide-with-filter) (-> obj enemy-info overlaps-others-collide-with-filter)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override2) a1-0) + (find-overlapping-shapes (-> obj root) a1-0) ) (when (and (not (focus-test? obj disable dead ignore inactive)) (< (-> obj next-update-target) (current-time)) @@ -75,14 +75,14 @@ ) ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s3-0) - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s3-0) - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -120,7 +120,7 @@ #t ) (else - (let ((v1-4 (-> obj root-override2 root-prim))) + (let ((v1-4 (-> obj root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -148,9 +148,9 @@ (defmethod traffic-danger-init! citizen-enemy ((obj citizen-enemy)) (let ((a1-0 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-0 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-0 sphere quad) (-> obj root trans quad)) (set! (-> a1-0 sphere r) 40960.0) - (set! (-> a1-0 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-0 velocity quad) (-> obj root transv quad)) (set! (-> a1-0 notify-radius) 122880.0) (set! (-> a1-0 danger-level) 1.0) (set! (-> a1-0 decay-rate) 0.0) @@ -165,7 +165,7 @@ (defmethod citizen-enemy-method-202 citizen-enemy ((obj citizen-enemy)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s5-0 quad) (-> obj root trans quad)) (set! (-> s5-0 w) 122880.0) (let ((s4-0 (the-as process-drawable #f))) (let ((f30-0 122880.0)) @@ -194,7 +194,7 @@ s1-1 (not (logtest? (-> (the-as process-focusable s1-1) focus-status) (focus-status disable dead ignore grabbed))) ) - (let ((f0-1 (vector-vector-xz-distance (-> obj root-override2 trans) (-> s1-1 root trans)))) + (let ((f0-1 (vector-vector-xz-distance (-> obj root trans) (-> s1-1 root trans)))) (when (or (not s4-0) (< f0-1 f30-0)) (set! s4-0 s1-1) (set! f30-0 f0-1) @@ -226,13 +226,10 @@ (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -281,13 +278,13 @@ (set! (-> v1-12 sphere-mask) (the-as uint #x800e8)) ) 0 - (set! (-> obj anim-shuffle) (-> obj enemy-info-override walk-anim)) - (set! (-> obj anim-walk) (-> obj enemy-info-override walk-anim)) - (set! (-> obj speed-walk) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj dist-walk-anim) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj anim-run) (-> obj enemy-info-override run-anim)) - (set! (-> obj dist-run-anim) (-> obj enemy-info-override run-travel-speed)) - (set! (-> obj speed-run) (-> obj enemy-info-override walk-travel-speed)) + (set! (-> obj anim-shuffle) (-> obj enemy-info walk-anim)) + (set! (-> obj anim-walk) (-> obj enemy-info walk-anim)) + (set! (-> obj speed-walk) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj dist-walk-anim) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj anim-run) (-> obj enemy-info run-anim)) + (set! (-> obj dist-run-anim) (-> obj enemy-info run-travel-speed)) + (set! (-> obj speed-run) (-> obj enemy-info walk-travel-speed)) (set! (-> obj fated-time) 0) (logior! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) (logior! (-> obj focus-status) (focus-status dangerous)) diff --git a/goal_src/jak2/levels/city/common/citizen-fat.gc b/goal_src/jak2/levels/city/common/citizen-fat.gc index bb092f591c..54329d306d 100644 --- a/goal_src/jak2/levels/city/common/citizen-fat.gc +++ b/goal_src/jak2/levels/city/common/citizen-fat.gc @@ -28,13 +28,13 @@ :anim-cover-head-start 28 :anim-cover-head-loop 29 :anim-cover-head-end 30 - :speech-ambient #xf - :speech-alert #x10 - :speech-cower #x11 - :speech-touched-by-player #x12 - :speech-shot-by-player #x13 - :speech-avoiding-player-vehicle #x14 - :speech-hit-by-player-vehicle #x15 + :speech-ambient 15 + :speech-alert 16 + :speech-cower 17 + :speech-touched-by-player 18 + :speech-shot-by-player 19 + :speech-avoiding-player-vehicle 20 + :speech-hit-by-player-vehicle 21 ) ) @@ -207,7 +207,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :frustration-distance (meters 8) :frustration-time (seconds 4) :blocked-time (seconds 0.3) @@ -224,18 +224,15 @@ ) (defmethod enemy-method-51 citizen-fat ((obj citizen-fat)) - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (get-trans (the-as process-focusable a0-5) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -247,14 +244,14 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) 0.0) + (set! (-> s5-1 quad) (-> obj root transv quad)) + (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0) (vector-negate-in-place! s5-1) ) (let* ((f28-0 (atan (-> s5-1 x) (-> s5-1 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) - (f0-8 (-> obj enemy-info-override knocked-seek-ry-clamp)) + (f0-8 (-> obj enemy-info knocked-seek-ry-clamp)) ) (when (and (< f0-8 f2-0) (< f2-0 (- 32768.0 f0-8))) (set! f30-0 (+ (cond @@ -448,7 +445,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -467,7 +464,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -487,7 +484,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -613,7 +610,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -691,7 +688,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-15 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-15 f30-0 f0-15 1.0) + (set-vector! (-> obj root scale) f0-15 f30-0 f0-15 1.0) ) (let ((f0-17 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-17 f0-17 f0-17 1.0) diff --git a/goal_src/jak2/levels/city/common/citizen-norm.gc b/goal_src/jak2/levels/city/common/citizen-norm.gc index c956438900..85e70c6307 100644 --- a/goal_src/jak2/levels/city/common/citizen-norm.gc +++ b/goal_src/jak2/levels/city/common/citizen-norm.gc @@ -32,13 +32,13 @@ :bike-stance-anim 30 :get-in-car-anim 32 :seat-flag #x2 - :speech-ambient #xf - :speech-alert #x10 - :speech-cower #x11 - :speech-touched-by-player #x12 - :speech-shot-by-player #x13 - :speech-avoiding-player-vehicle #x14 - :speech-hit-by-player-vehicle #x15 + :speech-ambient 15 + :speech-alert 16 + :speech-cower 17 + :speech-touched-by-player 18 + :speech-shot-by-player 19 + :speech-avoiding-player-vehicle 20 + :speech-hit-by-player-vehicle 21 ) ) @@ -215,7 +215,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 2) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -234,18 +234,15 @@ ((method-of-type nav-enemy enemy-method-51) obj) ) (else - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-6 (handle->process (-> obj focus handle)))) (when a0-6 (get-trans (the-as process-focusable a0-6) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -257,14 +254,14 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) 0.0) + (set! (-> s5-1 quad) (-> obj root transv quad)) + (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0) (vector-negate-in-place! s5-1) ) (let* ((f28-0 (atan (-> s5-1 x) (-> s5-1 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) - (f0-8 (-> obj enemy-info-override knocked-seek-ry-clamp)) + (f0-8 (-> obj enemy-info knocked-seek-ry-clamp)) ) (when (and (< f0-8 f2-0) (< f2-0 (- 32768.0 f0-8))) (set! f30-0 (+ (cond @@ -493,7 +490,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -512,7 +509,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -532,7 +529,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -609,12 +606,12 @@ (defmethod set-behavior! citizen-norm ((obj citizen-norm) (arg0 traffic-object-spawn-params)) (case (-> arg0 behavior) ((11) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-2 speech-type-4)) - (set! (-> obj root-override2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> arg0 rotation)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-22)) + (set! (-> obj root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> obj root quat) (-> arg0 rotation)) (set! (-> obj vehicle) (-> arg0 handle)) (ja-channel-set! 1) - (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info object-type) ((11 12 13) (logior! (-> obj flags) (citizen-flag knocked-out-bike)) (let ((v1-16 (-> obj skel root-channel 0))) @@ -760,7 +757,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -838,7 +835,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-11 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-11 f30-0 f0-11 1.0) + (set-vector! (-> obj root scale) f0-11 f30-0 f0-11 1.0) ) (let ((f0-13 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-13 f0-13 f0-13 1.0) diff --git a/goal_src/jak2/levels/city/common/citizen.gc b/goal_src/jak2/levels/city/common/citizen.gc index 5f6c2baaf2..ac74180ddf 100644 --- a/goal_src/jak2/levels/city/common/citizen.gc +++ b/goal_src/jak2/levels/city/common/citizen.gc @@ -25,13 +25,13 @@ 0 (logclear! (-> v1-0 flags) (nav-control-flag output-sphere-hash)) ) - (set! (-> obj enemy-info-override callback-info) *nav-enemy-physics-callback-info*) + (set! (-> obj enemy-info callback-info) *nav-enemy-physics-callback-info*) (let ((v1-2 obj)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-2 enemy-flags))) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 0 @@ -40,9 +40,7 @@ (defmethod citizen-init! citizen ((obj citizen)) "Initialize [[citizen]] defaults." - (set! (-> obj fact-info-override enemy-options) - (logior (enemy-option knocked-into-water) (-> obj fact-info-override enemy-options)) - ) + (set! (-> obj fact enemy-options) (logior (enemy-option knocked-into-water) (-> obj fact enemy-options))) (if (-> obj skel effect) (logclear! (-> obj skel effect flags) (effect-control-flag ecf2)) ) @@ -57,12 +55,12 @@ (set! (-> obj enemy-flags) (the-as enemy-flag (logand (enemy-flag dislike-combo) (-> obj enemy-flags)))) (logclear! (-> obj draw status) (draw-control-status no-draw lod-set)) (set! (-> obj draw death-timer) (the-as uint 0)) - (logior! (-> obj root-override2 nav-flags) (nav-flags has-root-sphere)) - (let ((v1-28 (-> obj root-override2 root-prim))) - (set! (-> v1-28 prim-core collide-as) (-> obj root-override2 backup-collide-as)) - (set! (-> v1-28 prim-core collide-with) (-> obj root-override2 backup-collide-with)) + (logior! (-> obj root nav-flags) (nav-flags has-root-sphere)) + (let ((v1-28 (-> obj root root-prim))) + (set! (-> v1-28 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-28 prim-core collide-with) (-> obj root backup-collide-with)) ) - (set! (-> obj root-override2 penetrated-by) + (set! (-> obj root penetrated-by) (penetrate generic-attack lunge @@ -89,12 +87,12 @@ ) (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) (logior! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) - (set! (-> obj hit-points) (-> obj enemy-info-override default-hit-points)) + (set! (-> obj hit-points) (-> obj enemy-info default-hit-points)) (set! (-> obj fated-time) 0) (set! (-> obj hit-by-player-count) 0) (set-vector! (-> obj draw color-mult) 1.0 1.0 1.0 1.0) (set-vector! (-> obj draw color-emissive) 0.0 0.0 0.0 1.0) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -105,7 +103,7 @@ @TODO - flesh out docs @returns the value that sets `aware`" (when arg1 - (let ((f0-0 (vector-vector-distance (get-trans arg0 0) (-> obj root-override2 trans)))) + (let ((f0-0 (vector-vector-distance (get-trans arg0 0) (-> obj root trans)))) (when (< f0-0 (-> arg1 rating)) (set! (-> arg1 rating) f0-0) (set! (-> arg1 proc) arg0) @@ -218,7 +216,7 @@ (defmethod citizen-method-187 citizen ((obj citizen)) (let* ((v1-0 (-> obj controller)) (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> v1-0 turn-exit-point) (-> v1-0 path-prev-point))) - (s5-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> v1-0 turn-exit-point))) + (s5-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> v1-0 turn-exit-point))) ) (set! (-> s5-1 y) 0.0) (set! (-> gp-1 y) 0.0) @@ -300,9 +298,9 @@ ((= v1-0 'traffic-activate) (set! (-> obj controller traffic) (the-as traffic-engine (-> arg3 param 1))) (let ((s5-1 (the-as object (-> arg3 param 0)))) - (set! (-> obj root-override2 trans quad) (-> (the-as traffic-object-spawn-params s5-1) position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> (the-as traffic-object-spawn-params s5-1) rotation)) - (set! (-> obj root-override2 transv quad) (-> (the-as traffic-object-spawn-params s5-1) velocity quad)) + (set! (-> obj root trans quad) (-> (the-as traffic-object-spawn-params s5-1) position quad)) + (quaternion-copy! (-> obj root quat) (-> (the-as traffic-object-spawn-params s5-1) rotation)) + (set! (-> obj root transv quad) (-> (the-as traffic-object-spawn-params s5-1) velocity quad)) (let ((a0-24 (-> (the-as traffic-object-spawn-params s5-1) nav-mesh))) (when a0-24 (change-to a0-24 obj) @@ -315,7 +313,7 @@ 0 (let ((a1-11 (-> (the-as traffic-object-spawn-params s5-1) nav-branch))) (when a1-11 - (vehicle-controller-method-13 (-> obj controller) a1-11 (-> obj root-override2 trans)) + (vehicle-controller-method-13 (-> obj controller) a1-11 (-> obj root trans)) (let ((a0-28 (-> obj nav state)) (v1-38 (-> obj controller turn-exit-point)) ) @@ -329,7 +327,7 @@ (citizen-nav-init! obj) (citizen-init! obj) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) - (set! (-> obj gnd-height) (-> obj root-override2 gspot-pos y)) + (set! (-> obj gnd-height) (-> obj root gspot-pos y)) (set-behavior! obj (the-as traffic-object-spawn-params s5-1)) ) ) @@ -351,18 +349,16 @@ (defmethod citizen-method-200 citizen ((obj citizen)) (with-pp - (set! (-> obj root-override2 transv x) 0.0) - (set! (-> obj root-override2 transv z) 0.0) - (when (-> obj enemy-info-override move-to-ground) + (set! (-> obj root transv x) 0.0) + (set! (-> obj root transv z) 0.0) + (when (-> obj enemy-info move-to-ground) (if (focus-test? obj under-water) - (enemy-method-47 obj (-> obj root-override2 transv)) - (+! (-> obj root-override2 transv y) - (* (-> obj enemy-info-override movement-gravity) (-> pp clock seconds-per-frame)) - ) + (enemy-method-47 obj (-> obj root transv)) + (+! (-> obj root transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) ) ) (let ((a2-0 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-15 (-> obj enemy-info-override))) + (let ((v1-15 (-> obj enemy-info))) (set! (-> a2-0 gnd-collide-with) (the-as collide-spec (-> obj gnd-collide))) (set! (-> a2-0 popup) 8192.0) (set! (-> a2-0 dont-move-if-overlaps?) #t) @@ -372,7 +368,7 @@ ) (set! (-> a2-0 overlaps-params tlist) *touching-list*) (-> a2-0 overlaps-params) - (enemy-method-128 obj (-> obj root-override2 transv) a2-0) + (enemy-method-128 obj (-> obj root transv) a2-0) ) 0 (none) @@ -393,7 +389,7 @@ (if (and (-> obj next-state) (= (-> obj next-state name) 'flee)) (set! (-> s5-0 quad) (-> obj danger-pos quad)) ) - (when (< (vector-vector-distance s5-0 (-> obj root-override2 trans)) 122880.0) + (when (< (vector-vector-distance s5-0 (-> obj root trans)) 122880.0) (look-at-target! obj (enemy-flag lock-focus)) (target-set! (-> obj neck) s5-0) ) @@ -414,12 +410,12 @@ (>= (- (current-time) (-> obj auto-reset-penetrate-time)) (seconds 0.1)) ) (set! (-> obj enemy-flags) (logclear a0-18 (enemy-flag attackable-backup))) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (let ((v1-50 0)) - (if (logtest? (penetrate knocked) (-> obj root-override2 penetrate-using)) + (if (logtest? (penetrate knocked) (-> obj root penetrate-using)) (set! v1-50 (logior (shl 1 32) v1-50)) ) - (set! (-> obj root-override2 penetrate-using) (the-as penetrate v1-50)) + (set! (-> obj root penetrate-using) (the-as penetrate v1-50)) ) ) ) @@ -428,7 +424,7 @@ ) (let ((s5-3 (-> obj draw shadow-ctrl))) (when (!= *nav-enemy-dummy-shadow-control* s5-3) - (let ((f0-7 (vector-vector-distance (camera-pos) (-> obj root-override2 trans)))) + (let ((f0-7 (vector-vector-distance (camera-pos) (-> obj root trans)))) (cond ((< 163840.0 f0-7) (logior! (-> s5-3 settings flags) (shadow-flags disable-draw)) @@ -451,10 +447,8 @@ ) (when (logtest? (enemy-flag trackable-backup directed-ready) (-> obj enemy-flags)) (enemy-method-54 obj) - (when (and (focus-test? obj touch-water) - (< (-> obj root-override2 trans y) (+ -11468.8 (-> obj water-surface-height))) - ) - (set! (-> obj root-override2 trans y) (+ -11468.8 (-> obj water-surface-height))) + (when (and (focus-test? obj touch-water) (< (-> obj root trans y) (+ -11468.8 (-> obj water-surface-height)))) + (set! (-> obj root trans y) (+ -11468.8 (-> obj water-surface-height))) (if (not (and (-> obj next-state) (= (-> obj next-state name) 'in-ditch))) (go (method-of-object obj in-ditch)) ) @@ -475,7 +469,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (set! (-> arg1 on-ground?) #f) (set! (-> arg1 do-move?) #t) (set! (-> arg1 old-gspot-pos quad) (-> gp-0 gspot-pos quad)) @@ -604,7 +598,7 @@ (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) (let ((gp-0 (new 'stack-no-clear 'quaternion)) - (s5-1 (-> obj root-override2 quat)) + (s5-1 (-> obj root quat)) ) ;; modified for PC, see comment near definition in collide-shape-h.gc (normalized-heading-to-quaternion! gp-0 s3-0) @@ -628,8 +622,8 @@ (cond ((logtest? (enemy-flag enemy-flag38) (-> obj enemy-flags)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag38)))) - (set! (-> obj root-override2 gspot-pos quad) (-> obj root-override2 trans quad)) - (set! (-> obj gnd-height) (-> obj root-override2 gspot-pos y)) + (set! (-> obj root gspot-pos quad) (-> obj root trans quad)) + (set! (-> obj gnd-height) (-> obj root gspot-pos y)) ) (else (nav-enemy-method-142 obj (-> obj nav)) @@ -639,7 +633,7 @@ ) ) (track-target! obj) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -684,8 +678,8 @@ This commonly includes things such as: (stack-size-set! (-> self main-thread) 512) (logclear! (-> self mask) (process-mask enemy)) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg0 rotation)) + (set! (-> self root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 rotation)) (if (not (logtest? (-> arg0 flags) (traffic-spawn-flags trsflags-00))) (lwide-entity-hack) ) @@ -793,7 +787,7 @@ This commonly includes things such as: (set! (-> v1-76 frame-interp 0) f0-21) ) (let* ((f0-22 (current-cycle-distance (-> self skel))) - (f0-25 (/ (/ (* 16.0 f30-0) (* 15.0 f0-22)) (-> self root-override2 scale x))) + (f0-25 (/ (/ (* 16.0 f30-0) (* 15.0 f0-22)) (-> self root scale x))) ) (if (logtest? (-> self flags) (citizen-flag shuffle-mode)) (set! f0-25 1.0) @@ -819,7 +813,7 @@ This commonly includes things such as: (set! (-> s5-0 y) 0.0) (vector-xz-normalize! s5-0 20480.0) (set! (-> s4-0 quad) (-> s5-0 quad)) - (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root-override2 trans) s1-0 s4-0 s2-0) + (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) s1-0 s4-0 s2-0) ) (cond ((-> s2-0 found-boundary) @@ -855,7 +849,7 @@ This commonly includes things such as: (let ((s2-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s5-0 quad) (-> obj root trans quad)) (let ((a1-1 (-> obj nav state))) (set! (-> s2-0 quad) (-> a1-1 heading quad)) ) @@ -915,9 +909,7 @@ This commonly includes things such as: (defmethod citizen-method-190 citizen ((obj citizen) (arg0 vector)) (local-vars (sv-288 nav-poly) (sv-304 clamp-travel-vector-to-mesh-return-info) (sv-320 vector)) - (let ((s3-1 - (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (the-as vector (-> obj cp-sphere))) - ) + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (the-as vector (-> obj cp-sphere)))) (s4-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) ) @@ -972,7 +964,7 @@ This commonly includes things such as: ) (set! (-> arg0 quad) (-> s1-0 quad)) (let ((a1-11 (new 'stack-no-clear 'vector))) - (set! (-> a1-11 quad) (-> obj root-override2 trans quad)) + (set! (-> a1-11 quad) (-> obj root trans quad)) (set! (-> a1-11 y) 0.0) (let ((f0-15 (- f28-0 (vector-vector-xz-distance s4-0 a1-11)))) (if (< f0-15 0.0) @@ -1034,7 +1026,7 @@ This commonly includes things such as: (cond ((< 0.0 (vector4-dot (the-as vector (-> arg0 cp-plane)) s3-0)) (let ((s0-1 (vector-! (new 'stack-no-clear 'vector) s3-0 s4-0)) - (s1-1 (vector-! (new 'stack-no-clear 'vector) (-> s2-0 root-override2 trans) s4-0)) + (s1-1 (vector-! (new 'stack-no-clear 'vector) (-> s2-0 root trans) s4-0)) ) (set! (-> s1-1 y) 0.0) (vector-rotate90-around-y! s0-1 s0-1) @@ -1099,7 +1091,7 @@ This commonly includes things such as: ) (let ((s3-0 (new 'stack-no-clear 'vector))) (set! (-> s3-0 quad) (-> obj cp-vec quad)) - (set! (-> s4-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 quad) (-> obj root trans quad)) (set! (-> s4-0 w) 81920.0) (set! (-> gp-0 seg) #f) (set! (-> gp-0 score) 0.0) @@ -1109,7 +1101,7 @@ This commonly includes things such as: (set! (-> gp-0 cp-plane quad) (-> s3-0 quad)) (set! (-> gp-0 cp-plane w) (- (vector-dot s3-0 (the-as vector (-> obj cp-sphere))))) ) - (when (< (vector4-dot (the-as vector (-> gp-0 cp-plane)) (-> obj root-override2 trans)) 0.0) + (when (< (vector4-dot (the-as vector (-> gp-0 cp-plane)) (-> obj root trans)) 0.0) (set! (-> gp-0 cp-plane x) (- (-> gp-0 cp-plane x))) (set! (-> gp-0 cp-plane y) (- (-> gp-0 cp-plane y))) (set! (-> gp-0 cp-plane z) (- (-> gp-0 cp-plane z))) @@ -1202,7 +1194,7 @@ This commonly includes things such as: (gp-0 (new 'stack-no-clear 'iter-seg)) ) (set! (-> (new 'stack-no-clear 'vector) quad) (-> obj cp-vec quad)) - (set! (-> s4-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 quad) (-> obj root trans quad)) (set! (-> s4-0 w) arg1) (set! (-> gp-0 seg) #f) (set! (-> gp-0 score) 0.0) @@ -1248,20 +1240,14 @@ This commonly includes things such as: (defmethod throw-off-vehicle citizen ((obj citizen)) (with-pp (let ((s4-0 (handle->process (-> obj vehicle)))) - (let ((v1-4 (-> obj root-override2 root-prim))) - (set! (-> v1-4 prim-core collide-as) (-> obj root-override2 backup-collide-as)) - (set! (-> v1-4 prim-core collide-with) (-> obj root-override2 backup-collide-with)) + (let ((v1-4 (-> obj root root-prim))) + (set! (-> v1-4 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-4 prim-core collide-with) (-> obj root backup-collide-with)) ) (when s4-0 - (let ((s5-1 (vector-! - (new 'stack-no-clear 'vector) - (-> obj root-override2 trans) - (-> (the-as vehicle s4-0) root-override-2 trans) - ) - ) - ) - (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root-override-2 quat))) - (v1-10 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root-override-2 quat))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> (the-as vehicle s4-0) root trans)))) + (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root quat))) + (v1-10 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root quat))) ) (if (< 0.0 (vector-dot s5-1 s3-0)) (vector+! s5-1 v1-10 s3-0) @@ -1270,7 +1256,7 @@ This commonly includes things such as: ) (vector-normalize! s5-1 32768.0) (set! (-> s5-1 y) 71680.0) - (vector+! s5-1 s5-1 (-> (the-as vehicle s4-0) root-override-2 transv)) + (vector+! s5-1 s5-1 (-> (the-as vehicle s4-0) root transv)) (let ((a1-8 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-8 from) (process->ppointer pp)) (set! (-> a1-8 num-params) 2) @@ -1317,7 +1303,7 @@ This commonly includes things such as: ) (when (focus-test? self touch-water) (let ((a1-3 (new 'stack-no-clear 'vector))) - (set! (-> a1-3 quad) (-> self root-override2 trans quad)) + (set! (-> a1-3 quad) (-> self root trans quad)) (set! (-> a1-3 y) (+ 40.96 (-> self water-surface-height))) (splash-spawn 0.2 a1-3 1) ) @@ -1345,10 +1331,10 @@ This commonly includes things such as: ) (until (ja-done? 0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ 40.96 (-> self water-surface-height))) (when (and (logtest? (-> self draw status) (draw-control-status on-screen)) (zero? (-> self draw cur-lod))) - (let ((f0-6 (y-angle (-> self root-override2)))) + (let ((f0-6 (y-angle (-> self root)))) (rings-water-spawn f0-6 gp-0 *null-vector* 3072.0 4096.0) ) ) @@ -1361,13 +1347,10 @@ This commonly includes things such as: ) (else (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1420,13 +1403,10 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1443,11 +1423,8 @@ This commonly includes things such as: (none) ) :post (behavior () - (let ((a1-1 - (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root-override2 trans)) - ) - ) - (seek-toward-heading-vec! (-> self root-override2) a1-1 32768.0 (seconds 0.05)) + (let ((a1-1 (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root trans)))) + (seek-toward-heading-vec! (-> self root) a1-1 32768.0 (seconds 0.05)) ) (nav-enemy-simple-post) (none) @@ -1464,7 +1441,7 @@ This commonly includes things such as: (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1489,7 +1466,7 @@ This commonly includes things such as: (set! (-> self wait-time) (the-as time-frame (get-rand-int-range self 1200 9000))) (when (zero? (-> self controller branch)) (format 0 "citizen has no branch in active enter state~%") - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (none) ) @@ -1500,7 +1477,7 @@ This commonly includes things such as: :trans (behavior () (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) - (< (-> self root-override2 trans y) 4096.0) + (< (-> self root trans y) 4096.0) ) (go-virtual in-ditch) ) @@ -1516,7 +1493,7 @@ This commonly includes things such as: ) ) (let ((f0-8 2867.2) - (v1-36 (-> self root-override2 transv)) + (v1-36 (-> self root transv)) ) (if (< f0-8 (sqrtf (+ (* (-> v1-36 x) (-> v1-36 x)) (* (-> v1-36 z) (-> v1-36 z))))) (set! (-> self cp-next-time) (current-time)) @@ -1537,12 +1514,12 @@ This commonly includes things such as: (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 300) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 300) (none) ) :post (behavior () (if (and (nonzero? (-> self controller branch)) - (let ((f0-0 (vector-vector-xz-distance-squared (-> self root-override2 trans) (-> self controller turn-exit-point))) + (let ((f0-0 (vector-vector-xz-distance-squared (-> self root trans) (-> self controller turn-exit-point))) (f1-0 16384.0) ) (or (< f0-0 (* f1-0 f1-0)) (logtest? (-> self nav state flags) (nav-state-flag at-target))) @@ -1582,13 +1559,13 @@ This commonly includes things such as: 0 ) (logior! (-> self focus-status) (focus-status disable inactive)) - (let ((v1-10 (-> self root-override2 root-prim))) + (let ((v1-10 (-> self root root-prim))) (set! (-> v1-10 prim-core collide-as) (collide-spec)) (set! (-> v1-10 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (vehicle-controller-method-11 (-> self controller)) (none) ) @@ -1602,11 +1579,11 @@ This commonly includes things such as: (defstate knocked (citizen) :virtual #t :trans (behavior () - (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (gp-0 (new 'stack-no-clear 'quaternion)) ) (quaternion-from-two-vectors-max-angle! gp-0 a1-1 *up-vector* (* 7281.778 (-> self clock seconds-per-frame))) - (quaternion*! (-> self root-override2 quat) gp-0 (-> self root-override2 quat)) + (quaternion*! (-> self root quat) gp-0 (-> self root quat)) ) (let ((t9-3 (-> (method-of-type nav-enemy knocked) trans))) (if t9-3 diff --git a/goal_src/jak2/levels/city/common/civilian.gc b/goal_src/jak2/levels/city/common/civilian.gc index 3a8aaece68..d0646485b3 100644 --- a/goal_src/jak2/levels/city/common/civilian.gc +++ b/goal_src/jak2/levels/city/common/civilian.gc @@ -113,9 +113,9 @@ (logclear! (-> obj flags) (citizen-flag persistent)) (send-event (ppointer->process (-> obj parent)) 'child-killed) (let ((a1-1 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-1 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-1 sphere quad) (-> obj root trans quad)) (set! (-> a1-1 sphere r) 40960.0) - (set! (-> a1-1 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-1 velocity quad) (-> obj root transv quad)) (set! (-> a1-1 notify-radius) 122880.0) (set! (-> a1-1 danger-level) 1.0) (set! (-> a1-1 decay-rate) 0.0) @@ -128,7 +128,7 @@ (go-inactive obj) ) (else - (set! (-> obj hit-points) (-> obj enemy-info-override default-hit-points)) + (set! (-> obj hit-points) (-> obj enemy-info default-hit-points)) (set! (-> obj hit-points) (rand-vu-int-range 1 4)) (set! (-> obj fated-time) 0) (logior! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -239,9 +239,9 @@ (set! (-> obj mask) (the-as process-mask (logior (process-mask civilian) (-> obj mask)))) (set! (-> obj hit-points) (rand-vu-int-range 1 4)) (set! (-> obj hit-points) 4) - (set! (-> obj fact-info-override pickup-type) (pickup-type none)) - (set! (-> obj fact-info-override pickup-amount) 0.0) - (set! (-> obj fact-info-override pickup-spawn-amount) 0.0) + (set! (-> obj fact pickup-type) (pickup-type none)) + (set! (-> obj fact pickup-amount) 0.0) + (set! (-> obj fact pickup-spawn-amount) 0.0) 0 (none) ) @@ -249,7 +249,7 @@ ;; WARN: Return type mismatch nav-segment vs none. (defmethod civilian-method-215 civilian ((obj civilian) (arg0 vector)) (let ((v1-0 (new 'stack-no-clear 'vector))) - (set! (-> v1-0 quad) (-> obj root-override2 trans quad)) + (set! (-> v1-0 quad) (-> obj root trans quad)) (set! (-> v1-0 w) 81920.0) (let ((s5-0 (find-segment obj v1-0 arg0))) (if s5-0 @@ -360,12 +360,8 @@ ((or (= v1-0 'hit) (= v1-0 'hit-flinch) (= v1-0 'hit-knocked)) (speech-control-method-13 *speech-control* (the-as handle obj)) (if (logtest? (-> obj flags) (citizen-flag female)) - (speech-control-method-12 - *speech-control* - obj - (speech-type speech-type-0 speech-type-1 speech-type-3 speech-type-4) - ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-4)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-27)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-19)) ) ((method-of-type citizen general-event-handler) obj arg0 arg1 arg2 arg3) ) @@ -433,10 +429,7 @@ ) ) 0.0 - (let ((s2-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self controller turn-exit-point)) - ) - ) + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self controller turn-exit-point)))) (set! (-> s2-1 y) 0.0) (set! (-> s3-1 y) 0.0) (vector-xz-normalize! s3-1 1.0) @@ -490,8 +483,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self cp-force)) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) (-> self cp-force)) *color-red* #f (the-as rgba -1) @@ -520,7 +513,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -532,14 +525,11 @@ (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self speed-run))) ) 0 - (let ((a1-5 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self danger-pos))) - ) - ) + (let ((a1-5 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self danger-pos))))) (civilian-method-215 self a1-5) ) (if (zero? (-> self controller branch)) - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (if (zero? (-> self controller branch)) (go-dive self) @@ -557,16 +547,16 @@ ) :trans (behavior () (when (and (logtest? (-> self draw status) (draw-control-status on-screen)) - (< (vector-vector-distance (-> self root-override2 trans) (camera-pos)) 204800.0) + (< (vector-vector-distance (-> self root trans) (camera-pos)) 204800.0) ) (if (logtest? (-> self flags) (citizen-flag female)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-3 speech-type-4)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-4)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-24)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-16)) ) ) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1)) (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) - (< (-> self root-override2 trans y) 4096.0) + (< (-> self root trans y) 4096.0) ) (go-virtual in-ditch) ) @@ -585,14 +575,8 @@ (defbehavior civilian-avoid-danger-post civilian () (local-vars (sv-352 nav-poly)) - (let ((gp-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self danger-pos))) - ) - ) - (let ((s5-1 - (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root-override2 trans)) - ) - ) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self danger-pos))))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root trans)))) (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) @@ -681,7 +665,7 @@ ) (vector-xz-normalize! gp-1 4096.0) (let ((a0-27 (-> self nav state)) - (v1-41 (vector+! (new 'stack-no-clear 'vector) gp-1 (-> self root-override2 trans))) + (v1-41 (vector+! (new 'stack-no-clear 'vector) gp-1 (-> self root trans))) ) (logclear! (-> a0-27 flags) (nav-state-flag directional-mode)) (logior! (-> a0-27 flags) (nav-state-flag target-poly-dirty)) @@ -701,8 +685,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) gp-0) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) gp-0) *color-blue* #f (the-as rgba -1) @@ -716,8 +700,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) gp-1) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) gp-1) *color-green* #f (the-as rgba -1) @@ -746,7 +730,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -759,9 +743,9 @@ ) 0 (set! (-> self next-time) (+ (current-time) (get-rand-int-range self 300 600))) - (set! (-> self last-second-pos quad) (-> self root-override2 trans quad)) + (set! (-> self last-second-pos quad) (-> self root trans quad)) (set! (-> self last-distance) - (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root-override2 trans)) + (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root trans)) ) (if *citizen-debug* (set-vector! (-> self draw color-mult) 0.0 0.0 1.0 1.0) @@ -788,7 +772,7 @@ (else (vehicle-controller-method-14 (-> self controller) (the-as vehicle self)) (set! (-> self last-distance) - (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root-override2 trans)) + (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root trans)) ) ) ) @@ -796,7 +780,7 @@ (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () @@ -807,9 +791,7 @@ (defbehavior civilian-clear-path-post civilian () (local-vars (sv-304 nav-poly)) - (let ((s5-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self cp-sphere))) - ) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self cp-sphere)))) (s1-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -866,15 +848,15 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) gp-0) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) gp-0) *color-blue* #f (the-as rgba -1) ) ) (let ((a0-21 (-> self nav state)) - (v1-34 (vector+! (new 'stack-no-clear 'vector) gp-0 (-> self root-override2 trans))) + (v1-34 (vector+! (new 'stack-no-clear 'vector) gp-0 (-> self root trans))) ) (logclear! (-> a0-21 flags) (nav-state-flag directional-mode)) (logior! (-> a0-21 flags) (nav-state-flag target-poly-dirty)) @@ -900,8 +882,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self cp-force)) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) (-> self cp-force)) *color-blue* #f (the-as rgba -1) @@ -930,7 +912,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -959,13 +941,10 @@ (when (citizen-method-187 self) (vehicle-controller-method-14 (-> self controller) (the-as vehicle self)) (set! (-> self last-distance) - (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root-override2 trans)) + (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root trans)) ) ) - (let ((v1-8 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self cp-sphere))) - ) - ) + (let ((v1-8 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self cp-sphere))))) (cond ((< (* 0.5 (vector-length (-> self cp-vec))) (vector-length v1-8)) (let ((a0-10 (-> self nav))) @@ -973,11 +952,11 @@ ) 0 (let ((a0-12 (-> self nav))) - (set! (-> a0-12 acceleration) (-> self enemy-info-override walk-acceleration)) + (set! (-> a0-12 acceleration) (-> self enemy-info walk-acceleration)) ) 0 (let ((a0-14 (-> self nav))) - (set! (-> a0-14 turning-acceleration) (-> self enemy-info-override walk-turning-acceleration)) + (set! (-> a0-14 turning-acceleration) (-> self enemy-info walk-turning-acceleration)) ) 0 ) @@ -987,20 +966,18 @@ ) 0 (let ((a0-18 (-> self nav))) - (set! (-> a0-18 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> a0-18 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((a0-20 (-> self nav))) - (set! (-> a0-20 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> a0-20 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 ) ) (if (and (-> self allow-dive) (< (vector-length v1-8) (* (-> self dive-reaction) (vector-length (-> self cp-vec)))) - (< (fabs (vector4-dot (-> self root-override2 trans) (the-as vector (-> self cp-plane)))) - (* 0.5 (-> self cp-sphere r)) - ) + (< (fabs (vector4-dot (-> self root trans) (the-as vector (-> self cp-plane)))) (* 0.5 (-> self cp-sphere r))) ) (go-dive self) ) @@ -1011,7 +988,7 @@ (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 30) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 30) (none) ) :post (behavior () @@ -1043,12 +1020,12 @@ (set! (-> v1-5 enemy-flags) (the-as enemy-flag (logclear (-> v1-5 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (if *citizen-debug* (set-vector! (-> self draw color-mult) 0.5 0.5 1.0 1.0) ) @@ -1058,11 +1035,11 @@ (if *citizen-debug* (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :trans (behavior () @@ -1108,19 +1085,19 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) (set! (-> v1-5 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-5 enemy-flags)))) ) 0 - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (let ((v1-12 (-> self nav))) (set! (-> v1-12 sphere-mask) (the-as uint 0)) ) @@ -1138,7 +1115,7 @@ (set! (-> gp-0 quad) (-> a1-4 heading quad)) ) (vector-normalize! gp-0 614400.0) - (vector+! (-> self dive-target-point) (-> self root-override2 trans) gp-0) + (vector+! (-> self dive-target-point) (-> self root trans) gp-0) (set! (-> self dive-target-point quad) (-> gp-0 quad)) ) (if *citizen-debug* @@ -1151,11 +1128,11 @@ (if *citizen-debug* (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-9 (-> self nav))) (set! (-> v1-9 sphere-mask) (the-as uint #x800fe)) ) @@ -1186,7 +1163,7 @@ (ja :num! (seek! max (-> self speed-scale))) ) (set! (-> self dive-finished?) #t) - (set! (-> self root-override2 transv quad) (the-as uint128 0)) + (set! (-> self root transv quad) (the-as uint128 0)) (go-virtual cower-ground) (none) ) @@ -1220,12 +1197,12 @@ (set! (-> v1-5 enemy-flags) (the-as enemy-flag (logclear (-> v1-5 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (let ((v1-12 (-> self nav))) (set! (-> v1-12 sphere-mask) (the-as uint 0)) ) @@ -1239,11 +1216,11 @@ (if *citizen-debug* (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-9 (-> self nav))) (set! (-> v1-9 sphere-mask) (the-as uint #x800fe)) ) @@ -1456,17 +1433,14 @@ (defbehavior civilian-falling-post civilian () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (cond ((focus-test? self under-water) (enemy-method-47 self (-> gp-0 transv)) ) (else (let ((a1-1 (new-stack-vector0))) - (vector-v++! - (-> gp-0 transv) - (compute-acc-due-to-gravity gp-0 a1-1 (-> self enemy-info-override slip-factor)) - ) + (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 a1-1 (-> self enemy-info slip-factor))) ) ) ) @@ -1493,24 +1467,23 @@ ) ) (set! (-> self hit-face) - (the-as uint (if (< (vector-dot - (-> self root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) - 0.0 - ) - 1 - 0 - ) - ) + (the-as + uint + (if (< (vector-dot (-> self root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + 0.0 + ) + 1 + 0 + ) + ) ) (set! (-> self state-time) (current-time)) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((t9-0 (-> (method-of-type nav-enemy knocked) exit))) (if t9-0 @@ -1576,13 +1549,11 @@ (none) ) :trans (behavior () - (if (and (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) - (< (-> self root-override2 trans y) 4096.0) - ) + (if (and (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) (< (-> self root trans y) 4096.0)) (go-virtual in-ditch) ) (when (-> self vehicle) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((14 15 16 11 12 13) (go-virtual move-to-vehicle) ) @@ -1593,13 +1564,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1626,9 +1594,9 @@ (s4-0 (new 'stack 'collide-query)) ) (compute-seat-position (the-as vehicle s3-0) arg0 (-> obj seat)) - (vector-! arg0 arg0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector-! arg0 arg0 (-> (the-as vehicle s3-0) root trans)) (vector-normalize! arg0 (+ 14336.0 (vector-length arg0))) - (vector+! arg0 arg0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector+! arg0 arg0 (-> (the-as vehicle s3-0) root trans)) (when (enemy-above-ground? obj s4-0 arg0 (collide-spec backgnd) 8192.0 81920.0 1024.0) (set! (-> arg0 y) (-> s4-0 best-other-tri intersect y)) (let ((v1-14 (-> obj nav)) @@ -1727,7 +1695,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -1759,12 +1727,8 @@ (let ((s0-0 (handle->process (-> self vehicle)))) (cond (s0-0 - (set! (-> self seat) (get-best-seat-for-vehicle - (the-as vehicle s0-0) - (-> self root-override2 trans) - (the-as int (-> self info seat-flag)) - 1 - ) + (set! (-> self seat) + (get-best-seat-for-vehicle (the-as vehicle s0-0) (-> self root trans) (the-as int (-> self info seat-flag)) 1) ) (cond ((!= (-> self seat) -1) @@ -1776,10 +1740,10 @@ ) (let ((s3-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (set! (-> s2-0 quad) (-> self root-override2 trans quad)) + (set! (-> s2-0 quad) (-> self root trans quad)) (set! (-> s1-0 quad) (-> gp-0 quad)) - (vector-! s5-0 gp-0 (-> (the-as vehicle s0-0) root-override-2 trans)) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-! s5-0 gp-0 (-> (the-as vehicle s0-0) root trans)) + (vector-z-quaternion! s4-0 (-> self root quat)) (let ((f30-1 (* 0.5 (vector-vector-xz-distance s2-0 s1-0)))) (vector-normalize! s4-0 (* 2.0 f30-1)) (vector-normalize! s5-0 (* 4.0 f30-1)) @@ -1793,8 +1757,8 @@ ) 0 (if (and (< (vector-dot (vector-normalize! s4-0 1.0) (vector-normalize! s5-0 1.0)) -0.5) - (< (vector-vector-xz-distance gp-0 (-> self root-override2 trans)) 18432.0) - (< (fabs (- (-> gp-0 y) (-> self root-override2 trans y))) 20480.0) + (< (vector-vector-xz-distance gp-0 (-> self root trans)) 18432.0) + (< (fabs (- (-> gp-0 y) (-> self root trans y))) 20480.0) ) (go-virtual board-vehicle) ) @@ -1810,14 +1774,14 @@ ) ) ) - (if (< 73728.0 (vector-vector-xz-distance gp-0 (-> self root-override2 trans))) + (if (< 73728.0 (vector-vector-xz-distance gp-0 (-> self root trans))) (go-virtual wait-for-ride) ) ) (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () @@ -1844,7 +1808,7 @@ :enter (behavior () (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self state-time) (current-time)) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -1887,8 +1851,8 @@ ) ) (let ((gp-2 (new 'stack-no-clear 'vector))) - (set! (-> gp-2 quad) (-> self root-override2 trans quad)) - (let ((s5-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)))) + (set! (-> gp-2 quad) (-> self root trans quad)) + (let ((s5-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 5.0 0) 0.86956525) :frame-num (ja-aframe 1.0 0) @@ -1902,7 +1866,7 @@ (if (not s2-0) (go-virtual wait-for-ride) ) - (quaternion-copy! s3-0 (-> (the-as vehicle s2-0) root-override-2 quat)) + (quaternion-copy! s3-0 (-> (the-as vehicle s2-0) root quat)) (compute-seat-position (the-as vehicle s2-0) s1-0 (-> self seat)) (vector-! s4-1 s1-0 gp-2) (let ((s2-1 lerp-scale) @@ -1920,8 +1884,8 @@ ) ) ) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s3-0 f30-1) - (vector+float*! (-> self root-override2 trans) gp-2 s4-1 f30-1) + (quaternion-slerp! (-> self root quat) s5-0 s3-0 f30-1) + (vector+float*! (-> self root trans) gp-2 s4-1 f30-1) ) ) ) @@ -1930,7 +1894,7 @@ ) ) ) - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 12.0 0) 0.4) :frame-num (ja-aframe 5.0 0) @@ -1942,14 +1906,14 @@ (if (not s5-1) (go-virtual wait-for-ride) ) - (quaternion-copy! gp-4 (-> (the-as vehicle s5-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-1) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! gp-4 (-> (the-as vehicle s5-1) root quat)) + (compute-seat-position (the-as vehicle s5-1) (-> self root trans) (-> self seat)) (let ((f0-22 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 7.0 0) (ja-aframe 10.0 0)))) - (quaternion-rotate-local-y! (-> self root-override2 quat) gp-4 (* (- 1.0 f0-22) (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) - ) + (quaternion-rotate-local-y! (-> self root quat) gp-4 (* (- 1.0 f0-22) (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) + ) ) ) ) @@ -2004,7 +1968,7 @@ :enter (behavior () (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self state-time) (current-time)) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -2060,7 +2024,7 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior civilian) enemy-event-handler) :enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) - (change-to (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)) self) + (change-to (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)) self) (if (not (-> self nav)) (go-inactive self) ) @@ -2070,7 +2034,7 @@ 0 (citizen-method-195 self - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (let ((a0-8 (-> self nav state)) (v1-14 (-> self controller turn-exit-point)) @@ -2081,11 +2045,11 @@ ) 0 (citizen-nav-init! self) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status))) (set! (-> self state-time) (current-time)) - (let ((v1-28 (-> self root-override2 root-prim))) + (let ((v1-28 (-> self root root-prim))) (set! (-> v1-28 prim-core collide-as) (collide-spec)) (set! (-> v1-28 prim-core collide-with) (collide-spec)) ) @@ -2127,14 +2091,14 @@ (let ((s5-0 (handle->process (-> self vehicle))) (gp-1 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! gp-1 (-> (the-as vehicle s5-0) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-0) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! gp-1 (-> (the-as vehicle s5-0) root quat)) + (compute-seat-position (the-as vehicle s5-0) (-> self root trans) (-> self seat)) (let ((f0-3 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 10.0 0) (ja-aframe 7.0 0)))) - (quaternion-rotate-local-y! (-> self root-override2 quat) gp-1 (* f0-3 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) - ) + (quaternion-rotate-local-y! (-> self root quat) gp-1 (* f0-3 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) + ) ) ) ) @@ -2148,18 +2112,18 @@ (let ((s4-1 (handle->process (-> self vehicle))) (s3-1 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s3-1 (-> (the-as vehicle s4-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s4-1) (-> self root-override2 trans) (-> self seat)) - (quaternion-rotate-local-y! (-> self root-override2 quat) s3-1 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) + (quaternion-copy! s3-1 (-> (the-as vehicle s4-1) root quat)) + (compute-seat-position (the-as vehicle s4-1) (-> self root trans) (-> self seat)) + (quaternion-rotate-local-y! (-> self root quat) s3-1 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) ) ) (suspend) ) (let ((v1-43 (handle->process (-> self vehicle)))) - (quaternion-copy! s5-2 (-> (the-as vehicle v1-43) root-override-2 quat)) + (quaternion-copy! s5-2 (-> (the-as vehicle v1-43) root quat)) ) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 1.0 0) 0.5) @@ -2188,8 +2152,8 @@ 16384.0 ) ) - (quaternion-copy! (-> self root-override2 quat) s3-2) - (vector+float*! (-> self root-override2 trans) gp-3 s4-3 f30-0) + (quaternion-copy! (-> self root quat) s3-2) + (vector+float*! (-> self root trans) gp-3 s4-3 f30-0) ) ) ) @@ -2197,9 +2161,9 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.5)) ) ) - (let ((v1-74 (-> self root-override2 root-prim))) - (set! (-> v1-74 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-74 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-74 (-> self root root-prim))) + (set! (-> v1-74 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-74 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual active) (none) @@ -2234,13 +2198,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) diff --git a/goal_src/jak2/levels/city/common/ctyport-obs.gc b/goal_src/jak2/levels/city/common/ctyport-obs.gc index 15fabfbee7..540c60cba7 100644 --- a/goal_src/jak2/levels/city/common/ctyport-obs.gc +++ b/goal_src/jak2/levels/city/common/ctyport-obs.gc @@ -361,14 +361,14 @@ (t9-0 obj) ) (when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) - (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat))) + (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s5-0 (new 'stack-no-clear 'quaternion)) ) (quaternion-from-two-vectors-max-angle! s5-0 a1-1 *up-vector* (* 728.1778 (-> pp clock seconds-per-frame))) - (quaternion*! (-> obj root-override-2 quat) s5-0 (-> obj root-override-2 quat)) + (quaternion*! (-> obj root quat) s5-0 (-> obj root quat)) ) (let ((s4-0 (new 'stack-no-clear 'vector)) - (s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat))) + (s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (new 'stack-no-clear 'vector) (let ((a1-4 (-> obj nav state))) @@ -381,7 +381,7 @@ (let ((s0-0 (-> obj nav state current-poly))) (vector-xz-normalize-copy! s1-0 s4-0 163840.0) (set! (-> s2-0 quad) (-> s1-0 quad)) - (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root-override-2 trans) s0-0 s2-0 s3-0) + (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) s0-0 s2-0 s3-0) ) (when (-> s3-0 found-boundary) (let ((f30-0 (vector-length s4-0))) @@ -390,7 +390,7 @@ (vector-normalize! s4-0 f30-0) ) (when (= obj *debug-actor*) - (add-debug-vector #t (bucket-id debug-no-zbuf1) (-> obj root-override-2 trans) s4-0 (meters 10) *color-blue*) + (add-debug-vector #t (bucket-id debug-no-zbuf1) (-> obj root trans) s4-0 (meters 10) *color-blue*) (format *stdcon* "avoid border~%") ) ) @@ -399,26 +399,26 @@ (+! (-> obj y-rot) (* 10.0 (-> pp clock seconds-per-frame) - (deg- (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root-override-2 quat))) (-> obj y-rot)) + (deg- (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root quat))) (-> obj y-rot)) ) ) (set! (-> obj y-rot) (fmax -10922.667 (fmin 10922.667 (-> obj y-rot)))) - (set! (-> obj y-rot) (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root-override-2 quat)))) + (set! (-> obj y-rot) (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root quat)))) (quaternion-rotate-local-y! - (-> obj root-override-2 quat) - (-> obj root-override-2 quat) + (-> obj root quat) + (-> obj root quat) (* (-> obj y-rot) (-> pp clock seconds-per-frame)) ) - (vector-v*float+! (-> obj root-override-2 trans) (-> obj root-override-2 trans) s5-1 8954.266) + (vector-v*float+! (-> obj root trans) (-> obj root trans) s5-1 8954.266) ) - (seek! (-> obj root-override-2 trans y) 4096.0 (* 4096.0 (-> pp clock seconds-per-frame))) + (seek! (-> obj root trans y) 4096.0 (* 4096.0 (-> pp clock seconds-per-frame))) (when (= obj *debug-actor*) (format *stdcon* "no physics~%") - (format *stdcon* "~M~%" (-> obj root-override-2 trans y)) + (format *stdcon* "~M~%" (-> obj root trans y)) ) ) (if (= obj *debug-actor*) - (format *stdcon* "speed ~M~%" (vector-length (-> obj root-override-2 transv))) + (format *stdcon* "speed ~M~%" (vector-length (-> obj root transv))) ) (let ((s4-2 (ppointer->process (-> obj parent))) (s5-2 (new 'stack-no-clear 'vector)) @@ -427,7 +427,7 @@ (let ((a1-24 (-> obj nav state))) (set! (-> s5-2 quad) (-> a1-24 target-post quad)) ) - (when (< (vector-vector-xz-distance (-> obj root-override-2 trans) s5-2) 163840.0) + (when (< (vector-vector-xz-distance (-> obj root trans) s5-2) 163840.0) (set! (-> obj path-index) (+ 0.01 (-> obj path-index))) (let ((f0-22 (-> obj path-index))) (set! (-> obj path-index) (- f0-22 (* (the float (the int (/ f0-22 1.0))) 1.0))) @@ -462,7 +462,7 @@ ) (init-vf0-vector) (let ((s3-0 (-> obj rbody)) - (s2-0 (-> obj info-override)) + (s2-0 (-> obj info)) (s4-0 (new 'stack-no-clear 'matrix)) ) (let ((a1-1 (-> obj nav state))) @@ -471,8 +471,8 @@ (vector-! (the-as vector (-> s4-0 vector)) (-> s4-0 vector 1) (-> s3-0 state lin-velocity)) (vector-float*! (the-as vector (-> s4-0 vector)) (the-as vector (-> s4-0 vector)) (* 4.0 (-> s2-0 info mass))) (let ((s1-0 (-> s4-0 vector 2))) - (let ((s0-0 (-> obj root-override-2 trans))) - (let ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((s0-0 (-> obj root trans))) + (let ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-6 40960.0)) (.mov vf7 a0-6) ) @@ -487,7 +487,7 @@ ) (let ((s0-1 (-> s4-0 vector 2))) (let ((s1-1 (-> s4-0 vector 2))) - (let ((v1-9 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((v1-9 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-9 -32768.0)) (.mov vf7 a0-9) ) @@ -558,12 +558,12 @@ 0 (set! (-> obj path-num) (-> arg0 user-data)) (set! (-> obj path-index) (+ 0.05 (-> arg0 position w))) - (set! (-> obj root-override-2 root-prim prim-core collide-as) - (logior (collide-spec pusher) (-> obj root-override-2 root-prim prim-core collide-as)) + (set! (-> obj root root-prim prim-core collide-as) + (logior (collide-spec pusher) (-> obj root root-prim prim-core collide-as)) ) - (let ((v1-21 (-> obj root-override-2 root-prim))) - (set! (-> obj root-override-2 backup-collide-as) (-> v1-21 prim-core collide-as)) - (set! (-> obj root-override-2 backup-collide-with) (-> v1-21 prim-core collide-with)) + (let ((v1-21 (-> obj root root-prim))) + (set! (-> obj root backup-collide-as) (-> v1-21 prim-core collide-as)) + (set! (-> obj root backup-collide-with) (-> v1-21 prim-core collide-with)) ) 0 (none) @@ -623,7 +623,7 @@ ) :post (behavior () (rigid-body-object-method-37 self) - (update-transforms (-> self root-override-2)) + (update-transforms (-> self root)) (none) ) ) @@ -657,8 +657,8 @@ (t9-0 obj) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let ((s4-0 (-> obj root-override-2 trans))) - (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((s4-0 (-> obj root trans))) + (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-4 -61440.0)) (.mov vf7 a0-4) ) @@ -682,8 +682,8 @@ ) ) (let ((s5-1 (new 'stack-no-clear 'vector))) - (let ((s4-2 (-> obj root-override-2 trans))) - (let ((v1-9 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((s4-2 (-> obj root trans))) + (let ((v1-9 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-10 61440.0)) (.mov vf7 a0-10) ) @@ -824,7 +824,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-49 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-49 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -841,7 +841,7 @@ (set! (-> obj engine) (new-sound-id)) (set! (-> obj bow-wash) (new-sound-id)) (iterate-prims - (-> obj root-override-2) + (-> obj root) (lambda ((arg0 collide-shape-prim)) (case (-> arg0 prim-core prim-type) (((prim-type sphere)) diff --git a/goal_src/jak2/levels/city/common/ctywide-obs.gc b/goal_src/jak2/levels/city/common/ctywide-obs.gc index d529e4ce2e..35d23c2424 100644 --- a/goal_src/jak2/levels/city/common/ctywide-obs.gc +++ b/goal_src/jak2/levels/city/common/ctywide-obs.gc @@ -8,7 +8,7 @@ ;; DECOMP BEGINS (deftype security-wall (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (pass int32 :offset-assert 200) (incoming-attack-id uint32 :offset-assert 204) (next-message-time int64 :offset-assert 208) @@ -193,14 +193,14 @@ (with-pp (let ((s4-0 *target*)) (when s4-0 - (let* ((f0-0 (vector-vector-distance-squared (-> obj root-override trans) (-> s4-0 control trans))) - (f30-0 (+ 40960.0 (-> obj root-override root-prim local-sphere w))) + (let* ((f0-0 (vector-vector-distance-squared (-> obj root trans) (-> s4-0 control trans))) + (f30-0 (+ 40960.0 (-> obj root root-prim local-sphere w))) (f1-1 f30-0) ) (when (< f0-0 (* f1-1 f1-1)) (let ((s5-0 (new 'stack-no-clear 'inline-array 'vector 1))) (set! (-> s5-0 0 quad) (-> s4-0 control trans quad)) - (when (< (vector-vector-distance-squared (-> obj root-override trans) (-> obj target-pos)) (* f30-0 f30-0)) + (when (< (vector-vector-distance-squared (-> obj root trans) (-> obj target-pos)) (* f30-0 f30-0)) (let ((f0-3 (vector4-dot (-> obj target-pos) (the-as vector (-> obj plane)))) (f1-7 (vector4-dot (-> s5-0 0) (the-as vector (-> obj plane)))) ) @@ -259,16 +259,16 @@ object (case event-type (('on) - (let ((v1-2 (-> self root-override root-prim))) - (set! (-> v1-2 prim-core collide-as) (-> self root-override backup-collide-as)) - (let ((v0-0 (the-as int (-> self root-override backup-collide-with)))) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (-> self root backup-collide-as)) + (let ((v0-0 (the-as int (-> self root backup-collide-with)))) (set! (-> v1-2 prim-core collide-with) (the-as collide-spec v0-0)) v0-0 ) ) ) (('off) - (let ((v1-4 (-> self root-override root-prim))) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -302,11 +302,7 @@ (send-event (ppointer->process s5-1) 'speed #x3fc00000) (send-event (ppointer->process s5-1) 'art-joint-anim "generic-ripples-idle" 0) (set-vector! (-> (the-as process-drawable (-> s5-1 0)) root scale) 1.0 1.0 1.0 1.0) - (quaternion-rotate-local-x! - (-> (the-as process-drawable (-> s5-1 0)) root quat) - (-> self root-override quat) - -16384.0 - ) + (quaternion-rotate-local-x! (-> (the-as process-drawable (-> s5-1 0)) root quat) (-> self root quat) -16384.0) (let ((v1-45 (-> (the-as process-drawable (-> s5-1 0)) root trans))) (let ((a0-29 (-> (the-as process-drawable (-> s5-1 0)) root trans))) (let ((a1-11 *up-vector*)) @@ -390,7 +386,7 @@ ) ) (when v1-83 - (let* ((gp-1 (-> v1-83 root-override)) + (let* ((gp-1 (-> v1-83 root)) (a0-45 (if (type? gp-1 collide-shape) gp-1 ) @@ -421,7 +417,7 @@ (go-virtual idle-open) (return #t) ) - (let ((f30-0 (calc-fade-from-fog (-> self root-override trans))) + (let ((f30-0 (calc-fade-from-fog (-> self root trans))) (a0-13 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -448,16 +444,16 @@ :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (the-as object (case event-type (('on) - (let ((v1-2 (-> self root-override root-prim))) - (set! (-> v1-2 prim-core collide-as) (-> self root-override backup-collide-as)) - (let ((v0-0 (the-as int (-> self root-override backup-collide-with)))) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (-> self root backup-collide-as)) + (let ((v0-0 (the-as int (-> self root backup-collide-with)))) (set! (-> v1-2 prim-core collide-with) (the-as collide-spec v0-0)) v0-0 ) ) ) (('off) - (let ((v1-4 (-> self root-override root-prim))) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -467,7 +463,7 @@ ) ) :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -476,7 +472,7 @@ ) :trans (behavior () (let* ((f28-0 (vector4-dot (the-as vector (-> self plane)) (target-pos 0))) - (f30-0 (calc-fade-from-fog (-> self root-override trans))) + (f30-0 (calc-fade-from-fog (-> self root trans))) (f28-1 (lerp-scale 0.0 1.0 (fabs f28-0) 163840.0 327680.0)) (gp-1 (new 'stack-no-clear 'vector)) ) @@ -523,10 +519,10 @@ (set! (-> s2-1 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s2-1 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override) s2-1) + (set! (-> obj root) s2-1) ) (let ((s2-2 (new 'stack-no-clear 'matrix)) - (s1-0 (-> obj root-override)) + (s1-0 (-> obj root)) ) (vector+! (-> s1-0 trans) s4-0 s3-0) (vector-float*! (-> s1-0 trans) (-> s1-0 trans) 0.5) @@ -541,8 +537,8 @@ (vector-normalize! (-> s2-2 vector 2) 1.0) (matrix->quaternion (-> s1-0 quat) s2-2) (set! (-> obj plane quad) (-> s2-2 vector 2 quad)) - (set! (-> obj plane w) (- (vector-dot (-> s2-2 vector 2) (-> obj root-override trans)))) - (let ((v0-8 (-> obj root-override root-prim local-sphere))) + (set! (-> obj plane w) (- (vector-dot (-> s2-2 vector 2) (-> obj root trans)))) + (let ((v0-8 (-> obj root root-prim local-sphere))) (set! (-> v0-8 x) 0.0) (set! (-> v0-8 y) (* 0.00024414062 (* 0.5 arg1))) (set! (-> v0-8 z) 0.0) @@ -582,7 +578,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-security-wall" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> obj root-override event-self) 'touched) + (set! (-> obj root event-self) 'touched) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (logior! (-> obj draw status) (draw-control-status disable-fog)) (set-security-texture-masks! (the-as vector (-> obj draw mgeo header texture-usage-group data 4))) @@ -1009,7 +1005,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1412,11 +1408,11 @@ This commonly includes things such as: (defmethod get-trans cty-guard-turret ((obj cty-guard-turret) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (cond ((= arg0 3) (let ((v0-0 (vector<-cspace! (new 'static 'vector) (-> obj node-list data 6)))) - (set! (-> v0-0 w) (-> obj root-override root-prim prim-core world-sphere w)) + (set! (-> v0-0 w) (-> obj root root-prim prim-core world-sphere w)) v0-0 ) ) @@ -1458,7 +1454,7 @@ This commonly includes things such as: ) (when (handle->process gp-0) (if (or (task-node-open? (game-task-node city-power-post-win)) - (not (send-event (handle->process gp-0) 'guard-turret-status (-> self id) (-> self root-override trans))) + (not (send-event (handle->process gp-0) 'guard-turret-status (-> self id) (-> self root trans))) ) (set! (-> self destroyed) #t) ) @@ -1469,18 +1465,15 @@ This commonly includes things such as: (set! (-> self destroyed) #t) ) (let ((gp-2 (handle->process (-> self focus handle)))) - (when (and gp-2 (and *traffic-engine* - (let ((f0-0 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable gp-2) 0) - (-> self root-override trans) - ) - ) - (f1-0 409600.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) - (not (-> self destroyed)) - ) + (when (and gp-2 + (and *traffic-engine* + (let ((f0-0 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable gp-2) 0) (-> self root trans))) + (f1-0 409600.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) + (not (-> self destroyed)) + ) ) (cond ((and (>= (-> self id) 0) (task-node-open? (game-task-node city-power-resolution))) @@ -1554,7 +1547,7 @@ This commonly includes things such as: ) ) (setup-masks (-> self draw) 0 2) - (set! (-> self root-override root-prim specific 0) (+ (-> self root-override root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (none) ) :code (behavior () @@ -1580,7 +1573,7 @@ This commonly includes things such as: (let ((gp-0 (current-time))) (until (>= (- (current-time) gp-0) (seconds 2)) (let ((a1-1 (new 'stack-no-clear 'vector))) - (set! (-> a1-1 quad) (-> self root-override trans quad)) + (set! (-> a1-1 quad) (-> self root trans quad)) (set! (-> a1-1 y) (+ 10240.0 (-> a1-1 y))) (spawn (-> self part) a1-1) ) @@ -1614,7 +1607,7 @@ This commonly includes things such as: (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! 32.0 0.5) :frame-num 20.0) (until (ja-done? 0) (let ((a1-4 (new 'stack-no-clear 'vector))) - (set! (-> a1-4 quad) (-> self root-override trans quad)) + (set! (-> a1-4 quad) (-> self root trans quad)) (set! (-> a1-4 y) (+ 10240.0 (-> a1-4 y))) (spawn (-> self part) a1-4) ) @@ -1628,7 +1621,7 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override root-prim specific 0) (-> self root-override root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (setup-masks (-> self draw) 2 0) (go-virtual idle) (none) @@ -1674,7 +1667,7 @@ This commonly includes things such as: ) ) (setup-masks (-> self draw) 0 2) - (set! (-> self root-override root-prim specific 0) (+ (-> self root-override root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (none) ) :code (behavior () @@ -1707,7 +1700,7 @@ This commonly includes things such as: (loop (suspend) ) - (set! (-> self root-override root-prim specific 0) (-> self root-override root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (setup-masks (-> self draw) 2 0) (go-virtual idle) (none) @@ -1753,7 +1746,7 @@ This commonly includes things such as: ) ) (setup-masks (-> self draw) 0 2) - (set! (-> self root-override root-prim specific 0) (+ (-> self root-override root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (set! (-> self button-down?) #f) (none) ) @@ -1782,7 +1775,7 @@ This commonly includes things such as: (suspend) ) ) - (set! (-> self root-override root-prim specific 0) (-> self root-override root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (setup-masks (-> self draw) 2 0) (go-virtual idle) (none) @@ -1885,7 +1878,7 @@ This commonly includes things such as: (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> (get-trans (the-as process-focusable s5-0) 3) quad)) (let ((s0-0 (new 'stack-no-clear 'vector))) - (let ((v1-8 (-> obj root-override trans))) + (let ((v1-8 (-> obj root trans))) (let ((a0-5 *y-vector*)) (let ((a1-3 10240.0)) (.mov vf7 a1-3) @@ -1903,7 +1896,7 @@ This commonly includes things such as: (a0-7 s4-0) ) (let ((v1-10 s4-0)) - (let ((a1-6 (-> (the-as process-focusable s5-0) root-override transv))) + (let ((a1-6 (-> (the-as process-focusable s5-0) root transv))) (let ((a2-0 f0-2)) (.mov vf7 a2-0) ) @@ -1917,7 +1910,7 @@ This commonly includes things such as: (.svf (&-> a0-7 quad) vf6) ) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) s4-0 s0-0)) - (s1-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (s1-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! sv-192 (new 'stack-no-clear 'vector)) (let ((s2-0 (new 'stack-no-clear 'vector))) @@ -2045,15 +2038,12 @@ This commonly includes things such as: (suspend) (let ((gp-0 (handle->process (-> self focus handle)))) (cond - ((and gp-0 (let ((f0-5 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable gp-0) 0) - (-> self root-override trans) - ) - ) - (f1-0 491520.0) - ) - (< f0-5 (* f1-0 f1-0)) - ) + ((and gp-0 + (let ((f0-5 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable gp-0) 0) (-> self root trans))) + (f1-0 491520.0) + ) + (< f0-5 (* f1-0 f1-0)) + ) ) (cond ((and (>= (-> self id) 0) (task-node-open? (game-task-node city-power-resolution))) @@ -2173,7 +2163,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-22 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2236,7 +2226,7 @@ This commonly includes things such as: (set! (-> a1-11 num-params) 2) (set! (-> a1-11 message) 'guard-turret-status) (set! (-> a1-11 param 0) (the-as uint (-> obj id))) - (set! (-> a1-11 param 1) (the-as uint (-> obj root-override trans))) + (set! (-> a1-11 param 1) (the-as uint (-> obj root trans))) (let* ((t9-12 send-event-function) (v1-33 (-> *game-info* sub-task-list (game-task-node city-power-resolution))) (v1-38 (t9-12 @@ -2335,9 +2325,7 @@ This commonly includes things such as: ((or (focus-test? (the-as vehicle s5-0) dead inactive) (not (logtest? (-> (the-as vehicle s5-0) flags) (rigid-body-object-flag waiting-for-player))) (let ((f0-0 (-> obj test-sphere r))) - (< (* f0-0 f0-0) - (vector-vector-distance-squared (-> (the-as vehicle s5-0) root-override-2 trans) (-> obj test-sphere)) - ) + (< (* f0-0 f0-0) (vector-vector-distance-squared (-> (the-as vehicle s5-0) root trans) (-> obj test-sphere))) ) ) (logclear! (-> (the-as vehicle s5-0) flags) (rigid-body-object-flag persistent)) @@ -2638,7 +2626,7 @@ This commonly includes things such as: ((< (-> self hit-points) 3) (setup-masks (-> self draw) 0 -1) (setup-masks (-> self draw) 1 0) - (let* ((a0-9 (the-as collide-shape-prim-group (-> self root-override root-prim))) + (let* ((a0-9 (the-as collide-shape-prim-group (-> self root root-prim))) (v1-17 (-> a0-9 child 0)) ) (let ((a0-11 (-> a0-9 child 1))) @@ -2672,7 +2660,7 @@ This commonly includes things such as: (let ((v1-25 (-> t3-0 trans)) (t4-0 (new 'stack-no-clear 'vector)) ) - (let ((t5-1 (-> self root-override trans))) + (let ((t5-1 (-> self root trans))) (let ((t6-0 *up-vector*)) (let ((t7-1 8192.0)) (.mov vf7 t7-1) @@ -2727,7 +2715,7 @@ This commonly includes things such as: :post (behavior () (cond ((or (not (-> *setting-control* user-current speech-control)) - (< 245760.0 (vector-vector-distance (camera-pos) (-> self root-override trans))) + (< 245760.0 (vector-vector-distance (camera-pos) (-> self root trans))) ) (when (nonzero? (-> self sound-id)) (set-action! @@ -2748,7 +2736,7 @@ This commonly includes things such as: ) ) ) - ((< (vector-vector-distance (camera-pos) (-> self root-override trans)) 225280.0) + ((< (vector-vector-distance (camera-pos) (-> self root trans)) 225280.0) (cond ((zero? (-> self sound-id)) (set! (-> self sound-id) (add-process @@ -2762,7 +2750,7 @@ This commonly includes things such as: ) ) (let ((a1-4 (new 'stack-no-clear 'vector))) - (set! (-> a1-4 quad) (-> self root-override trans quad)) + (set! (-> a1-4 quad) (-> self root trans quad)) (set! (-> a1-4 w) 40960.0) (propa-method-31 self a1-4) ) @@ -2775,11 +2763,11 @@ This commonly includes things such as: (set! (-> gp-2 params fo-min) 40) (set! (-> gp-2 params fo-max) 55) (set! (-> gp-2 params fo-curve) 2) - (let ((a1-5 (-> self root-override trans))) + (let ((a1-5 (-> self root trans))) (let ((s5-0 self)) (when (= a1-5 #t) - (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root-override))) - (set! a1-5 (-> s5-0 root-override trans)) + (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root))) + (set! a1-5 (-> s5-0 root trans)) (set! a1-5 (the-as vector #f)) ) ) @@ -2814,10 +2802,10 @@ This commonly includes things such as: ) ) (when a0-25 - (vector-! s4-0 (-> a0-25 root-override trans) (-> self root-override trans)) + (vector-! s4-0 (-> a0-25 root trans) (-> self root trans)) (set! (-> self y-rot) (deg-seek (-> self y-rot) - (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> self root-override quat))) + (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> self root quat))) (* 36408.89 (-> self clock seconds-per-frame)) ) ) @@ -2860,7 +2848,7 @@ This commonly includes things such as: (not (logtest? (process-mask crate) (-> s1-1 mask))) (not (logtest? (process-mask vehicle) (-> s1-1 mask))) ) - (let ((f0-0 (vector-vector-xz-distance (-> obj root-override trans) (-> s1-1 root-override trans)))) + (let ((f0-0 (vector-vector-xz-distance (-> obj root trans) (-> s1-1 root trans)))) (when (or (not s5-0) (< f0-0 f30-0)) (set! s5-0 s1-1) (set! f30-0 f0-0) @@ -2916,7 +2904,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -3138,7 +3126,7 @@ This commonly includes things such as: (t9-0 (method-of-object a0-0 look-at!)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-4 (-> self root-override trans))) + (let ((v1-4 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 20480.0)) (.mov vf7 a3-1) @@ -3193,14 +3181,14 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) (let ((s5-0 gp-0) - (s4-0 (-> self root-override trans)) + (s4-0 (-> self root trans)) (s3-0 vector-orient-by-quat!) (s2-0 (new 'stack-no-clear 'vector)) (s1-0 (new 'static 'vector :y 16384.0 :z 40960.0 :w 1.0)) (s0-0 quaternion-rotate-local-y!) ) (set! sv-272 (new 'stack-no-clear 'vector)) - (set! sv-288 (-> self root-override quat)) + (set! sv-288 (-> self root quat)) (let ((a2-0 (* 182.04445 (* 30.0 (sin (* 7281.778 (-> self time))))))) (vector+! s5-0 s4-0 (s3-0 s2-0 s1-0 (s0-0 (the-as quaternion sv-272) sv-288 a2-0))) ) @@ -3211,7 +3199,7 @@ This commonly includes things such as: (a1-2 (new 'stack-no-clear 'vector)) (v1-17 (new 'stack-no-clear 'vector)) ) - (let ((a2-3 (-> self root-override trans))) + (let ((a2-3 (-> self root trans))) (let ((a3-0 *up-vector*)) (let ((t0-1 20480.0)) (.mov vf7 t0-1) @@ -3327,7 +3315,7 @@ This commonly includes things such as: (t9-0 (method-of-object a0-0 look-at!)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-4 (-> self root-override trans))) + (let ((v1-4 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 20480.0)) (.mov vf7 a3-1) @@ -3698,11 +3686,11 @@ This commonly includes things such as: (when (!= (-> self time) -1.0) (let ((gp-1 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (vector+! gp-1 (-> self root-override trans) (vector-orient-by-quat! - (new 'stack-no-clear 'vector) - (new 'static 'vector :y 24166.4 :z 32768.0 :w 1.0) - (-> self root-override quat) - ) + (vector+! gp-1 (-> self root trans) (vector-orient-by-quat! + (new 'stack-no-clear 'vector) + (new 'static 'vector :y 24166.4 :z 32768.0 :w 1.0) + (-> self root quat) + ) ) (set! (-> *camera* slave 0 trans quad) (-> gp-1 quad)) (let ((t9-66 forward-down->inv-matrix) @@ -3710,7 +3698,7 @@ This commonly includes things such as: (a1-30 (new 'stack-no-clear 'vector)) (v1-96 (new 'stack-no-clear 'vector)) ) - (let ((a2-21 (-> self root-override trans))) + (let ((a2-21 (-> self root trans))) (let ((a3-11 *up-vector*)) (let ((t0-12 24166.4)) (.mov vf7 t0-12) @@ -3816,7 +3804,7 @@ This commonly includes things such as: (t9-0 (method-of-object a0-0 look-at!)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-4 (-> self root-override trans))) + (let ((v1-4 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 20480.0)) (.mov vf7 a3-1) @@ -3838,9 +3826,9 @@ This commonly includes things such as: ) (defmethod burning-bush-method-32 burning-bush ((obj burning-bush)) - (let* ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root-override trans))) - (f30-0 (vector-dot (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat)) gp-1)) - (f0-2 (vector-dot (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat)) gp-1)) + (let* ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root trans))) + (f30-0 (vector-dot (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) gp-1)) + (f0-2 (vector-dot (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) gp-1)) ) (and *target* (not (focus-test? *target* pilot)) @@ -3872,7 +3860,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -3904,8 +3892,8 @@ This commonly includes things such as: (or (not (logtest? (-> obj mask) (process-mask actor-pause))) (or (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) (draw-control-status on-screen)) - (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root-override pause-adjust-distance)) - (vector-vector-distance (-> obj root-override trans) (math-camera-pos)) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (math-camera-pos)) ) ) (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) @@ -3933,14 +3921,14 @@ This commonly includes things such as: (burning-bush-method-31 obj) (let ((f0-0 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-0 0.0) - (quaternion-rotate-local-y! (-> obj root-override quat) (-> obj root-override quat) f0-0) + (quaternion-rotate-local-y! (-> obj root quat) (-> obj root quat) f0-0) ) ) (set! (-> obj task) (new 'process 'game-task-control (res-lump-value arg0 'task-actor game-task-actor :time -1000000000.0)) ) (set! (-> obj angle) 0.0) - (set! (-> obj root-override pause-adjust-distance) 819200.0) + (set! (-> obj root pause-adjust-distance) 819200.0) (transform-post) (go (method-of-object obj idle)) (none) @@ -4186,7 +4174,7 @@ This commonly includes things such as: ) (set! (-> self angle) 0.0) ) - (quaternion-vector-angle! (-> self root-override quat) *x-vector* (-> self angle)) + (quaternion-vector-angle! (-> self root quat) *x-vector* (-> self angle)) (ja-post) (none) ) @@ -4213,7 +4201,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -4320,7 +4308,7 @@ This commonly includes things such as: :trans (the-as (function none :behavior ctyn-lamp) #f) :code (behavior () (sound-play "lamp-hit") - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -4374,7 +4362,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/city/common/ctywide-speech.gc b/goal_src/jak2/levels/city/common/ctywide-speech.gc index b95b944fcc..23bbf7181c 100644 --- a/goal_src/jak2/levels/city/common/ctywide-speech.gc +++ b/goal_src/jak2/levels/city/common/ctywide-speech.gc @@ -8,13 +8,13 @@ ;; DECOMP BEGINS (defun restore-city-speeches () - (speech-control-method-10 + (speech-table-set! *speech-control* - 1 + (speech-type speech-type-1) (new 'static 'speech-type-info :priority -10 - :min-delay #x960 - :max-delay #x1770 + :min-delay (seconds 8) + :max-delay (seconds 20) :list (new 'static 'boxed-array :type string "kg007a" "kg010" @@ -51,25 +51,25 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 2 + (speech-type speech-type-2) (new 'static 'speech-type-info :priority 3 :request-timeout #x12c - :min-delay #x960 - :max-delay #x1770 + :min-delay (seconds 8) + :max-delay (seconds 20) :list (new 'static 'boxed-array :type string "kg044a" "kg045a" "kg046a" "kg047a" "kg048a" "kg049a" "kg050a") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 3 + (speech-type speech-type-3) (new 'static 'speech-type-info :priority 3 :request-timeout #x12c - :min-delay #x12c - :max-delay #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) :list (new 'static 'boxed-array :type string "kg070" "kg071a" @@ -84,12 +84,12 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 4 + (speech-type speech-type-4) (new 'static 'speech-type-info - :min-delay #x384 - :max-delay #x960 + :min-delay (seconds 3) + :max-delay (seconds 8) :list (new 'static 'boxed-array :type string "kg029a" "kg036" @@ -115,25 +115,25 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 5 + (speech-type speech-type-5) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 5 :request-timeout #x12c - :min-delay #x12c - :max-delay #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) :list (new 'static 'boxed-array :type string "kg065a" "kg066a" "kg069" "kg067a" "kg068a" "kg069a") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 6 + (speech-type speech-type-6) (new 'static 'speech-type-info :flags (speech-type-flag random-order) - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg001" "kg002" @@ -184,13 +184,13 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 7 + (speech-type speech-type-7) (new 'static 'speech-type-info :flags (speech-type-flag random-order) - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg005" "kg008" @@ -214,12 +214,12 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 8 + (speech-type speech-type-8) (new 'static 'speech-type-info - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg300a" "kg301a" @@ -244,25 +244,25 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 9 + (speech-type speech-type-9) (new 'static 'speech-type-info :priority 1 - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg014" "kg153" "kg135" "kg142" "kg144" "kg145" "kg150") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 10 + (speech-type speech-type-10) (new 'static 'speech-type-info :flags (speech-type-flag random-order) - :priority #xa + :priority 10 :request-timeout #x258 - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg009" "kg132" @@ -315,14 +315,13 @@ ) ) ) - ;; manually decompiled - (speech-control-method-10 + (speech-table-set! *speech-control* - 11 + (speech-type speech-type-11) (new 'static 'speech-type-info :priority 2 - :min-delay #x1e - :max-delay #x1e + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) :list (new 'static 'boxed-array :type string "kg386a" "kg387a" @@ -343,6 +342,7 @@ "kg402a" "kg403a" "kg404a" + "kg090a" "kg405a" "kg406a" "kg407a" @@ -371,44 +371,44 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 12 + (speech-type speech-type-12) (new 'static 'speech-type-info :priority 5 - :min-delay #x12c - :max-delay #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) :list (new 'static 'boxed-array :type string) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 13 + (speech-type speech-type-13) (new 'static 'speech-type-info - :priority #xa - :min-delay #x12c - :max-delay #x12c + :priority 10 + :min-delay (seconds 1) + :max-delay (seconds 1) :list (new 'static 'boxed-array :type string "kg012" "kg012a" "kg176") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 14 + (speech-type speech-type-14) (new 'static 'speech-type-info - :priority #xa - :min-delay #x12c - :max-delay #x12c + :priority 10 + :min-delay (seconds 1) + :max-delay (seconds 1) :list (new 'static 'boxed-array :type string "kg387a" "kg396a" "kg399a") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 16 + (speech-type speech-type-16) (new 'static 'speech-type-info :channel #x1 :flags (speech-type-flag random-order) - :min-delay #x384 - :max-delay #x834 + :min-delay (seconds 3) + :max-delay (seconds 7) :list (new 'static 'boxed-array :type string "cit099" "cit099a" @@ -421,25 +421,25 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 19 + (speech-type speech-type-19) (new 'static 'speech-type-info :channel #x1 :flags (speech-type-flag random-order) :priority 2 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "cit097" "cit097a" "cit097b" "cit098" "cit098a" "cit098b") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 20 + (speech-type speech-type-20) (new 'static 'speech-type-info :channel #x1 - :min-delay #x5dc - :max-delay #x1194 + :min-delay (seconds 5) + :max-delay (seconds 15) :list (new 'static 'boxed-array :type string "cit099" "cit099a" @@ -453,15 +453,15 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 22 + (speech-type speech-type-22) (new 'static 'speech-type-info :channel #x1 :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "cit001" "cit004" @@ -482,14 +482,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 24 + (speech-type speech-type-24) (new 'static 'speech-type-info :channel #x1 :flags (speech-type-flag random-order) - :min-delay #x384 - :max-delay #x834 + :min-delay (seconds 3) + :max-delay (seconds 7) :list (new 'static 'boxed-array :type string "cit099c" "cit099d" @@ -505,36 +505,36 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 27 + (speech-type speech-type-27) (new 'static 'speech-type-info :channel #x1 :flags (speech-type-flag random-order) :priority 2 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "cit097c" "cit097d" "cit098c" "cit098d" "cit099c" "cit098d") ) ) - (speech-control-method-10 *speech-control* 28 (new 'static 'speech-type-info - :channel #x1 - :min-delay #x5dc - :max-delay #x1194 - :list (new 'static 'boxed-array :type string - "cit099c" - "cit099d" - "cit100c" - "cit101c" - "cit103" - "cit103a" - "cit104" - "cit104a" - "cit105" - "cit120" - "cit120a" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-28) (new 'static 'speech-type-info + :channel #x1 + :min-delay (seconds 5) + :max-delay (seconds 15) + :list (new 'static 'boxed-array :type string + "cit099c" + "cit099d" + "cit100c" + "cit101c" + "cit103" + "cit103a" + "cit104" + "cit104a" + "cit105" + "cit120" + "cit120a" + ) + ) + ) (none) ) diff --git a/goal_src/jak2/levels/city/common/ctywide-tasks.gc b/goal_src/jak2/levels/city/common/ctywide-tasks.gc index 1a38b992c8..5231b56fcc 100644 --- a/goal_src/jak2/levels/city/common/ctywide-tasks.gc +++ b/goal_src/jak2/levels/city/common/ctywide-tasks.gc @@ -5,7 +5,7 @@ ;; name in dgo: ctywide-tasks ;; dgos: CWI -(define-extern race-start (function int symbol symbol process)) +(define-extern race-start (function int process symbol process)) ;; DECOMP BEGINS @@ -533,7 +533,7 @@ (when (zero? (-> self sub-state)) (set! (-> self sub-state) (the-as uint 1)) (set-setting! 'exclusive-task #f 0.0 (-> self node-info task)) - (set! (-> self slave 0) (process->handle (race-start (-> self info index) (the-as symbol self) #f))) + (set! (-> self slave 0) (process->handle (race-start (-> self info index) self #f))) ) ) (else diff --git a/goal_src/jak2/levels/city/common/guard.gc b/goal_src/jak2/levels/city/common/guard.gc index 678b9ced14..1cd121b7a7 100644 --- a/goal_src/jak2/levels/city/common/guard.gc +++ b/goal_src/jak2/levels/city/common/guard.gc @@ -237,7 +237,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -344,7 +344,7 @@ (init-vf0-vector) (set! sv-240 arg0) (let ((s0-0 (new 'stack-no-clear 'vector))) - (let ((v1-1 (-> obj root-override2 trans))) + (let ((v1-1 (-> obj root trans))) (let ((a0-1 *y-vector*)) (let ((a1-2 8192.0)) (.mov vf7 a1-2) @@ -364,11 +364,11 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (-> obj node-list data 4 bone transform) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - (set! (-> s0-0 quad) (-> obj root-override2 trans quad)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) + (set! (-> s0-0 quad) (-> obj root trans quad)) (cond ((logtest? (enemy-flag dislike-combo) (-> obj enemy-flags)) (let ((a1-6 s0-0)) @@ -433,7 +433,7 @@ (vector+! sv-288 sv-288 v0-5) ) (vector-normalize! (vector-! sv-320 sv-288 s0-0) 1.0) - (vector-z-quaternion! sv-304 (-> obj root-override2 quat)) + (vector-z-quaternion! sv-304 (-> obj root quat)) (rot-zxy-from-vector! s2-0 sv-304) (rot-zxy-from-vector! s1-0 sv-320) (set! (-> s5-0 x) (fmax -14563.556 (fmin 14563.556 (deg- (-> s1-0 x) (-> s2-0 x))))) @@ -479,7 +479,7 @@ (let ((t9-0 (method-of-type citizen track-target!))) (t9-0 obj) ) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (if (< (-> obj traffic-id) *guard-min-id-hack*) (set! *guard-min-id-hack* (-> obj traffic-id)) ) @@ -531,7 +531,7 @@ ) ) (when s1-0 - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-11)) (trigger-alert obj 1 (the-as target s1-0)) ) ) @@ -546,7 +546,7 @@ (when (or (and (-> obj next-state) (= (-> obj next-state name) 'active)) (and (-> obj next-state) (= (-> obj next-state name) 'wait)) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-2 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-14)) (go (method-of-object obj close-attack-active)) ) ) @@ -629,7 +629,7 @@ (when (not (focus-test? obj dead)) (when (logtest? (-> obj flags) (citizen-flag hostile)) (logclear! (-> obj flags) (citizen-flag persistent in-pursuit hostile)) - (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (go (method-of-object obj active)) ) ) @@ -671,8 +671,8 @@ (when (not (focus-test? obj dead)) (when (logtest? (-> obj flags) (citizen-flag hostile)) (logclear! (-> obj flags) (citizen-flag persistent in-pursuit hostile)) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-2)) - (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-5)) + (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (go (method-of-object obj active)) ) ) @@ -694,7 +694,7 @@ (when (logtest? (-> (the-as process-focusable v1-130) mask) (process-mask target)) (when (focus-test? (the-as process-focusable v1-130) dead) (format #t "guard killed player~%") - (the-as object (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-3))) + (the-as object (speech-control-method-12 *speech-control* obj (speech-type speech-type-10))) ) ) ) @@ -736,7 +736,7 @@ (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) (set! (-> self hit-face) (the-as uint -1)) - (let ((v1-6 (-> self root-override2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-6) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core collide-as) (collide-spec enemy)) @@ -809,7 +809,7 @@ (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) (set! (-> self hit-face) (the-as uint -1)) - (let ((v1-6 (-> self root-override2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-6) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core collide-as) (collide-spec enemy)) @@ -864,7 +864,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -872,26 +872,25 @@ ) 0 (if (zero? (-> self hit-points)) - (set! (-> self root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> self root penetrated-by) (the-as penetrate -1)) ) (set! (-> self hit-face) - (the-as uint (if (< (vector-dot - (-> self root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) - 0.0 - ) - 1 - 0 - ) - ) + (the-as + uint + (if (< (vector-dot (-> self root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + 0.0 + ) + 1 + 0 + ) + ) ) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((t9-0 (-> (method-of-type nav-enemy knocked) exit))) (if t9-0 @@ -940,7 +939,7 @@ (logclear! (-> obj flags) (citizen-flag knocked-out-bike)) ) ((begin - (let ((v1-37 (-> obj root-override2 transv))) + (let ((v1-37 (-> obj root transv))) (cond ((< (sqrtf (+ (* (-> v1-37 x) (-> v1-37 x)) (* (-> v1-37 z) (-> v1-37 z)))) 32768.0) (set! (-> obj small-hit) 1) @@ -1195,11 +1194,11 @@ (go (method-of-object obj hostile)) ) ((11) - (set! (-> obj root-override2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> arg0 rotation)) + (set! (-> obj root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> obj root quat) (-> arg0 rotation)) (set! (-> obj vehicle) (-> arg0 handle)) (ja-channel-set! 1) - (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info object-type) ((11 12 13 18) (logior! (-> obj flags) (citizen-flag knocked-out-bike)) (let ((v1-64 (-> obj skel root-channel 0))) @@ -1316,7 +1315,7 @@ ) ) (if (logtest? (-> self draw status) (draw-control-status on-screen)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-1)) ) (when (logtest? (-> self controller traffic alert-state flags) (traffic-alert-flag guard-multi-focus)) (let ((gp-0 (find-closest-to-with-collide-lists (-> self controller traffic) self (-> self focus collide-with)))) @@ -1358,7 +1357,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-3 prim-core action) (collide-action deadly)) ) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -1380,7 +1379,7 @@ ) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) - (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logior! (-> v1-22 prim-core action) (collide-action deadly)) ) (set! gp-0 #t) @@ -1563,7 +1562,7 @@ ) ) (let ((a1-3 (new 'stack-no-clear 'vector))) - (set! (-> a1-3 quad) (-> obj root-override2 trans quad)) + (set! (-> a1-3 quad) (-> obj root trans quad)) (set! (-> a1-3 y) (+ 8192.0 (-> a1-3 y))) (let ((s5-1 (traffic-engine-method-49 (-> obj controller traffic) a1-3 (-> obj traffic-id) (-> obj traffic-target-status)) @@ -1595,9 +1594,9 @@ ) (set! (-> obj target-flags) (the-as uint (-> s5-1 flags))) (set! (-> obj target-pos quad) (-> (get-trans (the-as process-focusable s4-1) 3) quad)) - (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s4-1) root-override transv quad)) + (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s4-1) root transv quad)) (set! (-> obj target-vel) (vector-length (-> obj target-vel-vec))) - (let ((s5-4 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> obj target-pos)))) + (let ((s5-4 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj target-pos)))) (let* ((f0-3 (vector-length s5-4)) (f0-4 (* 0.0000012207031 f0-3)) (a1-9 (-> obj target-pos-predict)) @@ -1624,19 +1623,19 @@ (vector-normalize! s5-4 (-> obj miss-amount)) (vector+! (-> obj target-pos-predict-miss) (-> obj target-pos-predict) s5-4) ) - (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root-override2 trans)) + (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root trans)) (set! (-> obj target-self-xz quad) (-> obj target-self quad)) (set! (-> obj target-self-xz y) 0.0) (set! (-> obj target-self-dist) (vector-length (-> obj target-self))) (set! (-> obj target-self-xz-dist) (vector-length (-> obj target-self-xz))) (set! (-> obj target-y-angle) - (deg-diff (quaternion-y-angle (-> obj root-override2 quat)) (vector-y-angle (-> obj target-self))) + (deg-diff (quaternion-y-angle (-> obj root quat)) (vector-y-angle (-> obj target-self))) ) ) (else (set! (-> obj traffic-target-status handle) (the-as handle #f)) (logclear! (-> obj flags) (citizen-flag persistent in-pursuit hostile)) - (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (go (method-of-object obj active)) ) ) @@ -1650,9 +1649,9 @@ (defmethod crimson-guard-method-221 crimson-guard ((obj crimson-guard)) (let ((a1-0 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-0 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-0 sphere quad) (-> obj root trans quad)) (set! (-> a1-0 sphere r) 40960.0) - (set! (-> a1-0 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-0 velocity quad) (-> obj root transv quad)) (set! (-> a1-0 notify-radius) 122880.0) (set! (-> a1-0 danger-level) 1.0) (set! (-> a1-0 decay-rate) 0.0) @@ -1700,7 +1699,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1709,11 +1708,11 @@ 0 (nav-enemy-method-166 self) (let ((v1-9 (-> self nav))) - (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info run-travel-speed))) ) 0 (if (zero? (-> self controller branch)) - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (none) ) @@ -1726,22 +1725,22 @@ (crimson-guard-method-220 self) (cond ((logtest? (-> self target-flags) 1) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-3)) (go-hostile self) ) (else - (speech-control-method-12 *speech-control* self (speech-type speech-type-2)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-4)) ) ) (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () (if (and (nonzero? (-> self controller branch)) - (let ((f0-0 (vector-vector-xz-distance-squared (-> self root-override2 trans) (-> self controller turn-exit-point))) + (let ((f0-0 (vector-vector-xz-distance-squared (-> self root trans) (-> self controller turn-exit-point))) (f1-0 16384.0) ) (< f0-0 (* f1-0 f1-0)) @@ -1852,7 +1851,7 @@ (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-11 enemy-flags)))) ) (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-11 enemy-flags)))) - (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info-override callback-info)) + (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info callback-info)) ) 0 (let ((v1-14 self)) @@ -1862,12 +1861,12 @@ (nav-enemy-method-166 self) (when (-> self nav) (let ((v1-20 (-> self nav))) - (set! (-> v1-20 target-speed) (* (-> self speed-scale) (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-20 target-speed) (* (-> self speed-scale) (-> self enemy-info run-travel-speed))) ) 0 ) (logior! (-> self flags) (citizen-flag persistent in-pursuit)) - (set! (-> self root-override2 nav-radius) 6144.0) + (set! (-> self root nav-radius) 6144.0) (none) ) :exit (behavior () @@ -1905,13 +1904,13 @@ (if (and (not (logtest? (-> s5-0 flags) (traffic-target-flag visible-recently))) (logtest? (-> s5-0 flags) (traffic-target-flag visible-ever)) ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-2)) ) (when (and (logtest? (-> self nav state flags) (nav-state-flag at-target)) (not (logtest? (-> s5-0 flags) (traffic-target-flag visible-recently))) ) (logclear! (-> self flags) (citizen-flag persistent)) - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (go-virtual search) ) (when (or (logtest? (-> s5-0 flags) (traffic-target-flag visible-recently)) @@ -1922,7 +1921,7 @@ ((focus-test? gp-0 arrestable) (if (and (< (-> self target-self-xz-dist) 28672.0) (< (fabs (-> self target-y-angle)) 7281.778) - (>= 8192.0 (fabs (- (-> (get-trans gp-0 1) y) (-> self root-override2 trans y)))) + (>= 8192.0 (fabs (- (-> (get-trans gp-0 1) y) (-> self root trans y)))) ) (go-virtual arrest) ) @@ -1965,7 +1964,7 @@ (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () @@ -1985,7 +1984,7 @@ ) (cond ((< 8192000.0 (-> self target-self-xz-dist)) - (let ((s5-0 (-> self root-override2 trans)) + (let ((s5-0 (-> self root trans)) (s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) @@ -1993,7 +1992,7 @@ ) (new 'stack-no-clear 'vector) (set! (-> s3-0 quad) (-> v1-5 quad)) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (let ((f30-0 (* 182.04445 (* 60.0 (the float (- (-> self traffic-id) *guard-min-id-hack*)))))) (set-vector! s2-0 (cos f30-0) 0.0 (sin f30-0) 1.0) ) @@ -2052,7 +2051,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -2072,7 +2071,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-3 prim-core action) (collide-action deadly)) ) (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) @@ -2095,7 +2094,7 @@ ) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) - (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logior! (-> v1-22 prim-core action) (collide-action deadly)) ) (set! gp-0 #t) @@ -2195,7 +2194,7 @@ ) :code (behavior () (local-vars (v1-35 object)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data (-> self anim-shoot 0 anim-index)) @@ -2210,7 +2209,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2285,7 +2284,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2301,8 +2300,8 @@ ) (defmethod crimson-guard-method-226 crimson-guard ((obj crimson-guard)) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s5-0 (-> obj root-override2)) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s5-0 (-> obj root)) (s3-0 (lambda ((arg0 crimson-guard) (arg1 collide-shape-moving) (arg2 vector)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) @@ -2315,7 +2314,7 @@ ) ((let ((a1-4 (new 'stack-no-clear 'vector))) (set! (-> a1-4 quad) (-> s4-0 quad)) - (set! (-> a1-4 w) (-> arg0 root-override2 nav-radius)) + (set! (-> a1-4 w) (-> arg0 root nav-radius)) (add-root-sphere-to-hash! (-> arg0 nav) a1-4 #x8046e) ) #f @@ -2362,16 +2361,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior crimson-guard) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) 40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) 40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -2385,12 +2384,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2409,12 +2404,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2459,18 +2450,18 @@ (let ((a0-0 self)) (when (logtest? (enemy-flag enemy-flag36) (-> a0-0 enemy-flags)) (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new 'stack-no-clear 'vector) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (-> self root) (new 'stack-no-clear 'vector) 0.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (a0-5 (-> self root-override2)) + (a0-5 (-> self root)) ) (set! (-> a2-1 collide-with) (-> a0-5 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (-> a0-5 pat-ignore-mask)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide a0-5 (-> self root-override2 transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide a0-5 (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -2483,16 +2474,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior crimson-guard) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) -40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) -40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -2506,12 +2497,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2530,12 +2517,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2594,7 +2577,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((a0-9 (-> self nav state)) (v1-12 *null-vector*) ) @@ -2620,7 +2603,7 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-2 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data 19) @@ -2631,7 +2614,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2664,7 +2647,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2694,7 +2677,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((a0-9 (-> self nav state)) (v1-12 *null-vector*) ) @@ -2716,7 +2699,7 @@ :trans (behavior () (crimson-guard-method-220 self) (if (logtest? (-> self flags) (citizen-flag target-in-sight)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-3)) ) (none) ) @@ -2763,7 +2746,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (nav-enemy-simple-post) (none) ) @@ -3184,7 +3167,7 @@ (sound-stop (-> self lazer-sound)) ) (iterate-prims - (-> self root-override2) + (-> self root) (lambda ((arg0 collide-shape-prim)) (logclear! (-> arg0 prim-core action) (collide-action deadly)) (none)) ) (let ((v1-5 (-> self l-control)) @@ -3245,7 +3228,7 @@ (while (or (< 7281.778 (fabs (-> self target-y-angle))) (>= (-> self next-shot) (current-time))) (when gp-2 ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (cond ((< 7281.778 (fabs (-> self target-y-angle))) (ja-channel-push! 1 (seconds 0.1)) @@ -3267,8 +3250,8 @@ ) (until (ja-done? 0) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f30-0 (-> self clock seconds-per-frame)) ) (suspend) @@ -3282,8 +3265,8 @@ ) (until (ja-done? 0) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f30-0 (-> self clock seconds-per-frame)) ) (suspend) @@ -3344,7 +3327,7 @@ ) (crimson-guard-method-221 self) (set! (-> self next-shot) (the-as int (+ (current-time) (seconds 0.1)))) - (let ((v1-155 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-155 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logior! (-> v1-155 prim-core action) (collide-action deadly)) ) (let* ((v1-156 *game-info*) @@ -3383,7 +3366,7 @@ (ja :num! (loop! f30-1)) ) ) - (let ((v1-181 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-181 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logclear! (-> v1-181 prim-core action) (collide-action deadly)) ) (let ((v1-182 (-> self l-control)) @@ -3441,7 +3424,7 @@ ) ) (when s4-0 - (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root-override trans)))) + (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans)))) (s3-1 (new 'stack-no-clear 'vector)) ) (set! (-> s3-1 x) (if (zero? (-> obj transport-side)) @@ -3452,8 +3435,8 @@ (set! (-> s3-1 y) 12288.0) (set! (-> s3-1 z) (lerp-scale -16384.0 -49152.0 arg0 0.0 1.0)) (set! (-> s3-1 w) 1.0) - (quaternion-rotate-local-y! (-> obj root-override2 quat) (-> s4-0 root-override quat) 32768.0) - (vector-matrix*! (-> obj root-override2 trans) s3-1 s2-0) + (quaternion-rotate-local-y! (-> obj root quat) (-> s4-0 root quat) 32768.0) + (vector-matrix*! (-> obj root trans) s3-1 s2-0) ) ) ) @@ -3484,7 +3467,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (f30-0 0.0) ) (dotimes (s3-0 2) @@ -3496,7 +3479,7 @@ ) (vector-rotate-around-y! sv-768 s4-0 (* 182.04445 (the float (+ (* 23 s2-0) -70)))) (let ((v1-10 s1-0)) - (let ((a0-6 (-> obj root-override2 trans))) + (let ((a0-6 (-> obj root trans))) (let ((a1-5 sv-768)) (let ((a2-2 1.0)) (.mov vf7 a2-2) @@ -3588,20 +3571,20 @@ ;; WARN: Return type mismatch object vs none. (defmethod enemy-method-93 crimson-guard ((obj crimson-guard)) (let ((s5-0 (-> obj nav state)) - (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-0 heading quad) (-> v1-2 quad)) ) 0 (let ((s5-1 (-> obj nav state)) - (v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (logior! (-> s5-1 flags) (nav-state-flag directional-mode)) (set! (-> s5-1 travel quad) (-> v1-7 quad)) ) 0 (let ((s5-2 (-> obj nav state)) - (v1-12 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-12 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-2 velocity quad) (-> v1-12 quad)) ) @@ -3708,7 +3691,7 @@ (logclear! (-> self flags) (citizen-flag hostile)) (nav-enemy-method-166 self) (let ((v1-9 (-> self nav))) - (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info run-travel-speed))) ) 0 (set! (-> self already-shot) #f) @@ -3731,8 +3714,8 @@ (when (not (-> self already-shot)) (crimson-guard-method-223 self 1.0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (set! (-> gp-0 quad) (-> self root trans quad)) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack 'collide-query)) ) (let ((a0-3 gp-0)) @@ -3874,7 +3857,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -3936,17 +3919,17 @@ (cond ((zero? (-> obj guard-type)) (setup-masks (-> obj draw) 16 0) - (set! (-> obj root-override2 nav-radius) 8192.0) + (set! (-> obj root nav-radius) 8192.0) ) (else (setup-masks (-> obj draw) 8 0) - (set! (-> obj root-override2 nav-radius) 6144.0) + (set! (-> obj root nav-radius) 6144.0) ) ) (cond ((and (not arg1) (logtest? (-> obj flags) (citizen-flag dark-guard))) (setup-masks (-> obj draw) 5 0) - (set-vector! (-> obj root-override2 scale) 1.1 1.1 1.1 1.0) + (set-vector! (-> obj root scale) 1.1 1.1 1.1 1.0) (set-vector! (-> obj joint scale) 1.1 1.0 1.1 1.0) (let* ((a0-16 (-> obj neck)) (t9-5 (method-of-object a0-16 trs-set!)) @@ -3966,7 +3949,7 @@ ) (else (setup-masks (-> obj draw) 3 0) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (set-vector! (-> obj joint scale) 1.0 1.0 1.0 1.0) (let* ((a0-29 (-> obj neck)) (t9-8 (method-of-object a0-29 trs-set!)) @@ -3993,7 +3976,7 @@ (t9-0 obj) ) (if (logtest? (-> obj flags) (citizen-flag dark-guard)) - (set! (-> obj hit-points) (the int (* 2.0 (the float (-> obj enemy-info-override default-hit-points))))) + (set! (-> obj hit-points) (the int (* 2.0 (the float (-> obj enemy-info default-hit-points))))) ) (set! (-> obj hit-face) (the-as uint -1)) (crimson-guard-method-225 obj (get-guard-type-for-traffic-obj (-> obj controller traffic) 6) #f) @@ -4004,9 +3987,9 @@ (set! (-> obj joint-enable) #f) (logclear! (-> obj mask) (process-mask enemy)) (set! (-> obj mask) (logior (process-mask guard) (-> obj mask))) - (set! (-> obj fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> obj fact-info-override pickup-amount) 10.0) - (set! (-> obj fact-info-override pickup-spawn-amount) 1.0) + (set! (-> obj fact pickup-type) (pickup-type ammo-random)) + (set! (-> obj fact pickup-amount) 10.0) + (set! (-> obj fact pickup-spawn-amount) 1.0) (set! (-> obj traffic-target-status handle) (the-as handle #f)) (let ((v1-24 (get-rand-int obj 2))) (cond diff --git a/goal_src/jak2/levels/city/common/metalhead-flitter.gc b/goal_src/jak2/levels/city/common/metalhead-flitter.gc index ae4709d9bd..4db451fba4 100644 --- a/goal_src/jak2/levels/city/common/metalhead-flitter.gc +++ b/goal_src/jak2/levels/city/common/metalhead-flitter.gc @@ -176,7 +176,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 5) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 5) :frustration-distance (meters 12) :frustration-time (seconds 4) @@ -195,7 +195,7 @@ (camera-pos) (let* ((s3-0 (get-trans arg0 0)) (s5-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-0 vector 2) 1.0)) - (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) s3-0) 1.0)) + (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) s3-0) 1.0)) ) (< 0.0 (vector-dot s5-1 v1-7)) ) @@ -283,19 +283,19 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (set! (-> self base-height) (-> self root-override2 trans y)) - (let ((v1-13 (-> self root-override2 root-prim))) + (set! (-> self base-height) (-> self root trans y)) + (let ((v1-13 (-> self root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) 0 (let ((a0-4 (handle->process (-> self focus handle)))) (when a0-4 - (let* ((gp-1 (-> self root-override2)) + (let* ((gp-1 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-4) 0) (-> gp-1 trans)) @@ -333,7 +333,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-4 a1-2 @@ -370,7 +370,7 @@ (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-8 a1-5 @@ -392,7 +392,7 @@ (suspend) ) ) - (set! (-> self root-override2 trans y) (+ -8192.0 (-> self root-override2 trans y))) + (set! (-> self root trans y) (+ -8192.0 (-> self root trans y))) (logior! (-> self draw status) (draw-control-status no-draw)) (let ((gp-3 (current-time))) (until (>= (- (current-time) gp-3) (the int (* 300.0 (get-rand-float-range self 0.0 0.6)))) @@ -417,7 +417,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -426,7 +426,7 @@ 0 (look-at-target! self (enemy-flag lock-focus)) (set! (-> self state-time) (current-time)) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (vector-reset! (-> gp-0 transv)) (set! (-> gp-0 transv y) (* 4096.0 (get-rand-float-range self 34.0 38.0))) ) @@ -438,7 +438,7 @@ :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) frames num-frames) -1))) ) (until #f - (when (< (-> self base-height) (-> self root-override2 trans y)) + (when (< (-> self base-height) (-> self root trans y)) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-0 (let ((t9-3 (method-of-type part-tracker activate))) @@ -459,7 +459,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-4 a1-4 @@ -481,10 +481,10 @@ ) #f (until #f - (when (< (+ 204.8 (-> self base-height)) (-> self root-override2 trans y)) - (let ((v1-40 (-> self root-override2 root-prim))) - (set! (-> v1-40 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-40 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (< (+ 204.8 (-> self base-height)) (-> self root trans y)) + (let ((v1-40 (-> self root root-prim))) + (set! (-> v1-40 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-40 prim-core collide-with) (-> self root backup-collide-with)) ) (goto cfg-11) ) @@ -495,10 +495,8 @@ #f (until #f (label cfg-11) - (if (or (and (>= 0.0 (-> self root-override2 transv y)) - (>= (+ 1638.4 (-> self base-height)) (-> self root-override2 trans y)) - ) - (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (or (and (>= 0.0 (-> self root transv y)) (>= (+ 1638.4 (-> self base-height)) (-> self root trans y))) + (logtest? (-> self root status) (collide-status on-ground)) ) (goto cfg-26) ) @@ -518,7 +516,7 @@ (ja :num! (seek!)) ) (until #f - (if (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (logtest? (-> self root status) (collide-status on-ground)) (goto cfg-33) ) (suspend) @@ -544,7 +542,7 @@ ) (when s3-0 (let* ((s5-1 (get-trans (the-as process-focusable s3-0) 0)) - (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root-override2 trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root trans))) (f30-0 (vector-length s4-1)) ) (cond @@ -554,12 +552,12 @@ ((and (< f30-0 32768.0) (not (metalhead-flitter-method-207 obj (the-as process-focusable s3-0)))) (go (method-of-object obj circling)) ) - ((< f30-0 (-> obj enemy-info-override notice-nav-radius)) + ((< f30-0 (-> obj enemy-info notice-nav-radius)) (set! (-> obj target-pos quad) (-> s5-1 quad)) (let ((s3-1 (new 'stack-no-clear 'vector))) (set! (-> s3-1 quad) (-> s4-1 quad)) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> obj root-override2 transv quad)) + (set! (-> s5-2 quad) (-> obj root transv quad)) (vector-normalize! s5-2 f30-0) (if (>= (vector-dot s3-1 s5-2) 0.98) (go (method-of-object obj attack)) @@ -571,7 +569,7 @@ (set! (-> obj target-pos quad) (-> s5-1 quad)) ) ((or (>= (- (current-time) (the-as int (-> obj last-change-dir))) (-> obj change-dir-time)) - (< (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj target-pos)) 0.1) + (< (vector-vector-distance-squared (-> obj root trans) (-> obj target-pos)) 0.1) ) (set! (-> obj last-change-dir) (the-as uint (current-time))) (set! (-> obj change-dir-time) (rand-vu-int-range (seconds 0.5) (seconds 0.7))) @@ -609,7 +607,7 @@ (when (>= (- (current-time) (the-as int (-> obj amb-sound-timer))) (the int (* 300.0 (rand-vu-float-range 1.5 3.0))) ) - (sound-play "flitter-amb" :position (-> obj root-override2 trans)) + (sound-play "flitter-amb" :position (-> obj root trans)) (set! (-> obj amb-sound-timer) (the-as uint (current-time))) ) (none) @@ -620,19 +618,19 @@ (stop-looking-at-target! self) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim arg0)) (let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector))) - (s3-0 (-> self root-override2)) + (s3-0 (-> self root)) ) (when (if (type? s3-0 collide-shape-moving) s3-0 ) - (set! (-> self root-override2 transv y) 33775.48) + (set! (-> self root transv y) 33775.48) (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self state-time) (current-time)) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (until v1-29 (let ((f0-2 102400.0)) - (set! (-> self root-override2 transv x) (* (-> s4-1 x) f0-2)) - (set! (-> self root-override2 transv z) (* (-> s4-1 z) f0-2)) + (set! (-> self root transv x) (* (-> s4-1 x) f0-2)) + (set! (-> self root transv z) (* (-> s4-1 z) f0-2)) ) (suspend) (ja :num! (seek! max arg1)) @@ -685,17 +683,14 @@ 0 ) (let ((v1-29 (ja-group))) - (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -775,7 +770,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (metalhead-flitter-fall-and-play-death-anim - (the-as int (-> self draw art-group data (-> self enemy-info-override die-anim))) + (the-as int (-> self draw art-group data (-> self enemy-info die-anim))) 1.0 (seconds 2) ) @@ -786,7 +781,7 @@ ) (defmethod metalhead-flitter-method-209 metalhead-flitter ((obj metalhead-flitter)) - (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root-override2 trans y)) 13926.4 25600.0) + (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root trans y)) 13926.4 25600.0) ) (defstate attack (metalhead-flitter) @@ -802,7 +797,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (sound-play "flitter-attack") @@ -948,17 +943,14 @@ 0 ) (let ((v1-29 (ja-group))) - (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1049,13 +1041,10 @@ (nav-enemy-method-166 self) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1074,7 +1063,7 @@ ) (defmethod metalhead-flitter-method-208 metalhead-flitter ((obj metalhead-flitter) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (-> v1-1 specific 0))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1135,7 +1124,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1175,7 +1164,7 @@ 318 (new 'static 'vector :x -942.08 :y -860.16 :z 1269.76 :w 163840.0) ) - (set-gravity-length (-> obj root-override2 dynam) 491520.0) + (set-gravity-length (-> obj root dynam) 491520.0) (set! (-> obj minimap) #f) (none) ) @@ -1185,10 +1174,10 @@ (let ((t9-0 (method-of-type citizen-enemy citizen-init!))) (t9-0 obj) ) - (set! (-> obj speed-walk) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj dist-walk-anim) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj dist-run-anim) (-> obj enemy-info-override run-travel-speed)) - (set! (-> obj speed-run) (-> obj enemy-info-override walk-travel-speed)) + (set! (-> obj speed-walk) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj dist-walk-anim) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj dist-run-anim) (-> obj enemy-info run-travel-speed)) + (set! (-> obj speed-run) (-> obj enemy-info walk-travel-speed)) 0 (none) ) diff --git a/goal_src/jak2/levels/city/common/metalhead-grunt.gc b/goal_src/jak2/levels/city/common/metalhead-grunt.gc index f5f58bccb5..9460965aec 100644 --- a/goal_src/jak2/levels/city/common/metalhead-grunt.gc +++ b/goal_src/jak2/levels/city/common/metalhead-grunt.gc @@ -205,7 +205,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 6) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -283,7 +283,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -315,10 +315,10 @@ (defmethod go-ambush metalhead-grunt ((obj metalhead-grunt)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user10)) + ((logtest? (-> obj fact enemy-options) (enemy-option user10)) (go (method-of-object obj falling-ambush)) ) - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user11)) + ((logtest? (-> obj fact enemy-options) (enemy-option user11)) (go (method-of-object obj jumping-ambush)) ) (else @@ -340,7 +340,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -351,7 +351,7 @@ ) ) (when a0-4 - (let* ((gp-2 (-> self root-override2)) + (let* ((gp-2 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-4 0) (-> gp-2 trans)) 1.0)) (f0-0 (deg-diff (quaternion-y-angle (-> gp-2 quat)) (vector-y-angle s3-0))) ) @@ -369,13 +369,10 @@ (none) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -417,7 +414,7 @@ (format 0 "ERROR: ~A has no intro path, skipping jumping-ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-in-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-in-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -574,13 +571,10 @@ 0 (nav-enemy-method-167 self) (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -593,13 +587,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -617,7 +608,7 @@ (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-171 enemy-flags)))) ) (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-171 enemy-flags)))) - (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info-override callback-info)) + (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info callback-info)) ) 0 ) @@ -641,7 +632,7 @@ (let ((v1-3 (get-trans gp-0 0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-! s4-0 v1-3 (-> obj root-override2 trans)) + (vector-! s4-0 v1-3 (-> obj root trans)) (.lvf vf1 (&-> s4-0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -655,7 +646,7 @@ (f0-2 12288.0) ) (when (or (>= (* f0-2 f0-2) f30-0) (>= f28-0 f30-0)) - (let ((f26-0 (quaternion-y-angle (-> obj root-override2 quat))) + (let ((f26-0 (quaternion-y-angle (-> obj root quat))) (f0-7 (atan (-> s4-0 x) (-> s4-0 z))) (f1-0 1228.8) ) @@ -693,10 +684,9 @@ (when (and (>= gp-0 (-> self next-warn-time)) (not (logtest? (-> self draw status) (draw-control-status on-screen))) ) - (when (and a0-1 - (let ((f0-0 65536.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root-override2 trans))) - ) + (when (and a0-1 (let ((f0-0 65536.0)) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root trans))) + ) ) (sound-play "grunt-warn") (set! (-> self next-warn-time) (+ gp-0 (get-rand-int-range self 300 360))) @@ -772,12 +762,12 @@ ) :enter (behavior () (let ((v1-1 (-> self nav state))) - (set! (-> v1-1 speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-1 speed) (-> self enemy-info run-travel-speed)) ) 0 (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-10 *game-info*) (a0-5 (+ (-> v1-10 attack-id) 1)) @@ -846,7 +836,7 @@ ) 0 (let ((v1-38 (-> self nav))) - (set! (-> v1-38 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-38 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((gp-1 (-> self draw art-group data (-> self charge-anim anim-index)))) @@ -959,7 +949,7 @@ (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable a0-9) 0) quad)) ) ) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1129,7 +1119,7 @@ ) (else (let ((s4-3 (ash 1 (-> *grunt-global-info* prev-knocked-anim-index)))) - (let ((s3-0 (-> obj root-override2))) + (let ((s3-0 (-> obj root))) (if (>= 16384.0 (fabs (deg- (quaternion-y-angle (-> s3-0 quat)) (atan (-> s3-0 transv x) (-> s3-0 transv z))))) (set! s4-3 (logior s4-3 4)) ) @@ -1216,25 +1206,25 @@ (when s5-0 (let ((gp-0 (get-trans (the-as process-focusable s5-0) 0))) (when (and (or (not (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice))) - (>= 163840.0 (vector-vector-distance (-> self root-override2 trans) gp-0)) + (>= 163840.0 (vector-vector-distance (-> self root trans) gp-0)) ) - (or (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user8))) + (or (not (logtest? (-> self fact enemy-options) (enemy-option user8))) (and (not (focus-test? (the-as process-focusable s5-0) in-air)) - (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root-override2 trans y)))) + (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root trans y)))) ) ) ) (cond - ((and (logtest? (-> self fact-info-override enemy-options) (enemy-option user9)) + ((and (logtest? (-> self fact enemy-options) (enemy-option user9)) (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice)) ) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector-! s5-1 gp-0 (-> self root-override2 trans)) + (vector-! s5-1 gp-0 (-> self root trans)) (let ((f0-2 32768.0) (v1-26 s5-1) ) (if (or (>= f0-2 (sqrtf (+ (* (-> v1-26 x) (-> v1-26 x)) (* (-> v1-26 z) (-> v1-26 z))))) - (>= 20024.889 (fabs (deg- (y-angle (-> self root-override2)) (atan (-> s5-1 x) (-> s5-1 z))))) + (>= 20024.889 (fabs (deg- (y-angle (-> self root)) (atan (-> s5-1 x) (-> s5-1 z))))) ) (go-virtual notice) ) @@ -1357,7 +1347,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1386,7 +1376,7 @@ (set! (-> v1-8 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (let ((s5-2 *grunt-global-info*)) (set! (-> obj patrol-anim) (-> s5-2 patrol-anim (get-rand-int obj 4))) (set! (-> obj charge-anim) (-> s5-2 charge-anim (get-rand-int obj 3))) diff --git a/goal_src/jak2/levels/city/common/metalhead-predator.gc b/goal_src/jak2/levels/city/common/metalhead-predator.gc index 63ed84f602..79cef68437 100644 --- a/goal_src/jak2/levels/city/common/metalhead-predator.gc +++ b/goal_src/jak2/levels/city/common/metalhead-predator.gc @@ -23,12 +23,12 @@ (sound-play "pred-shot-hit") ) (((projectile-options lose-altitude proj-options-2)) - (let ((f0-0 (doppler-pitch-shift (-> obj root-override trans) (-> obj root-override transv))) + (let ((f0-0 (doppler-pitch-shift (-> obj root trans) (-> obj root transv))) (a0-8 (static-sound-spec "pred-shot-loop" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-8 volume) 1024) (set! (-> a0-8 pitch-mod) (the int (* 1524.0 f0-0))) - (sound-play-by-spec a0-8 (-> obj sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-8 (-> obj sound-id) (-> obj root trans)) ) ) ) @@ -79,9 +79,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -89,14 +89,14 @@ (defmethod init-proj-settings! metalhead-predator-shot ((obj metalhead-predator-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'predator-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalhead-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.767)) (set! (-> obj sound-id) (new-sound-id)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -267,7 +267,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 3) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :frustration-distance (meters 8) :frustration-time (seconds 4) :blocked-time (seconds 0.3) @@ -364,12 +364,12 @@ (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) ) ) - (if (< 245760.0 (vector-vector-distance (-> obj root-override2 trans) (camera-pos))) + (if (< 245760.0 (vector-vector-distance (-> obj root trans) (camera-pos))) (setup-masks (-> obj draw) 0 8) ) - (when (< (-> pp clock frame-counter) (-> obj shock-effect-end)) - (when (>= (- (-> pp clock frame-counter) (-> obj shock-effect-time)) (seconds 0.04)) - (set! (-> obj shock-effect-time) (-> pp clock frame-counter)) + (when (< (current-time) (-> obj shock-effect-end)) + (when (>= (- (current-time) (-> obj shock-effect-time)) (seconds 0.04)) + (set! (-> obj shock-effect-time) (current-time)) (process-drawable-shock-skel-effect obj (-> *lightning-spec-id-table* 15) @@ -404,20 +404,18 @@ (defmethod general-event-handler metalhead-predator ((obj metalhead-predator) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) "Handles various events for the enemy @TODO - unsure if there is a pattern for the events and this should have a more specific name" - (with-pp - (case arg2 - (('attack) - (set! (-> obj shock-effect-end) (the-as int (+ (-> pp clock frame-counter) (seconds 1)))) - ((method-of-type citizen-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - (('combo) - (and (not (and (-> obj next-state) (= (-> obj next-state name) 'inactive))) - (and (not (logtest? (enemy-flag multi-focus) (-> obj enemy-flags))) (nonzero? (-> obj hit-points))) - ) - ) - (else - ((method-of-type citizen-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) + (case arg2 + (('attack) + (set! (-> obj shock-effect-end) (the-as int (+ (current-time) (seconds 1)))) + ((method-of-type citizen-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + (('combo) + (and (not (and (-> obj next-state) (= (-> obj next-state name) 'inactive))) + (and (not (logtest? (enemy-flag multi-focus) (-> obj enemy-flags))) (nonzero? (-> obj hit-points))) + ) + ) + (else + ((method-of-type citizen-enemy general-event-handler) obj arg0 arg1 arg2 arg3) ) ) ) @@ -715,7 +713,7 @@ ) (let ((a0-19 s2-0)) (let ((v1-31 s2-0)) - (let ((a1-6 (-> (the-as process-focusable s3-0) root-override transv))) + (let ((a1-6 (-> (the-as process-focusable s3-0) root transv))) (let ((a2-2 f0-6)) (.mov vf7 a2-2) ) @@ -818,10 +816,8 @@ ) ) (set! (-> self want-stop) #f) - (set! (-> self state-time) (-> self clock frame-counter)) - (set! (-> self next-change) - (the-as int (+ (-> self clock frame-counter) (the int (* 300.0 (rand-vu-float-range 4.0 8.0))))) - ) + (set! (-> self state-time) (current-time)) + (set! (-> self next-change) (the-as int (+ (current-time) (the int (* 300.0 (rand-vu-float-range 4.0 8.0)))))) (if (zero? (get-rand-int self 3)) (sound-play "pred-talk") ) @@ -834,8 +830,8 @@ ) ) (let ((gp-0 (handle->process (-> self focus handle)))) - (if (and gp-0 (or (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status inactive)) - (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable)) + (if (and gp-0 (or (focus-test? (the-as process-focusable gp-0) inactive) + (focus-test? (the-as process-focusable gp-0) disable) ) ) (set! gp-0 (the-as process #f)) @@ -844,11 +840,9 @@ (go-virtual active) ) (when (get-enemy-target self) - (when (and gp-0 (>= (- (-> self clock frame-counter) (-> self state-time)) (-> self reaction-time))) + (when (and gp-0 (>= (- (current-time) (-> self state-time)) (-> self reaction-time))) (cond - ((< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 16384.0 - ) + ((< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 16384.0) (go-virtual close-attack) ) ((check-los? (-> self los) 0) @@ -912,8 +906,8 @@ ) :trans (behavior () (let ((v1-2 (handle->process (-> self focus handle)))) - (if (and v1-2 (or (logtest? (-> (the-as process-focusable v1-2) focus-status) (focus-status inactive)) - (logtest? (-> (the-as process-focusable v1-2) focus-status) (focus-status disable)) + (if (and v1-2 (or (focus-test? (the-as process-focusable v1-2) inactive) + (focus-test? (the-as process-focusable v1-2) disable) ) ) (set! v1-2 (the-as process #f)) @@ -946,18 +940,12 @@ (let ((s5-0 (handle->process (-> self focus handle)))) (when s5-0 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable s5-0) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s5-0) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable s5-0) 0)) - 24576.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable s5-0) 0)) 24576.0) (go-virtual close-attack) ) ) @@ -985,7 +973,7 @@ (traffic-danger-init! self) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-9 *game-info*) (a0-5 (+ (-> v1-9 attack-id) 1)) @@ -1050,7 +1038,7 @@ ) (defmethod metalhead-predator-method-205 metalhead-predator ((obj metalhead-predator) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (+ (-> v1-1 specific 0) -2))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child (+ a0-1 2)))) (if arg0 @@ -1138,7 +1126,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/city/common/pilot-states.gc b/goal_src/jak2/levels/city/common/pilot-states.gc index dcf2666c9f..1a18add7b6 100644 --- a/goal_src/jak2/levels/city/common/pilot-states.gc +++ b/goal_src/jak2/levels/city/common/pilot-states.gc @@ -555,7 +555,7 @@ ) (else (compute-seat-position (the-as vehicle gp-0) (-> self control unknown-vector38) (-> self pilot seat-index)) - (set! (-> self control unknown-vector40 quad) (-> (the-as vehicle gp-0) root-override-2 quat quad)) + (set! (-> self control unknown-vector40 quad) (-> (the-as vehicle gp-0) root quat quad)) ) ) ) @@ -860,7 +860,7 @@ (set! (-> v1-4 damage) (-> *FACT-bank* health-default-inc)) ) (combine! sv-16 arg1 self) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-pilot-death (-> sv-16 mode)) (none) ) diff --git a/goal_src/jak2/levels/city/common/target-pilot.gc b/goal_src/jak2/levels/city/common/target-pilot.gc index 7960e5d478..d584c046e4 100644 --- a/goal_src/jak2/levels/city/common/target-pilot.gc +++ b/goal_src/jak2/levels/city/common/target-pilot.gc @@ -95,20 +95,17 @@ ) (('vehicle-hit) (speech-control-method-12 *speech-control* self (if (-> self pilot as-daxter?) - (speech-type speech-type-1 speech-type-3 speech-type-5) - (speech-type speech-type-0 speech-type-5) + (speech-type speech-type-42) + (speech-type speech-type-33) ) ) ) (('vehicle-got-hit) - (speech-control-method-12 - *speech-control* - self - (if (-> self pilot as-daxter?) - (speech-type speech-type-0 speech-type-1 speech-type-3 speech-type-5) - (speech-type speech-type-1 speech-type-5) - ) - ) + (speech-control-method-12 *speech-control* self (if (-> self pilot as-daxter?) + (speech-type speech-type-43) + (speech-type speech-type-34) + ) + ) ) (else (target-standard-event-handler arg0 arg1 arg2 arg3) @@ -223,8 +220,8 @@ (let ((s4-1 (handle->process (-> s5-0 vehicle)))) (when s4-1 (set! (-> s5-0 entity) (-> s4-1 entity)) - (set! (-> s5-0 gun?) (logtest? (-> (the-as vehicle s4-1) info-override flags) 32)) - (set! (-> s5-0 enable-cam-side-shift) (logtest? (-> (the-as vehicle s4-1) info-override flags) 128)) + (set! (-> s5-0 gun?) (logtest? (-> (the-as vehicle s4-1) info flags) 32)) + (set! (-> s5-0 enable-cam-side-shift) (logtest? (-> (the-as vehicle s4-1) info flags) 128)) (send-event (ppointer->process (-> (the-as vehicle s4-1) parent)) 'player-got-on-vehicle-child @@ -351,8 +348,8 @@ ) (when s5-0 (compute-seat-position (the-as vehicle s5-0) (-> self control trans) (-> gp-2 seat-index)) - (set! (-> self control transv quad) (-> (the-as vehicle s5-0) root-override-2 transv quad)) - (quaternion-copy! (-> self control quat) (-> (the-as vehicle s5-0) root-override-2 quat)) + (set! (-> self control transv quad) (-> (the-as vehicle s5-0) root transv quad)) + (quaternion-copy! (-> self control quat) (-> (the-as vehicle s5-0) root quat)) (quaternion-copy! (-> self control quat-for-control) (-> self control quat)) (quaternion-copy! (-> self control dir-targ) (-> self control quat)) (let ((s4-0 (-> self alt-cam-pos))) diff --git a/goal_src/jak2/levels/city/common/test-car.gc b/goal_src/jak2/levels/city/common/test-car.gc index 44ee9ea082..4ef43e2dc2 100644 --- a/goal_src/jak2/levels/city/common/test-car.gc +++ b/goal_src/jak2/levels/city/common/test-car.gc @@ -87,7 +87,7 @@ :seat-count 3 :section-count 4 :rider-stance #x1 - :grab-rail-count #x6 + :grab-rail-count 6 :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 6 (new 'static 'vehicle-grab-rail-info :local-pos (new 'static 'inline-array vector 2 diff --git a/goal_src/jak2/levels/city/common/traffic-engine.gc b/goal_src/jak2/levels/city/common/traffic-engine.gc index 83af50ddfc..58f5dcf5ea 100644 --- a/goal_src/jak2/levels/city/common/traffic-engine.gc +++ b/goal_src/jak2/levels/city/common/traffic-engine.gc @@ -1593,7 +1593,7 @@ Process is recycled and moved to reserved, if it deactivates." (when (nonzero? (-> a2-0 pilot)) (let ((a2-1 (handle->process (-> a2-0 pilot vehicle)))) (when a2-1 - (set! (-> s5-0 quad) (-> (the-as process-focusable a2-1) root-override root-prim prim-core world-sphere quad)) + (set! (-> s5-0 quad) (-> (the-as process-focusable a2-1) root root-prim prim-core world-sphere quad)) (spatial-hash-method-39 (-> obj object-hash) s5-0 (the-as hash-object-info a2-1)) ) ) @@ -1616,7 +1616,7 @@ Process is recycled and moved to reserved, if it deactivates." (deactivate-object (-> obj citizen-tracker-array) (the-as int s4-0) #f) ) ((begin - (let ((v1-33 (-> (the-as vehicle s3-0) root-override-2))) + (let ((v1-33 (-> (the-as vehicle s3-0) root))) (set! (-> s5-0 quad) (-> v1-33 trans quad)) (set! (-> s5-0 w) (-> v1-33 root-prim prim-core world-sphere w)) ) @@ -1646,7 +1646,7 @@ Process is recycled and moved to reserved, if it deactivates." (deactivate-object (-> obj vehicle-tracker-array) (the-as int s4-1) #f) ) ((begin - (let ((v1-54 (-> (the-as process-focusable s3-1) root-override))) + (let ((v1-54 (-> (the-as process-focusable s3-1) root))) (set! (-> s5-0 quad) (-> v1-54 trans quad)) (set! (-> s5-0 w) (-> v1-54 root-prim prim-core world-sphere w)) ) @@ -2047,7 +2047,7 @@ Process is recycled and moved to reserved, if it deactivates." ) ) (when (and s2-0 (not (focus-test? s2-0 disable dead inactive)) (!= arg0 s2-0)) - (let ((f0-0 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-0 root-override trans)))) + (let ((f0-0 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-0 root trans)))) (when (or (not gp-0) (< f0-0 f30-0)) (set! gp-0 s2-0) (set! f30-0 f0-0) @@ -2079,7 +2079,7 @@ Process is recycled and moved to reserved, if it deactivates." ) ) (when (and s2-1 (not (focus-test? s2-1 disable dead inactive)) (!= arg0 s2-1)) - (let ((f0-1 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-1 root-override trans)))) + (let ((f0-1 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-1 root trans)))) (when (or (not gp-0) (< f0-1 f30-0)) (set! gp-0 s2-1) (set! f30-0 f0-1) @@ -2110,7 +2110,7 @@ Process is recycled and moved to reserved, if it deactivates." ) ) (when (and s2-2 (not (focus-test? s2-2 disable dead inactive)) (!= arg0 s2-2)) - (let ((f0-2 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-2 root-override trans)))) + (let ((f0-2 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-2 root trans)))) (when (or (not gp-0) (< f0-2 f30-0)) (set! gp-0 s2-2) (set! f30-0 f0-2) @@ -2196,7 +2196,7 @@ Process is recycled and moved to reserved, if it deactivates." ) (set! (-> guards guard-idx) (the-as crimson-guard guard)) (set! (-> guard-target-dists guard-idx) - (vector-vector-distance (-> (the-as crimson-guard guard) root-override2 trans) target-pos) + (vector-vector-distance (-> (the-as crimson-guard guard) root trans) target-pos) ) (set! guard-idx (+ guard-idx 1)) (set! (-> (the-as crimson-guard guard) move-index) -1) @@ -2231,7 +2231,7 @@ Process is recycled and moved to reserved, if it deactivates." (dotimes (s2-4 (-> *guard-target-spots* length)) (when (= (-> *guard-status-spots* s2-4) 1) (let* ((a0-53 (vector+! (new 'stack-no-clear 'vector) target-pos (-> *guard-target-spots* s2-4))) - (f0-4 (vector-vector-distance a0-53 (-> crimson-guard root-override2 trans))) + (f0-4 (vector-vector-distance a0-53 (-> crimson-guard root trans))) ) (when (or (= sv-208 -1) (< f0-4 sv-216)) (set! sv-208 s2-4) @@ -2481,7 +2481,7 @@ Process is recycled and moved to reserved, if it deactivates." :shot-count 1 ) :ped-rifle (new 'static 'traffic-guard-type-settings - :target-count #x7 + :target-count 7 :inaccuracy 0.25 :acquire-delay #x12c :shot-delay #x4b @@ -2532,7 +2532,7 @@ Process is recycled and moved to reserved, if it deactivates." :shot-count 1 ) :ped-rifle (new 'static 'traffic-guard-type-settings - :target-count #x7 + :target-count 7 :inaccuracy 0.125 :acquire-delay #x96 :shot-delay #x2d @@ -2609,7 +2609,7 @@ Process is recycled and moved to reserved, if it deactivates." (not (focus-test? (the-as vehicle a3-6) dead inactive)) (logtest? (rigid-body-object-flag alert) (-> (the-as vehicle a3-6) flags)) ) - (let ((t0-13 (-> (the-as vehicle a3-6) info-override guard-type))) + (let ((t0-13 (-> (the-as vehicle a3-6) info guard-type))) (+! (-> obj alert-state guard-type-info-array t0-13 count) 1) ) (when (and (logtest? (rigid-body-object-flag in-pursuit) (-> (the-as vehicle a3-6) flags)) diff --git a/goal_src/jak2/levels/city/common/traffic-height-map.gc b/goal_src/jak2/levels/city/common/traffic-height-map.gc index fd7daf1086..2bd3f277a3 100644 --- a/goal_src/jak2/levels/city/common/traffic-height-map.gc +++ b/goal_src/jak2/levels/city/common/traffic-height-map.gc @@ -786,16 +786,16 @@ 0 0 1 - #x7 - #x6 + 7 + 6 3 0 3 4 - #x6 - #x6 + 6 + 6 5 - #x7 + 7 4 0 0 @@ -866,8 +866,8 @@ 0 0 4 - #x9 - #x7 + 9 + 7 3 0 3 @@ -1036,8 +1036,8 @@ 3 2 5 - #x8 - #x9 + 8 + 9 5 0 1 @@ -1110,14 +1110,14 @@ 2 3 3 - #xa - #x6 - #x7 + 10 + 6 + 7 4 0 - #x6 - #xb - #xb + 6 + 11 + 11 4 0 0 @@ -1191,13 +1191,13 @@ 2 0 5 - #x7 - #x6 + 7 + 6 3 0 3 - #x7 - #x8 + 7 + 8 5 0 0 @@ -1254,7 +1254,7 @@ 2 3 5 - #x6 + 6 4 4 2 @@ -1265,8 +1265,8 @@ 1 1 0 - #x9 - #x9 + 9 + 9 4 1 0 @@ -1345,8 +1345,8 @@ 1 0 0 - #x9 - #x8 + 9 + 8 4 3 2 @@ -1592,14 +1592,14 @@ 0 0 3 - #x8 - #x9 - #xa + 8 + 9 + 10 4 0 0 4 - #x7 + 7 0 0 0 @@ -1672,15 +1672,15 @@ 0 0 4 - #x8 - #xb - #xb - #x7 + 8 + 11 + 11 + 7 3 3 - #x8 - #xa - #x6 + 8 + 10 + 6 0 0 0 @@ -1752,14 +1752,14 @@ 0 0 2 - #x7 - #xb - #xb + 7 + 11 + 11 3 3 3 - #x8 - #x9 + 8 + 9 4 0 0 @@ -2147,12 +2147,12 @@ 0 4 5 - #x6 + 6 1 1 1 0 - #x7 + 7 5 0 0 @@ -2232,8 +2232,8 @@ 2 0 4 - #xa - #x8 + 10 + 8 0 0 4 @@ -2306,14 +2306,14 @@ 0 0 0 - #x6 + 6 5 4 0 0 5 - #x9 - #x6 + 9 + 6 0 2 4 @@ -2391,8 +2391,8 @@ 0 0 0 - #x6 - #xa + 6 + 10 0 0 3 @@ -3968,38 +3968,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4048,38 +4048,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4128,38 +4128,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4208,38 +4208,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4288,38 +4288,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4368,38 +4368,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4448,38 +4448,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4528,38 +4528,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4608,38 +4608,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4688,38 +4688,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4768,38 +4768,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4848,38 +4848,38 @@ 0 0 4 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4928,38 +4928,38 @@ 0 0 4 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5008,38 +5008,38 @@ 0 0 4 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 0 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5088,38 +5088,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5168,38 +5168,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 3 1 1 3 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5248,24 +5248,24 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 3 0 0 3 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 0 0 0 @@ -5328,24 +5328,24 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 3 0 0 3 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 0 0 0 @@ -7401,8 +7401,8 @@ 0 0 4 - #x8 - #x8 + 8 + 8 4 0 0 @@ -7432,7 +7432,7 @@ 0 2 5 - #x6 + 6 3 0 0 @@ -7481,8 +7481,8 @@ 0 0 4 - #x8 - #x8 + 8 + 8 4 0 0 @@ -7511,7 +7511,7 @@ 0 0 4 - #x6 + 6 5 2 0 @@ -8118,7 +8118,7 @@ 0 0 4 - #x7 + 7 2 0 0 @@ -8155,8 +8155,8 @@ 0 0 5 - #x7 - #x7 + 7 + 7 0 0 0 @@ -8198,7 +8198,7 @@ 0 0 5 - #x6 + 6 2 0 0 @@ -8235,8 +8235,8 @@ 0 0 0 - #x6 - #x6 + 6 + 6 0 0 0 @@ -8375,10 +8375,10 @@ 0 4 5 - #x6 - #x6 - #x6 - #x6 + 6 + 6 + 6 + 6 5 0 0 @@ -8454,12 +8454,12 @@ 0 0 4 - #x8 - #xa - #xa - #xa - #xa - #x6 + 8 + 10 + 10 + 10 + 10 + 6 0 0 0 @@ -8534,12 +8534,12 @@ 0 0 5 - #x7 - #x9 - #x9 - #x9 - #x9 - #x6 + 7 + 9 + 9 + 9 + 9 + 6 0 0 0 diff --git a/goal_src/jak2/levels/city/common/transport.gc b/goal_src/jak2/levels/city/common/transport.gc index e8eaffed6d..ba76847090 100644 --- a/goal_src/jak2/levels/city/common/transport.gc +++ b/goal_src/jak2/levels/city/common/transport.gc @@ -58,9 +58,9 @@ ) ) ) - (vector-matrix*! (-> obj root-override trans) (new 'static 'vector :y 8601.6 :z 12288.0 :w 1.0) a2-0) + (vector-matrix*! (-> obj root trans) (new 'static 'vector :y 8601.6 :z 12288.0 :w 1.0) a2-0) ) - (quaternion-copy! (-> obj root-override quat) (-> (the-as process-drawable s5-0) root quat)) + (quaternion-copy! (-> obj root quat) (-> (the-as process-drawable s5-0) root quat)) ) ) 0 @@ -81,12 +81,7 @@ (s5-1 (new 'stack-no-clear 'vector)) ) (set! (-> s5-1 quad) (-> (get-trans (the-as process-focusable gp-0) 3) quad)) - (turret-control-method-11 - (-> self turret) - self - s5-1 - (-> (the-as process-focusable gp-0) root-override transv) - ) + (turret-control-method-11 (-> self turret) self s5-1 (-> (the-as process-focusable gp-0) root transv)) ) ) (none) @@ -117,7 +112,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -148,8 +143,8 @@ (set-info (-> self turret) arg0) (logior! (-> self turret flags) (turret-flag targetting-laser no-rot-y-clamp)) (vehicle-turret-method-29 self) - (vector-identity! (-> self root-override scale)) - (vector-float*! (-> self root-override scale) (-> self root-override scale) 2.0) + (vector-identity! (-> self root scale)) + (vector-float*! (-> self root scale) (-> self root scale) 2.0) (ctywide-entity-hack) (initialize-skeleton self @@ -263,13 +258,13 @@ ) (defmethod transport-method-35 transport ((obj transport)) - (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root-override transv y)) 0.0 122880.0)) - (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root-override trans y) (-> obj y-dest)) 143360.0 20480.0)) + (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root transv y)) 0.0 122880.0)) + (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root trans y) (-> obj y-dest)) 143360.0 20480.0)) (a0-3 (static-sound-spec "transport" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-3 volume) (the int (* 1024.0 f0-4))) (set! (-> a0-3 pitch-mod) (the int (* 1524.0 f30-0))) - (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root trans)) ) 0 (none) @@ -303,10 +298,10 @@ (none) ) :post (behavior () - (set! (-> self root-override transv y) (* 2.0 (- (-> self y-dest) (-> self root-override trans y)))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) - (if (< (fabs (- (-> self root-override trans y) (-> self y-dest))) 409.6) + (set! (-> self root transv y) (* 2.0 (- (-> self y-dest) (-> self root trans y)))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) + (if (< (fabs (- (-> self root trans y) (-> self y-dest))) 409.6) (go-virtual idle) ) (transport-method-35 self) @@ -320,7 +315,7 @@ :event transport-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (set! (-> self last-guard-spawn-time) 0) 0 (none) @@ -397,7 +392,7 @@ :event transport-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (none) ) :code (behavior () @@ -417,11 +412,11 @@ ) :post (behavior () (transport-method-35 self) - (+! (-> self root-override transv y) (* 40960.0 (-> self clock seconds-per-frame))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) + (+! (-> self root transv y) (* 40960.0 (-> self clock seconds-per-frame))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) (if (and (not (logtest? (-> self draw status) (draw-control-status on-screen))) - (< 163840.0 (- (-> self root-override trans y) (-> self y-dest))) + (< 163840.0 (- (-> self root trans y) (-> self y-dest))) ) (go-virtual die-fast) ) @@ -444,9 +439,9 @@ (set! (-> s5-0 flags) (traffic-spawn-flags)) (set! (-> s5-0 guard-type) (the-as uint 7)) (vector-reset! (-> s5-0 velocity)) - (set! (-> s5-0 position quad) (-> obj root-override trans quad)) + (set! (-> s5-0 position quad) (-> obj root trans quad)) (set! (-> s5-0 position y) (+ 8192.0 (-> s5-0 position y))) - (quaternion-rotate-local-y! (-> s5-0 rotation) (-> obj root-override quat) 32768.0) + (quaternion-rotate-local-y! (-> s5-0 rotation) (-> obj root quat) 32768.0) (send-event *traffic-manager* 'activate-object s5-0) (when (-> s5-0 proc) (set! (-> obj spawn-side) (- 1 (the-as int (-> obj spawn-side)))) @@ -512,7 +507,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -527,9 +522,9 @@ ;; WARN: Return type mismatch object vs none. (defbehavior transport-init-by-other transport ((arg0 transport-params)) (transport-method-31 self) - (set! (-> self root-override trans quad) (-> arg0 spawn-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> arg0 quat)) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> arg0 spawn-pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (vector-identity! (-> self root scale)) (set! (-> self max-guard) (-> arg0 max-guard)) (set! (-> self count-guard) (the-as uint 0)) (set! (-> self nav-mesh) (-> arg0 nav-mesh)) @@ -540,8 +535,8 @@ (the-as pair 0) ) (transport-method-32 self) - (set! (-> self y-dest) (-> self root-override trans y)) - (set! (-> self root-override trans y) (+ 163840.0 (-> self root-override trans y))) + (set! (-> self y-dest) (-> self root trans y)) + (set! (-> self root trans y) (+ 163840.0 (-> self root trans y))) (set! (-> self spawn?) #t) (set! (-> self leave-time) 0) (if (-> arg0 turret?) diff --git a/goal_src/jak2/levels/city/common/vehicle-control.gc b/goal_src/jak2/levels/city/common/vehicle-control.gc index 70e6e39714..179dfad2a7 100644 --- a/goal_src/jak2/levels/city/common/vehicle-control.gc +++ b/goal_src/jak2/levels/city/common/vehicle-control.gc @@ -322,12 +322,12 @@ 0 (set! sv-16 arg0) (set! sv-20 arg3) - (set! sv-24 (-> arg2 info-override info inv-mass)) + (set! sv-24 (-> arg2 info info inv-mass)) (let ((gp-0 (new 'stack-no-clear 'inline-array 'vector 16))) (set! (-> gp-0 15 x) (+ (-> obj target-speed) (-> obj target-speed-offset))) (set! (-> gp-0 1 quad) (-> arg1 quad)) - (set! (-> gp-0 0 quad) (-> arg2 root-override-2 trans quad)) - (vector-z-quaternion! (-> gp-0 3) (-> arg2 root-override-2 quat)) + (set! (-> gp-0 0 quad) (-> arg2 root trans quad)) + (vector-z-quaternion! (-> gp-0 3) (-> arg2 root quat)) (vector-reset! (-> gp-0 2)) (cond ((logtest? (-> obj flags) (vehicle-controller-flag on-straightaway)) @@ -394,7 +394,7 @@ ) ) (let ((s3-1 (new 'stack-no-clear 'array 'collide-shape 12)) - (f30-1 (-> arg2 root-override-2 root-prim prim-core world-sphere w)) + (f30-1 (-> arg2 root root-prim prim-core world-sphere w)) ) (countdown (s4-1 (fill-actor-list-for-line-sphere (-> obj traffic object-hash) @@ -416,8 +416,8 @@ (not (logtest? (-> v1-70 flags) (rigid-body-object-flag dead))) (nonzero? (-> v1-70 flight-level-index)) ) - (set! (-> gp-0 10 quad) (-> v1-70 root-override-2 trans quad)) - (set! (-> gp-0 11 quad) (-> v1-70 root-override-2 transv quad)) + (set! (-> gp-0 10 quad) (-> v1-70 root trans quad)) + (set! (-> gp-0 11 quad) (-> v1-70 root transv quad)) (vector-! (-> gp-0 12) (-> gp-0 0) (-> gp-0 10)) (.lvf vf1 (&-> (-> gp-0 12) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) @@ -429,7 +429,7 @@ (let ((f1-12 a0-35)) (vector-float*! (-> gp-0 14) (-> gp-0 12) (/ 1.0 (sqrtf f1-12))) (when #t - (let* ((f0-28 (+ f30-1 (-> v1-70 root-override-2 root-prim prim-core world-sphere w))) + (let* ((f0-28 (+ f30-1 (-> v1-70 root root-prim prim-core world-sphere w))) (f28-0 (* f0-28 f0-28)) ) (let ((f0-31 (fmax 0.0 (/ (- f28-0 f1-12) f28-0)))) @@ -441,7 +441,7 @@ (vector-float*! (-> gp-0 6) (-> gp-0 14) - (* -0.5 (/ sv-24 (+ sv-24 (-> v1-70 info-override info inv-mass))) sv-20 f1-14) + (* -0.5 (/ sv-24 (+ sv-24 (-> v1-70 info info inv-mass))) sv-20 f1-14) ) (vector+! (-> gp-0 2) (-> gp-0 2) (-> gp-0 6)) ) diff --git a/goal_src/jak2/levels/city/common/vehicle-effects.gc b/goal_src/jak2/levels/city/common/vehicle-effects.gc index 752a28c32a..67b4e5c023 100644 --- a/goal_src/jak2/levels/city/common/vehicle-effects.gc +++ b/goal_src/jak2/levels/city/common/vehicle-effects.gc @@ -26,7 +26,7 @@ (set! (-> obj scrape-sound-id) (new-sound-id)) ) (sound-play-by-name - (-> obj info-override scrape-sound) + (-> obj info scrape-sound) (-> obj scrape-sound-id) (the int (* 1024.0 (-> obj scrape-sound-envelope))) 0 @@ -51,18 +51,17 @@ ) (let* ((f30-0 (fabs (* (-> obj engine-thrust) (-> obj power-level) (-> obj force-scale)))) (f28-0 (* (-> obj engine-sound-envelope) (+ 0.6 (* 0.4 f30-0)))) - (f26-0 (doppler-pitch-shift (-> obj root-override-2 trans) (-> obj root-override-2 transv))) - (f0-22 (+ (-> obj info-override engine-pitch-offset) - (* (-> obj info-override engine-pitch-scale) f30-0) - (* (-> obj info-override engine-pitch-mod-amp) - (sin (* 109.22667 (the float (- (current-time) (-> obj state-time))))) - ) - f26-0 - ) - ) + (f26-0 (doppler-pitch-shift (-> obj root trans) (-> obj root transv))) + (f0-22 + (+ (-> obj info engine-pitch-offset) + (* (-> obj info engine-pitch-scale) f30-0) + (* (-> obj info engine-pitch-mod-amp) (sin (* 109.22667 (the float (- (current-time) (-> obj state-time)))))) + f26-0 + ) + ) (a0-9 (static-sound-spec "vehicle-engine" :volume 0.0 :mask (pitch reg0))) ) - (set! (-> a0-9 sound-name) (-> obj info-override engine-sound)) + (set! (-> a0-9 sound-name) (-> obj info engine-sound)) (set! (-> obj engine-sound-factor) f30-0) (cond (#f @@ -87,7 +86,7 @@ (the-as rigid-body-object-flag (logclear (-> obj flags) (rigid-body-object-flag idle-sound))) ) ) - (sound-play "accel-to-steady" :id (-> obj engine-sound-id) :position (-> obj root-override-2 trans)) + (sound-play "accel-to-steady" :id (-> obj engine-sound-id) :position (-> obj root trans)) ) (else (format *stdcon* "decel-to-idle id ~d~%" (-> obj engine-sound-id)) @@ -99,7 +98,7 @@ (the-as rigid-body-object-flag (logior (rigid-body-object-flag idle-sound) (-> obj flags))) ) ) - (sound-play "decel-to-idle" :id (-> obj engine-sound-id) :position (-> obj root-override-2 trans)) + (sound-play "decel-to-idle" :id (-> obj engine-sound-id) :position (-> obj root trans)) ) ) ) @@ -107,9 +106,9 @@ (else (set! (-> a0-9 volume) (the int (* 1024.0 f28-0))) (set! (-> a0-9 pitch-mod) (the int (* 1524.0 f0-22))) - (set! (-> a0-9 reg 0) (the-as uint (-> obj info-override engine-sound-select))) + (set! (-> a0-9 reg 0) (the-as uint (-> obj info engine-sound-select))) (set! (-> a0-9 reg 1) (the-as uint (the int (* 127.0 (-> obj hit-points))))) - (sound-play-by-spec a0-9 (-> obj engine-sound-id) (-> obj root-override-2 trans)) + (sound-play-by-spec a0-9 (-> obj engine-sound-id) (-> obj root trans)) ) ) ) @@ -144,7 +143,7 @@ (f0-38 0.0) ) (sound-play-by-name - (-> obj info-override thrust-sound) + (-> obj info thrust-sound) (-> obj thrust-sound-id) (the int (* 1024.0 f1-25)) (the int (* 1524.0 f0-38)) @@ -234,7 +233,7 @@ (s4-1 (* arg3 f0-0)) (s0-0 (fmin (* arg2 f0-0) (* 0.5 s4-1))) (s3-1 (new 'stack-no-clear 'inline-array 'vehicle-control-point 3)) - (s2-0 (-> obj info-override)) + (s2-0 (-> obj info)) ) (let ((a1-2 (-> s3-1 0 normal))) (let ((v1-2 arg0)) @@ -260,7 +259,7 @@ (set! (-> v1-3 local-pos w) f0-5) ) 0 - (let ((f28-0 (/ s4-1 (-> obj info-override thruster-flame-length)))) + (let ((f28-0 (/ s4-1 (-> obj info thruster-flame-length)))) (set! (-> s3-1 2 local-pos y) (rand-vu-float-range 0.0 64.0)) (set! (-> s3-1 2 local-pos w) (* (-> obj fog-fade) (+ (* 16.0 f28-0) (* 4.0 (rand-vu))))) ) @@ -269,10 +268,7 @@ (set! (-> s3-1 1 normal w) f0-14) (set! (-> s3-1 1 normal x) (* 0.025 f0-14)) ) - (when (nonzero? *simple-sprite-system*) - ;; added nonzero check - (add! *simple-sprite-system* (the sprite-glow-data (-> s3-1 1))) - ) + (add! *simple-sprite-system* (the-as sprite-glow-data (-> s3-1 1))) (forward-up->quaternion (the-as quaternion (-> s3-1 0)) arg1 (the-as vector (-> obj rbody state matrix))) (quaternion-rotate-local-x! (the-as quaternion (-> s3-1 0)) (the-as quaternion (-> s3-1 0)) 32768.0) (let ((v1-16 (-> s3-1 0 normal))) @@ -365,15 +361,15 @@ ) (set-vector! (-> s5-0 0 vector 1) 0.0 0.0 -1.0 1.0) (vector-rotate*! (-> s5-0 0 vector 1) (-> s5-0 0 vector 1) (-> s5-0 1)) - (set! (-> obj fog-fade) (calc-fade-from-fog (-> obj root-override-2 trans))) + (set! (-> obj fog-fade) (calc-fade-from-fog (-> obj root trans))) (let ((f30-1 (* (-> obj fog-fade) (-> obj lights-factor)))) (when (< 0.0 f30-1) (let ((s4-0 (new 'stack-no-clear 'sprite-glow-data)) (s3-0 *vehicle-headlight-glow-template*) ) - (dotimes (s2-0 (-> obj info-override headlight-count)) + (dotimes (s2-0 (-> obj info headlight-count)) (quad-copy! (the-as pointer s4-0) (the-as pointer s3-0) 4) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override headlight-local-pos s2-0) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info headlight-local-pos s2-0) (-> s5-0 1)) (let* ((v1-44 s4-0) (a1-6 (-> s5-0 0)) (f0-14 (-> v1-44 position w)) @@ -406,8 +402,8 @@ ) (let ((s4-1 (new 'stack-no-clear 'sprite-glow-data))) (quad-copy! (the-as pointer s4-1) (the-as pointer *vehicle-taillight-glow-template*) 4) - (dotimes (s3-1 (-> obj info-override taillight-count)) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override taillight-local-pos s3-1) (-> s5-0 1)) + (dotimes (s3-1 (-> obj info taillight-count)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info taillight-local-pos s3-1) (-> s5-0 1)) (let* ((v1-66 s4-1) (a1-18 (-> s5-0 0)) (f0-28 (-> v1-66 position w)) @@ -425,17 +421,16 @@ ) ) (when (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics)) - (let* ((f30-2 (fmax 0.0 (* (-> obj info-override thruster-flame-length) - (-> obj power-level) - (-> obj force-scale) - (-> obj engine-thrust) - ) - ) - ) - (f28-3 (fmin (-> obj info-override thruster-flame-width) f30-2)) + (let* ((f30-2 + (fmax + 0.0 + (* (-> obj info thruster-flame-length) (-> obj power-level) (-> obj force-scale) (-> obj engine-thrust)) + ) + ) + (f28-3 (fmin (-> obj info thruster-flame-width) f30-2)) ) (dotimes (s4-2 2) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override thruster-local-pos s4-2) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info thruster-local-pos s4-2) (-> s5-0 1)) (draw-thruster obj (the-as vector (-> s5-0 0)) (-> s5-0 0 vector 1) f28-3 f30-2) ) ) @@ -452,23 +447,23 @@ ) (let ((s4-3 (-> *part-id-table* 776))) (dotimes (s3-2 2) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override exhaust-local-pos s3-2) (-> s5-0 1)) - (vector-rotate*! (-> s5-0 0 vector 1) (-> obj info-override exhaust-local-dir s3-2) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info exhaust-local-pos s3-2) (-> s5-0 1)) + (vector-rotate*! (-> s5-0 0 vector 1) (-> obj info exhaust-local-dir s3-2) (-> s5-0 1)) (vector+float*! - (-> obj info-override part-vel) + (-> obj info part-vel) (-> obj rbody state lin-velocity) (-> s5-0 0 vector 1) - (* 0.2 (-> obj info-override max-engine-thrust) (+ 0.5 (-> obj engine-power-factor))) + (* 0.2 (-> obj info max-engine-thrust) (+ 0.5 (-> obj engine-power-factor))) ) - (let ((v1-117 (-> obj info-override part-vel)) - (a0-45 (-> obj info-override part-vel)) + (let ((v1-117 (-> obj info part-vel)) + (a0-45 (-> obj info part-vel)) (f0-46 300.0) ) (vector-float*! v1-117 a0-45 (/ 1.0 f0-46)) ) (set! (-> s4-3 birthaccum) (the-as float (-> obj exhaust-part-accum s3-2))) (let ((t9-25 sp-launch-particles-var) - (a0-46 (-> obj info-override particle-system-2d)) + (a0-46 (-> obj info particle-system-2d)) (a1-34 s4-3) (a2-14 *launch-matrix*) ) @@ -516,19 +511,19 @@ (when sv-272 (let ((s3-3 #f)) (dotimes (s4-4 2) - (vector-rotate*! (-> s5-0 0 vector 2) (-> obj info-override smoke-local-vel s4-4) (-> s5-0 1)) + (vector-rotate*! (-> s5-0 0 vector 2) (-> obj info smoke-local-vel s4-4) (-> s5-0 1)) (vector+! (-> s5-0 0 vector 2) (-> s5-0 0 vector 2) (-> obj rbody state lin-velocity)) (vector+float*! (-> s5-0 0 vector 2) (-> s5-0 0 vector 2) (-> s5-0 0 trans) (* 24576.0 (rand-vu))) - (let ((v1-152 (-> obj info-override part-vel)) + (let ((v1-152 (-> obj info part-vel)) (a0-54 (-> s5-0 0 vector 2)) (f0-63 300.0) ) (vector-float*! v1-152 a0-54 (/ 1.0 f0-63)) ) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override smoke-local-pos s4-4) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info smoke-local-pos s4-4) (-> s5-0 1)) (when (and sv-276 (< (rand-vu) 0.005)) (let ((t9-37 sp-launch-particles-var) - (a0-56 (-> obj info-override particle-system-2d)) + (a0-56 (-> obj info particle-system-2d)) (a1-44 sv-276) (a2-17 *launch-matrix*) ) @@ -546,7 +541,7 @@ ) (set! (-> sv-272 birthaccum) (the-as float (-> obj smoke-part-accum s4-4))) (let ((t9-38 sp-launch-particles-var) - (a0-57 (-> obj info-override particle-system-2d)) + (a0-57 (-> obj info particle-system-2d)) (a1-45 sv-272) (a2-18 *launch-matrix*) ) @@ -571,7 +566,7 @@ (when (>= (-> obj scrape-sound-envelope) 0.75) (let ((a1-47 (-> *part-id-table* 773)) (t9-40 sp-launch-particles-var) - (a0-60 (-> obj info-override particle-system-2d)) + (a0-60 (-> obj info particle-system-2d)) (a2-20 *launch-matrix*) ) (set! (-> a2-20 trans quad) (-> obj impact-pos quad)) diff --git a/goal_src/jak2/levels/city/common/vehicle-guard.gc b/goal_src/jak2/levels/city/common/vehicle-guard.gc index 67f1841cc9..203ec96a36 100644 --- a/goal_src/jak2/levels/city/common/vehicle-guard.gc +++ b/goal_src/jak2/levels/city/common/vehicle-guard.gc @@ -631,9 +631,9 @@ (set! (-> arg0 target) (the-as target s5-0)) (when s5-0 (set! (-> arg0 tpos quad) (-> (the-as process-drawable s5-0) root trans quad)) - (set! (-> arg0 spos quad) (-> obj root-override-2 trans quad)) + (set! (-> arg0 spos quad) (-> obj root trans quad)) (set! (-> arg0 tvel quad) (-> (the-as process-drawable s5-0) root transv quad)) - (set! (-> arg0 svel quad) (-> obj root-override-2 transv quad)) + (set! (-> arg0 svel quad) (-> obj root transv quad)) (vector-normalize-copy! (-> arg0 tdir) (-> arg0 tvel) 1.0) (vector-normalize-copy! (-> arg0 sdir) (-> arg0 svel) 1.0) (set! (-> arg0 tpos y) (+ 4096.0 (-> arg0 tpos y))) @@ -687,7 +687,7 @@ (cond ((< -12288.0 (- (-> arg0 tpos y) (-> arg0 spos y))) (logior! (-> obj controller flags) (vehicle-controller-flag ignore-others no-slowing-for-turns)) - (let* ((f0-9 (* 2.0 (-> obj info-override max-xz-speed))) + (let* ((f0-9 (* 2.0 (-> obj info max-xz-speed))) (f1-8 (fmax 0.0 (vector-dot (-> arg0 sdir) (-> arg0 to-target-dir)))) (f0-10 (* f0-9 (* f1-8 f1-8))) ) @@ -696,8 +696,7 @@ ) (else (logclear! (-> obj controller flags) (vehicle-controller-flag ignore-others no-slowing-for-turns)) - (let ((f0-13 (* (-> obj info-override max-xz-speed) (fmax 0.0 (vector-dot (-> arg0 sdir) (-> arg0 to-target-dir))))) - ) + (let ((f0-13 (* (-> obj info max-xz-speed) (fmax 0.0 (vector-dot (-> arg0 sdir) (-> arg0 to-target-dir)))))) (+! (-> obj controller target-speed) f0-13) ) ) @@ -715,7 +714,7 @@ (cond ((handle->process (-> obj pursuit-target)) (let ((v1-3 (new 'stack-no-clear 'vehicle-control-point))) - (set! (-> v1-3 local-pos quad) (-> obj root-override-2 trans quad)) + (set! (-> v1-3 local-pos quad) (-> obj root trans quad)) (let ((v1-4 (traffic-engine-method-49 (-> obj controller traffic) (-> v1-3 local-pos) @@ -769,7 +768,7 @@ (#f (let ((s5-0 (new 'stack-no-clear 'traj3d-params))) (let ((f0-2 (+ 0.5 (* 0.5 (rand-vu))))) - (set! (-> s5-0 src quad) (-> obj root-override-2 trans quad)) + (set! (-> s5-0 src quad) (-> obj root trans quad)) (vector+float*! (-> s5-0 dest) arg0 arg1 f0-2) ) (set! (-> s5-0 initial-tilt) 8192.0) @@ -794,7 +793,7 @@ (spawn-projectile vehicle-grenade a1-1 obj *default-dead-pool*) ) (let ((a1-2 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-2 sphere quad) (-> obj root-override-2 trans quad)) + (set! (-> a1-2 sphere quad) (-> obj root trans quad)) (set! (-> a1-2 sphere r) 40960.0) (set! (-> a1-2 velocity quad) (-> s5-0 initial-velocity quad)) (set! (-> a1-2 notify-radius) 122880.0) @@ -810,7 +809,7 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'turret-unknown-stack-structure2))) - (set! (-> s5-1 mat-1 quad 0) (-> obj root-override-2 trans quad)) + (set! (-> s5-1 mat-1 quad 0) (-> obj root trans quad)) (vector-! (-> s5-1 mat-1 vector 1) arg0 (the-as vector (-> s5-1 mat-1))) (vector-normalize! (-> s5-1 mat-1 vector 1) 1.0) (set! (-> s5-1 proj-params ent) (-> obj entity)) @@ -862,7 +861,7 @@ ) ) (else - (if (and (< (* 49152.0 (-> obj info-override info mass)) (-> s5-1 trans x)) + (if (and (< (* 49152.0 (-> obj info info mass)) (-> s5-1 trans x)) (logtest? (-> a1-2 mask) (process-mask target)) ) (vehicle-method-134 obj a1-2) @@ -901,7 +900,7 @@ (set! (-> obj flags) (the-as rigid-body-object-flag (logclear (-> obj flags) (rigid-body-object-flag persistent alert in-pursuit))) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-2)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-5)) (vehicle-method-109 obj) (go (method-of-object obj active)) ) @@ -936,7 +935,7 @@ (s4-0 (new 'stack-no-clear 'inline-array 'vector 5)) ) (set! (-> s4-0 4 x) -10000000000000000000000000000000000000.0) - (set! (-> s4-0 3 quad) (-> arg1 root-override-2 trans quad)) + (set! (-> s4-0 3 quad) (-> arg1 root trans quad)) (vector-! (-> s4-0 0) (-> s4-0 3) (the-as vector (&-> arg1 stack 896))) (vector-normalize! (-> s4-0 0) 1.0) (dotimes (s3-0 (-> s5-0 branch-count)) @@ -988,7 +987,7 @@ (t9-0 obj) ) (set! (-> obj turret guard-settings) - (get-traffic-guard-type-settings (-> obj controller traffic) (the-as int (-> obj info-override guard-type))) + (get-traffic-guard-type-settings (-> obj controller traffic) (the-as int (-> obj info guard-type))) ) (none) ) @@ -1044,7 +1043,7 @@ (init-vf0-vector) (and (logtest? (rigid-body-object-flag target-in-sight) (-> obj flags)) (or (and (not (logtest? (focus-status pilot) (-> arg0 target focus-status))) (< (-> arg0 dist) 184320.0)) - (and (< (-> arg0 tpos y) (+ -16384.0 (-> obj root-override-2 trans y))) + (and (< (-> arg0 tpos y) (+ -16384.0 (-> obj root trans y))) (begin (.lvf vf1 (&-> (-> arg0 tvel) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) @@ -1080,7 +1079,7 @@ (f28-0 0.0) ) (when (and v1-9 (logtest? (rigid-body-object-flag target-in-sight) (-> obj flags))) - (vector-! s5-0 (-> (the-as process-drawable v1-9) root trans) (-> obj root-override-2 trans)) + (vector-! s5-0 (-> (the-as process-drawable v1-9) root trans) (-> obj root trans)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (if (< (vector-dot s3-0 s5-0) (cos 2730.6667)) @@ -1106,12 +1105,12 @@ (if (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) (rigid-body-object-method-38 obj) ) - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (vehicle-controller-method-18 (-> obj controller) (-> obj target-acceleration) - (-> obj root-override-2 transv) + (-> obj root transv) obj (/ 1.0 (-> pp clock seconds-per-frame)) ) @@ -1120,7 +1119,7 @@ (vehicle-method-106 obj) (when (not (logtest? (rigid-body-object-flag in-pursuit) (-> obj flags))) (if (not (logtest? (-> obj target-flags) (turret-flag aiming))) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-2)) ) (go (method-of-object obj active)) ) @@ -1250,7 +1249,7 @@ (logior! (-> self flags) (rigid-body-object-flag persistent)) (go-virtual hostile) ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-2)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-4)) (if (or (>= (- (current-time) (-> self state-time)) (seconds 8)) (let ((f0-0 409600.0)) (< (* f0-0 f0-0) (-> self player-dist2)) ) @@ -1259,7 +1258,7 @@ ) ) (else - (speech-control-method-12 *speech-control* self (speech-type speech-type-0)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-1)) ) ) (check-player-get-on self) diff --git a/goal_src/jak2/levels/city/common/vehicle-h.gc b/goal_src/jak2/levels/city/common/vehicle-h.gc index 57bc6842e7..83e71ace0b 100644 --- a/goal_src/jak2/levels/city/common/vehicle-h.gc +++ b/goal_src/jak2/levels/city/common/vehicle-h.gc @@ -301,8 +301,8 @@ (deftype vehicle (rigid-body-object) - ((self-override vehicle :offset 32) - (info-override rigid-body-vehicle-constants :offset 204) + ((self vehicle :override) + (info rigid-body-vehicle-constants :override) (pad uint32 2 :offset-assert 272) (vehicle-jkhn1b23jn1 int64 :offset-assert 280) (controls vehicle-controls :inline :offset-assert 288) diff --git a/goal_src/jak2/levels/city/common/vehicle-physics.gc b/goal_src/jak2/levels/city/common/vehicle-physics.gc index 72e4315396..f0fe8d93af 100644 --- a/goal_src/jak2/levels/city/common/vehicle-physics.gc +++ b/goal_src/jak2/levels/city/common/vehicle-physics.gc @@ -9,7 +9,7 @@ (defmethod vehicle-method-99 vehicle ((obj vehicle) (arg0 float)) (let ((s4-0 (new 'stack-no-clear 'vehicle-grab-rail-info)) - (s3-0 (-> obj root-override-2 root-prim)) + (s3-0 (-> obj root root-prim)) (s2-0 1) ) (when (< (-> obj rbody state position y) (+ (-> obj water-height) (-> s3-0 local-sphere w))) @@ -43,7 +43,7 @@ (f0-8 (* f0-7 (* f1-8 f1-8))) (f1-11 4096.0) (f1-13 (* f1-11 f1-11)) - (f0-10 (fmin (* f0-8 (/ 1.0 f1-13)) (/ (-> obj info-override info mass) (* 2.0 arg0 (the float s2-0))))) + (f0-10 (fmin (* f0-8 (/ 1.0 f1-13)) (/ (-> obj info info mass) (* 2.0 arg0 (the float s2-0))))) ) (vector-float*! (-> s4-0 local-pos 1) (-> s4-0 normal) (* -1.0 f0-10)) ) @@ -58,7 +58,7 @@ (f1-19 4096.0) (f2-13 4096.0) (f1-20 (* f1-19 (* f2-13 f2-13))) - (f0-16 (* f0-12 (/ 1.0 f1-20) (-> obj info-override buoyancy-factor) f30-0 (-> s0-0 world-sphere w))) + (f0-16 (* f0-12 (/ 1.0 f1-20) (-> obj info buoyancy-factor) f30-0 (-> s0-0 world-sphere w))) (f1-25 (-> s0-0 world-sphere w)) ) (set! (-> s4-0 local-pos 1 y) (* f0-16 (* f1-25 f1-25))) @@ -142,7 +142,7 @@ (+! (-> obj physics-counter) 1) (let ((s3-0 (-> obj rbody))) (mem-copy! (the-as pointer (-> arg1 mat)) (the-as pointer (-> s3-0 state matrix)) 64) - (let* ((f28-0 (* -1.0 (-> obj controls steering) (-> obj info-override tire-steering-angle))) + (let* ((f28-0 (* -1.0 (-> obj controls steering) (-> obj info tire-steering-angle))) (f30-0 (cos f28-0)) (f0-2 (sin f28-0)) ) @@ -155,14 +155,14 @@ (logclear! (-> obj flags) (rigid-body-object-flag on-ground on-flight-level)) (vector-reset! (-> arg1 ground-normal)) (set! (-> arg1 ground-normal y) 1.0) - (let ((f30-1 (-> obj info-override ground-probe-distance))) + (let ((f30-1 (-> obj info ground-probe-distance))) (let ((s2-0 (new 'stack-no-clear 'collide-query))) (vector-reset! (-> arg1 lift-dir)) (set! (-> arg1 lift-dir y) -1.0) (set! (-> arg1 speed-factor) (fmax 0.0 (fmin 0.9 (* 0.000008138021 (+ -40960.0 (vector-length (-> s3-0 state lin-velocity)))))) ) - (when (logtest? (-> obj info-override flags) 1) + (when (logtest? (-> obj info flags) 1) (vector-float*! (-> arg1 tmp) (-> arg1 mat vector 1) -1.0) (let ((t9-4 vector-lerp!) (a0-7 (-> arg1 lift-dir)) @@ -194,8 +194,8 @@ (set! (-> v1-28 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nopilot #x1)) (set! (-> v1-28 action-mask) (collide-action solid)) ) - (dotimes (s1-0 (-> obj info-override lift-thruster-count)) - (let ((v1-31 (-> obj info-override lift-thruster-array s1-0)) + (dotimes (s1-0 (-> obj info lift-thruster-count)) + (let ((v1-31 (-> obj info lift-thruster-array s1-0)) (s0-0 (-> arg1 probe-work-array s1-0)) ) (vector-reset! (-> s0-0 tire-force)) @@ -205,7 +205,7 @@ (let ((a1-9 (-> s0-0 probe-pos))) (let ((v1-34 (-> s0-0 world-pos))) (let ((a0-22 (-> arg1 mat vector 1))) - (let ((a2-6 (-> obj info-override ground-probe-offset))) + (let ((a2-6 (-> obj info ground-probe-offset))) (.mov vf7 a2-6) ) (.lvf vf5 (&-> a0-22 quad)) @@ -262,7 +262,7 @@ (set! (-> obj roll-thrust 0) 0.0) (set! (-> obj roll-thrust 1) 0.0) (when (>= 1 (-> obj force-level)) - (dotimes (s2-1 (-> obj info-override lift-thruster-count)) + (dotimes (s2-1 (-> obj info lift-thruster-count)) (let ((s1-1 (-> arg1 probe-work-array s2-1))) (set! (-> arg1 world-pos quad) (-> s1-1 world-pos quad)) (set! (-> arg1 velocity quad) (-> s1-1 velocity quad)) @@ -292,9 +292,9 @@ ) (let* ((f0-37 (* -1.0 (-> obj force-scale) - (-> obj info-override inv-lift-thruster-count) - (-> obj info-override info mass) - (-> obj info-override extra gravity) + (-> obj info inv-lift-thruster-count) + (-> obj info info mass) + (-> obj info extra gravity) (+ 1.0 (* 2.0 (the float (-> obj flight-level-index)))) ) ) @@ -332,10 +332,10 @@ (and (> (-> obj flight-level-index) 0) (< f0-40 0.0) (< (-> arg1 velocity y) 0.0)) ) (vector-reset! (-> arg1 force)) - (let ((f0-43 (* -0.25 (-> obj info-override inv-lift-thruster-count))) + (let ((f0-43 (* -0.25 (-> obj info inv-lift-thruster-count))) (f1-28 arg0) ) - (set! (-> arg1 force y) (* f0-43 (/ 1.0 f1-28) (-> obj info-override info mass) (-> arg1 velocity y))) + (set! (-> arg1 force y) (* f0-43 (/ 1.0 f1-28) (-> obj info info mass) (-> arg1 velocity y))) ) (let ((v1-140 s3-0) (a1-16 (-> arg1 world-pos)) @@ -350,9 +350,7 @@ (let* ((f1-36 (fmax 4096.0 (fmin (- (-> s1-1 probe-pos y) (-> s1-1 ground-pos y)) f30-1))) (f28-2 (- 1.0 (/ (+ -4096.0 f1-36) (+ -4096.0 f30-1)))) ) - (if (>= (-> obj info-override cos-ground-effect-angle) - (vector-dot (-> s1-1 ground-normal) (-> arg1 mat vector 1)) - ) + (if (>= (-> obj info cos-ground-effect-angle) (vector-dot (-> s1-1 ground-normal) (-> arg1 mat vector 1))) (set! f28-2 0.0) ) (set! (-> arg1 tmp y) 0.0) @@ -372,8 +370,8 @@ ) (vector-float*! v1-155 a0-55 (* f0-58 (/ 1.0 f1-41) - (-> obj info-override inv-lift-thruster-count) - (-> obj info-override info mass) + (-> obj info inv-lift-thruster-count) + (-> obj info info mass) (fmax 0.0 (- (vector-dot (-> arg1 velocity) (-> arg1 normal)))) ) ) @@ -385,16 +383,15 @@ (rigid-body-method-18 (-> v1-157 state) a1-28 a2-13) ) (vector+! (-> s1-1 tire-force) (-> s1-1 tire-force) (-> arg1 force)) - (let ((f0-72 (* 8.0 - (-> obj info-override info mass) - (-> obj info-override extra gravity) - (-> obj info-override inv-lift-thruster-count) - (+ (* (-> obj info-override spring-lift-factor) f28-2) - (* 0.75 (-> obj jump-thrust) (-> obj info-override jump-thrust-factor)) - ) - (- (+ 1.0 (* 2.0 (rand-vu) (-> obj power-fluctuation-factor))) (-> obj power-fluctuation-factor)) - ) - ) + (let ((f0-72 + (* 8.0 + (-> obj info info mass) + (-> obj info extra gravity) + (-> obj info inv-lift-thruster-count) + (+ (* (-> obj info spring-lift-factor) f28-2) (* 0.75 (-> obj jump-thrust) (-> obj info jump-thrust-factor))) + (- (+ 1.0 (* 2.0 (rand-vu) (-> obj power-fluctuation-factor))) (-> obj power-fluctuation-factor)) + ) + ) ) (+! (-> obj lift-thrust s2-1) f0-72) (vector-float*! (-> arg1 force) (-> arg1 lift-dir) (* -1.0 f0-72)) @@ -407,16 +404,16 @@ (rigid-body-method-18 (-> v1-176 state) a1-32 a2-14) ) (vector+! (-> s1-1 tire-force) (-> s1-1 tire-force) (-> arg1 force)) - (when (and (< 0.0 (-> obj info-override tire-friction-factor)) (let ((f0-75 0.0)) - (.lvf vf1 (&-> (-> s1-1 ground-normal) quad)) - (.add.w.vf vf2 vf0 vf0 :mask #b1) - (.mul.vf vf1 vf1 vf1) - (.mul.x.vf acc vf2 vf1 :mask #b1) - (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) - (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) - (.mov v1-184 vf1) - (< f0-75 v1-184) - ) + (when (and (< 0.0 (-> obj info tire-friction-factor)) (let ((f0-75 0.0)) + (.lvf vf1 (&-> (-> s1-1 ground-normal) quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v1-184 vf1) + (< f0-75 v1-184) + ) ) (vector+float*! (-> arg1 normal) @@ -435,11 +432,11 @@ (let ((f0-82 (fabs (-> arg1 vel-dot-norm)))) (set! (-> arg1 friction-coef) (smooth-interp - (-> obj info-override tire-static-friction) - (-> obj info-override tire-dynamic-friction) + (-> obj info tire-static-friction) + (-> obj info tire-dynamic-friction) f0-82 - (-> obj info-override tire-static-friction-speed) - (-> obj info-override tire-dynamic-friction-speed) + (-> obj info tire-static-friction-speed) + (-> obj info tire-dynamic-friction-speed) ) ) ) @@ -448,7 +445,7 @@ ) (let ((f0-90 (* (-> arg1 friction-coef) - (-> obj info-override tire-friction-factor) + (-> obj info tire-friction-factor) (fmax 0.0 (vector-dot (-> s1-1 ground-normal) (-> s1-1 tire-force))) ) ) @@ -484,7 +481,7 @@ (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'inline-array 'matrix 9)) (s5-0 (-> obj rbody)) - (s4-0 (-> obj info-override)) + (s4-0 (-> obj info)) ) (mem-copy! (the-as pointer (-> gp-0 0)) (the-as pointer (-> s5-0 state matrix)) 64) (when (not (logtest? (-> obj flags) (rigid-body-object-flag dead))) diff --git a/goal_src/jak2/levels/city/common/vehicle-rider.gc b/goal_src/jak2/levels/city/common/vehicle-rider.gc index a9afbda583..13b1ec7cab 100644 --- a/goal_src/jak2/levels/city/common/vehicle-rider.gc +++ b/goal_src/jak2/levels/city/common/vehicle-rider.gc @@ -8,12 +8,12 @@ ;; DECOMP BEGINS (deftype vehicle-rider (process-focusable) - ((parent-override (pointer vehicle) :offset 16) - (flags uint8 :offset-assert 204) - (riding-anim int32 :offset-assert 208) - (anim-t float :offset-assert 212) - (anim-speed float :offset-assert 216) - (seat-index int8 :offset-assert 220) + ((parent (pointer vehicle) :override) + (flags uint8 :offset-assert 204) + (riding-anim int32 :offset-assert 208) + (anim-t float :offset-assert 212) + (anim-speed float :offset-assert 216) + (seat-index int8 :offset-assert 220) ) :heap-base #x60 :method-count-assert 36 @@ -35,15 +35,11 @@ (defmethod get-trans vehicle-rider ((obj vehicle-rider) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (-> obj root-override trans) + (-> obj root trans) ) (defmethod vehicle-rider-method-33 vehicle-rider ((obj vehicle-rider)) - (let* ((v1-0 (-> obj parent-override)) - (s4-0 (if v1-0 - (-> v1-0 0 self-override) - ) - ) + (let* ((s4-0 (ppointer->process (-> obj parent))) (s5-0 (if (type? s4-0 vehicle) s4-0 ) @@ -62,15 +58,10 @@ (defmethod vehicle-rider-method-35 vehicle-rider ((obj vehicle-rider)) (logior! (-> obj draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> obj parent-override))) - (put-rider-in-seat - (the-as vehicle (if v1-3 - (-> v1-3 0 self-override) - ) - ) - (-> obj seat-index) - (the-as process-focusable #f) - ) + (put-rider-in-seat + (the-as vehicle (ppointer->process (-> obj parent))) + (-> obj seat-index) + (the-as process-focusable #f) ) (go (method-of-object obj inactive)) 0 @@ -85,7 +76,7 @@ (stack-size-set! (-> obj main-thread) 256) (go process-drawable-art-error "no lwide entity found") ) - (set! (-> obj root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape (new 'process 'trsqv))) 0 (none) ) @@ -105,12 +96,7 @@ (defmethod vehicle-rider-method-34 vehicle-rider ((obj vehicle-rider)) (with-pp - (let* ((v1-0 (-> obj parent-override)) - (a0-1 (if v1-0 - (-> v1-0 0 self-override) - ) - ) - ) + (let ((a0-1 (ppointer->process (-> obj parent)))) (when a0-1 (+! (-> obj anim-t) (* 41870.223 (-> obj anim-speed) (-> pp clock seconds-per-frame))) (if (< 65536.0 (-> obj anim-t)) @@ -146,7 +132,7 @@ ) (('knocked-off) (let ((gp-0 (new 'stack 'traffic-object-spawn-params))) - (let ((v1-14 (find-nearest-nav-mesh (-> self root-override trans) (the-as float #x7f800000)))) + (let ((v1-14 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (set! (-> gp-0 object-type) (traffic-type citizen-norm-1)) (set! (-> gp-0 behavior) (the-as uint 11)) (set! (-> gp-0 id) (the-as uint 0)) @@ -154,7 +140,7 @@ ) (set! (-> gp-0 nav-branch) #f) (set! (-> gp-0 proc) #f) - (set! (-> gp-0 handle) (process->handle (-> self parent-override 0))) + (set! (-> gp-0 handle) (process->handle (-> self parent 0))) (set! (-> gp-0 user-data) (-> self draw seg-mask)) (set! (-> gp-0 flags) (traffic-spawn-flags)) (set! (-> gp-0 guard-type) (the-as uint 7)) @@ -163,8 +149,8 @@ (send-event *traffic-manager* 'increase-alert-level 2) (set! (-> gp-0 object-type) (traffic-type crimson-guard-1)) ) - (set! (-> gp-0 position quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-0 rotation) (-> self root-override quat)) + (set! (-> gp-0 position quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-0 rotation) (-> self root quat)) (send-event *traffic-manager* 'activate-object gp-0) ) (set! (-> self flags) (logand -3 (-> self flags))) @@ -273,8 +259,8 @@ This commonly includes things such as: (defbehavior vehicle-rider-init-by-other vehicle-rider ((arg0 traffic-object-spawn-params)) (initialize-collision self) - (set! (-> self root-override trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> self root-override quat) (-> arg0 rotation)) + (set! (-> self root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 rotation)) (logior! (-> self focus-status) (focus-status pilot-riding)) (vehicle-rider-method-32 self arg0) (cond diff --git a/goal_src/jak2/levels/city/common/vehicle-states.gc b/goal_src/jak2/levels/city/common/vehicle-states.gc index 22a4e9d337..63c63fefee 100644 --- a/goal_src/jak2/levels/city/common/vehicle-states.gc +++ b/goal_src/jak2/levels/city/common/vehicle-states.gc @@ -95,9 +95,9 @@ (set! (-> self controls brake) 0.0) (set! (-> self controls steering) 0.0) (vehicle-method-83 self) - (update-transforms (-> self root-override-2)) + (update-transforms (-> self root)) (vehicle-method-143 self) - (let ((v1-15 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-15 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-15 (set! (-> v1-15 prim-core collide-with) (collide-spec)) (set! (-> v1-15 prim-core collide-as) (collide-spec)) @@ -108,7 +108,7 @@ ) :exit (behavior () (logclear! (-> self flags) (rigid-body-object-flag waiting-for-player)) - (let ((v1-3 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-3 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-3 (set! (-> v1-3 prim-core collide-with) (collide-spec backgnd @@ -142,16 +142,14 @@ :enter (behavior () (set-setting! 'sound-flava #f 31.0 5) (set! (-> self state-time) (current-time)) - (iterate-prims - (-> self root-override-2) - (lambda ((arg0 collide-shape-prim)) - (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) - (logior! (-> arg0 prim-core collide-as) (collide-spec jak)) - (logior! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) - ) - (none) - ) - ) + (iterate-prims (-> self root) (lambda ((arg0 collide-shape-prim)) + (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) + (logior! (-> arg0 prim-core collide-as) (collide-spec jak)) + (logior! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) + ) + (none) + ) + ) (vehicle-method-139 self) (set! (-> self flags) (the-as @@ -163,32 +161,25 @@ (rigid-body-object-method-38 self) (vehicle-method-102 self) (vehicle-method-87 self) - (set! (-> self root-override-2 penetrated-by) - (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) - (-> self root-override-2 penetrated-by) - ) + (set! (-> self root penetrated-by) + (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) (-> self root penetrated-by)) ) (set! (-> self damage-factor) (* 0.7518797 (-> self damage-factor))) 0 (none) ) :exit (behavior () - (logclear! - (-> self root-override-2 penetrated-by) - (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) - ) + (logclear! (-> self root penetrated-by) (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot)) (when (not (logtest? (rigid-body-object-flag measure-control-parameters) (-> self flags))) - (iterate-prims - (-> self root-override-2) - (lambda ((arg0 collide-shape-prim)) - (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) - (logclear! (-> arg0 prim-core collide-as) (collide-spec jak)) - (logclear! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) - ) - (none) - ) - ) - (if (and (not (logtest? (-> self info-override flags) 256)) (= (send-event *target* 'query 'mode) 'pilot)) + (iterate-prims (-> self root) (lambda ((arg0 collide-shape-prim)) + (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) + (logclear! (-> arg0 prim-core collide-as) (collide-spec jak)) + (logclear! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) + ) + (none) + ) + ) + (if (and (not (logtest? (-> self info flags) 256)) (= (send-event *target* 'query 'mode) 'pilot)) (send-event *target* 'end-mode) ) (set! (-> self controls throttle) 0.0) @@ -211,7 +202,7 @@ (go-virtual waiting) ) (when (and (cpad-pressed? 0 triangle) - (not (logtest? (-> self info-override flags) 256)) + (not (logtest? (-> self info flags) 256)) (-> *setting-control* user-current pilot-exit) (not (focus-test? *target* dead hit grabbed)) (!= (-> self crash-level) 3) @@ -270,7 +261,7 @@ (vehicle-method-129 self) (set! (-> self crash-level) 3) (vehicle-method-88 self) - (dotimes (gp-0 (-> self info-override seat-count)) + (dotimes (gp-0 (-> self info seat-count)) (send-event (handle->process (-> self rider-array gp-0)) 'vehicle-crash) ) (none) @@ -297,8 +288,8 @@ (vf2 :class vf) ) (init-vf0-vector) - (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (camera-pos))) - (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (target-pos 0))) + (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root trans) (camera-pos))) + (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (cond ((logtest? (-> self draw status) (draw-control-status on-screen)) (set! (-> self state-time) (current-time)) @@ -320,7 +311,7 @@ (cond ((logtest? (-> self rbody state flags) (rigid-body-flag enable-physics)) (let ((gp-2 (new 'stack-no-clear 'rigid-body-info))) - (mem-copy! (&-> gp-2 mass) (the-as pointer (-> self info-override info)) 188) + (mem-copy! (&-> gp-2 mass) (the-as pointer (-> self info info)) 188) (set! (-> self rbody state info) (the-as rigid-body-info (&-> gp-2 mass))) (set! (-> gp-2 bounce-mult-factor) 0.0) (set! (-> gp-2 bounce-factor) 0.4) @@ -329,7 +320,7 @@ (set! (-> gp-2 friction-factor) 0.05) ) (vehicle-method-121 self) - (set! (-> self rbody state info) (-> self info-override info)) + (set! (-> self rbody state info) (-> self info info)) (when (logtest? (-> self flags) (rigid-body-object-flag disturbed)) (let* ((f0-14 (* 0.0033333334 (the float (- (current-time) (-> self disturbed-time))))) (f0-17 (* f0-14 f0-14 (-> self camera-dist2))) @@ -403,7 +394,7 @@ (set! gp-0 (-> gp-0 0 brother)) ) ) - (dotimes (gp-1 (-> self info-override seat-count)) + (dotimes (gp-1 (-> self info seat-count)) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) (process->ppointer self)) (set! (-> a1-2 num-params) 2) @@ -451,17 +442,17 @@ (vehicle-method-110 self) (vehicle-method-103 self) (let ((gp-5 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-5 spawn-point quad) (-> self root-override-2 trans quad)) - (quaternion-copy! (-> gp-5 spawn-quat) (-> self root-override-2 quat)) - (set! (-> gp-5 radius) (+ 12288.0 (-> self root-override-2 root-prim local-sphere w))) - (set! (-> gp-5 group) (-> *part-group-id-table* (-> self info-override explosion-part))) + (set! (-> gp-5 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-5 spawn-quat) (-> self root quat)) + (set! (-> gp-5 radius) (+ 12288.0 (-> self root root-prim local-sphere w))) + (set! (-> gp-5 group) (-> *part-group-id-table* (-> self info explosion-part))) (set! (-> gp-5 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) (set! (-> gp-5 penetrate-using) (penetrate explode)) (explosion-spawn (the-as process-drawable (ppointer->process (-> self parent))) explosion gp-5) ) - (let ((gp-6 (-> self info-override explosion))) + (let ((gp-6 (-> self info explosion))) (when gp-6 (set! (-> gp-6 skel) (the-as skeleton-group (art-group-get-by-name *level* (-> gp-6 skel-name) (the-as (pointer uint32) #f))) diff --git a/goal_src/jak2/levels/city/common/vehicle-util.gc b/goal_src/jak2/levels/city/common/vehicle-util.gc index b61ca2a7bd..f4fabb4ce6 100644 --- a/goal_src/jak2/levels/city/common/vehicle-util.gc +++ b/goal_src/jak2/levels/city/common/vehicle-util.gc @@ -173,14 +173,14 @@ This commonly includes things such as: (t9-0 obj) ) (cond - ((logtest? (-> obj info-override flags) 2048) + ((logtest? (-> obj info flags) 2048) (set! (-> obj rbody state force-callback) (method-of-object obj vehicle-method-125)) ) - ((logtest? (-> obj info-override flags) 4096) + ((logtest? (-> obj info flags) 4096) (set! (-> obj rbody state force-callback) (method-of-object obj vehicle-method-126)) ) ) - (rigid-body-vehicle-constants-method-9 (-> obj info-override)) + (rigid-body-vehicle-constants-method-9 (-> obj info)) (none) ) @@ -191,7 +191,7 @@ This commonly includes things such as: ) (when (< f0-0 (* f1-0 f1-0)) (let ((s5-0 (new 'stack-no-clear 'mystery-vehicle-type))) - (set! (-> s5-0 floats 4) (+ 8192.0 (-> obj root-override-2 root-prim local-sphere w))) + (set! (-> s5-0 floats 4) (+ 8192.0 (-> obj root root-prim local-sphere w))) (if (logtest? (rigid-body-object-flag ai-driving) (-> obj flags)) (set! (-> s5-0 floats 4) (* 1.5 (-> s5-0 floats 4))) ) @@ -302,8 +302,8 @@ This commonly includes things such as: (matrix-4x4-inverse! (-> s5-0 matrices 2) (-> s5-0 matrices 1)) (vector-matrix*! (the-as vector (-> s5-0 matrices)) (-> s5-0 matrices 0 vector 1) (-> s5-0 matrices 2)) (set! (-> s5-0 floats 0) 81920.0) - (dotimes (s2-1 (-> obj info-override grab-rail-count)) - (let ((s1-0 (-> obj info-override grab-rail-array s2-1))) + (dotimes (s2-1 (-> obj info grab-rail-count)) + (let ((s1-0 (-> obj info grab-rail-array s2-1))) (vector-! (-> s5-0 matrices 0 trans) (the-as vector (-> s5-0 matrices)) (the-as vector (-> s1-0 local-pos))) (when #t (let ((f30-0 (vector-segment-distance-point! @@ -436,7 +436,7 @@ This commonly includes things such as: ) (defmethod start-jump vehicle ((obj vehicle)) - (when (logtest? (-> obj info-override flags) 16) + (when (logtest? (-> obj info flags) 16) (when (not (logtest? (rigid-body-object-flag jump-sound) (-> obj flags))) (set! (-> obj flags) (logior (rigid-body-object-flag jump-sound) (-> obj flags))) (sound-play "bike-hop") @@ -453,12 +453,12 @@ This commonly includes things such as: ) (defmethod get-seat-count vehicle ((obj vehicle)) - (-> obj info-override seat-count) + (-> obj info seat-count) ) (defmethod compute-seat-position vehicle ((obj vehicle) (arg0 vector) (arg1 int)) (let ((v1-0 (new 'stack-no-clear 'vector))) - (set! (-> v1-0 quad) (-> obj info-override seat-array arg1 position quad)) + (set! (-> v1-0 quad) (-> obj info seat-array arg1 position quad)) (set! (-> v1-0 w) 1.0) (vector-matrix*! arg0 v1-0 (-> obj node-list data 0 bone transform)) ) @@ -468,7 +468,7 @@ This commonly includes things such as: (defmethod get-rider-in-seat vehicle ((obj vehicle) (arg0 int)) (let ((v0-0 (the-as process #f))) - (if (< arg0 (-> obj info-override seat-count)) + (if (< arg0 (-> obj info seat-count)) (set! v0-0 (handle->process (-> obj rider-array arg0))) ) v0-0 @@ -477,8 +477,8 @@ This commonly includes things such as: (defmethod vehicle-method-70 vehicle ((obj vehicle)) (let ((gp-0 (the-as process #f))) - (countdown (s4-0 (-> obj info-override seat-count)) - (when (logtest? (-> obj info-override seat-array s4-0 flags) 1) + (countdown (s4-0 (-> obj info seat-count)) + (when (logtest? (-> obj info seat-array s4-0 flags) 1) (let ((v1-7 (get-rider-in-seat obj s4-0))) (if v1-7 (set! gp-0 v1-7) @@ -495,8 +495,8 @@ This commonly includes things such as: (let ((f30-0 (the-as float #x7f800000)) (s1-0 (new 'stack-no-clear 'vector)) ) - (countdown (s0-0 (-> obj info-override seat-count)) - (when (logtest? arg1 (-> obj info-override seat-array s0-0 flags)) + (countdown (s0-0 (-> obj info seat-count)) + (when (logtest? arg1 (-> obj info seat-array s0-0 flags)) (let ((v1-7 arg2)) (when (cond ((zero? v1-7) @@ -529,7 +529,7 @@ This commonly includes things such as: ) (defmethod remove-rider vehicle ((obj vehicle) (arg0 process)) - (let ((v1-1 (-> obj info-override seat-count))) + (let ((v1-1 (-> obj info seat-count))) (dotimes (a2-0 v1-1) (if (= arg0 (handle->process (-> obj rider-array a2-0))) (set! (-> obj rider-array a2-0) (the-as handle #f)) @@ -541,7 +541,7 @@ This commonly includes things such as: ) (defmethod put-rider-in-seat vehicle ((obj vehicle) (arg0 int) (arg1 process-focusable)) - (if (< arg0 (-> obj info-override seat-count)) + (if (< arg0 (-> obj info seat-count)) (set! (-> obj rider-array arg0) (process->handle arg1)) ) 0 @@ -550,7 +550,7 @@ This commonly includes things such as: (defmethod vehicle-method-117 vehicle ((obj vehicle) (arg0 vector) (arg1 int) (arg2 int)) (let ((v1-0 (new 'stack-no-clear 'vector))) - (vector+! v1-0 (-> obj info-override seat-array arg1 position) (-> obj info-override rider-hand-offset arg2)) + (vector+! v1-0 (-> obj info seat-array arg1 position) (-> obj info rider-hand-offset arg2)) (vector-matrix*! arg0 v1-0 (-> obj node-list data 0 bone transform)) ) 0 @@ -558,7 +558,7 @@ This commonly includes things such as: ) (defmethod vehicle-method-72 vehicle ((obj vehicle)) - (-> obj info-override rider-stance) + (-> obj info rider-stance) ) (defmethod vehicle-method-75 vehicle ((obj vehicle)) @@ -593,7 +593,7 @@ This commonly includes things such as: (s3-0 0) ) (while (nonzero? s4-1) - (when (and (logtest? s4-1 1) (< s3-0 (-> obj info-override section-count))) + (when (and (logtest? s4-1 1) (< s3-0 (-> obj info section-count))) (let ((v1-14 (-> obj section-array s3-0))) (+! (-> v1-14 damage) (* 4.0 (-> obj damage-factor) arg0)) ) @@ -611,7 +611,7 @@ This commonly includes things such as: (defmethod vehicle-method-118 vehicle ((obj vehicle) (arg0 int)) (let* ((v1-2 (-> obj section-array arg0)) - (s4-0 (-> obj info-override section-array arg0)) + (s4-0 (-> obj info section-array arg0)) (s5-1 (max 0 @@ -681,24 +681,24 @@ This commonly includes things such as: (rigid-body-object-method-39 obj) (vehicle-method-103 obj) (set! (-> obj hit-points) 1.0) - (set! (-> obj damage-factor) (-> obj info-override damage-factor)) + (set! (-> obj damage-factor) (-> obj info damage-factor)) (set! (-> obj crash-level) 0) (set! (-> obj power-fluctuation-factor) 0.02) (set! (-> obj power-level) 1.0) (set! (-> obj flight-level-index) 0) - (let ((a1-0 (-> obj root-override-2 trans))) + (let ((a1-0 (-> obj root trans))) (set! (-> obj flight-level) (get-height-at-point *traffic-height-map* a1-0)) ) (set! (-> obj lights-factor) 0.0) - (let ((a0-8 (-> obj info-override color-option-select))) - (set! (-> obj draw color-mult quad) (-> obj info-override color-option-array a0-8 quad)) + (let ((a0-8 (-> obj info color-option-select))) + (set! (-> obj draw color-mult quad) (-> obj info color-option-array a0-8 quad)) ) - (+! (-> obj info-override color-option-select) 1) - (when (>= (-> obj info-override color-option-select) (-> obj info-override color-option-count)) - (set! (-> obj info-override color-option-select) 0) + (+! (-> obj info color-option-select) 1) + (when (>= (-> obj info color-option-select) (-> obj info color-option-count)) + (set! (-> obj info color-option-select) 0) 0 ) - (dotimes (s5-0 (-> obj info-override section-count)) + (dotimes (s5-0 (-> obj info section-count)) (let ((v1-34 (-> obj section-array s5-0))) (set! (-> v1-34 damage) 0.0) ) @@ -799,8 +799,8 @@ This commonly includes things such as: (set-vector! (-> s4-1 vector 2) 0.0 1.0 0.0 1.0) (mem-copy! (the-as pointer (-> s4-1 vector 4)) (the-as pointer s5-1) 64) (dotimes (s3-0 2) - (vector-matrix*! (the-as vector (-> s4-1 vector)) (-> obj info-override exhaust-local-pos s3-0) s5-1) - (vector-rotate*! (-> s4-1 vector 1) (-> obj info-override exhaust-local-dir s3-0) s5-1) + (vector-matrix*! (the-as vector (-> s4-1 vector)) (-> obj info exhaust-local-pos s3-0) s5-1) + (vector-rotate*! (-> s4-1 vector 1) (-> obj info exhaust-local-dir s3-0) s5-1) (vector-cross! (-> s4-1 vector 3) (-> s4-1 vector 1) (-> s4-1 vector 2)) (vector-normalize! (-> s4-1 vector 3) 1.0) (vector-cross! (-> s4-1 vector 6) (-> s4-1 vector 3) (-> s4-1 vector 1)) @@ -835,7 +835,7 @@ This commonly includes things such as: ) (defmethod vehicle-method-141 vehicle ((obj vehicle)) - (let ((a0-2 (find-nearest-nav-mesh (-> obj root-override-2 trans) (the-as float #x7f800000)))) + (let ((a0-2 (find-nearest-nav-mesh (-> obj root trans) (the-as float #x7f800000)))) (when a0-2 (add-process-drawable-to-navmesh a0-2 obj #t) (logclear! (-> obj nav flags) (nav-control-flag output-sphere-hash)) @@ -869,9 +869,9 @@ This commonly includes things such as: (v1-2 (cond (s5-0 - (do-navigation-to-destination (-> s5-0 state) (-> obj root-override-2 trans)) + (do-navigation-to-destination (-> s5-0 state) (-> obj root trans)) (when (not (logtest? (-> s5-0 state flags) (nav-state-flag in-mesh))) - (let ((a0-6 (find-nearest-nav-mesh (-> obj root-override-2 trans) (the-as float #x7f800000)))) + (let ((a0-6 (find-nearest-nav-mesh (-> obj root trans) (the-as float #x7f800000)))) (when (and a0-6 (!= a0-6 (-> s5-0 state mesh))) (change-to a0-6 obj) (logclear! (-> obj nav flags) (nav-control-flag output-sphere-hash)) @@ -899,10 +899,10 @@ This commonly includes things such as: (when (not (logtest? (rigid-body-object-flag camera) (-> obj flags))) (set! (-> obj flags) (logior (rigid-body-object-flag camera) (-> obj flags))) (set! (-> obj cam-speed-interp) 0.0) - (set-setting! 'string-min-height 'abs (-> obj info-override camera-string-min-height) 0) - (set-setting! 'string-max-height 'abs (-> obj info-override camera-string-max-height) 0) - (set-setting! 'head-offset 'abs (-> obj info-override camera-head-offset) 0) - (set-setting! 'foot-offset 'abs (-> obj info-override camera-foot-offset) 0) + (set-setting! 'string-min-height 'abs (-> obj info camera-string-min-height) 0) + (set-setting! 'string-max-height 'abs (-> obj info camera-string-max-height) 0) + (set-setting! 'head-offset 'abs (-> obj info camera-head-offset) 0) + (set-setting! 'foot-offset 'abs (-> obj info camera-foot-offset) 0) (set-setting! 'target-height 'abs (meters 0) 0) (vehicle-method-92 obj) (vehicle-method-89 obj) @@ -997,9 +997,9 @@ This commonly includes things such as: (defmethod rigid-body-object-method-40 vehicle ((obj vehicle)) (logior! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> obj root-override-2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> obj root-override-2 backup-collide-with)) + (let ((v1-3 (-> obj root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> obj root backup-collide-with)) ) 0 (none) @@ -1007,7 +1007,7 @@ This commonly includes things such as: (defmethod rigid-body-object-method-41 vehicle ((obj vehicle)) (logclear! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) + (let ((v1-3 (-> obj root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1037,12 +1037,8 @@ This commonly includes things such as: (defmethod rigid-body-object-method-38 vehicle ((obj vehicle)) (when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) (logior! (-> obj rbody state flags) (rigid-body-flag enable-physics)) - (rigid-body-method-26 (-> obj rbody state) (-> obj root-override-2 trans) (-> obj root-override-2 quat)) - (vector-float*! - (-> obj rbody state lin-momentum) - (-> obj root-override-2 transv) - (-> obj info-override info mass) - ) + (rigid-body-method-26 (-> obj rbody state) (-> obj root trans) (-> obj root quat)) + (vector-float*! (-> obj rbody state lin-momentum) (-> obj root transv) (-> obj info info mass)) (vector-reset! (-> obj rbody state ang-momentum)) (vector-reset! (-> obj lin-acceleration)) ) @@ -1077,7 +1073,7 @@ This commonly includes things such as: ) (defmethod vehicle-method-80 vehicle ((obj vehicle)) - (when (and (logtest? (-> obj info-override flags) 64) (< (-> obj flight-level-index) 1)) + (when (and (logtest? (-> obj info flags) 64) (< (-> obj flight-level-index) 1)) 1 (cond ((< (+ 8192.0 (-> obj rbody state position y)) (-> obj flight-level)) @@ -1094,7 +1090,7 @@ This commonly includes things such as: ) (defmethod vehicle-method-81 vehicle ((obj vehicle)) - (when (and (logtest? (-> obj info-override flags) 64) (> (-> obj flight-level-index) 0)) + (when (and (logtest? (-> obj info flags) 64) (> (-> obj flight-level-index) 0)) (sound-play "bike-down") (vehicle-method-78 obj 0) ) @@ -1178,14 +1174,14 @@ This commonly includes things such as: (logclear! (-> obj draw status) (draw-control-status no-draw)) (logior! (-> obj skel status) (joint-control-status sync-math)) (ja-post) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (logclear! (-> obj skel status) (joint-control-status sync-math)) (go (method-of-object obj idle)) ) ((= v1-0 2) (let ((a1-1 (-> arg0 nav-branch))) (if a1-1 - (vehicle-controller-method-13 (-> obj controller) a1-1 (-> obj root-override-2 trans)) + (vehicle-controller-method-13 (-> obj controller) a1-1 (-> obj root trans)) ) ) (vehicle-method-128 obj) @@ -1228,7 +1224,7 @@ This commonly includes things such as: (set! s5-0 (-> s5-0 0 brother)) ) ) - (dotimes (s5-1 (-> obj info-override seat-count)) + (dotimes (s5-1 (-> obj info seat-count)) (put-rider-in-seat obj s5-1 (the-as process-focusable #f)) ) (vehicle-method-142 obj) @@ -1240,7 +1236,7 @@ This commonly includes things such as: (defmethod vehicle-method-128 vehicle ((obj vehicle)) (vehicle-method-82 obj) - (set! (-> obj root-override-2 trans y) (-> obj flight-level)) + (set! (-> obj root trans y) (-> obj flight-level)) (set! (-> obj flags) (logior (rigid-body-object-flag ignition ai-driving) (-> obj flags))) (let ((gp-1 (-> obj child))) (while gp-1 @@ -1362,8 +1358,8 @@ This commonly includes things such as: (defmethod vehicle-method-107 vehicle ((obj vehicle)) (logclear! (-> obj controller flags) (vehicle-controller-flag ignore-others direct-mode)) (let ((s5-0 (new 'stack-no-clear 'vehicle-control-point))) - (set! (-> s5-0 local-pos quad) (-> obj root-override-2 trans quad)) - (set! (-> s5-0 normal quad) (-> obj root-override-2 transv quad)) + (set! (-> s5-0 local-pos quad) (-> obj root trans quad)) + (set! (-> s5-0 normal quad) (-> obj root transv quad)) (set! (-> s5-0 local-pos w) 40960.0) (let ((s4-0 0)) (label cfg-1) @@ -1374,7 +1370,7 @@ This commonly includes things such as: (goto cfg-1) ) (if v1-7 - (vehicle-controller-method-13 (-> obj controller) (-> v1-7 branch) (-> obj root-override-2 trans)) + (vehicle-controller-method-13 (-> obj controller) (-> v1-7 branch) (-> obj root trans)) (vehicle-method-113 obj) ) ) @@ -1385,17 +1381,13 @@ This commonly includes things such as: ) (defmethod vehicle-method-119 vehicle ((obj vehicle)) - (dotimes (s5-0 (-> obj info-override seat-count)) + (dotimes (s5-0 (-> obj info seat-count)) (let ((s4-0 (handle->process (-> obj rider-array s5-0)))) (when (and s4-0 (focus-test? (the-as vehicle-rider s4-0) pilot-riding)) - (compute-seat-position obj (-> (the-as vehicle-rider s4-0) root-override trans) s5-0) - (set! (-> (the-as vehicle-rider s4-0) root-override transv quad) (-> obj root-override-2 transv quad)) - (let ((f0-1 (the float (-> obj info-override seat-array s5-0 angle)))) - (quaternion-rotate-local-y! - (-> (the-as vehicle-rider s4-0) root-override quat) - (-> obj root-override-2 quat) - f0-1 - ) + (compute-seat-position obj (-> (the-as vehicle-rider s4-0) root trans) s5-0) + (set! (-> (the-as vehicle-rider s4-0) root transv quad) (-> obj root transv quad)) + (let ((f0-1 (the float (-> obj info seat-array s5-0 angle)))) + (quaternion-rotate-local-y! (-> (the-as vehicle-rider s4-0) root quat) (-> obj root quat) f0-1) ) ) ) diff --git a/goal_src/jak2/levels/city/common/vehicle.gc b/goal_src/jak2/levels/city/common/vehicle.gc index 0e7e0400d5..c376700156 100644 --- a/goal_src/jak2/levels/city/common/vehicle.gc +++ b/goal_src/jak2/levels/city/common/vehicle.gc @@ -90,8 +90,8 @@ (let* ((f0-0 1.0) (f1-0 (-> arg0 impulse)) (f2-0 61440.0) - (f30-0 (fmin f0-0 (* f1-0 (/ 1.0 f2-0) (-> obj info-override info inv-mass)))) - (f28-0 (* (-> obj info-override info mass) (-> obj info-override toughness-factor))) + (f30-0 (fmin f0-0 (* f1-0 (/ 1.0 f2-0) (-> obj info info inv-mass)))) + (f28-0 (* (-> obj info info mass) (-> obj info toughness-factor))) ) (set! (-> obj crash-impulse) (-> arg0 impulse)) (cond @@ -131,7 +131,7 @@ ) (if (< 0.1 f30-0) (sound-play-by-name - (-> obj info-override glance-sound) + (-> obj info glance-sound) (new-sound-id) (the int (* 1024.0 f30-0)) 0 @@ -144,7 +144,7 @@ ) (when (< (* 102400.0 f28-0) (-> arg0 impulse)) (sound-play-by-name - (-> obj info-override impact-sound) + (-> obj info impact-sound) (new-sound-id) (the int (* 1024.0 f30-0)) 0 @@ -191,21 +191,21 @@ (defmethod vehicle-method-104 vehicle ((obj vehicle)) (with-pp (when (= (-> obj controller traffic sync-mask-8) (ash 1 (logand (-> obj traffic-priority-id) 7))) - (let ((a1-0 (-> obj root-override-2 trans))) + (let ((a1-0 (-> obj root trans))) (set! (-> obj flight-level) (get-height-at-point *traffic-height-map* a1-0)) ) ) (set! (-> obj target-acceleration y) - (- (* 8.0 (- (-> obj flight-level) (-> obj root-override-2 trans y))) (-> obj root-override-2 transv y)) + (- (* 8.0 (- (-> obj flight-level) (-> obj root trans y))) (-> obj root transv y)) ) - (vector-v++! (-> obj root-override-2 transv) (-> obj target-acceleration)) - (vector-v++! (-> obj root-override-2 trans) (-> obj root-override-2 transv)) - (let* ((v1-14 (-> obj root-override-2 transv)) + (vector-v++! (-> obj root transv) (-> obj target-acceleration)) + (vector-v++! (-> obj root trans) (-> obj root transv)) + (let* ((v1-14 (-> obj root transv)) (f30-0 (sqrtf (+ (* (-> v1-14 x) (-> v1-14 x)) (* (-> v1-14 z) (-> v1-14 z))))) (s5-0 (new 'stack-no-clear 'vehicle-control-point)) ) (when (< 40.96 f30-0) - (vector-float*! (-> s5-0 normal) (-> obj root-override-2 transv) (/ 1.0 f30-0)) + (vector-float*! (-> s5-0 normal) (-> obj root transv) (/ 1.0 f30-0)) (quaternion-set! (the-as quaternion (-> s5-0 local-pos)) 0.0 @@ -220,8 +220,8 @@ (* -0.08886719 (-> obj controls steering) (fmin 81920.0 f30-0)) ) (quaternion-smooth-seek! - (-> obj root-override-2 quat) - (-> obj root-override-2 quat) + (-> obj root quat) + (-> obj root quat) (the-as quaternion (-> s5-0 local-pos)) (* 0.00014686584 (-> pp clock seconds-per-frame) f30-0) ) @@ -393,7 +393,7 @@ (set! (-> s5-0 z) (fmin 1.0 (* 0.023529412 (the float (-> *cpad-list* cpads 0 abutton 7))))) (vehicle-method-95 obj (the-as vector (&-> s5-0 x))) ) - (if (or (cpad-hold? 0 l1) (and (logtest? (-> obj info-override flags) 512) (cpad-hold? 0 r1))) + (if (or (cpad-hold? 0 l1) (and (logtest? (-> obj info flags) 512) (cpad-hold? 0 r1))) (start-jump obj) ) (if (cpad-pressed? 0 circle) @@ -409,11 +409,10 @@ (with-pp (when (and *target* (logtest? (rigid-body-object-flag ignition) (-> obj flags))) (when (and (logtest? (-> obj flags) (rigid-body-object-flag player-driving)) - (zero? (-> obj root-override-2 num-riders)) - (or (not *target*) - (or (< 32768.0 (vector-vector-distance (-> obj root-override-2 trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (zero? (-> obj root num-riders)) + (or (not *target*) (or (< 32768.0 (vector-vector-distance (-> obj root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) ) (set! (-> obj controls throttle) 0.0) @@ -488,24 +487,22 @@ (let* ((f1-13 (fmax 0.0 - (fmin - 1.0 - (/ (* (vector-length (-> obj rbody state lin-velocity)) (-> obj info-override engine-intake-factor)) - (-> obj info-override max-xz-speed) - ) - ) + (fmin 1.0 (/ (* (vector-length (-> obj rbody state lin-velocity)) (-> obj info engine-intake-factor)) + (-> obj info max-xz-speed) + ) + ) ) ) (f1-16 (fmin (-> obj controls throttle) (* 0.83333 (+ 0.5 f1-13)))) ) 0 (if (logtest? (rigid-body-object-flag turbo-boost) (-> obj flags)) - (set! f1-16 (+ 1.0 (* (-> obj turbo-boost-factor) (-> obj info-override turbo-boost-factor)))) + (set! f1-16 (+ 1.0 (* (-> obj turbo-boost-factor) (-> obj info turbo-boost-factor)))) ) (if (< (-> obj engine-thrust) f1-16) (+! (-> obj engine-thrust) (* (- f1-16 (-> obj engine-thrust)) - (fmin 1.0 (* (-> obj info-override engine-response-rate) (-> pp clock seconds-per-frame))) + (fmin 1.0 (* (-> obj info engine-response-rate) (-> pp clock seconds-per-frame))) ) ) (seek! (-> obj engine-thrust) f1-16 (-> pp clock seconds-per-frame)) @@ -605,12 +602,12 @@ ((logtest? (-> obj flags) (rigid-body-object-flag in-air)) (when (or (< 55296.0 (-> obj rbody state lin-velocity y)) (>= (- (current-time) (-> obj air-time)) (seconds 0.75))) (set-setting! 'extra-follow-height 'abs (meters -4) 0) - (send-event *camera* 'set-max-angle-offset (-> obj info-override camera-air-max-angle-offset)) + (send-event *camera* 'set-max-angle-offset (-> obj info camera-air-max-angle-offset)) ) ) (else (remove-setting! 'extra-follow-height) - (send-event *camera* 'set-max-angle-offset (-> obj info-override camera-normal-max-angle-offset)) + (send-event *camera* 'set-max-angle-offset (-> obj info camera-normal-max-angle-offset)) ) ) (let ((f0-5 (vector-dot (-> obj rbody state lin-velocity) (-> obj rbody state matrix vector 2)))) @@ -618,10 +615,10 @@ ((= (-> obj crash-level) 2) (vehicle-method-90 obj) ) - ((< f0-5 (-> obj info-override camera-max-lookaround-speed)) + ((< f0-5 (-> obj info camera-max-lookaround-speed)) (vehicle-method-90 obj) ) - ((< (+ 4096.0 (-> obj info-override camera-max-lookaround-speed)) f0-5) + ((< (+ 4096.0 (-> obj info camera-max-lookaround-speed)) f0-5) (vehicle-method-89 obj) ) ) @@ -629,11 +626,12 @@ (when (not (logtest? (rigid-body-object-flag flight-level-transition) (-> obj flags))) (let* ((f0-6 1.0) (v1-57 (-> obj rbody state lin-velocity)) - (f0-7 (fmin f0-6 (/ (sqrtf (+ (* (-> v1-57 x) (-> v1-57 x)) (* (-> v1-57 z) (-> v1-57 z)))) - (-> obj info-override max-xz-speed) - ) - ) - ) + (f0-7 + (fmin + f0-6 + (/ (sqrtf (+ (* (-> v1-57 x) (-> v1-57 x)) (* (-> v1-57 z) (-> v1-57 z)))) (-> obj info max-xz-speed)) + ) + ) ) (seek! (-> obj cam-speed-interp) f0-7 (* 0.1 (-> pp clock seconds-per-frame))) ) @@ -643,13 +641,12 @@ (fmax 0.0 (fmin 1.0 (analog-input (the-as int (-> *cpad-list* cpads 1 righty)) 128.0 48.0 110.0 -1.0))) ) ) - (let ((f0-15 (lerp-scale (-> obj info-override camera-min-fov) (-> obj info-override camera-max-fov) f30-0 0.0 1.0)) - ) + (let ((f0-15 (lerp-scale (-> obj info camera-min-fov) (-> obj info camera-max-fov) f30-0 0.0 1.0))) (set-setting! 'fov 'abs f0-15 0) ) (let ((f30-2 (lerp-scale 1.0 0.6 f30-0 0.0 1.0))) - (set-setting! 'string-min-length 'abs (* f30-2 (-> obj info-override camera-string-min-length)) 0) - (set-setting! 'string-max-length 'abs (* f30-2 (-> obj info-override camera-string-max-length)) 0) + (set-setting! 'string-min-length 'abs (* f30-2 (-> obj info camera-string-min-length)) 0) + (set-setting! 'string-max-length 'abs (* f30-2 (-> obj info camera-string-max-length)) 0) ) ) ) @@ -659,7 +656,7 @@ ) (cond ((logtest? (rigid-body-object-flag camera-rapid-track-mode) (-> obj flags)) - (.lvf vf1 (&-> (-> obj root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> obj root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -678,7 +675,7 @@ (let* ((f0-21 143360.0) (f0-23 (* f0-21 f0-21)) ) - (.lvf vf1 (&-> (-> obj root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> obj root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -706,7 +703,7 @@ (set-setting! 'vertical-follow-matches-camera #f 0.0 0) ) (else - (if (< (fabs (-> obj root-override-2 transv y)) 8192.0) + (if (< (fabs (-> obj root transv y)) 8192.0) (remove-setting! 'vertical-follow-matches-camera) ) ) @@ -726,7 +723,7 @@ (with-pp (let ((s5-0 (-> obj draw shadow-ctrl))) (when (!= *vehicle-shadow-control-disabled* s5-0) - (let ((f30-0 (vector-vector-xz-distance (camera-pos) (-> obj root-override-2 trans)))) + (let ((f30-0 (vector-vector-xz-distance (camera-pos) (-> obj root trans)))) (cond ((< 245760.0 f30-0) (logior! (-> s5-0 settings flags) (shadow-flags disable-draw)) @@ -734,7 +731,7 @@ (set! (-> obj draw bounds w) (-> obj bound-radius)) ) (else - (let ((s4-1 (-> obj root-override-2))) + (let ((s4-1 (-> obj root))) (when (or (logtest? (-> s5-0 settings flags) (shadow-flags disable-draw)) (= (-> obj controller traffic sync-mask-8) (ash 1 (logand (-> obj traffic-priority-id) 7))) ) @@ -747,8 +744,8 @@ (set! (-> s4-1 gspot-normal quad) (-> s3-0 best-other-tri normal quad)) (set! (-> s4-1 ground-pat) (-> s3-0 best-other-tri pat)) (when (logtest? (-> s5-0 settings flags) (shadow-flags disable-draw)) - (set! (-> s5-0 settings top-plane w) (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y))) - (set! (-> s5-0 settings bot-plane w) (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y))) + (set! (-> s5-0 settings top-plane w) (- (-> s5-0 settings center y) (-> obj root gspot-pos y))) + (set! (-> s5-0 settings bot-plane w) (- (-> s5-0 settings center y) (-> obj root gspot-pos y))) ) (let ((v1-29 s5-0)) (logclear! (-> v1-29 settings flags) (shadow-flags disable-draw)) @@ -766,7 +763,7 @@ ) ) (set! (-> obj draw bounds w) (lerp-scale - (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y)) + (- (-> s5-0 settings center y) (-> obj root gspot-pos y)) (-> obj bound-radius) f30-0 81920.0 @@ -777,8 +774,8 @@ (set! (-> obj draw bounds w) (-> obj bound-radius)) ) (let* ((f0-13 (lerp-scale 0.0 1.0 f30-0 245760.0 40960.0)) - (f30-1 (* 4096.0 (+ 5.0 (* 5.0 (- 1.0 (-> obj root-override-2 gspot-normal y)))))) - (f28-0 (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y))) + (f30-1 (* 4096.0 (+ 5.0 (* 5.0 (- 1.0 (-> obj root gspot-normal y)))))) + (f28-0 (- (-> s5-0 settings center y) (-> obj root gspot-pos y))) (f0-16 (fmax 0.01 (+ (* -2.0 f0-13 f0-13 f0-13) (* 3.0 f0-13 f0-13)))) ) (set! (-> s5-0 settings shadow-dir w) (+ 20480.0 (* 409600.0 f0-16) f28-0)) @@ -810,7 +807,7 @@ (set! (-> s5-0 start-pos quad) (-> obj rbody state position quad)) (vector-float*! (-> s5-0 move-dist) (-> obj rbody state lin-velocity) (-> pp clock seconds-per-frame)) (let ((v1-4 s5-0)) - (set! (-> v1-4 radius) (+ 4096.0 (-> obj root-override-2 root-prim local-sphere w))) + (set! (-> v1-4 radius) (+ 4096.0 (-> obj root root-prim local-sphere w))) (set! (-> v1-4 collide-with) (collide-spec backgnd crate @@ -838,7 +835,7 @@ (logclear! (-> s5-0 collide-with) (collide-spec jak player-list)) ) (let ((s4-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> obj root-override-2) s4-0 (collide-action solid semi-solid)) + (water-info-init! (-> obj root) s4-0 (collide-action solid semi-solid)) (if (and (logtest? (-> s4-0 flags) (water-flags active)) (logtest? (water-flags over-water) (-> s4-0 flags))) (set! f30-0 (-> s4-0 base-height)) ) @@ -869,14 +866,14 @@ (defmethod rigid-body-object-method-52 vehicle ((obj vehicle)) (with-pp (let ((v1-0 (new 'stack-no-clear 'vehicle-control-point))) - (set! (-> v1-0 local-pos quad) (-> obj root-override-2 transv quad)) + (set! (-> v1-0 local-pos quad) (-> obj root transv quad)) (vector-! (-> v1-0 normal) (-> obj rbody state lin-velocity) (-> v1-0 local-pos)) (vector-float*! (-> obj lin-acceleration) (-> v1-0 normal) (-> pp clock frames-per-second)) ) - (set! (-> obj root-override-2 transv quad) (-> obj rbody state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (set! (-> obj root transv quad) (-> obj rbody state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (let ((v1-6 (-> obj rbody)) - (a1-7 (-> obj root-override-2 trans)) + (a1-7 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-6 state) a1-7) ) @@ -892,7 +889,7 @@ (set! (-> v1-11 quad 2) a2-1) (set! (-> v1-11 trans quad) a3-1) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (vehicle-method-119 obj) (let ((f0-1 (-> obj player-dist2)) (f1-0 245760.0) @@ -914,7 +911,7 @@ ) ) (vehicle-method-120 obj) - (let ((s5-0 (-> obj root-override-2))) + (let ((s5-0 (-> obj root))) (update-transforms s5-0) (when (and (logtest? (-> obj flags) (rigid-body-object-flag player-touching)) (not (logtest? (-> obj flags) (rigid-body-object-flag player-driving))) @@ -974,7 +971,7 @@ (logclear! (-> obj flags) (rigid-body-object-flag player-touching player-edge-grabbing player-standing-on)) ) (when (logtest? (-> obj flags) (rigid-body-object-flag player-touching)) - (detect-riders! (-> obj root-override-2)) + (detect-riders! (-> obj root)) 0 ) (if (logtest? (-> obj flags) (rigid-body-object-flag player-touching player-driving)) @@ -1009,8 +1006,8 @@ (.sync.p) (label cfg-2) 0 - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (cond ((logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics)) (if (not (vehicle-method-105 obj)) @@ -1080,8 +1077,8 @@ (defmethod vehicle-method-123 vehicle ((obj vehicle)) (local-vars (v1-4 symbol) (a0-21 int) (a0-23 int)) - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (b! (not (logtest? (rigid-body-object-flag traffic-managed) (-> obj flags))) cfg-3 @@ -1201,12 +1198,12 @@ (.sync.p) (label cfg-2) 0 - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (vehicle-controller-method-18 (-> obj controller) (-> obj target-acceleration) - (-> obj root-override-2 transv) + (-> obj root transv) obj (/ 1.0 (-> pp clock seconds-per-frame)) ) @@ -1260,7 +1257,7 @@ (f1-8 245760.0) ) (when (< f0-9 (* f1-8 f1-8)) - (let ((f0-10 (vector-length (-> obj root-override-2 transv)))) + (let ((f0-10 (vector-length (-> obj root transv)))) (seek! (-> obj engine-power-factor) (* 0.000016276043 f0-10) (* 6.0 (-> pp clock seconds-per-frame))) ) (do-engine-sounds obj) @@ -1268,7 +1265,7 @@ ) (when (logtest? (-> obj draw status) (draw-control-status on-screen)) (when #t - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (draw-thrusters obj) ) ) @@ -1303,8 +1300,8 @@ (label cfg-21) 0 (vehicle-method-120 obj) - (update-transforms (-> obj root-override-2)) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (update-transforms (-> obj root)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (vehicle-method-119 obj) (let ((v1-85 (-> *perf-stats* data 20))) (b! (zero? (-> v1-85 ctrl)) cfg-23 :delay (nop!)) @@ -1348,7 +1345,7 @@ (defmethod alloc-and-init-rigid-body-control vehicle ((obj vehicle) (arg0 rigid-body-vehicle-constants)) (if (logtest? (-> arg0 flags) 8) (iterate-prims - (-> obj root-override-2) + (-> obj root) (lambda ((arg0 collide-shape-prim)) (case (-> arg0 prim-core prim-type) (((prim-type sphere)) @@ -1396,23 +1393,22 @@ ) ) (iterate-prims - (-> obj root-override-2) + (-> obj root) (lambda ((arg0 collide-shape-prim)) - (set! (-> arg0 prim-core collide-with) - (collide-spec - backgnd - jak - crate - civilian - enemy - obstacle - vehicle-sphere - hit-by-player-list - hit-by-others-list - player-list - collectable - pusher - ) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + jak + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + player-list + collectable + pusher + ) ) (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) (none) @@ -1426,25 +1422,23 @@ ) (set! (-> obj draw shadow-ctrl) *vehicle-shadow-control-disabled*) ) - (logior! (-> obj root-override-2 root-prim prim-core action) (collide-action pull-rider-can-collide)) - (set! (-> obj root-override-2 pat-ignore-mask) - (new 'static 'pat-surface :noentity #x1 :nopilot #x1 :probe #x1) - ) - (set! (-> obj root-override-2 event-self) 'touched) + (logior! (-> obj root root-prim prim-core action) (collide-action pull-rider-can-collide)) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nopilot #x1 :probe #x1)) + (set! (-> obj root event-self) 'touched) (let ((t9-3 (method-of-type rigid-body-object alloc-and-init-rigid-body-control))) (t9-3 obj arg0) ) (logior! (-> obj rbody state flags) (rigid-body-flag enable-collision)) - (set! (-> obj root-override-2 max-iteration-count) (the-as uint 8)) + (set! (-> obj root max-iteration-count) (the-as uint 8)) (set! (-> obj max-time-step) 0.033333335) (set! (-> obj mask) (logior (process-mask vehicle) (-> obj mask))) (logclear! (-> obj mask) (process-mask actor-pause movie)) (logclear! (-> obj skel status) (joint-control-status sync-math)) (process-entity-status! obj (entity-perm-status no-kill) #t) (set! (-> obj nav) #f) - (let ((v1-32 (-> obj root-override-2 root-prim))) - (set! (-> obj root-override-2 backup-collide-as) (-> v1-32 prim-core collide-as)) - (set! (-> obj root-override-2 backup-collide-with) (-> v1-32 prim-core collide-with)) + (let ((v1-32 (-> obj root root-prim))) + (set! (-> obj root backup-collide-as) (-> v1-32 prim-core collide-as)) + (set! (-> obj root backup-collide-with) (-> v1-32 prim-core collide-with)) ) (rigid-body-object-method-40 obj) (vehicle-controller-method-9 (-> obj controller)) @@ -1471,7 +1465,7 @@ (set! (-> obj draw light-index) (the-as uint 10)) ) (rigid-body-queue-method-11 - (if (logtest? (-> obj info-override flags) 1024) + (if (logtest? (-> obj info flags) 1024) *race-rigid-body-queue* *traffic-rigid-body-queue* ) @@ -1530,14 +1524,14 @@ (and (logtest? (-> arg1 mask) (attack-info-mask mode)) (= (-> arg1 mode) 'eco-dark)) ) (set! (-> s5-0 vector 2 y) (* 0.1 (-> s5-0 vector 2 y))) - (set! f0-2 (* 409600.0 (-> obj info-override info mass))) - (/ 0.4 (-> obj info-override damage-factor)) + (set! f0-2 (* 409600.0 (-> obj info info mass))) + (/ 0.4 (-> obj info damage-factor)) ) ((or (logtest? (penetrate dark-punch dark-bomb) arg3) (and (logtest? (penetrate dark-skin) arg3) (logtest? arg3 (penetrate punch spin))) ) - (set! f0-2 (* 204800.0 (-> obj info-override info mass))) - (/ 0.2 (-> obj info-override damage-factor)) + (set! f0-2 (* 204800.0 (-> obj info info mass))) + (/ 0.2 (-> obj info damage-factor)) ) ((logtest? (penetrate enemy-yellow-shot) arg3) (set! f0-2 49152.0) @@ -1658,16 +1652,16 @@ ) ) (else - (set! (-> s5-0 velocity quad) (-> obj root-override-2 transv quad)) + (set! (-> s5-0 velocity quad) (-> obj root transv quad)) ) ) - (let ((v1-18 (-> arg0 root-override))) + (let ((v1-18 (-> arg0 root))) (set! (-> s2-0 quad) (-> v1-18 transv quad)) (vector-! (-> s5-0 velocity) (-> v1-18 transv) (-> s5-0 velocity)) ) (let ((f0-1 (vector-dot (-> s5-0 velocity) (-> s5-0 normal)))) (b! (>= f0-1 0.0) cfg-32 :delay #f) - (set! (-> s5-0 impulse) (/ f0-1 (+ f30-0 (-> obj info-override info inv-mass)))) + (set! (-> s5-0 impulse) (/ f0-1 (+ f30-0 (-> obj info info inv-mass)))) ) (vector+float*! s2-0 s2-0 (-> s5-0 normal) (* -3.1 f30-0 (-> s5-0 impulse))) (set! (-> s2-0 y) (fmax (* 49152.0 f30-0) (-> s2-0 y))) @@ -1803,9 +1797,9 @@ (set! (-> obj controller traffic) (the-as traffic-engine (-> arg3 param 1))) (set! (-> obj flags) (logior (rigid-body-object-flag traffic-managed) (-> obj flags))) (let ((s5-1 (the-as traffic-object-spawn-params (-> arg3 param 0)))) - (set! (-> obj root-override-2 trans quad) (-> s5-1 position quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> s5-1 rotation)) - (set! (-> obj root-override-2 transv quad) (-> s5-1 velocity quad)) + (set! (-> obj root trans quad) (-> s5-1 position quad)) + (quaternion-copy! (-> obj root quat) (-> s5-1 rotation)) + (set! (-> obj root transv quad) (-> s5-1 velocity quad)) (vehicle-method-130 obj s5-1) ) ) @@ -1820,7 +1814,7 @@ ) ) (set! (-> obj incoming-attack-id) (-> s3-1 id)) - (when (and (logtest? (-> obj info-override flags) 4) (logtest? (rigid-body-object-flag ai-driving) (-> obj flags))) + (when (and (logtest? (-> obj info flags) 4) (logtest? (rigid-body-object-flag ai-driving) (-> obj flags))) (let ((a1-8 (find-offending-process-focusable arg0 s3-1))) (if (and a1-8 (logtest? (-> a1-8 mask) (process-mask target))) (vehicle-method-134 obj a1-8) @@ -1895,8 +1889,8 @@ (stack-size-set! (-> self main-thread) 16) (set! (-> self mask) (logior (process-mask vehicle) (-> self mask))) (allocate-and-init-cshape self) - (set! (-> self root-override-2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> self root-override-2 quat) (-> arg0 rotation)) + (set! (-> self root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 rotation)) (if (not (logtest? (-> arg0 flags) (traffic-spawn-flags trsflags-00))) (lwide-entity-hack) ) diff --git a/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc b/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc index 7598597a5d..b200fa4dcc 100644 --- a/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc +++ b/goal_src/jak2/levels/city/farm/ctyfarm-obs.gc @@ -1018,7 +1018,7 @@ :exit (the-as (function none :behavior farm-marrow) #f) :trans (the-as (function none :behavior farm-marrow) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1055,13 +1055,10 @@ gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1136,7 +1133,7 @@ (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1206,7 +1203,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1234,13 +1231,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-marrow-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -1318,7 +1311,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-beetree) #f) :trans (the-as (function none :behavior farm-beetree) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1355,13 +1348,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1397,7 +1387,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1464,7 +1454,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1492,13 +1482,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-beetree-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -1572,7 +1558,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-cabbage) #f) :trans (the-as (function none :behavior farm-cabbage) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1609,13 +1595,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1651,7 +1634,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 40960.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1718,7 +1701,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1746,13 +1729,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-cabbage-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -1828,7 +1807,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-small-cabbage) #f) :trans (the-as (function none :behavior farm-small-cabbage) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1865,13 +1844,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1892,7 +1868,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1959,7 +1935,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1987,13 +1963,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-small-cabbage-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -2069,7 +2041,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-chilirots) #f) :trans (the-as (function none :behavior farm-chilirots) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -2106,13 +2078,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -2178,7 +2147,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -2244,7 +2213,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2272,13 +2241,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-chilirots-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -2360,7 +2325,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/city/farm/yakow.gc b/goal_src/jak2/levels/city/farm/yakow.gc index 9b7f7ef0be..0730ade0a2 100644 --- a/goal_src/jak2/levels/city/farm/yakow.gc +++ b/goal_src/jak2/levels/city/farm/yakow.gc @@ -237,7 +237,7 @@ (f0-2 (* 4096.0 (get-rand-float-range obj -10.0 10.0))) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s4-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 quad) (-> obj root trans quad)) (+! (-> s4-0 x) f30-1) (+! (-> s4-0 z) f0-2) (let ((v1-7 (-> obj nav)) @@ -318,13 +318,10 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -389,19 +386,16 @@ (set! (-> v1-103 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-103 enemy-flags)))) ) (set! (-> v1-103 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-103 enemy-flags)))) - (set! (-> v1-103 nav callback-info) (-> v1-103 enemy-info-override callback-info)) + (set! (-> v1-103 nav callback-info) (-> v1-103 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -498,7 +492,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -516,7 +510,7 @@ (set! (-> v1-5 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) 0 (none) ) diff --git a/goal_src/jak2/levels/city/kid_escort/crocesc-states.gc b/goal_src/jak2/levels/city/kid_escort/crocesc-states.gc index 907627b416..b409cbc9e8 100644 --- a/goal_src/jak2/levels/city/kid_escort/crocesc-states.gc +++ b/goal_src/jak2/levels/city/kid_escort/crocesc-states.gc @@ -25,7 +25,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -215,12 +215,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -239,7 +234,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -305,7 +300,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -338,14 +333,10 @@ ) (let ((s5-0 (new 'stack-no-clear 'inline-array 'matrix 2))) (compute-seat-position (the-as vehicle gp-0) (the-as vector (-> s5-0 0)) (-> self vehicle-seat-index)) - (set! (-> s5-0 0 vector 1 quad) (-> self root-override2 trans quad)) + (set! (-> s5-0 0 vector 1 quad) (-> self root trans quad)) (set! (-> s5-0 0 trans quad) (-> s5-0 0 quad 0)) - (vector-! - (the-as vector (-> s5-0 1)) - (the-as vector (-> s5-0 0)) - (-> (the-as vehicle gp-0) root-override-2 trans) - ) - (vector-z-quaternion! (-> s5-0 0 vector 2) (-> self root-override2 quat)) + (vector-! (the-as vector (-> s5-0 1)) (the-as vector (-> s5-0 0)) (-> (the-as vehicle gp-0) root trans)) + (vector-z-quaternion! (-> s5-0 0 vector 2) (-> self root quat)) (let ((f30-1 (* 0.5 (vector-vector-xz-distance (-> s5-0 0 vector 1) (-> s5-0 0 trans))))) (vector-normalize! (-> s5-0 0 vector 2) (* 2.0 f30-1)) (vector-normalize! (the-as vector (-> s5-0 1)) (* 4.0 f30-1)) @@ -367,8 +358,8 @@ (set! (-> a0-26 target-post quad) (-> v1-47 quad)) ) 0 - (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-0 0)) (-> self root-override2 trans)) 17203.2) - (< (fabs (- (-> s5-0 0 vector 0 y) (-> self root-override2 trans y))) 20480.0) + (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-0 0)) (-> self root trans)) 17203.2) + (< (fabs (- (-> s5-0 0 vector 0 y) (-> self root trans y))) 20480.0) ) (go-virtual board-vehicle) ) @@ -429,7 +420,7 @@ ) :exit (behavior () (local-vars (v1-6 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logclear! (-> self focus-status) (focus-status disable)) (let ((v1-5 (-> self enemy-flags))) (if (logtest? v1-5 (enemy-flag checking-water)) @@ -458,15 +449,15 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.5)) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)))) + (set! (-> s5-2 quad) (-> self root trans quad)) + (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 1.0 0) ) (until (ja-done? 0) (let ((s3-1 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s3-1) root-override-2 quat)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s3-1) root quat)) (compute-seat-position (the-as vehicle s3-1) (the-as vector (-> gp-0 vector)) (-> self vehicle-seat-index)) ) (vector-! (-> gp-0 vector 1) (the-as vector (-> gp-0 vector)) s5-2) @@ -488,8 +479,8 @@ ) ) ) - (quaternion-slerp! (-> self root-override2 quat) s4-0 (the-as quaternion (-> gp-0 vector 2)) f30-0) - (vector+float*! (-> self root-override2 trans) s5-2 (-> gp-0 vector 1) f30-0) + (quaternion-slerp! (-> self root quat) s4-0 (the-as quaternion (-> gp-0 vector 2)) f30-0) + (vector+float*! (-> self root trans) s5-2 (-> gp-0 vector 1) f30-0) ) ) (suspend) @@ -498,22 +489,19 @@ ) ) (let ((s5-3 (new 'stack-no-clear 'vector))) - (set! (-> s5-3 quad) (-> self root-override2 trans quad)) + (set! (-> s5-3 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 7.0 0) 0.5) :frame-num (ja-aframe 5.0 0) ) (until (ja-done? 0) (let ((s4-2 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s4-2) root-override-2 quat)) - (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) - (if (zero? (-> self vehicle-seat-index)) - -16384.0 - 16384.0 - ) - ) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s4-2) root quat)) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (if (zero? (-> self vehicle-seat-index)) + -16384.0 + 16384.0 + ) + ) (vector-matrix*! (the-as vector (-> gp-0 vector)) (-> self local-seat-pos) @@ -522,29 +510,29 @@ ) (vector-! (-> gp-0 vector 1) (the-as vector (-> gp-0 vector)) s5-3) (let ((f0-16 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 5.0 0) (ja-aframe 7.0 0)))) - (vector+float*! (-> self root-override2 trans) s5-3 (-> gp-0 vector 1) f0-16) + (vector+float*! (-> self root trans) s5-3 (-> gp-0 vector 1) f0-16) ) (suspend) (ja :num! (seek! (ja-aframe 7.0 0) 0.5)) ) ) - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 12.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) (until (ja-done? 0) (let ((s5-5 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s5-5) root-override-2 quat)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s5-5) root quat)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle s5-5) node-list data 0 bone transform) ) ) (let ((f0-22 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 7.0 0) (ja-aframe 9.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector 2)) (* (- 1.0 f0-22) (if (zero? (-> self vehicle-seat-index)) -16384.0 @@ -582,7 +570,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-11 (-> self nav))) (logclear! (-> v1-11 shape nav-flags) (nav-flags has-extra-sphere)) ) @@ -593,7 +581,7 @@ ) :exit (behavior () (local-vars (v1-4 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-3 (-> self enemy-flags))) (if (logtest? v1-3 (enemy-flag checking-water)) (set! v1-4 (logior v1-3 (enemy-flag enable-on-active))) @@ -611,14 +599,14 @@ (let ((s5-0 (handle->process (-> self vehicle-handle))) (gp-0 (new 'stack-no-clear 'vector)) ) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-0) root-override-2 quat)) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-0) root quat)) + (set! (-> gp-0 quad) (-> self root trans quad)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle s5-0) node-list data 0 bone transform) ) - (let* ((f0-2 (* (vector-vector-distance (-> self root-override2 trans) gp-0) (-> self clock frames-per-second))) + (let* ((f0-2 (* (vector-vector-distance (-> self root trans) gp-0) (-> self clock frames-per-second))) (f0-3 (lerp-scale 0.3 1.2 f0-2 0.0 81920.0)) ) (seek! (-> self anim-speed) f0-3 (* 2.0 (-> self clock seconds-per-frame))) @@ -668,7 +656,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logior! (-> self focus-status) (focus-status disable)) (none) ) @@ -697,9 +685,9 @@ (check-vehicle-exit self) (when (focus-test? self pilot-riding) (let ((gp-0 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle gp-0) root-override-2 quat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle gp-0) root quat)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle gp-0) node-list data 0 bone transform) ) @@ -716,17 +704,17 @@ ) (until (ja-done? 0) (let ((s5-1 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-1) root-override-2 quat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-1) root quat)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle s5-1) node-list data 0 bone transform) ) ) (let ((f0-3 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 9.0 0) (ja-aframe 7.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f0-3 (if (zero? (-> self vehicle-seat-index)) 16384.0 -16384.0 @@ -737,33 +725,30 @@ (suspend) (ja :num! (seek! (ja-aframe 7.0 0) 0.25)) ) - (set! (-> gp-0 0 vector 1 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 0 vector 1 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) (until (ja-done? 0) (let ((s5-5 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-5) root-override-2 quat)) - (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) - (if (zero? (-> self vehicle-seat-index)) - 16384.0 - -16384.0 - ) - ) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-5) root quat)) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (if (zero? (-> self vehicle-seat-index)) + 16384.0 + -16384.0 + ) + ) (compute-seat-position (the-as vehicle s5-5) (the-as vector (-> gp-0 0)) (-> self vehicle-seat-index)) ) (vector-! (-> gp-0 0 trans) (the-as vector (-> gp-0 0)) (-> gp-0 0 vector 1)) (let ((f0-10 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 7.0 0) (ja-aframe 5.0 0)))) - (vector+float*! (-> self root-override2 trans) (-> gp-0 0 vector 1) (-> gp-0 0 trans) f0-10) + (vector+float*! (-> self root trans) (-> gp-0 0 vector 1) (-> gp-0 0 trans) f0-10) ) (suspend) (ja :num! (seek! (ja-aframe 5.0 0) 0.5)) ) (logclear! (-> self focus-status) (focus-status pilot-riding)) - (set! (-> gp-0 0 quad 0) (-> self root-override2 trans quad)) + (set! (-> gp-0 0 quad 0) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 5.0 0) @@ -773,14 +758,14 @@ (compute-seat-position (the-as vehicle s5-9) (the-as vector (-> gp-0 0)) (-> self vehicle-seat-index)) (quaternion-rotate-local-y! (the-as quaternion (-> gp-0 1)) - (-> (the-as vehicle s5-9) root-override-2 quat) + (-> (the-as vehicle s5-9) root quat) (if (zero? (-> self vehicle-seat-index)) -49152.0 49152.0 ) ) ) - (let ((s5-10 (-> self root-override2 quat))) + (let ((s5-10 (-> self root quat))) (let ((f30-0 (quaternion-y-angle (the-as quaternion (-> gp-0 1))))) (quaternion-identity! s5-10) (quaternion-rotate-y! s5-10 s5-10 f30-0) @@ -808,7 +793,7 @@ 0 (vector-! (-> gp-0 0 trans) (the-as vector (-> gp-0 0)) (-> self exit-vehicle-dest)) (let ((f0-19 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 1.0 0) (ja-aframe 5.0 0)))) - (vector+float*! (-> self root-override2 trans) (-> self exit-vehicle-dest) (-> gp-0 0 trans) f0-19) + (vector+float*! (-> self root trans) (-> self exit-vehicle-dest) (-> gp-0 0 trans) f0-19) ) (suspend) (ja :num! (seek! (ja-aframe 0.0 0))) @@ -838,7 +823,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -1010,7 +995,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (logior! (-> self bot-flags) (bot-flags bf09)) @@ -1048,7 +1033,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (logior! (-> self bot-flags) (bot-flags bf09)) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active checking-water)) diff --git a/goal_src/jak2/levels/city/kid_escort/crocesc.gc b/goal_src/jak2/levels/city/kid_escort/crocesc.gc index d932239c77..9d8d308e98 100644 --- a/goal_src/jak2/levels/city/kid_escort/crocesc.gc +++ b/goal_src/jak2/levels/city/kid_escort/crocesc.gc @@ -167,7 +167,7 @@ :walk-travel-speed (meters 2.2) :walk-acceleration (meters 8) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 0.65) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -247,15 +247,15 @@ ) (let ((s4-0 (new 'stack-no-clear 'vector))) (compute-seat-position (the-as vehicle s3-0) s4-0 (-> obj vehicle-seat-index)) - (vector-! s4-0 s4-0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector-! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) (set! (-> s4-0 y) 0.0) (vector-normalize! s4-0 (+ 12288.0 (vector-length s4-0))) - (vector+! s4-0 s4-0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector+! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) (let ((s3-1 (new 'stack-no-clear 'collide-query))) (when (enemy-above-ground? obj s3-1 s4-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) (set! (-> s4-0 y) (-> s3-1 best-other-tri intersect y)) (let ((s3-2 (new 'stack-no-clear 'vector))) - (do-navigation-to-destination (-> obj nav state) (-> obj root-override2 trans)) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) (when (cloest-point-on-mesh (-> obj nav) s3-2 s4-0 (the-as nav-poly #f)) (let ((f0-4 2048.0)) (when (>= (* f0-4 f0-4) (vector-vector-xz-distance-squared s3-2 s4-0)) @@ -278,80 +278,76 @@ ) (defmethod enemy-method-97 crocadog-escort ((obj crocadog-escort)) - (with-pp - (let* ((s4-0 (handle->process (-> obj attacker-handle))) - (s5-0 (if (type? s4-0 process-focusable) - s4-0 - ) + (let* ((s4-0 (handle->process (-> obj attacker-handle))) + (s5-0 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + ) + (when s5-0 + (when (>= (- (current-time) (-> obj attacker-time)) (seconds 3)) + (set! s5-0 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) + ) + ) + (handle->process (-> obj kid-handle)) + (cond + (s5-0 + (empty) + ) + ((begin + (let ((s4-1 (handle->process (-> obj poi-handle)))) + (set! s5-0 (if (type? s4-1 process-focusable) + s4-1 + ) ) ) - (when s5-0 - (when (>= (- (-> pp clock frame-counter) (-> obj attacker-time)) (seconds 3)) - (set! s5-0 (the-as process #f)) - (set! (-> obj attacker-handle) (the-as handle #f)) - ) - ) - (handle->process (-> obj kid-handle)) - (cond - (s5-0 - (empty) - ) - ((begin - (let ((s4-1 (handle->process (-> obj poi-handle)))) - (set! s5-0 (if (type? s4-1 process-focusable) - s4-1 - ) - ) - ) - s5-0 - ) - (empty) + s5-0 ) - (else - (set! s5-0 (select-focus! obj)) - (cond - (s5-0 - (empty) + (empty) + ) + (else + (set! s5-0 (select-focus! obj)) + (cond + (s5-0 + (empty) + ) + (else + (let ((s4-2 (handle->process (-> obj kid-handle)))) + (set! s5-0 (if (type? s4-2 process-focusable) + s4-2 + ) + ) ) - (else - (let ((s4-2 (handle->process (-> obj kid-handle)))) - (set! s5-0 (if (type? s4-2 process-focusable) - s4-2 - ) - ) - ) - *target* - (let ((f30-0 -1.0) - (f28-0 (vector-vector-distance (target-pos 0) (-> obj root-override2 trans))) - ) - (if s5-0 - (set! f30-0 - (vector-vector-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root-override2 trans)) - ) - ) - (if (and s5-0 (>= (* 2.0 f28-0) f30-0)) - (empty) - (set! s5-0 *target*) - ) - ) + *target* + (let ((f30-0 -1.0) + (f28-0 (vector-vector-distance (target-pos 0) (-> obj root trans))) + ) + (if s5-0 + (set! f30-0 (vector-vector-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root trans))) + ) + (if (and s5-0 (>= (* 2.0 f28-0) f30-0)) + (empty) + (set! s5-0 *target*) + ) ) ) ) ) - (cond - (s5-0 - (try-update-focus (-> obj focus) (the-as process-focusable s5-0) obj) - (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s5-0 type) target)) - (logclear! (-> obj bot-flags) (bot-flags attacked)) - ) - ) - (else - (clear-focused (-> obj focus)) - (logclear! (-> obj bot-flags) (bot-flags attacked)) - ) - ) - s5-0 ) + (cond + (s5-0 + (try-update-focus (-> obj focus) (the-as process-focusable s5-0) obj) + (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s5-0 type) target)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + (else + (clear-focused (-> obj focus)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + s5-0 ) ) @@ -429,7 +425,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 1)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -446,7 +442,7 @@ This commonly includes things such as: (set! (-> obj notice-enemy-dist) 24576.0) (set! (-> obj travel-anim-interp) 0.0) (set! (-> obj focus-info max-los-dist) 0.0) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) (set! (-> obj spot-color) (the-as uint #x5000ff00)) (set! (-> obj kid-handle) (the-as handle #f)) (set! (-> obj vehicle-handle) (the-as handle #f)) @@ -491,7 +487,7 @@ This commonly includes things such as: (defmethod check-vehicle-exit crocadog-escort ((obj crocadog-escort)) (local-vars (v1-22 enemy-flag)) (with-pp - (when (logtest? (focus-status pilot) (-> obj focus-status)) + (when (focus-test? obj pilot) (let ((v1-4 (handle->process (-> obj vehicle-handle)))) (when (or (not v1-4) (logtest? (-> (the-as vehicle v1-4) flags) (rigid-body-object-flag dead))) (set! (-> obj bot-flags) (logior (bot-flags bf17) (-> obj bot-flags))) @@ -499,8 +495,8 @@ This commonly includes things such as: (logclear! (-> obj focus-status) (focus-status pilot-riding pilot)) (set! (-> obj vehicle-seat-index) -1) (set! (-> obj vehicle-handle) (the-as handle #f)) - (logior! (-> obj root-override2 nav-flags) (nav-flags has-root-sphere)) - (let* ((s5-0 (-> obj root-override2 quat)) + (logior! (-> obj root nav-flags) (nav-flags has-root-sphere)) + (let* ((s5-0 (-> obj root quat)) (f30-0 (quaternion-y-angle s5-0)) ) (quaternion-identity! s5-0) @@ -513,7 +509,7 @@ This commonly includes things such as: ) ) (set! (-> obj enemy-flags) v1-22) - (let ((f30-2 (+ 16384.0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-2 (+ 16384.0 (quaternion-y-angle (-> obj root quat)))) (s5-1 (new 'stack-no-clear 'vector)) ) (set-vector! s5-1 (sin f30-2) 0.0 (cos f30-2) 1.0) @@ -606,7 +602,7 @@ This commonly includes things such as: (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 28672.0 (* 0.15707962 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 7.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) @@ -655,7 +651,7 @@ This commonly includes things such as: (defmethod enemy-method-78 crocadog-escort ((obj crocadog-escort) (arg0 (pointer float))) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) diff --git a/goal_src/jak2/levels/city/kid_escort/crocesc4-course.gc b/goal_src/jak2/levels/city/kid_escort/crocesc4-course.gc index ee5aabb1b2..8ea3fa912f 100644 --- a/goal_src/jak2/levels/city/kid_escort/crocesc4-course.gc +++ b/goal_src/jak2/levels/city/kid_escort/crocesc4-course.gc @@ -21,12 +21,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -67,13 +67,13 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 2)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 2)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-14 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -92,9 +92,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 4 #f) @@ -116,7 +114,7 @@ (new 'static 'bot-waypoint :waypoint-id 4 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -134,9 +132,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 5 #f) @@ -158,9 +154,9 @@ (new 'static 'bot-waypoint :waypoint-id 5 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 3)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 3)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -179,9 +175,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 6 #f) @@ -203,9 +197,9 @@ (new 'static 'bot-waypoint :waypoint-id 6 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 7)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 7)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -224,9 +218,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 7 #f) @@ -248,7 +240,7 @@ (new 'static 'bot-waypoint :waypoint-id 7 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -266,9 +258,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 8 #f) @@ -290,7 +280,7 @@ (new 'static 'bot-waypoint :waypoint-id 8 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -308,9 +298,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 9 #f) @@ -332,9 +320,9 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 12)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 12)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -353,9 +341,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 10 #f) @@ -377,7 +363,7 @@ (new 'static 'bot-waypoint :waypoint-id 10 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -395,9 +381,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -419,7 +403,7 @@ (new 'static 'bot-waypoint :waypoint-id 11 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -437,9 +421,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 12 #f) @@ -461,7 +443,7 @@ (new 'static 'bot-waypoint :waypoint-id 12 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -479,9 +461,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 13 #f) @@ -503,7 +483,7 @@ (new 'static 'bot-waypoint :waypoint-id 13 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -521,9 +501,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 14 #f) @@ -545,9 +523,9 @@ (new 'static 'bot-waypoint :waypoint-id 14 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -566,9 +544,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 15 #f) @@ -590,7 +566,7 @@ (new 'static 'bot-waypoint :waypoint-id 15 :nav-mesh-index -1 - :skip-to #x13 + :skip-to 19 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -608,9 +584,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 16 #f) @@ -627,13 +601,13 @@ ) :on-update #f :on-skipping-here (lambda ((arg0 crocadog-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 course spots 12)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (none) @@ -643,7 +617,7 @@ (new 'static 'bot-waypoint :waypoint-id 16 :nav-mesh-index -1 - :skip-to #x13 + :skip-to 19 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-3 (-> arg0 actor-group 0 data 0 actor))) (set! (-> arg0 poi-handle) (-> (the-as bot (if v1-3 @@ -670,9 +644,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 17 #f) @@ -775,9 +747,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 21 #f) @@ -794,9 +764,9 @@ ) :on-update #f :on-skipping-here (lambda ((arg0 crocadog-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 course spots 16)) @@ -825,9 +795,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 22 #f) @@ -867,9 +835,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 23 #f) @@ -914,9 +880,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 24 #f) @@ -956,9 +920,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 25 #f) diff --git a/goal_src/jak2/levels/city/kid_escort/hal4-course.gc b/goal_src/jak2/levels/city/kid_escort/hal4-course.gc index a9b2b0c9c8..a94dca402a 100644 --- a/goal_src/jak2/levels/city/kid_escort/hal4-course.gc +++ b/goal_src/jak2/levels/city/kid_escort/hal4-course.gc @@ -253,9 +253,9 @@ ) (set-vector! s0-0 13312.0 0.0 17408.0 1.0) (vector-rotate-around-y! s0-0 s0-0 (* 16384.0 (the float s2-1))) - (vector+! s0-0 s0-0 (-> (the-as process-focusable gp-0) root-override trans)) + (vector+! s0-0 s0-0 (-> (the-as process-focusable gp-0) root trans)) (nav-mesh-method-10 arg0 s1-0 s0-0 (the-as nav-poly #f)) - (let ((f0-6 (vector-vector-xz-distance s1-0 (-> (the-as process-focusable gp-0) root-override trans)))) + (let ((f0-6 (vector-vector-xz-distance s1-0 (-> (the-as process-focusable gp-0) root trans)))) (when (or (< f30-0 0.0) (< f30-0 f0-6)) (set! f30-0 f0-6) (set! (-> s5-1 quad) (-> s1-0 quad)) @@ -288,7 +288,7 @@ (vector-reset! (-> s2-2 velocity)) (set! (-> s2-2 position quad) (-> s5-1 quad)) (let ((a1-9 (new 'stack-no-clear 'vector))) - (vector-! a1-9 (-> (the-as process-focusable gp-0) root-override trans) (-> s2-2 position)) + (vector-! a1-9 (-> (the-as process-focusable gp-0) root trans) (-> s2-2 position)) (forward-up->quaternion (-> s2-2 rotation) a1-9 *up-vector*) ) (send-event *traffic-manager* 'activate-object s2-2) @@ -323,7 +323,7 @@ ) ) (set! s4-1 - (get-best-seat-for-vehicle (the-as vehicle gp-0) (-> (the-as process-focusable s5-0) root-override trans) 2 1) + (get-best-seat-for-vehicle (the-as vehicle gp-0) (-> (the-as process-focusable s5-0) root trans) 2 1) ) ) (label cfg-20) @@ -619,7 +619,7 @@ ) (when (not s3-2) (let ((s3-3 (new 'stack-no-clear 'vector))) - (vector-! s3-3 (target-pos 0) (-> (the-as process-focusable s4-0) root-override trans)) + (vector-! s3-3 (target-pos 0) (-> (the-as process-focusable s4-0) root trans)) (vector-normalize! s3-3 1.0) (if (>= (vector-dot s3-3 (-> obj follow-dir)) 0.0) (set! s5-0 (logior s5-0 8)) @@ -690,14 +690,14 @@ (set-setting! 'exclusive-task #f 0.0 (game-task city-escort-kid)) (set-setting! 'allow-continue #f 0.0 0) (clear-speech-flags! arg0) - (speech-control-method-10 + (speech-table-set! *speech-control* - 6 + (speech-type speech-type-6) (new 'static 'speech-type-info :channel #x1 :priority -2 - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg280a" "kg281a" @@ -718,14 +718,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 7 + (speech-type speech-type-7) (new 'static 'speech-type-info :channel #x1 :priority -2 - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg280a" "kg281a" @@ -862,7 +862,7 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 hal-escort)) (set-setting! 'sound-mode #f 0.0 2) (let ((s5-0 (-> arg0 hal4-course spots))) @@ -936,7 +936,7 @@ (new 'static 'bot-waypoint :waypoint-id 3 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 hal-escort)) (init-traffic-params! arg0 #t) (set-setting! 'sound-mode #f 0.0 1) @@ -992,7 +992,7 @@ (new 'static 'bot-waypoint :waypoint-id 6 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 hal-escort)) (reset-warn-time! arg0) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) @@ -1045,7 +1045,7 @@ (new 'static 'bot-waypoint :waypoint-id 15 :nav-mesh-index -1 - :skip-to #x14 + :skip-to 20 :on-set (lambda ((arg0 hal-escort)) (send-event *traffic-manager* 'set-guard-force-visible #f) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) @@ -1240,7 +1240,7 @@ ) (if (and (>= (-> arg1 hal4-course spots 7 center w) (vector-vector-xz-distance s1-1 (the-as vector s0-0))) (>= 16384.0 (- (-> s1-1 y) (-> s0-0 center y))) - (>= 61440.0 (vector-length (-> (the-as process-focusable s2-0) root-override transv))) + (>= 61440.0 (vector-length (-> (the-as process-focusable s2-0) root transv))) (>= 1.0 (vector-length (-> (the-as process-focusable s2-0) rbody state ang-velocity))) ) (set! s3-1 #t) @@ -1286,7 +1286,7 @@ (let ((v1-7 (handle->process (-> arg0 vehicle-handle)))) (if (and v1-7 (and (not (logtest? (-> (the-as vehicle v1-7) flags) (rigid-body-object-flag dead))) - (>= (vector-length (-> (the-as vehicle v1-7) root-override-2 transv)) 40960.0) + (>= (vector-length (-> (the-as vehicle v1-7) root transv)) 40960.0) (not (channel-active? arg0 (the-as uint 0))) ) ) @@ -1399,8 +1399,8 @@ ) ) ) - (vector-reset! (-> (the-as process-focusable s5-0) root-override transv)) - (vector-reset! (-> (the-as process-focusable s4-1) root-override transv)) + (vector-reset! (-> (the-as process-focusable s5-0) root transv)) + (vector-reset! (-> (the-as process-focusable s4-1) root transv)) (send-event s5-0 'hide #t) (send-event s4-1 'hide #t) ) diff --git a/goal_src/jak2/levels/city/kid_escort/kidesc-states.gc b/goal_src/jak2/levels/city/kid_escort/kidesc-states.gc index b03ed7032b..c68de9533a 100644 --- a/goal_src/jak2/levels/city/kid_escort/kidesc-states.gc +++ b/goal_src/jak2/levels/city/kid_escort/kidesc-states.gc @@ -22,7 +22,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -139,12 +139,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -160,7 +155,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -230,7 +225,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -271,14 +266,10 @@ ) (let ((s5-1 (new 'stack-no-clear 'inline-array 'matrix 2))) (compute-seat-position (the-as vehicle gp-0) (the-as vector (-> s5-1 0)) (-> self vehicle-seat-index)) - (set! (-> s5-1 0 vector 1 quad) (-> self root-override2 trans quad)) + (set! (-> s5-1 0 vector 1 quad) (-> self root trans quad)) (set! (-> s5-1 0 trans quad) (-> s5-1 0 quad 0)) - (vector-! - (the-as vector (-> s5-1 1)) - (the-as vector (-> s5-1 0)) - (-> (the-as vehicle gp-0) root-override-2 trans) - ) - (vector-z-quaternion! (-> s5-1 0 vector 2) (-> self root-override2 quat)) + (vector-! (the-as vector (-> s5-1 1)) (the-as vector (-> s5-1 0)) (-> (the-as vehicle gp-0) root trans)) + (vector-z-quaternion! (-> s5-1 0 vector 2) (-> self root quat)) (let ((f30-1 (* 0.5 (vector-vector-xz-distance (-> s5-1 0 vector 1) (-> s5-1 0 trans))))) (vector-normalize! (-> s5-1 0 vector 2) (* 2.0 f30-1)) (vector-normalize! (the-as vector (-> s5-1 1)) (* 4.0 f30-1)) @@ -300,8 +291,8 @@ (set! (-> a0-30 target-post quad) (-> v1-55 quad)) ) 0 - (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-1 0)) (-> self root-override2 trans)) 17203.2) - (< (fabs (- (-> s5-1 0 vector 0 y) (-> self root-override2 trans y))) 20480.0) + (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-1 0)) (-> self root trans)) 17203.2) + (< (fabs (- (-> s5-1 0 vector 0 y) (-> self root trans y))) 20480.0) ) (go-virtual board-vehicle) ) @@ -350,7 +341,7 @@ ) :exit (behavior () (local-vars (v1-6 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logclear! (-> self focus-status) (focus-status disable)) (let ((v1-5 (-> self enemy-flags))) (if (logtest? v1-5 (enemy-flag checking-water)) @@ -370,7 +361,7 @@ (local-vars (sv-112 float)) (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 1.0 0) 0.25) :frame-num (ja-aframe 0.0 0) @@ -380,10 +371,10 @@ (f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 0.0 0) (ja-aframe 1.0 0))) ) (compute-seat-position (the-as vehicle s5-1) (-> gp-0 trans) (-> self vehicle-seat-index)) - (vector-! (-> gp-0 trans) (-> gp-0 trans) (-> self root-override2 trans)) + (vector-! (-> gp-0 trans) (-> gp-0 trans) (-> self root trans)) (quaternion<-rotate-y-vector (the-as quaternion (-> gp-0 vector 1)) (-> gp-0 trans)) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 1)) f30-0 @@ -393,8 +384,8 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.25)) ) (let ((s5-3 (new 'stack-no-clear 'vector))) - (set! (-> s5-3 quad) (-> self root-override2 trans quad)) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) + (set! (-> s5-3 quad) (-> self root trans quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 1.0 0) @@ -414,7 +405,7 @@ ) (quaternion-rotate-local-y! (the-as quaternion (-> gp-0 vector 1)) - (-> (the-as vehicle s4-2) root-override-2 quat) + (-> (the-as vehicle s4-2) root quat) (* f30-1 (if (zero? (-> self vehicle-seat-index)) -16384.0 16384.0 @@ -422,12 +413,12 @@ ) ) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 1)) f30-1 ) - (vector+float*! (-> self root-override2 trans) s5-3 (-> gp-0 trans) f30-1) + (vector+float*! (-> self root trans) s5-3 (-> gp-0 trans) f30-1) ) ) ) @@ -435,24 +426,24 @@ (ja :num! (seek! (ja-aframe 8.0 0))) ) ) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-49 (-> self nav))) (logclear! (-> v1-49 shape nav-flags) (nav-flags has-extra-sphere)) ) 0 - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 12.0 0) 0.25) :frame-num (ja-aframe 8.0 0) ) (until (ja-done? 0) (let ((s5-5 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector 1)) (-> (the-as vehicle s5-5) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-5) (-> self root-override2 trans) (-> self vehicle-seat-index)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector 1)) (-> (the-as vehicle s5-5) root quat)) + (compute-seat-position (the-as vehicle s5-5) (-> self root trans) (-> self vehicle-seat-index)) ) (let ((f0-16 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 8.0 0) (ja-aframe 11.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector 1)) (* (- 1.0 f0-16) (if (zero? (-> self vehicle-seat-index)) -16384.0 @@ -487,7 +478,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-11 (-> self nav))) (logclear! (-> v1-11 shape nav-flags) (nav-flags has-extra-sphere)) ) @@ -498,7 +489,7 @@ ) :exit (behavior () (local-vars (v1-4 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-3 (-> self enemy-flags))) (if (logtest? v1-3 (enemy-flag checking-water)) (set! v1-4 (logior v1-3 (enemy-flag enable-on-active))) @@ -573,7 +564,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logior! (-> self focus-status) (focus-status disable)) (logclear! (-> self focus-status) (focus-status arrestable)) (none) @@ -617,13 +608,13 @@ ) (until (ja-done? 0) (let ((gp-1 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle gp-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle gp-1) (-> self root-override2 trans) (-> self vehicle-seat-index)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle gp-1) root quat)) + (compute-seat-position (the-as vehicle gp-1) (-> self root trans) (-> self vehicle-seat-index)) ) (let ((f0-3 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 11.0 0) (ja-aframe 8.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f0-3 (if (zero? (-> self vehicle-seat-index)) -16384.0 16384.0 @@ -638,7 +629,7 @@ (let ((gp-4 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'quaternion)) ) - (set! (-> gp-4 quad) (-> self root-override2 trans quad)) + (set! (-> gp-4 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 8.0 0) @@ -648,14 +639,14 @@ (compute-seat-position (the-as vehicle s4-2) gp-4 (-> self vehicle-seat-index)) (quaternion-rotate-local-y! s5-1 - (-> (the-as vehicle s4-2) root-override-2 quat) + (-> (the-as vehicle s4-2) root quat) (if (zero? (-> self vehicle-seat-index)) -16384.0 16384.0 ) ) ) - (let ((s4-3 (-> self root-override2 quat))) + (let ((s4-3 (-> self root quat))) (let ((f30-0 (quaternion-y-angle s5-1))) (quaternion-identity! s4-3) (quaternion-rotate-y! s4-3 s4-3 f30-0) @@ -702,7 +693,7 @@ (let* ((t0-2 (ja-aframe 8.0 0)) (f0-15 (s3-2 s2-2 s1-1 s0-1 sv-96 t0-2)) ) - (vector+float*! (-> self root-override2 trans) (-> self exit-vehicle-dest) s4-4 f0-15) + (vector+float*! (-> self root trans) (-> self exit-vehicle-dest) s4-4 f0-15) ) ) ) @@ -731,7 +722,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -866,7 +857,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (set! (-> self focus-status) (logior (focus-status arrestable) (-> self focus-status))) @@ -1074,7 +1065,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (logior! (-> self bot-flags) (bot-flags bf09)) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active checking-water)) diff --git a/goal_src/jak2/levels/city/kid_escort/kidesc.gc b/goal_src/jak2/levels/city/kid_escort/kidesc.gc index e6966099c5..6886533847 100644 --- a/goal_src/jak2/levels/city/kid_escort/kidesc.gc +++ b/goal_src/jak2/levels/city/kid_escort/kidesc.gc @@ -167,7 +167,7 @@ :walk-travel-speed (meters 4.5) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 0.85) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -183,58 +183,56 @@ (defmethod general-event-handler kid-escort ((obj kid-escort) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) "Handles various events for the enemy @TODO - unsure if there is a pattern for the events and this should have a more specific name" - (with-pp - (case arg2 - (('arrest) - (let* ((s4-0 (handle->process (-> obj arrestor-handle))) - (v1-4 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) - (when (or (not v1-4) - (= v1-4 arg0) - (and (!= v1-4 arg0) (>= (- (-> pp clock frame-counter) (-> obj arrest-attempt-time)) (seconds 0.1))) - ) - (set! (-> obj arrestor-handle) (process->handle arg0)) - (set! (-> obj arrest-attempt-time) (-> pp clock frame-counter)) - (if (!= v1-4 arg0) - (send-event (handle->process (-> obj master-handle)) 'notify 'arrest arg0) - ) - ) + (case arg2 + (('arrest) + (let* ((s4-0 (handle->process (-> obj arrestor-handle))) + (v1-4 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + ) + (when (or (not v1-4) + (= v1-4 arg0) + (and (!= v1-4 arg0) (>= (- (current-time) (-> obj arrest-attempt-time)) (seconds 0.1))) + ) + (set! (-> obj arrestor-handle) (process->handle arg0)) + (set! (-> obj arrest-attempt-time) (current-time)) + (if (!= v1-4 arg0) + (send-event (handle->process (-> obj master-handle)) 'notify 'arrest arg0) + ) ) - #t ) - (('instant-arrest) - (set! (-> obj bot-flags) (logior (bot-flags bf19) (-> obj bot-flags))) - (let ((s5-1 (the-as crimson-guard (-> arg3 param 0)))) - (set! (-> obj arrestor-handle) (process->handle s5-1)) - (set! (-> obj arrest-attempt-time) (-> pp clock frame-counter)) - (let ((a1-11 (new 'stack-no-clear 'vector))) - (vector-! a1-11 (-> s5-1 root-override2 trans) (-> obj root-override2 trans)) - (set! (-> a1-11 y) 0.0) - (forward-up->quaternion (-> obj root-override2 quat) a1-11 *up-vector*) - ) - (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) - (logclear! (-> obj mask) (process-mask collectable)) - (logclear! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) - (logclear! (-> obj mask) (process-mask actor-pause)) - (logclear! (-> obj enemy-flags) (enemy-flag notice)) - (send-event (handle->process (-> obj master-handle)) 'notify 'arrest s5-1) + #t + ) + (('instant-arrest) + (set! (-> obj bot-flags) (logior (bot-flags bf19) (-> obj bot-flags))) + (let ((s5-1 (the-as crimson-guard (-> arg3 param 0)))) + (set! (-> obj arrestor-handle) (process->handle s5-1)) + (set! (-> obj arrest-attempt-time) (current-time)) + (let ((a1-11 (new 'stack-no-clear 'vector))) + (vector-! a1-11 (-> s5-1 root trans) (-> obj root trans)) + (set! (-> a1-11 y) 0.0) + (forward-up->quaternion (-> obj root quat) a1-11 *up-vector*) ) - (go (method-of-object obj arrested)) + (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) + (logclear! (-> obj mask) (process-mask collectable)) + (logclear! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (logclear! (-> obj enemy-flags) (enemy-flag notice)) + (send-event (handle->process (-> obj master-handle)) 'notify 'arrest s5-1) ) - (('attack) - ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) - #f - ) - (('nav-mesh-kill) - (change-to *default-nav-mesh* obj) - #t - ) - (else - ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) - ) + (go (method-of-object obj arrested)) + ) + (('attack) + ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) + #f + ) + (('nav-mesh-kill) + (change-to *default-nav-mesh* obj) + #t + ) + (else + ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) ) ) ) @@ -246,121 +244,119 @@ ) (defmethod enemy-method-97 kid-escort ((obj kid-escort)) - (with-pp - (let* ((s4-0 (handle->process (-> obj attacker-handle))) - (s5-0 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - (s3-0 (handle->process (-> obj arrestor-handle))) - (s4-1 (if (type? s3-0 process-focusable) - s3-0 - ) - ) + (let* ((s4-0 (handle->process (-> obj attacker-handle))) + (s5-0 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + (s3-0 (handle->process (-> obj arrestor-handle))) + (s4-1 (if (type? s3-0 process-focusable) + s3-0 + ) + ) + ) + (when s5-0 + (cond + ((= (-> s5-0 type) target) + (when (or (not (logtest? (-> obj bot-flags) (bot-flags attacked))) + (>= (- (current-time) (-> obj attacker-time)) (seconds 1.5)) + ) + (if (logtest? (-> obj bot-flags) (bot-flags attacked)) + (reset-attacker! obj) + ) + (set! s5-0 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) ) - (when s5-0 - (cond - ((= (-> s5-0 type) target) - (when (or (not (logtest? (-> obj bot-flags) (bot-flags attacked))) - (>= (- (-> pp clock frame-counter) (-> obj attacker-time)) (seconds 1.5)) - ) - (if (logtest? (-> obj bot-flags) (bot-flags attacked)) - (reset-attacker! obj) - ) - (set! s5-0 (the-as process #f)) - (set! (-> obj attacker-handle) (the-as handle #f)) - ) - ) - (else - (when (>= (- (-> pp clock frame-counter) (-> obj attacker-time)) (seconds 6)) - (set! s5-0 (the-as process #f)) - (set! (-> obj attacker-handle) (the-as handle #f)) - ) + ) + (else + (when (>= (- (current-time) (-> obj attacker-time)) (seconds 6)) + (set! s5-0 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) ) ) ) - (when s4-1 - (when (or (>= (- (-> pp clock frame-counter) (-> obj arrest-attempt-time)) (seconds 0.5)) - (logtest? (-> (the-as process-focusable s4-1) focus-status) (focus-status dead hit)) - ) - (set! s4-1 (the-as process #f)) - (set! (-> obj arrestor-handle) (the-as handle #f)) - ) - ) - (let ((v1-34 (-> obj focus-mode)) - (s3-1 (the-as process #f)) - ) - (cond - ((zero? v1-34) - (cond - (s4-1 - (set! s3-1 s4-1) - ) - (s5-0 - (set! s3-1 s5-0) - ) - ((begin (set! s3-1 (select-focus! obj)) s3-1) - (empty) - ) - (else - (let ((s5-1 (handle->process (-> obj poi-handle)))) - (set! s3-1 (if (type? s5-1 process-focusable) - s5-1 - ) - ) - ) - (if s3-1 - (empty) - (set! s3-1 *target*) - ) - ) - ) - ) - ((= v1-34 1) - (cond - (s4-1 - (set! s3-1 s4-1) - ) - (s5-0 - (set! s3-1 s5-0) - ) - (else - (let ((s5-2 (handle->process (-> obj poi-handle)))) - (set! s3-1 (if (type? s5-2 process-focusable) - s5-2 - ) - ) - ) - (cond - (s3-1 - (empty) - ) - ((begin (set! s3-1 (select-focus! obj)) s3-1) - (empty) - ) - (else - (set! s3-1 *target*) - ) - ) - ) - ) - ) - ) - (cond - (s3-1 - (try-update-focus (-> obj focus) (the-as process-focusable s3-1) obj) - (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s3-1 type) target)) - (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + (when s4-1 + (when (or (>= (- (current-time) (-> obj arrest-attempt-time)) (seconds 0.5)) + (focus-test? (the-as process-focusable s4-1) dead hit) ) - ) - (else - (clear-focused (-> obj focus)) - (logclear! (-> obj bot-flags) (bot-flags attacked)) - ) - ) - s3-1 + (set! s4-1 (the-as process #f)) + (set! (-> obj arrestor-handle) (the-as handle #f)) ) ) + (let ((v1-34 (-> obj focus-mode)) + (s3-1 (the-as process #f)) + ) + (cond + ((zero? v1-34) + (cond + (s4-1 + (set! s3-1 s4-1) + ) + (s5-0 + (set! s3-1 s5-0) + ) + ((begin (set! s3-1 (select-focus! obj)) s3-1) + (empty) + ) + (else + (let ((s5-1 (handle->process (-> obj poi-handle)))) + (set! s3-1 (if (type? s5-1 process-focusable) + s5-1 + ) + ) + ) + (if s3-1 + (empty) + (set! s3-1 *target*) + ) + ) + ) + ) + ((= v1-34 1) + (cond + (s4-1 + (set! s3-1 s4-1) + ) + (s5-0 + (set! s3-1 s5-0) + ) + (else + (let ((s5-2 (handle->process (-> obj poi-handle)))) + (set! s3-1 (if (type? s5-2 process-focusable) + s5-2 + ) + ) + ) + (cond + (s3-1 + (empty) + ) + ((begin (set! s3-1 (select-focus! obj)) s3-1) + (empty) + ) + (else + (set! s3-1 *target*) + ) + ) + ) + ) + ) + ) + (cond + (s3-1 + (try-update-focus (-> obj focus) (the-as process-focusable s3-1) obj) + (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s3-1 type) target)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + (else + (clear-focused (-> obj focus)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + s3-1 + ) ) ) @@ -454,7 +450,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -471,7 +467,7 @@ This commonly includes things such as: (set! (-> obj notice-enemy-dist) 122880.0) (set! (-> obj travel-anim-interp) 0.0) (set! (-> obj focus-info max-los-dist) 0.0) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) (set! (-> obj spot-color) (the-as uint #x60004f8f)) (set! (-> obj arrestor-handle) (the-as handle #f)) (set! (-> obj crocadog-handle) (the-as handle #f)) @@ -555,7 +551,7 @@ This commonly includes things such as: (cond ((and v1-5 (= v1-5 (-> obj draw art-group data 4))) (let* ((f28-0 (current-cycle-distance (-> obj skel))) - (f0-1 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-1 (quaternion-y-angle (-> obj root quat))) (f1-0 (deg- f0-1 (-> obj travel-prev-ry))) (f0-4 (fmin 18432.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-0)))) (f0-7 (/ (* 8.0 (fmax f30-0 f0-4)) (* 15.0 f28-0))) @@ -591,7 +587,7 @@ This commonly includes things such as: (defmethod enemy-method-78 kid-escort ((obj kid-escort) (arg0 (pointer float))) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) @@ -611,7 +607,7 @@ This commonly includes things such as: ((and (-> obj next-state) (= (-> obj next-state name) 'arrested)) (set-vector! arg0 49152.0 12288.0 49152.0 1.0) (vector<-cspace+vector! arg0 (-> obj node-list data 2) arg0) - (if (logtest? (-> obj focus-status) (focus-status under-water)) + (if (focus-test? obj under-water) (set! (-> arg0 y) (+ (get-water-height obj) (-> *setting-control* cam-current target-height))) ) ) @@ -671,15 +667,15 @@ This commonly includes things such as: ) (let ((s4-0 (new 'stack-no-clear 'vector))) (compute-seat-position (the-as vehicle s3-0) s4-0 (-> obj vehicle-seat-index)) - (vector-! s4-0 s4-0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector-! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) (set! (-> s4-0 y) 0.0) (vector-normalize! s4-0 (+ 14336.0 (vector-length s4-0))) - (vector+! s4-0 s4-0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector+! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) (let ((s3-1 (new 'stack-no-clear 'collide-query))) (when (enemy-above-ground? obj s3-1 s4-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) (set! (-> s4-0 y) (-> s3-1 best-other-tri intersect y)) (let ((s3-2 (new 'stack-no-clear 'vector))) - (do-navigation-to-destination (-> obj nav state) (-> obj root-override2 trans)) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) (when (cloest-point-on-mesh (-> obj nav) s3-2 s4-0 (the-as nav-poly #f)) (let ((f0-4 2048.0)) (when (>= (* f0-4 f0-4) (vector-vector-xz-distance-squared s3-2 s4-0)) @@ -698,7 +694,7 @@ This commonly includes things such as: (defmethod check-vehicle-exit kid-escort ((obj kid-escort)) (local-vars (v1-25 enemy-flag)) (with-pp - (when (logtest? (focus-status pilot) (-> obj focus-status)) + (when (focus-test? obj pilot) (let ((s5-0 (handle->process (-> obj vehicle-handle)))) (when (or (not s5-0) (logtest? (-> (the-as vehicle s5-0) flags) (rigid-body-object-flag dead))) (set! (-> obj bot-flags) (logior (bot-flags bf17) (-> obj bot-flags))) @@ -709,8 +705,8 @@ This commonly includes things such as: ) (set! (-> obj vehicle-seat-index) -1) (set! (-> obj vehicle-handle) (the-as handle #f)) - (logior! (-> obj root-override2 nav-flags) (nav-flags has-root-sphere)) - (let* ((s4-0 (-> obj root-override2 quat)) + (logior! (-> obj root nav-flags) (nav-flags has-root-sphere)) + (let* ((s4-0 (-> obj root quat)) (f30-0 (quaternion-y-angle s4-0)) ) (quaternion-identity! s4-0) @@ -723,13 +719,7 @@ This commonly includes things such as: ) ) (set! (-> obj enemy-flags) v1-25) - (let ((s4-2 (vector-! - (new 'stack-no-clear 'vector) - (-> obj root-override2 trans) - (-> (the-as vehicle s5-0) root-override-2 trans) - ) - ) - ) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> (the-as vehicle s5-0) root trans)))) (vector-normalize! s4-2 57344.0) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-4 from) (process->ppointer pp)) diff --git a/goal_src/jak2/levels/city/kid_escort/kidesc4-course.gc b/goal_src/jak2/levels/city/kid_escort/kidesc4-course.gc index 2dec43e24b..4e6df5eec5 100644 --- a/goal_src/jak2/levels/city/kid_escort/kidesc4-course.gc +++ b/goal_src/jak2/levels/city/kid_escort/kidesc4-course.gc @@ -42,12 +42,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) kidesct-wait-spot arg0))) @@ -88,12 +88,12 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #xe + :skip-to 14 :on-set (lambda ((arg0 kid-escort)) (add-icon! *minimap* arg0 (the-as uint 24) (the-as int #f) (the-as vector #t) 0) - (let ((v1-3 (-> arg0 root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-3 (-> arg0 root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 focus-status) (logior (focus-status arrestable) (-> arg0 focus-status))) @@ -131,7 +131,7 @@ (new 'static 'bot-waypoint :waypoint-id 14 :nav-mesh-index -1 - :skip-to #x13 + :skip-to 19 :on-set (lambda ((arg0 kid-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) kidesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -162,9 +162,9 @@ ) :on-update (lambda ((arg0 kid-escort)) (kid4-update-spot-to-track-crocadog arg0) (none)) :on-skipping-here (lambda ((arg0 kid-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) @@ -269,9 +269,9 @@ (the-as symbol (kid4-update-spot-to-track-crocadog (the-as kid-escort arg0))) ) :on-skipping-here (lambda ((arg0 kid-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 course spots 5)) @@ -367,7 +367,7 @@ (lambda ((arg0 object) (arg1 kid-escort)) (when (>= (- (current-time) (-> arg1 waypoint-time0)) (seconds 2)) (let ((v1-4 (-> arg1 spot))) - (set! (-> v1-4 center quad) (-> arg1 root-override2 trans quad)) + (set! (-> v1-4 center quad) (-> arg1 root trans quad)) (set! (-> v1-4 center w) 20480.0) ) ) diff --git a/goal_src/jak2/levels/city/market/ctymark-obs.gc b/goal_src/jak2/levels/city/market/ctymark-obs.gc index 0fc33a5351..bc52e9b50d 100644 --- a/goal_src/jak2/levels/city/market/ctymark-obs.gc +++ b/goal_src/jak2/levels/city/market/ctymark-obs.gc @@ -1005,10 +1005,10 @@ (when attacking-proc (forward-up-nopitch->inv-matrix (-> self explode-matrix) - (vector-! (new 'stack-no-clear 'vector) (-> attacking-proc root-override trans) (-> self root-override trans)) + (vector-! (new 'stack-no-clear 'vector) (-> attacking-proc root trans) (-> self root trans)) *up-vector* ) - (set! (-> self explode-matrix trans quad) (-> self root-override trans quad)) + (set! (-> self explode-matrix trans quad) (-> self root trans quad)) ) ) ) @@ -1028,7 +1028,7 @@ :virtual #t :code (behavior () (logior! (-> self focus-status) (focus-status dead)) - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -1119,7 +1119,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1200,7 +1200,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1281,7 +1281,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1362,7 +1362,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1443,7 +1443,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) diff --git a/goal_src/jak2/levels/city/market/east/ashelin/ash4-course.gc b/goal_src/jak2/levels/city/market/east/ashelin/ash4-course.gc index b3c3e74308..11114759c7 100644 --- a/goal_src/jak2/levels/city/market/east/ashelin/ash4-course.gc +++ b/goal_src/jak2/levels/city/market/east/ashelin/ash4-course.gc @@ -87,7 +87,7 @@ :skip-to -1 :on-set (lambda ((arg0 ashelin-tanker)) (clear-speech-flags! arg0) - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ash-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ash-course spots 0))) (let ((v1-7 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) (set! (-> v1-7 bytes 5) 1) (set! (-> v1-7 bytes 6) 0) @@ -391,12 +391,12 @@ :on-set (lambda ((arg0 ashelin-tanker)) (logclear! (-> arg0 bot-flags) (bot-flags bf06)) (bot-method-196 arg0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) - (set! (-> arg0 root-override2 backup-collide-as) (collide-spec)) - (set! (-> arg0 root-override2 backup-collide-with) (collide-spec)) + (set! (-> arg0 root backup-collide-as) (collide-spec)) + (set! (-> arg0 root backup-collide-with) (collide-spec)) 0 (send-event arg0 'hide #t) (let ((v1-15 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) @@ -519,7 +519,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "asha034") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 20 :fo-max 100 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 20 :fo-max 100 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 1 (new 'static 'bot-spot :center (new 'static 'vector :x 1902510.1 :y 33587.2 :z 1786101.8 :w 61440.0)) diff --git a/goal_src/jak2/levels/city/market/east/ashelin/ctyasha-obs.gc b/goal_src/jak2/levels/city/market/east/ashelin/ctyasha-obs.gc index f0277a4368..842423b669 100644 --- a/goal_src/jak2/levels/city/market/east/ashelin/ctyasha-obs.gc +++ b/goal_src/jak2/levels/city/market/east/ashelin/ctyasha-obs.gc @@ -875,15 +875,15 @@ (let ((f30-0 (get-num-segments s5-0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (get-point-at-percent-along-path! s5-0 (-> obj root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! s5-0 (-> obj root trans) f30-0 'interp) (displacement-between-points-at-percent-normalized! s5-0 s4-0 f30-0) - (forward-up->quaternion (-> obj root-override2 quat) s4-0 *up-vector*) + (forward-up->quaternion (-> obj root quat) s4-0 *up-vector*) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-notice alert victory called-dying)) (set! (-> obj enemy-flags) (logior (enemy-flag dangerous-backup) (-> obj enemy-flags))) (logclear! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj enemy-flags) (enemy-flag chase-startup)) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (go-hostile obj) #t ) @@ -903,7 +903,7 @@ (let ((t9-0 (method-of-type grunt init-enemy!))) (t9-0 obj) ) - (set-vector! (-> obj root-override2 scale) 0.0 0.0 0.0 1.0) + (set-vector! (-> obj root scale) 0.0 0.0 0.0 1.0) (none) ) @@ -937,7 +937,7 @@ (t9-0) ) ) - (set-vector! (-> self root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (none) ) :trans (behavior () @@ -946,10 +946,10 @@ (t9-0) ) ) - (let* ((f0-0 (-> self root-override2 scale x)) + (let* ((f0-0 (-> self root scale x)) (f0-3 (seek f0-0 1.0 (* 1.5 (-> self clock seconds-per-frame)))) ) - (set-vector! (-> self root-override2 scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) 0 (none) @@ -980,15 +980,15 @@ (let ((f30-0 (get-num-segments s5-0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (get-point-at-percent-along-path! s5-0 (-> obj root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! s5-0 (-> obj root trans) f30-0 'interp) (displacement-between-points-at-percent-normalized! s5-0 s4-0 f30-0) - (forward-up->quaternion (-> obj root-override2 quat) s4-0 *up-vector*) + (forward-up->quaternion (-> obj root quat) s4-0 *up-vector*) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-notice alert victory called-dying)) (set! (-> obj enemy-flags) (logior (enemy-flag dangerous-backup) (-> obj enemy-flags))) (logclear! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj enemy-flags) (enemy-flag chase-startup)) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (go-hostile obj) #t ) @@ -1008,7 +1008,7 @@ (let ((t9-0 (method-of-type juicer init-enemy!))) (t9-0 obj) ) - (set-vector! (-> obj root-override2 scale) 0.0 0.0 0.0 1.0) + (set-vector! (-> obj root scale) 0.0 0.0 0.0 1.0) (none) ) @@ -1042,7 +1042,7 @@ (t9-0) ) ) - (set-vector! (-> self root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (none) ) :trans (behavior () @@ -1051,10 +1051,10 @@ (t9-0) ) ) - (let* ((f0-0 (-> self root-override2 scale x)) + (let* ((f0-0 (-> self root scale x)) (f0-3 (seek f0-0 1.0 (* 1.15 (-> self clock seconds-per-frame)))) ) - (set-vector! (-> self root-override2 scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) 0 (none) @@ -1062,7 +1062,7 @@ ) (deftype tanker-container (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 23 @@ -1204,9 +1204,9 @@ (defbehavior tanker-container-event-handler tanker-container ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) - (let ((v1-2 (-> self root-override root-prim))) - (set! (-> v1-2 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-2 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-2 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual idle) ) @@ -1235,9 +1235,9 @@ :event tanker-container-event-handler :enter (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (tanker-container-method-22 self) (none) @@ -1285,7 +1285,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1303,7 +1303,7 @@ This commonly includes things such as: (set! (-> s5-2 frame-num) 0.0) ) (transform-post) - (let ((v1-26 (-> obj root-override root-prim))) + (let ((v1-26 (-> obj root root-prim))) (set! (-> v1-26 prim-core collide-as) (collide-spec)) (set! (-> v1-26 prim-core collide-with) (collide-spec)) ) @@ -1323,7 +1323,7 @@ This commonly includes things such as: ) (deftype tanker-crash (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -1357,9 +1357,9 @@ This commonly includes things such as: :virtual #t :enter (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (none) @@ -1408,7 +1408,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1426,7 +1426,7 @@ This commonly includes things such as: (set! (-> s5-2 frame-num) 0.0) ) (transform-post) - (let ((v1-26 (-> obj root-override root-prim))) + (let ((v1-26 (-> obj root root-prim))) (set! (-> v1-26 prim-core collide-as) (collide-spec)) (set! (-> v1-26 prim-core collide-with) (collide-spec)) ) @@ -1440,11 +1440,11 @@ This commonly includes things such as: ) (deftype tanker-deadly (process-drawable) - ((root-override collide-shape :offset 128) - (track-joint int32 :offset-assert 200) - (attack-id uint32 :offset-assert 204) - (die-time time-frame :offset-assert 208) - (prev-pos vector :inline :offset-assert 224) + ((root collide-shape :override) + (track-joint int32 :offset-assert 200) + (attack-id uint32 :offset-assert 204) + (die-time time-frame :offset-assert 208) + (prev-pos vector :inline :offset-assert 224) ) :heap-base #x70 :method-count-assert 22 @@ -1469,7 +1469,7 @@ This commonly includes things such as: (let ((a2-1 (-> event param 0)) (v1-1 (new 'stack-no-clear 'vector)) ) - (vector-! v1-1 (-> self root-override trans) (-> self prev-pos)) + (vector-! v1-1 (-> self root trans) (-> self prev-pos)) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-4 from) (process->ppointer self)) (set! (-> a1-4 num-params) 2) @@ -1491,18 +1491,18 @@ This commonly includes things such as: ) :code (the-as (function none :behavior tanker-deadly) sleep-code) :post (behavior () - (set! (-> self prev-pos quad) (-> self root-override trans quad)) + (set! (-> self prev-pos quad) (-> self root trans quad)) (let ((v1-1 (ppointer->process (-> self parent))) (gp-0 (new 'stack-no-clear 'vector)) ) (vector<-cspace! gp-0 (-> (the-as process-drawable v1-1) node-list data (-> self track-joint))) - (move-to-point! (-> self root-override) gp-0) + (move-to-point! (-> self root) gp-0) ) (let ((a1-5 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-5 options) (overlaps-others-options)) (set! (-> a1-5 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-5 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-5) + (find-overlapping-shapes (-> self root) a1-5) ) (if (>= (current-time) (-> self die-time)) (go-virtual die-fast) @@ -1550,9 +1550,9 @@ This commonly includes things such as: (vector-identity! (-> gp-0 scale)) (quaternion-identity! (-> gp-0 quat)) (update-transforms gp-0) - (set! (-> self root-override) gp-0) + (set! (-> self root) gp-0) ) - (set! (-> self prev-pos quad) (-> self root-override trans quad)) + (set! (-> self prev-pos quad) (-> self root trans quad)) (logclear! (-> self mask) (process-mask actor-pause enemy)) (go-virtual active) (none) diff --git a/goal_src/jak2/levels/city/market/west/brutter_kiosk/meet-brutter.gc b/goal_src/jak2/levels/city/market/west/brutter_kiosk/meet-brutter.gc index 2dbfe6feb5..42325feef9 100644 --- a/goal_src/jak2/levels/city/market/west/brutter_kiosk/meet-brutter.gc +++ b/goal_src/jak2/levels/city/market/west/brutter_kiosk/meet-brutter.gc @@ -144,7 +144,7 @@ :explosion #f :engine-pitch-scale 0.25 :engine-pitch-mod-amp 0.025 - :engine-sound-select #x8 + :engine-sound-select 8 :engine-sound (static-sound-name "vehicle-engine") :thrust-sound (static-sound-name "bike-thrust") :scrape-sound (static-sound-name "car-scrape-stn") @@ -303,7 +303,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -404,11 +404,8 @@ (let ((s1-0 (new 'stack-no-clear 'vector)) (s2-1 (new 'stack-no-clear 'pw-iter-seg)) ) - (let ((v1-10 - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> arg1 root-override-2 quat))) - ) - ) - (set! (-> s1-0 quad) (-> arg1 root-override-2 trans quad)) + (let ((v1-10 (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> arg1 root quat))))) + (set! (-> s1-0 quad) (-> arg1 root trans quad)) (set! (-> s1-0 w) f30-0) (set! (-> s2-1 seg) #f) (set! (-> s2-1 score) 0.0) @@ -741,7 +738,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 30) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -795,7 +792,7 @@ (t9-0) ) ) - (let ((s5-0 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000))) + (let ((s5-0 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000))) (gp-0 (new 'stack-no-clear 'vector)) ) (if s5-0 @@ -810,7 +807,7 @@ (set! (-> v1-17 current-poly) (the-as nav-poly #f)) ) 0 - (do-navigation-to-destination (-> self nav state) (-> self root-override2 trans)) + (do-navigation-to-destination (-> self nav state) (-> self root trans)) (cond ((-> self coming-from-pw) (let ((s5-1 (-> self nav)) @@ -818,8 +815,8 @@ (s3-0 gp-0) (s2-0 (new 'stack-no-clear 'vector)) ) - (let ((s1-0 (-> self root-override2 trans))) - (let ((v1-27 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((s1-0 (-> self root trans))) + (let ((v1-27 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((a0-7 20480.0)) (.mov vf7 a0-7) ) @@ -833,22 +830,22 @@ (.svf (&-> s2-0 quad) vf6) (s4-0 s5-1 s3-0 s2-0 (the-as nav-poly #f)) ) - (set! (-> self root-override2 transv x) (- (-> gp-0 x) (-> self root-override2 trans x))) - (set! (-> self root-override2 transv y) 40960.0) - (set! (-> self root-override2 transv z) (- (-> gp-0 z) (-> self root-override2 trans z))) + (set! (-> self root transv x) (- (-> gp-0 x) (-> self root trans x))) + (set! (-> self root transv y) 40960.0) + (set! (-> self root transv z) (- (-> gp-0 z) (-> self root trans z))) (set! (-> self coming-from-pw) #f) ) (else - (cloest-point-on-mesh (-> self nav) gp-0 (-> self root-override2 trans) (the-as nav-poly #f)) - (when (< 4096.0 (vector-vector-xz-distance gp-0 (-> self root-override2 trans))) - (set! (-> self root-override2 transv x) (- (-> gp-0 x) (-> self root-override2 trans x))) - (set! (-> self root-override2 transv y) 40960.0) - (set! (-> self root-override2 transv z) (- (-> gp-0 z) (-> self root-override2 trans z))) + (cloest-point-on-mesh (-> self nav) gp-0 (-> self root trans) (the-as nav-poly #f)) + (when (< 4096.0 (vector-vector-xz-distance gp-0 (-> self root trans))) + (set! (-> self root transv x) (- (-> gp-0 x) (-> self root trans x))) + (set! (-> self root transv y) 40960.0) + (set! (-> self root transv z) (- (-> gp-0 z) (-> self root trans z))) ) ) ) ) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (let ((a1-7 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-7 from) (process->ppointer self)) (set! (-> a1-7 num-params) 0) @@ -869,10 +866,10 @@ (let ((s5-2 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'quaternion)) ) - (vector-y-quaternion! s5-2 (-> self root-override2 quat)) + (vector-y-quaternion! s5-2 (-> self root quat)) (vector-normalize! s5-2 1.0) (quaternion-from-two-vectors! gp-1 s5-2 *up-vector*) - (quaternion*! (-> self root-override2 quat) gp-1 (-> self root-override2 quat)) + (quaternion*! (-> self root quat) gp-1 (-> self root quat)) ) (none) ) @@ -883,7 +880,7 @@ :virtual #t :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override run-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.45 0.65))) (until #f @@ -901,7 +898,7 @@ :code (behavior () (local-vars (sv-128 float) (sv-144 float) (sv-160 float)) (let ((gp-0 0)) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) (set! gp-0 (-> self info get-on-bike-anim)) ) @@ -921,8 +918,8 @@ ) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)))) + (set! (-> s5-2 quad) (-> self root trans quad)) + (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) (ja-no-eval :group! (-> self draw art-group data gp-0) :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 2.0 0) @@ -936,7 +933,7 @@ (if (not s1-0) (go-virtual wait-for-ride) ) - (quaternion-copy! s2-0 (-> (the-as vehicle s1-0) root-override-2 quat)) + (quaternion-copy! s2-0 (-> (the-as vehicle s1-0) root quat)) (compute-seat-position (the-as vehicle s1-0) s0-0 (-> self seat)) (vector-! s3-1 s0-0 s5-2) (let ((s1-1 lerp-scale) @@ -948,8 +945,8 @@ (let* ((t0-1 (ja-aframe 8.0 0)) (f30-1 (s1-1 s0-1 sv-128 sv-144 sv-160 t0-1)) ) - (quaternion-slerp! (-> self root-override2 quat) s4-0 s2-0 f30-1) - (vector+float*! (-> self root-override2 trans) s5-2 s3-1 f30-1) + (quaternion-slerp! (-> self root quat) s4-0 s2-0 f30-1) + (vector+float*! (-> self root trans) s5-2 s3-1 f30-1) ) ) ) @@ -958,7 +955,7 @@ ) ) ) - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data gp-0) :num! (seek! (ja-aframe 10.0 0)) :frame-num (ja-aframe 8.0 0) @@ -971,10 +968,10 @@ (if (not s5-4) (go-virtual wait-for-ride) ) - (quaternion-copy! gp-1 (-> (the-as vehicle s5-4) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-4) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! gp-1 (-> (the-as vehicle s5-4) root quat)) + (compute-seat-position (the-as vehicle s5-4) (-> self root trans) (-> self seat)) (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 8.0 0) (ja-aframe 10.0 0)) - (quaternion-copy! (-> self root-override2 quat) gp-1) + (quaternion-copy! (-> self root quat) gp-1) ) (suspend) (ja :num! (seek! (ja-aframe 10.0 0))) @@ -1054,7 +1051,7 @@ ) :code (behavior () (ja-channel-push! 3 (seconds 0.2)) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) (ja :group! (-> self draw art-group data 12)) (ja :chan 1 :group! (-> self draw art-group data 13)) @@ -1078,11 +1075,11 @@ (let ((v1-28 (handle->process (-> self vehicle)))) (when v1-28 (let* ((v1-30 (-> (the-as vehicle v1-28) rbody)) - (a1-10 (-> self root-override2 trans)) + (a1-10 (-> self root trans)) (a2-1 (new 'stack-no-clear 'vector)) (gp-0 (rigid-body-method-22 (-> v1-30 state) a1-10 a2-1)) ) - (vector-inv-orient-by-quat! gp-0 gp-0 (-> self root-override2 quat)) + (vector-inv-orient-by-quat! gp-0 gp-0 (-> self root quat)) (seek! (-> self v-speed x) (-> gp-0 x) (* 81920.0 (-> self clock seconds-per-frame))) (seek! (-> self v-speed z) (-> gp-0 z) (* 49152.0 (-> self clock seconds-per-frame))) (set! (-> self left-right-interp) @@ -1171,7 +1168,7 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior city-lurker) enemy-event-handler) :enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) - (let ((a0-2 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)))) + (let ((a0-2 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (if a0-2 (set! (-> self nav-mesh-aid) (-> a0-2 entity aid)) ) @@ -1187,7 +1184,7 @@ 0 (citizen-method-195 self - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (let ((a0-9 (-> self nav state)) (v1-17 (-> self controller turn-exit-point)) @@ -1198,11 +1195,11 @@ ) 0 (citizen-nav-init! self) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status))) (set! (-> self state-time) (current-time)) - (let ((v1-31 (-> self root-override2 root-prim))) + (let ((v1-31 (-> self root root-prim))) (set! (-> v1-31 prim-core collide-as) (collide-spec)) (set! (-> v1-31 prim-core collide-with) (collide-spec)) ) @@ -1230,7 +1227,7 @@ :code (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) (local-vars (sv-128 float)) (let ((gp-0 0)) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) (set! gp-0 (-> self info get-on-bike-anim)) ) @@ -1246,8 +1243,8 @@ (until (ja-done? 0) (let ((s5-1 (handle->process (-> self vehicle)))) (new 'stack-no-clear 'vector) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-1) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-1) root quat)) + (compute-seat-position (the-as vehicle s5-1) (-> self root trans) (-> self seat)) ) (suspend) (ja :num! (seek! (ja-aframe 8.0 0) 0.6666667)) @@ -1258,8 +1255,8 @@ (while (not (civilian-method-217 self s5-3)) (let ((s3-0 (handle->process (-> self vehicle)))) (new 'stack-no-clear 'vector) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s3-0) root-override-2 quat)) - (compute-seat-position (the-as vehicle s3-0) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s3-0) root quat)) + (compute-seat-position (the-as vehicle s3-0) (-> self root trans) (-> self seat)) ) (if (>= (- (current-time) (-> self state-time)) (seconds 2)) (go-virtual ride) @@ -1268,7 +1265,7 @@ ) (remove-rider (the-as vehicle (handle->process (-> self vehicle))) self) (logclear! (-> self focus-status) (focus-status pilot-riding pilot)) - (quaternion-copy! s4-0 (-> self root-override2 quat)) + (quaternion-copy! s4-0 (-> self root quat)) ) (ja-no-eval :group! (-> self draw art-group data gp-0) :num! (seek! (ja-aframe 2.0 0) 0.6666667) @@ -1280,7 +1277,7 @@ (gp-1 (new 'stack-no-clear 'vector)) (s4-2 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root-override-2 quat)) + (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root quat)) (compute-seat-position (the-as vehicle s3-1) s2-0 (-> self seat)) (vector-! gp-1 s2-0 s5-3) (let ((s3-2 lerp-scale) @@ -1293,8 +1290,8 @@ (f0-9 (s3-2 s2-1 s1-0 s0-0 sv-128 t0-1)) (f30-0 (- 1.0 f0-9)) ) - (quaternion-copy! (-> self root-override2 quat) s4-2) - (vector+float*! (-> self root-override2 trans) s5-3 gp-1 f30-0) + (quaternion-copy! (-> self root quat) s4-2) + (vector+float*! (-> self root trans) s5-3 gp-1 f30-0) ) ) ) @@ -1303,9 +1300,9 @@ ) ) ) - (let ((v1-83 (-> self root-override2 root-prim))) - (set! (-> v1-83 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-83 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-83 (-> self root root-prim))) + (set! (-> v1-83 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-83 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual wait-for-ride) (none) @@ -1333,7 +1330,7 @@ (set! (-> v1-17 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-17 enemy-flags)))) ) (set! (-> v1-17 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-17 enemy-flags)))) - (set! (-> v1-17 nav callback-info) (-> v1-17 enemy-info-override callback-info)) + (set! (-> v1-17 nav callback-info) (-> v1-17 enemy-info callback-info)) ) 0 (let ((v1-20 self)) @@ -1353,7 +1350,7 @@ (t9-0) ) ) - (when (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 163840.0) + (when (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 163840.0) (if (-> self jump-in-pipe?) (go-virtual go-at-pipe) (go-virtual go-at-end) @@ -1365,13 +1362,10 @@ (until #f (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1383,8 +1377,8 @@ (suspend) (ja :num! (seek! max 0.5)) ) - (when (or (< 245760.0 (vector-vector-distance (-> self root-override2 trans) (target-pos 0))) - (< (vector-vector-distance (-> self root-override2 trans) (target-pos 0)) 24576.0) + (when (or (< 245760.0 (vector-vector-distance (-> self root trans) (target-pos 0))) + (< (vector-vector-distance (-> self root trans) (target-pos 0)) 24576.0) ) (let ((v1-37 (-> self nav))) (set! (-> v1-37 target-speed) 0.0) @@ -1407,13 +1401,10 @@ (label cfg-13) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1425,8 +1416,8 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (when (and (< (vector-vector-distance (-> self root-override2 trans) (target-pos 0)) 245760.0) - (< 32768.0 (vector-vector-distance (-> self root-override2 trans) (target-pos 0))) + (when (and (< (vector-vector-distance (-> self root trans) (target-pos 0)) 245760.0) + (< 32768.0 (vector-vector-distance (-> self root trans) (target-pos 0))) ) (nav-enemy-method-166 self) (let ((v1-87 (-> self nav))) @@ -1438,7 +1429,7 @@ (set! (-> v1-89 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-89 enemy-flags)))) ) (set! (-> v1-89 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-89 enemy-flags)))) - (set! (-> v1-89 nav callback-info) (-> v1-89 enemy-info-override callback-info)) + (set! (-> v1-89 nav callback-info) (-> v1-89 enemy-info callback-info)) ) 0 (let ((v1-92 self)) @@ -1485,7 +1476,7 @@ (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1500,9 +1491,7 @@ (none) ) :trans (behavior () - (when (and (-> self jump-in-pipe?) - (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 24576.0) - ) + (when (and (-> self jump-in-pipe?) (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 24576.0)) (logclear! (-> self flags) (citizen-flag persistent)) (when (not (-> self task-done?)) (set! (-> self task-done?) #t) @@ -1524,7 +1513,7 @@ ) ) ) - (let ((v1-22 (-> self root-override2 root-prim))) + (let ((v1-22 (-> self root root-prim))) (set! (-> v1-22 prim-core collide-as) (collide-spec)) (set! (-> v1-22 prim-core collide-with) (collide-spec)) ) @@ -1541,7 +1530,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override run-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.45 0.65))) (until #f @@ -1582,7 +1571,7 @@ (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1602,7 +1591,7 @@ (set! (-> gp-0 quad) (-> self end-pos quad)) (set! (-> gp-0 r) 12288.0) (when (and (-> self jump-in-pipe?) - (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 28672.0) + (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 28672.0) (not (add-root-sphere-to-hash! (-> self nav) gp-0 38)) ) (logclear! (-> self flags) (citizen-flag persistent)) @@ -1626,7 +1615,7 @@ ) ) ) - (let ((v1-27 (-> self root-override2 root-prim))) + (let ((v1-27 (-> self root root-prim))) (set! (-> v1-27 prim-core collide-as) (collide-spec)) (set! (-> v1-27 prim-core collide-with) (collide-spec)) ) @@ -1639,7 +1628,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override run-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.45 0.65))) (until #f @@ -1665,7 +1654,7 @@ ) (defmethod enemy-method-86 city-lurker ((obj city-lurker)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (when (< (-> gp-0 transv y) 0.0) (when (and (< (-> gp-0 trans y) (+ 8192.0 (-> obj end-pos y))) (-> obj jump-in-pipe?)) (send-event (process-by-name (-> obj pipe-name) *active-pool*) 'spin) @@ -1750,13 +1739,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1851,7 +1837,7 @@ (set! (-> self hit-points) 100) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self state-time) (current-time)) - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) @@ -1889,12 +1875,12 @@ (if a0-1 (remove-rider (the-as vehicle a0-1) self) ) - (let ((v1-9 (-> self root-override2 root-prim))) - (set! (-> v1-9 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-9 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-9 (-> self root root-prim))) + (set! (-> v1-9 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-9 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self vehicle) (the-as handle #f)) - (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (set! (-> gp-0 y) 1.0) (vector-normalize! gp-0 40960.0) (let ((a1-6 (new 'stack-no-clear 'event-message-block))) @@ -2085,7 +2071,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2138,9 +2124,9 @@ ((= v1-0 'traffic-activate) (set! (-> obj controller traffic) (the-as traffic-engine (-> arg3 param 1))) (let ((s5-0 (the-as object (-> arg3 param 0)))) - (set! (-> obj root-override2 trans quad) (-> (the-as traffic-object-spawn-params s5-0) position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> (the-as traffic-object-spawn-params s5-0) rotation)) - (set! (-> obj root-override2 transv quad) (-> (the-as traffic-object-spawn-params s5-0) velocity quad)) + (set! (-> obj root trans quad) (-> (the-as traffic-object-spawn-params s5-0) position quad)) + (quaternion-copy! (-> obj root quat) (-> (the-as traffic-object-spawn-params s5-0) rotation)) + (set! (-> obj root transv quad) (-> (the-as traffic-object-spawn-params s5-0) velocity quad)) (let ((a0-10 (-> (the-as traffic-object-spawn-params s5-0) nav-mesh))) (when a0-10 (change-to a0-10 obj) @@ -2153,7 +2139,7 @@ 0 (let ((a1-5 (-> (the-as traffic-object-spawn-params s5-0) nav-branch))) (when a1-5 - (vehicle-controller-method-13 (-> obj controller) a1-5 (-> obj root-override2 trans)) + (vehicle-controller-method-13 (-> obj controller) a1-5 (-> obj root trans)) (let ((a0-14 (-> obj nav state)) (v1-24 (-> obj controller turn-exit-point)) ) @@ -2167,7 +2153,7 @@ (citizen-nav-init! obj) (citizen-init! obj) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) - (set! (-> obj gnd-height) (-> obj root-override2 gspot-pos y)) + (set! (-> obj gnd-height) (-> obj root gspot-pos y)) ) ) (set-behavior! obj (the-as traffic-object-spawn-params s5-0)) @@ -2325,7 +2311,7 @@ (send-event *traffic-manager* 'add-object (-> gp-1 params 1 object-type) s3-0) (set! (-> s3-0 controller traffic) *traffic-engine*) (set! (-> s3-0 vehicle) (process->handle s4-0)) - (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root-override-2 trans) 4 0))) + (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root trans) 4 0))) (when (!= s2-1 -1) (format #t "adding lurker to seat ~d~%" s2-1) (put-rider-in-seat s4-0 s2-1 s3-0) @@ -2495,16 +2481,13 @@ (set! (-> s4-0 flags) (traffic-spawn-flags trsflags-01)) (set! (-> s4-0 guard-type) (the-as uint 7)) (vector-reset! (-> s4-0 velocity)) - (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-1) root-override-2 trans quad)) - (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-1) root-override-2 quat)) + (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-1) root trans quad)) + (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-1) root quat)) (activate-by-handle *traffic-engine* s4-0) ) (let ((s4-1 (handle->process (-> self slave gp-1)))) (when s4-1 - (let ((s3-0 - (get-best-seat-for-vehicle (the-as paddywagon s5-1) (-> (the-as paddywagon s5-1) root-override-2 trans) 4 0) - ) - ) + (let ((s3-0 (get-best-seat-for-vehicle (the-as paddywagon s5-1) (-> (the-as paddywagon s5-1) root trans) 4 0))) (when (!= s3-0 -1) (format #t "adding lurker to seat ~d~%" s3-0) (put-rider-in-seat (the-as paddywagon s5-1) s3-0 (the-as city-lurker s4-1)) @@ -2548,8 +2531,8 @@ (set! (-> s3-1 flags) (traffic-spawn-flags)) (set! (-> s3-1 guard-type) (the-as uint 7)) (vector-reset! (-> s3-1 velocity)) - (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root-override2 trans quad)) - (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root-override2 quat)) + (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root trans quad)) + (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root quat)) (activate-by-handle *traffic-engine* s3-1) ) ) @@ -2580,7 +2563,7 @@ (+! (-> self data-int32 s5-2) 1) ) (else - (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -2592,8 +2575,8 @@ ) (when (and (< f0-2 (* f1-0 f1-0)) (let ((f0-3 (vector-vector-distance-squared - (-> (the-as vehicle s3-3) root-override-2 trans) - (-> (the-as city-lurker s4-2) root-override2 trans) + (-> (the-as vehicle s3-3) root trans) + (-> (the-as city-lurker s4-2) root trans) ) ) (f1-3 65536.0) @@ -2617,7 +2600,7 @@ ((= (-> self data-int32 s5-2) 1) (when (the-as city-lurker s4-2) (if (or (not *target*) (not (logtest? (focus-status pilot) (-> *target* focus-status)))) - (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root-override2 trans)) + (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root trans)) ) (let ((s3-4 (-> self data-vector 3)) (s2-1 (handle->process (-> *target* pilot vehicle))) @@ -2625,13 +2608,13 @@ (cond ((focus-test? (the-as city-lurker s4-2) pilot) (when (and s2-1 - (let ((f0-4 (vector-vector-distance-squared s3-4 (-> (the-as vehicle s2-1) root-override-2 trans))) + (let ((f0-4 (vector-vector-distance-squared s3-4 (-> (the-as vehicle s2-1) root trans))) (f1-6 114688.0) ) (< f0-4 (* f1-6 f1-6)) ) (begin - (.lvf vf1 (&-> (-> (the-as vehicle s2-1) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s2-1) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -2897,7 +2880,7 @@ (send-event *traffic-manager* 'add-object (-> gp-0 params 1 object-type) s3-0) (set! (-> s3-0 controller traffic) *traffic-engine*) (set! (-> s3-0 vehicle) (process->handle s4-0)) - (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root-override-2 trans) 4 0))) + (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root trans) 4 0))) (when (!= s2-1 -1) (format #t "adding lurker to seat ~d~%" s2-1) (put-rider-in-seat s4-0 s2-1 s3-0) @@ -3061,16 +3044,13 @@ (set! (-> s4-0 flags) (traffic-spawn-flags trsflags-01)) (set! (-> s4-0 guard-type) (the-as uint 7)) (vector-reset! (-> s4-0 velocity)) - (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-2) root-override-2 trans quad)) - (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-2) root-override-2 quat)) + (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-2) root trans quad)) + (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-2) root quat)) (activate-by-handle *traffic-engine* s4-0) ) (let ((s4-1 (handle->process (-> self slave gp-1)))) (when s4-1 - (let ((s3-0 - (get-best-seat-for-vehicle (the-as paddywagon s5-2) (-> (the-as paddywagon s5-2) root-override-2 trans) 4 0) - ) - ) + (let ((s3-0 (get-best-seat-for-vehicle (the-as paddywagon s5-2) (-> (the-as paddywagon s5-2) root trans) 4 0))) (when (!= s3-0 -1) (format #t "adding lurker to seat ~d~%" s3-0) (put-rider-in-seat (the-as paddywagon s5-2) s3-0 (the-as process-focusable s4-1)) @@ -3114,8 +3094,8 @@ (set! (-> s3-1 flags) (traffic-spawn-flags)) (set! (-> s3-1 guard-type) (the-as uint 7)) (vector-reset! (-> s3-1 velocity)) - (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root-override2 trans quad)) - (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root-override2 quat)) + (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root trans quad)) + (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root quat)) (activate-by-handle *traffic-engine* s3-1) ) ) @@ -3146,12 +3126,9 @@ (+! (-> self data-int32 s5-3) 1) ) (else - (let ((v1-174 - (get-best-seat-for-vehicle (the-as vehicle s3-3) (-> (the-as vehicle s3-3) root-override-2 trans) 4 0) - ) - ) + (let ((v1-174 (get-best-seat-for-vehicle (the-as vehicle s3-3) (-> (the-as vehicle s3-3) root trans) 4 0))) (when (!= v1-174 -1) - (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -3163,8 +3140,8 @@ ) (when (and (< f0-2 (* f1-0 f1-0)) (let ((f0-3 (vector-vector-distance-squared - (-> (the-as vehicle s3-3) root-override-2 trans) - (-> (the-as city-lurker s4-2) root-override2 trans) + (-> (the-as vehicle s3-3) root trans) + (-> (the-as city-lurker s4-2) root trans) ) ) (f1-3 65536.0) @@ -3192,7 +3169,7 @@ (let ((f30-0 (the-as float #x7f800000))) (dotimes (s3-4 (-> *city-save-lurkers-pipe-info* length)) (let* ((s2-1 (-> *city-save-lurkers-pipe-info* s3-4)) - (f0-4 (vector-vector-xz-distance (-> s2-1 end-pos) (-> (the-as city-lurker s4-2) root-override2 trans))) + (f0-4 (vector-vector-xz-distance (-> s2-1 end-pos) (-> (the-as city-lurker s4-2) root trans))) ) (when (< f0-4 f30-0) (set! f30-0 f0-4) @@ -3203,7 +3180,7 @@ ) ) (if (or (not *target*) (not (logtest? (focus-status pilot) (-> *target* focus-status)))) - (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root-override2 trans)) + (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root trans)) ) (let ((s3-5 (-> (the-as city-lurker s4-2) end-pos)) (s2-2 (handle->process (-> *target* pilot vehicle))) @@ -3211,13 +3188,13 @@ (cond ((focus-test? (the-as city-lurker s4-2) pilot) (when (and s2-2 - (let ((f0-5 (vector-vector-distance-squared s3-5 (-> (the-as vehicle s2-2) root-override-2 trans))) + (let ((f0-5 (vector-vector-distance-squared s3-5 (-> (the-as vehicle s2-2) root trans))) (f1-6 114688.0) ) (< f0-5 (* f1-6 f1-6)) ) (begin - (.lvf vf1 (&-> (-> (the-as vehicle s2-2) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s2-2) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) diff --git a/goal_src/jak2/levels/city/misc/collection_task/collection-task.gc b/goal_src/jak2/levels/city/misc/collection_task/collection-task.gc index cb358d72cc..3f924b4185 100644 --- a/goal_src/jak2/levels/city/misc/collection_task/collection-task.gc +++ b/goal_src/jak2/levels/city/misc/collection_task/collection-task.gc @@ -111,7 +111,7 @@ (set! (-> vec w) 4096.0) (when (focus-test? target pilot) (let ((vehicle (handle->process (-> target pilot vehicle)))) - (set! (-> vec quad) (-> (the-as vehicle vehicle) root-override-2 root-prim prim-core world-sphere quad)) + (set! (-> vec quad) (-> (the-as vehicle vehicle) root root-prim prim-core world-sphere quad)) ) ) (let ((dist-from-target (vector-vector-distance-squared (-> self root trans) vec)) diff --git a/goal_src/jak2/levels/city/misc/delivery/delivery-task.gc b/goal_src/jak2/levels/city/misc/delivery/delivery-task.gc index 23f8f75aa1..95edc75868 100644 --- a/goal_src/jak2/levels/city/misc/delivery/delivery-task.gc +++ b/goal_src/jak2/levels/city/misc/delivery/delivery-task.gc @@ -67,8 +67,8 @@ ) ) (set! (-> self draw color-mult quad) (-> (the-as process-focusable gp-0) draw color-mult quad)) - (set! (-> self root trans quad) (-> (the-as process-focusable gp-0) root-override trans quad)) - (quaternion-copy! (-> self root quat) (-> (the-as process-focusable gp-0) root-override quat)) + (set! (-> self root trans quad) (-> (the-as process-focusable gp-0) root trans quad)) + (quaternion-copy! (-> self root quat) (-> (the-as process-focusable gp-0) root quat)) ) (else ) @@ -466,27 +466,27 @@ This commonly includes things such as: (send-event *traffic-manager* 'set-guard-target-count-range 5 0 10) (send-event *traffic-manager* 'set-alert-level 3) (send-event *traffic-manager* 'set-alert-duration #xa4cb80) - (speech-control-method-10 *speech-control* 7 (new 'static 'speech-type-info - :channel #x1 - :priority -2 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg243a" - "kg241a" - "kg242a" - "kg244a" - "kg245a" - "kg246a" - "kg247a" - "kg248a" - "kg249a" - "kg250a" - "kg251a" - "kg252a" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-7) (new 'static 'speech-type-info + :channel #x1 + :priority -2 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg243a" + "kg241a" + "kg242a" + "kg244a" + "kg245a" + "kg246a" + "kg247a" + "kg248a" + "kg249a" + "kg250a" + "kg251a" + "kg252a" + ) + ) + ) (talker-spawn-func (-> *talker-speech* 49) *entity-pool* (target-pos 0) (the-as region #f)) (let ((gp-2 (new 'static 'vector :x 3358720.0 :y 32768.0 :z 4689920.0 :w 204800.0)) (s5-2 #f) diff --git a/goal_src/jak2/levels/city/oracle/oracle-scenes.gc b/goal_src/jak2/levels/city/oracle/oracle-scenes.gc index 06eb294fa7..ab1a88be04 100644 --- a/goal_src/jak2/levels/city/oracle/oracle-scenes.gc +++ b/goal_src/jak2/levels/city/oracle/oracle-scenes.gc @@ -840,7 +840,7 @@ "Checks various things such the current actor, task status, etc to determine the right art-group data to use @returns the appropriate [[art-element]] for the given NPC" (logior! (-> obj draw status) (draw-control-status no-draw-bounds)) - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) diff --git a/goal_src/jak2/levels/city/palace/ctypal-obs.gc b/goal_src/jak2/levels/city/palace/ctypal-obs.gc index c71bedef63..be795fe20d 100644 --- a/goal_src/jak2/levels/city/palace/ctypal-obs.gc +++ b/goal_src/jak2/levels/city/palace/ctypal-obs.gc @@ -115,7 +115,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/city/port/mines/portrun.gc b/goal_src/jak2/levels/city/port/mines/portrun.gc index 4c17b0ecd1..db59207011 100644 --- a/goal_src/jak2/levels/city/port/mines/portrun.gc +++ b/goal_src/jak2/levels/city/port/mines/portrun.gc @@ -838,18 +838,18 @@ ) (deftype ctyport-mine (process-drawable) - ((root-override collide-shape-moving :offset 128) - (info city-port-run-mine-info :offset-assert 200) - (base-height float :offset-assert 204) - (center vector :inline :offset-assert 208) - (time-skew uint64 :offset-assert 224) - (period float :offset-assert 232) - (trans-y float :offset-assert 236) - (speed-y float :offset-assert 240) - (acc-y float :offset-assert 244) - (beep basic :offset-assert 248) - (beep-time time-frame :offset-assert 256) - (beep-color vector :inline :offset-assert 272) + ((root collide-shape-moving :override) + (info city-port-run-mine-info :offset-assert 200) + (base-height float :offset-assert 204) + (center vector :inline :offset-assert 208) + (time-skew uint64 :offset-assert 224) + (period float :offset-assert 232) + (trans-y float :offset-assert 236) + (speed-y float :offset-assert 240) + (acc-y float :offset-assert 244) + (beep basic :offset-assert 248) + (beep-time time-frame :offset-assert 256) + (beep-color vector :inline :offset-assert 272) ) :heap-base #xa0 :method-count-assert 24 @@ -894,7 +894,7 @@ (set! f0-9 (- 2.0 f0-9)) ) (let ((f0-13 (* 0.5 (- 1.0 (cos (* 32768.0 f0-9)))))) - (let ((v1-23 (-> obj root-override trans)) + (let ((v1-23 (-> obj root trans)) (a0-5 (new 'stack-no-clear 'vector)) ) (set! (-> a0-5 x) (-> s5-0 pos1-x)) @@ -903,8 +903,8 @@ (set! (-> a0-5 w) 1.0) (vector-float*! v1-23 a0-5 f0-13) ) - (let ((s4-0 (-> obj root-override trans))) - (let ((v1-27 (-> obj root-override trans))) + (let ((s4-0 (-> obj root trans))) + (let ((v1-27 (-> obj root trans))) (let ((a0-6 (new 'stack-no-clear 'vector))) (set! (-> a0-6 x) (-> s5-0 pos2-x)) (set! (-> a0-6 y) (-> s5-0 pos2-y)) @@ -926,7 +926,7 @@ ) ) (else - (let ((s4-1 (-> obj root-override trans))) + (let ((s4-1 (-> obj root trans))) (let ((s3-0 (new 'stack-no-clear 'vector))) (set! (-> s3-0 x) (-> s5-0 pos1-x)) (set! (-> s3-0 y) (-> s5-0 pos1-y)) @@ -955,15 +955,13 @@ ) ) ) - (+! (-> obj speed-y) (* 10.0 - (-> pp clock seconds-per-frame) - (- (get-height *ocean* (-> obj root-override trans) #t) (-> obj trans-y)) - ) + (+! (-> obj speed-y) + (* 10.0 (-> pp clock seconds-per-frame) (- (get-height *ocean* (-> obj root trans) #t) (-> obj trans-y))) ) (set! (-> obj speed-y) (- (-> obj speed-y) (* (-> obj speed-y) (-> pp clock seconds-per-frame)))) (set! (-> obj speed-y) (- (-> obj speed-y) (* 4096.0 (-> pp clock seconds-per-frame)))) (+! (-> obj trans-y) (* (-> obj speed-y) (-> pp clock seconds-per-frame))) - (set! (-> obj root-override trans y) (+ 2048.0 (-> obj trans-y))) + (set! (-> obj root trans y) (+ 2048.0 (-> obj trans-y))) (none) ) ) @@ -1001,7 +999,7 @@ ) ((not (logtest? (-> self draw status) (draw-control-status no-draw))) (send-event (ppointer->process (-> self parent)) 'mine-dead) - (let ((v1-27 (-> self root-override root-prim))) + (let ((v1-27 (-> self root root-prim))) (set! (-> v1-27 prim-core collide-as) (collide-spec)) (set! (-> v1-27 prim-core collide-with) (collide-spec)) ) @@ -1011,8 +1009,8 @@ (cond ((-> self beep) (let ((gp-2 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-2 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-2 spawn-quat) (-> self root-override quat)) + (set! (-> gp-2 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-2 spawn-quat) (-> self root quat)) (set! (-> gp-2 radius) 32768.0) (set! (-> gp-2 group) (-> *part-group-id-table* 161)) (set! (-> gp-2 collide-with) (collide-spec jak crate hit-by-others-list player-list)) @@ -1021,7 +1019,7 @@ ) ) (else - (process-spawn touch-tracker :init touch-tracker-init (-> self root-override trans) #x46400000 30 :to self) + (process-spawn touch-tracker :init touch-tracker-init (-> self root trans) #x46400000 30 :to self) (let ((gp-4 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-4 (let ((t9-12 (method-of-type part-tracker activate))) @@ -1037,7 +1035,7 @@ (t2-2 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-13) a0-31 a1-14 @@ -1069,7 +1067,7 @@ (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1090,7 +1088,7 @@ (set! (-> self speed-y) (- (-> self speed-y) (* (-> self speed-y) (-> self clock seconds-per-frame)))) (set! (-> self speed-y) (- (-> self speed-y) (* (-> self acc-y) (-> self clock seconds-per-frame)))) (+! (-> self trans-y) (* (-> self speed-y) (-> self clock seconds-per-frame))) - (set! (-> self root-override trans y) (+ 2048.0 (-> self trans-y))) + (set! (-> self root trans y) (+ 2048.0 (-> self trans-y))) (transform-post) (none) ) @@ -1166,15 +1164,15 @@ (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) (set! (-> self info) arg0) (set! (-> arg0 handle) (process->handle self)) (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self mask) (logior (process-mask crate) (-> self mask))) - (set-vector! (-> self root-override trans) (-> arg0 pos1-x) (-> arg0 pos1-y) (-> arg0 pos1-z) 1.0) - (quaternion-copy! (-> self root-override quat) *unity-quaternion*) - (vector-identity! (-> self root-override scale)) + (set-vector! (-> self root trans) (-> arg0 pos1-x) (-> arg0 pos1-y) (-> arg0 pos1-z) 1.0) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (vector-identity! (-> self root scale)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-ctyport-mine" (the-as (pointer uint32) #f))) @@ -1183,9 +1181,9 @@ (set! (-> self base-height) 0.0) (set! (-> self time-skew) (the-as uint (the int (* 300.0 (rand-vu-float-range 0.1 1.4))))) (set! (-> self period) (* 300.0 (rand-vu-float-range 1.2 1.8))) - (set! (-> self center quad) (-> self root-override trans quad)) - (set! (-> self root-override pause-adjust-distance) 532480.0) - (set! (-> self trans-y) (-> self root-override trans y)) + (set! (-> self center quad) (-> self root trans quad)) + (set! (-> self root pause-adjust-distance) 532480.0) + (set! (-> self trans-y) (-> self root trans y)) (go-virtual idle) (none) ) @@ -1371,7 +1369,7 @@ (set! (-> gp-0 fountain-rand-transv-hi x) 40960.0) (set! (-> gp-0 fountain-rand-transv-hi y) 122880.0) (set! (-> self draw bounds w) 163840.0) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -1397,7 +1395,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-8 a1-4 @@ -1428,7 +1426,7 @@ (let ((t9-12 ctyport-spy-spawn) (a0-17 self) (a1-10 (new 'stack-no-clear 'vector)) - (v1-33 (-> self root-override trans)) + (v1-33 (-> self root trans)) (a2-14 *up-vector*) (a3-7 4096.0) ) @@ -1449,15 +1447,13 @@ ) ) :trans (behavior () - (+! (-> self speed-y) (* 10.0 - (-> self clock seconds-per-frame) - (- (get-height *ocean* (-> self root-override trans) #t) (-> self trans-y)) - ) + (+! (-> self speed-y) + (* 10.0 (-> self clock seconds-per-frame) (- (get-height *ocean* (-> self root trans) #t) (-> self trans-y))) ) (set! (-> self speed-y) (- (-> self speed-y) (* (-> self speed-y) (-> self clock seconds-per-frame)))) (set! (-> self speed-y) (- (-> self speed-y) (* 409.6 (-> self clock seconds-per-frame)))) (+! (-> self trans-y) (* (-> self speed-y) (-> self clock seconds-per-frame))) - (set! (-> self root-override trans y) (-> self trans-y)) + (set! (-> self root trans y) (-> self trans-y)) (none) ) :code (behavior () @@ -1477,7 +1473,7 @@ (defmethod ctyport-cargo-method-30 ctyport-cargo ((obj ctyport-cargo)) (send-event *camera* 'change-target obj) (let ((gp-0 (new 'stack 'transformq))) - (vector+! (-> gp-0 trans) (-> obj root-override trans) (new 'static 'vector :y 16384.0 :z 28672.0 :w 1.0)) + (vector+! (-> gp-0 trans) (-> obj root trans) (new 'static 'vector :y 16384.0 :z 28672.0 :w 1.0)) (set-vector! (-> gp-0 scale) 1.0 1.0 1.0 1.0) (quaternion-zxy! (-> gp-0 quat) (new 'static 'vector :x 1820.4445 :y 32768.0 :w 1.0)) (send-event *camera* 'teleport-to-transformq gp-0) @@ -1495,7 +1491,7 @@ (none) ) :trans (behavior () - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self trans-y) (* 1024.0 (+ (sin (* 182.04445 (* 150.0 (+ 10.0 (* 0.0033333334 (the float (current-time))))))) (cos (* 182.04445 (* -80.0 (- 40.0 (* 0.0033333334 (the float (current-time))))))) @@ -1583,11 +1579,11 @@ knocked ) ) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) (add-process-drawable-to-navmesh arg1 self #t) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (set! (-> self minimap) (add-icon! *minimap* self (the-as uint 16) (the-as int #f) (the-as vector #t) 0)) (set! (-> self mask) (logior (process-mask crate) (-> self mask))) (initialize-skeleton @@ -1595,7 +1591,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-ctyport-cargo" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self trans-y) (-> self root-override trans y)) + (set! (-> self trans-y) (-> self root trans y)) (go-virtual idle) (none) ) diff --git a/goal_src/jak2/levels/city/port/race/errol-chal.gc b/goal_src/jak2/levels/city/port/race/errol-chal.gc index d2828e663b..fd17227d68 100644 --- a/goal_src/jak2/levels/city/port/race/errol-chal.gc +++ b/goal_src/jak2/levels/city/port/race/errol-chal.gc @@ -411,7 +411,7 @@ (format 0 "errol-racer::initialize-collision: ERROR, no lerlchal level~%") (go process-drawable-art-error "no lerlchal level") ) - (set! (-> obj root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape (new 'process 'trsqv))) 0 (none) ) @@ -435,11 +435,7 @@ :virtual #t :enter (behavior () (format #t "errol-rider::got-passed~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-1 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-54)) (none) ) ) @@ -452,11 +448,7 @@ ) :enter (behavior () (format #t "errol-rider::taunt race-errol-pass~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-0 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-53)) (none) ) :code (behavior () @@ -487,15 +479,10 @@ (none) ) :post (behavior () - (let* ((v1-0 (-> self parent-override)) - (gp-0 (if v1-0 - (-> v1-0 0 self-override) - ) - ) - ) + (let ((gp-0 (ppointer->process (-> self parent)))) (when gp-0 - (compute-seat-position gp-0 (-> self root-override trans) 0) - (quaternion-copy! (-> self root-override quat) (-> gp-0 root-override-2 quat)) + (compute-seat-position gp-0 (-> self root trans) 0) + (quaternion-copy! (-> self root quat) (-> gp-0 root quat)) ) ) (ja-post) @@ -631,7 +618,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -711,7 +698,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -731,16 +718,16 @@ ) (deftype turbo-ring (process-drawable) - ((root-override collide-shape :offset 128) - (touch-time time-frame :offset-assert 200) - (minimap connection-minimap :offset-assert 208) - (player-got symbol :offset-assert 212) - (persistent symbol :offset-assert 216) - (id int8 :offset-assert 220) - (boost float :offset-assert 224) - (plane vector :inline :offset-assert 240) - (part-track handle :offset-assert 256) - (mat matrix :inline :offset-assert 272) + ((root collide-shape :override) + (touch-time time-frame :offset-assert 200) + (minimap connection-minimap :offset-assert 208) + (player-got symbol :offset-assert 212) + (persistent symbol :offset-assert 216) + (id int8 :offset-assert 220) + (boost float :offset-assert 224) + (plane vector :inline :offset-assert 240) + (part-track handle :offset-assert 256) + (mat matrix :inline :offset-assert 272) ) :heap-base #xd0 :method-count-assert 25 @@ -763,7 +750,7 @@ object (case event-type (('touched) - (let* ((s4-0 (-> (the-as vehicle proc) root-override-2)) + (let* ((s4-0 (-> (the-as vehicle proc) root)) (gp-0 (if (type? s4-0 collide-shape-moving) s4-0 ) @@ -778,8 +765,8 @@ (let ((f30-0 (vector4-dot (-> self plane) (-> s4-1 local-pos))) (f28-0 (vector4-dot (-> self plane) (-> s4-1 normal))) (f0-5 (fmax - (vector-vector-distance-squared (-> self root-override trans) (-> s4-1 local-pos)) - (vector-vector-distance-squared (-> self root-override trans) (-> s4-1 normal)) + (vector-vector-distance-squared (-> self root trans) (-> s4-1 local-pos)) + (vector-vector-distance-squared (-> self root trans) (-> s4-1 normal)) ) ) (f1-0 40960.0) @@ -820,10 +807,9 @@ :post (behavior () (if (and (-> self player-got) (>= (- (current-time) (-> self touch-time)) (seconds 3)) - (or (not *target*) - (or (< 204800.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (or (not *target*) (or (< 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (not (-> self persistent)) ) @@ -839,7 +825,7 @@ :virtual #t :code (behavior () (set! (-> self state-time) (current-time)) - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -867,7 +853,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -876,14 +862,14 @@ (defmethod turbo-ring-method-23 turbo-ring ((obj turbo-ring)) (let ((s5-0 (-> obj mat))) (let ((s4-0 (new 'stack-no-clear 'quaternion))) - (quaternion-rotate-local-y! s4-0 (-> obj root-override quat) 16384.0) + (quaternion-rotate-local-y! s4-0 (-> obj root quat) 16384.0) (quaternion->matrix s5-0 s4-0) ) - (set! (-> s5-0 trans quad) (-> obj root-override trans quad)) + (set! (-> s5-0 trans quad) (-> obj root trans quad)) (set! (-> obj plane quad) (-> s5-0 vector 0 quad)) ) - (set! (-> obj plane w) (- (vector-dot (-> obj plane) (-> obj root-override trans)))) - (update-transforms (-> obj root-override)) + (set! (-> obj plane w) (- (vector-dot (-> obj plane) (-> obj root trans)))) + (update-transforms (-> obj root)) (set! (-> obj player-got) #f) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 1058) obj)) (if (not (-> obj persistent)) @@ -897,9 +883,9 @@ ;; WARN: Return type mismatch object vs none. (defbehavior turbo-ring-init-by-other turbo-ring ((arg0 city-race-ring-info) (arg1 int) (arg2 symbol)) (turbo-ring-method-22 self) - (set! (-> self root-override trans quad) (-> arg0 pos quad)) - (set! (-> self root-override trans y) (+ 10240.0 (-> self root-override trans y))) - (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 (-> arg0 pos w)) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self root trans y) (+ 10240.0 (-> self root trans y))) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (-> arg0 pos w)) (set! (-> self boost) (-> arg0 boost)) (set! (-> self id) arg1) (set! (-> self persistent) arg2) @@ -1164,7 +1150,7 @@ (set! (-> self sub-state) (the-as uint 0)) (set! (-> self count) 0) (set! (-> self max-count) -1) - (race-start (-> self info index) (the-as symbol self) #f) + (race-start (-> self info index) self #f) (set! (-> self begin-pos quad) (-> (new 'static 'vector :x -326041.6 :y 36454.4 :z 5391565.0 :w 266240.0) quad) ) @@ -1261,7 +1247,7 @@ (lambda :behavior task-manager () (set! (-> self state-time) (current-time)) - (while (not (logtest? (-> *race-state* flags) 1)) + (while (not (logtest? (-> *race-state* flags) (race-flags begun))) (let ((f0-0 (-> self begin-pos w))) (if (< (* f0-0 f0-0) (vector-vector-distance-squared (-> self begin-pos) (target-pos 0))) (go-virtual fail) @@ -1418,7 +1404,7 @@ ) ) ) - (race-start (-> self info index) (the-as symbol self) #f) + (race-start (-> self info index) self #f) (set! (-> self begin-pos quad) (-> (new 'static 'vector :x 2519040.0 :y 40960.0 :z 6545408.0 :w 184320.0) quad) ) @@ -1462,7 +1448,7 @@ (lambda :behavior task-manager () (set! (-> self state-time) (current-time)) - (while (not (logtest? (-> *race-state* flags) 1)) + (while (not (logtest? (-> *race-state* flags) (race-flags begun))) (let ((f0-0 (-> self begin-pos w))) (if (< (* f0-0 f0-0) (vector-vector-distance-squared (-> self begin-pos) (target-pos 0))) (go-virtual fail) diff --git a/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc b/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc index 82d65c2cec..c5594592a3 100644 --- a/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc +++ b/goal_src/jak2/levels/city/side_missions/ctywide-bbush.gc @@ -420,7 +420,7 @@ (set! (-> gp-1 w) 4096.0) (when (focus-test? v1-17 pilot) (let ((a1-8 (handle->process (-> v1-17 pilot vehicle)))) - (set! (-> gp-1 quad) (-> (the-as process-focusable a1-8) root-override root-prim prim-core world-sphere quad)) + (set! (-> gp-1 quad) (-> (the-as process-focusable a1-8) root root-prim prim-core world-sphere quad)) ) ) (when (>= (ray-flat-cyl-intersect diff --git a/goal_src/jak2/levels/city/slums/kor/hal3-course.gc b/goal_src/jak2/levels/city/slums/kor/hal3-course.gc index 65e1ab6914..82aee30f29 100644 --- a/goal_src/jak2/levels/city/slums/kor/hal3-course.gc +++ b/goal_src/jak2/levels/city/slums/kor/hal3-course.gc @@ -177,7 +177,7 @@ ((not (logtest? (-> arg1 waypoint-bits) 1)) ;; (set! s3-0 (and s4-0 (and s5-0 s3-0))) (when (and s4-0 (and s5-0 s3-0)) - (let* ((v1-15 (-> *game-info* sub-task-list 4)) + (let* ((v1-15 (-> *game-info* sub-task-list (game-task-node city-help-kid-introduction))) (v1-18 (handle->process (if (-> v1-15 info) (-> v1-15 info manager) (the-as handle #f) @@ -271,7 +271,7 @@ (lambda ((arg0 object) (arg1 hal-help-kid)) (when *target* (let* ((s5-0 (target-pos 0)) - (s4-0 (-> arg1 root-override2 trans)) + (s4-0 (-> arg1 root trans)) (f30-0 (vector-vector-xz-distance s5-0 s4-0)) (f28-0 (- (-> s5-0 z) (-> s4-0 z))) (v1-4 (get-current-task-event (-> arg1 task))) @@ -329,7 +329,7 @@ :skip-to -1 :on-set (lambda ((arg0 hal-help-kid)) (with-pp - (set-setting! 'sound-mode #f 0 1) + (set-setting! 'sound-mode #f 0.0 1) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-1 from) (process->ppointer pp)) (set! (-> a1-1 num-params) 2) @@ -389,7 +389,7 @@ (function halt-wait-spot hal symbol) (lambda ((arg0 object) (arg1 hal-help-kid)) (cond - ((and (logtest? (-> arg1 bot-task-bits) 1) (zero? (logand (-> arg1 bot-flags) (bot-flags bf09)))) + ((and (logtest? (-> arg1 bot-task-bits) 1) (not (logtest? (-> arg1 bot-flags) (bot-flags bf09)))) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 7 #f) (ai-task-control-method-10 (-> arg1 ai-ctrl) arg1) @@ -399,7 +399,7 @@ (let ((v1-16 *target*)) (when v1-16 (cond - ((logtest? (focus-status dark) (-> v1-16 focus-status)) + ((focus-test? v1-16 dark) (if (and (not (logtest? (-> arg1 bot-task-bits) 4)) (send-event *target* 'end-mode)) (logior! (-> arg1 bot-task-bits) 4) ) @@ -448,9 +448,7 @@ ) ) ) - (when (and (not (logtest? (-> arg0 waypoint-bits) 2)) - (>= (- (-> pp clock frame-counter) (-> arg0 waypoint-time0)) (seconds 3)) - ) + (when (and (not (logtest? (-> arg0 waypoint-bits) 2)) (>= (- (current-time) (-> arg0 waypoint-time0)) (seconds 3))) (logior! (-> arg0 waypoint-bits) 2) (let ((s5-0 (new 'stack-no-clear 'transport-params))) (set-vector! (-> s5-0 spawn-pos) 2689966.0 65208.32 -481075.2 1.0) @@ -466,7 +464,7 @@ ) (hal-help-kid-method-227 arg0) (when (and (not (logtest? (-> arg0 waypoint-bits) 1)) - (>= (- (-> pp clock frame-counter) (-> arg0 waypoint-time0)) (seconds 0.2)) + (>= (- (current-time) (-> arg0 waypoint-time0)) (seconds 0.2)) ) (logior! (-> arg0 waypoint-bits) 1) (let ((a1-7 (new 'stack-no-clear 'event-message-block))) @@ -626,18 +624,16 @@ (the-as (function halt-wait-spot hal symbol) (lambda ((arg0 object) (arg1 hal-help-kid)) - (with-pp - (if (and *target* (zero? (logand (-> arg1 bot-task-bits) 8))) - (set! (-> arg1 waypoint-time0) (-> pp clock frame-counter)) - ) - (let ((v1-7 (get-current-task-event (-> arg1 task)))) - (when (and (= (-> v1-7 action) (game-task-action say)) (scene-play arg1 (the-as string (-> v1-7 scene)) #f)) - (bot-method-196 arg1) - (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) - (go-to-waypoint! arg1 9 #f) - (ai-task-control-method-10 (-> arg1 ai-ctrl) arg1) - #t - ) + (if (and *target* (not (logtest? (-> arg1 bot-task-bits) 8))) + (set! (-> arg1 waypoint-time0) (current-time)) + ) + (let ((v1-7 (get-current-task-event (-> arg1 task)))) + (when (and (= (-> v1-7 action) (game-task-action say)) (scene-play arg1 (the-as string (-> v1-7 scene)) #f)) + (bot-method-196 arg1) + (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) + (go-to-waypoint! arg1 9 #f) + (ai-task-control-method-10 (-> arg1 ai-ctrl) arg1) + #t ) ) ) diff --git a/goal_src/jak2/levels/city/slums/kor/kid-states.gc b/goal_src/jak2/levels/city/slums/kor/kid-states.gc index 19cca5c234..4df7be0655 100644 --- a/goal_src/jak2/levels/city/slums/kor/kid-states.gc +++ b/goal_src/jak2/levels/city/slums/kor/kid-states.gc @@ -24,7 +24,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -209,11 +209,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -262,7 +262,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -333,7 +333,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -405,7 +405,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -543,7 +543,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (if (logtest? (bot-flags bf20) (-> self bot-flags)) diff --git a/goal_src/jak2/levels/city/slums/kor/kid.gc b/goal_src/jak2/levels/city/slums/kor/kid.gc index 1bfe3db6fa..f15a6e6764 100644 --- a/goal_src/jak2/levels/city/slums/kor/kid.gc +++ b/goal_src/jak2/levels/city/slums/kor/kid.gc @@ -167,7 +167,7 @@ :walk-travel-speed (meters 1.5) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 0.85) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -208,9 +208,9 @@ (set! (-> obj arrestor-handle) (process->handle (the-as process v1-18))) (set! (-> obj arrest-attempt-time) (current-time)) (let ((a1-8 (new 'stack-no-clear 'vector))) - (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root-override2 trans)) + (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root trans)) (set! (-> a1-8 y) 0.0) - (forward-up->quaternion (-> obj root-override2 quat) a1-8 *up-vector*) + (forward-up->quaternion (-> obj root quat) a1-8 *up-vector*) ) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -428,7 +428,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -445,7 +445,7 @@ (set! (-> obj notice-enemy-dist) 122880.0) (set! (-> obj travel-anim-interp) 0.0) (set! (-> obj focus-info max-los-dist) 0.0) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) (set! (-> obj spot-color) (the-as uint #x60004f8f)) (set! (-> obj arrestor-handle) (the-as handle #f)) 0 @@ -536,7 +536,7 @@ (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 22528.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 8.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) @@ -588,7 +588,7 @@ (defmethod enemy-method-78 kid ((obj kid) (arg0 (pointer float))) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) diff --git a/goal_src/jak2/levels/city/slums/kor/kid3-course.gc b/goal_src/jak2/levels/city/slums/kor/kid3-course.gc index 086034dffa..bcb66b0025 100644 --- a/goal_src/jak2/levels/city/slums/kor/kid3-course.gc +++ b/goal_src/jak2/levels/city/slums/kor/kid3-course.gc @@ -35,12 +35,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) kidt-wait-spot arg0))) @@ -80,9 +80,9 @@ :waypoint-id 2 :skip-to -1 :on-set (lambda ((arg0 kid)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) kidt-wait-spot arg0))) @@ -94,10 +94,10 @@ (function kidt-wait-spot kid symbol) (lambda ((arg0 object) (arg1 kid)) (when (>= (-> arg1 waypoint-request) 6) - (set! (-> arg1 root-override2 trans quad) (-> arg1 course spots 1 center quad)) - (set! (-> arg1 root-override2 trans w) 1.0) + (set! (-> arg1 root trans quad) (-> arg1 course spots 1 center quad)) + (set! (-> arg1 root trans w) 1.0) (quaternion-vector-angle! - (-> arg1 root-override2 quat) + (-> arg1 root quat) *up-vector* (* 182.04445 (* 0.00024414062 (-> arg1 course spots 1 center w))) ) diff --git a/goal_src/jak2/levels/city/slums/kor/kor-states.gc b/goal_src/jak2/levels/city/slums/kor/kor-states.gc index 1feaa26e92..817ba3f18c 100644 --- a/goal_src/jak2/levels/city/slums/kor/kor-states.gc +++ b/goal_src/jak2/levels/city/slums/kor/kor-states.gc @@ -22,7 +22,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -98,7 +98,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -218,11 +218,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -271,7 +271,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -342,7 +342,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -414,7 +414,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -552,7 +552,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (if (logtest? (bot-flags bf20) (-> self bot-flags)) diff --git a/goal_src/jak2/levels/city/slums/kor/kor.gc b/goal_src/jak2/levels/city/slums/kor/kor.gc index a42d025a10..49472dbbd6 100644 --- a/goal_src/jak2/levels/city/slums/kor/kor.gc +++ b/goal_src/jak2/levels/city/slums/kor/kor.gc @@ -176,7 +176,7 @@ :walk-travel-speed (meters 1.5) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -217,9 +217,9 @@ (set! (-> obj arrestor-handle) (process->handle (the-as process v1-18))) (set! (-> obj arrest-attempt-time) (current-time)) (let ((a1-8 (new 'stack-no-clear 'vector))) - (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root-override2 trans)) + (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root trans)) (set! (-> a1-8 y) 0.0) - (forward-up->quaternion (-> obj root-override2 quat) a1-8 *up-vector*) + (forward-up->quaternion (-> obj root quat) a1-8 *up-vector*) ) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -432,7 +432,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 2)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -449,7 +449,7 @@ (set! (-> obj notice-enemy-dist) 122880.0) (set! (-> obj travel-anim-interp) 0.0) (set! (-> obj focus-info max-los-dist) 0.0) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) (set! (-> obj spot-color) (the-as uint #x508f2f00)) (set! (-> obj arrestor-handle) (the-as handle #f)) 0 @@ -540,7 +540,7 @@ (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f0-7 (deg- f0-5 (-> obj travel-prev-ry))) (f0-10 (fmin 20889.6 (* 0.35342914 (-> pp clock frames-per-second) (fabs f0-7)))) (f0-13 (/ (* 24.0 (fmax f30-0 f0-10)) (* 15.0 f28-1))) @@ -589,7 +589,7 @@ (defmethod enemy-method-78 kor ((obj kor) (arg0 (pointer float))) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) diff --git a/goal_src/jak2/levels/city/slums/kor/kor3-course.gc b/goal_src/jak2/levels/city/slums/kor/kor3-course.gc index 38ab1beef9..5f6b5f19c9 100644 --- a/goal_src/jak2/levels/city/slums/kor/kor3-course.gc +++ b/goal_src/jak2/levels/city/slums/kor/kor3-course.gc @@ -35,12 +35,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) kort-wait-spot arg0))) @@ -80,9 +80,9 @@ :waypoint-id 2 :skip-to -1 :on-set (lambda ((arg0 kor)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) kort-wait-spot arg0))) @@ -94,10 +94,10 @@ (function kort-wait-spot kor symbol) (lambda ((arg0 object) (arg1 kor)) (when (>= (-> arg1 waypoint-request) 6) - (set! (-> arg1 root-override2 trans quad) (-> arg1 course spots 1 center quad)) - (set! (-> arg1 root-override2 trans w) 1.0) + (set! (-> arg1 root trans quad) (-> arg1 course spots 1 center quad)) + (set! (-> arg1 root trans w) 1.0) (quaternion-vector-angle! - (-> arg1 root-override2 quat) + (-> arg1 root quat) *up-vector* (* 182.04445 (* 0.00024414062 (-> arg1 course spots 1 center w))) ) diff --git a/goal_src/jak2/levels/city/slums/neon-baron-part.gc b/goal_src/jak2/levels/city/slums/neon-baron-part.gc index 1ff43d8f4b..92167e3a14 100644 --- a/goal_src/jak2/levels/city/slums/neon-baron-part.gc +++ b/goal_src/jak2/levels/city/slums/neon-baron-part.gc @@ -3539,7 +3539,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/common/ai/bot-states.gc b/goal_src/jak2/levels/common/ai/bot-states.gc index aa523cae4d..33ed80813f 100644 --- a/goal_src/jak2/levels/common/ai/bot-states.gc +++ b/goal_src/jak2/levels/common/ai/bot-states.gc @@ -33,13 +33,10 @@ (local-vars (v1-37 enemy-flag) (v1-45 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -140,11 +137,11 @@ (t9-0) ) ) - (kill-nearby-enemies (-> self root-override2 trans) 61440.0) + (kill-nearby-enemies (-> self root trans) 61440.0) (stop-speech self (the-as uint 0) #f) (logclear! (-> self bot-flags) (bot-flags bf06 bf11)) (set! (-> self delay-too-far-check) -1) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (fail-mission! self) (none) ) @@ -165,8 +162,8 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (-> self draw art-group data (if (enemy-method-133 self) - (-> self enemy-info-override die-falling-anim) - (-> self enemy-info-override die-anim) + (-> self enemy-info die-falling-anim) + (-> self enemy-info die-anim) ) ) ) @@ -228,7 +225,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info idle-anim))) ) (until #f (ja-no-eval :group! gp-0 @@ -260,7 +257,7 @@ :event (the-as (function process int symbol event-message-block object :behavior bot) enemy-event-handler) :enter (behavior () (logior! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -274,9 +271,9 @@ (local-vars (v0-0 enemy-flag)) (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((v1-6 (-> self enemy-flags))) (if (logtest? (enemy-flag enable-on-hostile) v1-6) diff --git a/goal_src/jak2/levels/common/ai/bot.gc b/goal_src/jak2/levels/common/ai/bot.gc index 243a9990d2..1664c48eb9 100644 --- a/goal_src/jak2/levels/common/ai/bot.gc +++ b/goal_src/jak2/levels/common/ai/bot.gc @@ -72,7 +72,7 @@ (set! spot (-> obj spot)) ) (if (not bot-trans) - (set! bot-trans (-> obj root-override2 trans)) + (set! bot-trans (-> obj root trans)) ) (let ((f0-0 (vector-vector-xz-distance (-> spot center) bot-trans))) (if arg3 @@ -92,7 +92,7 @@ "Choose the closest [[bot-spot]] that is not blocked by the player." (let ((spot-idx 0)) (let ((f30-0 -1.0) - (bot-trans (-> obj root-override2 trans)) + (bot-trans (-> obj root trans)) ) (countdown (i num-spots) (let ((spot (-> obj course spots (-> (the-as (pointer uint8) (&+ spot-indices i)))))) @@ -140,12 +140,12 @@ (let ((s5-0 (new 'stack-no-clear 'vector)) (s3-0 (-> *target* gun fire-dir-out)) ) - (vector-! s5-0 (-> obj root-override2 trans) (target-pos 0)) + (vector-! s5-0 (-> obj root trans) (target-pos 0)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) - (if (or (< 28672.0 (vector-vector-xz-distance (-> obj root-override2 trans) (target-pos 0))) + (if (or (< 28672.0 (vector-vector-xz-distance (-> obj root trans) (target-pos 0))) (< (vector-dot s3-0 s5-0) (cos 3640.889)) ) (set! gp-0 #t) @@ -173,7 +173,7 @@ (let ((s5-0 (new 'stack-no-clear 'connection-pers)) (s4-0 544) ) - (set! (-> (the-as sphere (-> s5-0 param)) quad) (-> obj root-override2 trans quad)) + (set! (-> (the-as sphere (-> s5-0 param)) quad) (-> obj root trans quad)) (set! (-> s5-0 param 3) (-> obj notice-enemy-dist)) (set! (-> s5-0 next) #f) (set! (-> s5-0 key) 409600000.0) @@ -576,7 +576,7 @@ (set! (-> focus rating) 409600000.0) (set! (-> focus aware) (enemy-aware enemy-aware-0)) (when (< 0.0 enemy-dist) - (set! (-> sphere quad) (-> obj root-override2 trans quad)) + (set! (-> sphere quad) (-> obj root trans quad)) (set! (-> sphere r) (-> obj notice-enemy-dist)) (set! *actor-list-length* 0) (if (logtest? (the-as int coll-spec) (collide-spec hit-by-others-list)) @@ -693,7 +693,7 @@ ;; WARN: Return type mismatch enemy vs none. (defmethod set-next-focus! bot ((obj bot) (enemy enemy) (arg2 enemy-best-focus)) (let ((enemy-dist (new 'stack-no-clear 'vector))) - (vector-! enemy-dist (-> enemy root-override2 trans) (-> obj root-override2 trans)) + (vector-! enemy-dist (-> enemy root trans) (-> obj root trans)) (let ((rating (vector-length enemy-dist))) (when (and (>= (-> obj notice-enemy-dist) rating) (< rating (-> arg2 rating)) (>= 24576.0 (fabs (-> enemy-dist y)))) (set! (-> arg2 rating) rating) @@ -958,7 +958,7 @@ (set! (-> a1-1 param 1) (the-as uint v1-6)) ) (when (send-event-function arg0 a1-1) - (set! (-> obj root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> obj root penetrated-by) (the-as penetrate -1)) (enemy-method-49 obj) #t ) @@ -972,9 +972,9 @@ (set! (-> a1-2 param 0) (the-as uint arg1)) (let ((v1-14 (new 'static 'attack-info :mask (attack-info-mask mode shove-back shove-up id)))) (set! (-> v1-14 id) arg2) - (set! (-> v1-14 shove-back) (-> obj enemy-info-override attack-shove-back)) - (set! (-> v1-14 shove-up) (-> obj enemy-info-override attack-shove-up)) - (set! (-> v1-14 mode) (-> obj enemy-info-override attack-mode)) + (set! (-> v1-14 shove-back) (-> obj enemy-info attack-shove-back)) + (set! (-> v1-14 shove-up) (-> obj enemy-info attack-shove-up)) + (set! (-> v1-14 mode) (-> obj enemy-info attack-mode)) (set! (-> a1-2 param 1) (the-as uint v1-14)) ) (when (send-event-function arg0 a1-2) @@ -1014,14 +1014,14 @@ ) ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry touch-entry) - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry touch-entry) - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -1046,7 +1046,7 @@ (defun bot-simple-check-too-far ((arg0 bot)) (let ((s5-0 0)) - (let ((f0-0 (vector-vector-xz-distance (-> *target* control trans) (-> arg0 root-override2 trans))) + (let ((f0-0 (vector-vector-xz-distance (-> *target* control trans) (-> arg0 root trans))) (f1-0 (-> arg0 too-far-warn-dist)) ) (when (>= f0-0 f1-0) @@ -1153,8 +1153,8 @@ If the player is too far, play a warning speech." - looks at the target and handles attacking @TODO Not extremely well understood yet" (set! (-> obj travel-prev-ry) (-> obj travel-prev-ry1)) - (set! (-> obj travel-prev-ry1) (quaternion-y-angle (-> obj root-override2 quat))) - (let ((f0-4 (/ (the float (-> obj hit-points)) (the float (-> obj enemy-info-override default-hit-points))))) + (set! (-> obj travel-prev-ry1) (quaternion-y-angle (-> obj root quat))) + (let ((f0-4 (/ (the float (-> obj hit-points)) (the float (-> obj enemy-info default-hit-points))))) (if (nonzero? (-> obj fated-time)) (set! f0-4 0.0) ) @@ -1176,7 +1176,7 @@ If the player is too far, play a warning speech." (set! (-> a1-4 options) (overlaps-others-options)) (set! (-> a1-4 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-4 tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override2) a1-4) + (find-overlapping-shapes (-> obj root) a1-4) ) ) ) @@ -1476,12 +1476,12 @@ If the player is too far, play a warning speech." (set! (-> v1-13 sphere-mask) (the-as uint 78)) ) 0 - (logclear! (-> obj root-override2 nav-flags) (nav-flags has-extra-sphere)) + (logclear! (-> obj root nav-flags) (nav-flags has-extra-sphere)) (let ((v1-17 (-> obj nav))) (set! (-> v1-17 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (let ((a2-3 (res-lump-value (-> obj entity) 'task-actor uint128 :time -1000000000.0))) (if (nonzero? a2-3) (set! (-> obj task) (new 'process 'game-task-control (the-as game-task-actor a2-3))) @@ -1531,11 +1531,11 @@ If the player is too far, play a warning speech." (when focus-proc (set! (-> focus pos quad) (-> (get-trans (the-as process-focusable focus-proc) 0) quad)) (set! (-> focus bullseye quad) (-> (get-trans (the-as process-focusable focus-proc) 3) quad)) - (vector-z-quaternion! (-> focus my-facing-xz-dir) (-> obj root-override2 quat)) + (vector-z-quaternion! (-> focus my-facing-xz-dir) (-> obj root quat)) (set! (-> focus my-facing-xz-dir y) 0.0) (vector-normalize! (-> focus my-facing-xz-dir) 1.0) (set! (-> focus my-facing-ry) (atan (-> focus my-facing-xz-dir x) (-> focus my-facing-xz-dir z))) - (vector-! (-> focus bullseye-xz-dir) (-> focus bullseye) (-> obj root-override2 trans)) + (vector-! (-> focus bullseye-xz-dir) (-> focus bullseye) (-> obj root trans)) (let ((v1-11 (-> focus bullseye-xz-dir))) (set! (-> focus bullseye-xz-dist) (sqrtf (+ (* (-> v1-11 x) (-> v1-11 x)) (* (-> v1-11 z) (-> v1-11 z))))) ) @@ -1547,7 +1547,7 @@ If the player is too far, play a warning speech." ) (when (and arg0 focus-proc (zero? (-> focus los))) (let ((cquery (new 'stack-no-clear 'collide-query))) - (set! (-> cquery start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> cquery start-pos quad) (-> obj root trans quad)) (set! (-> cquery start-pos y) (+ 8192.0 (-> cquery start-pos y))) (vector-! (-> cquery move-dist) (-> focus bullseye) (-> cquery start-pos)) (let ((f0-19 (fmax 1.0 (+ -1638.4 (vector-length (-> cquery move-dist)))))) @@ -1559,7 +1559,7 @@ If the player is too far, play a warning speech." (set! (-> v1-23 collide-with) (collide-spec backgnd obstacle hit-by-others-list pusher)) (set! (-> v1-23 ignore-process0) obj) (set! (-> v1-23 ignore-process1) #f) - (set! (-> v1-23 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-23 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-23 action-mask) (collide-action solid)) ) (cond @@ -1612,7 +1612,7 @@ If the player is too far, play a warning speech." (vf7 :class vf) ) (init-vf0-vector) - (let ((bot-root (-> obj root-override2))) + (let ((bot-root (-> obj root))) (quaternion-copy! (-> turn-info src-quat) (-> bot-root quat)) (vector-z-quaternion! (-> turn-info facing-dir) (-> bot-root quat)) (set! (-> turn-info facing-ry) (atan (-> turn-info facing-dir x) (-> turn-info facing-dir z))) @@ -1652,7 +1652,7 @@ If the player is too far, play a warning speech." (let ((s5-0 #f)) (when *target* (let ((target-trans (-> *target* control trans)) - (bot-root (-> obj root-override2)) + (bot-root (-> obj root)) (f0-0 14336.0) ) (when (>= (* f0-0 f0-0) (vector-vector-distance-squared (-> bot-root trans) target-trans)) @@ -1698,11 +1698,11 @@ If the player is too far, play a warning speech." (s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> v1-0 quad) (-> obj root-override2 trans quad)) + (set! (-> v1-0 quad) (-> obj root trans quad)) (set! (-> v1-0 y) (+ 9216.0 (-> v1-0 y))) (vector-! s1-0 arg0 v1-0) (vector-normalize! s1-0 1.0) - (vector-z-quaternion! s2-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s2-0 (-> obj root quat)) (rot-zxy-from-vector! s4-0 s2-0) (rot-zxy-from-vector! s3-0 s1-0) (set! (-> s5-0 x) (fmax -3640.889 (fmin 3640.889 (deg- (-> s3-0 x) (-> s4-0 x))))) @@ -1812,7 +1812,7 @@ If the player is too far, play a warning speech." (let ((s4-0 (-> obj move-dest))) (set-cam-height! obj s4-0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 s4-0 (-> obj root-override2 trans)) + (vector-! s5-0 s4-0 (-> obj root trans)) (set-setting! 'string-max-height 'abs (-> s5-0 y) 0) (set-setting! 'string-min-height 'abs (-> s5-0 y) 0) (let ((f30-0 (sqrtf (+ (* (-> s5-0 x) (-> s5-0 x)) (* (-> s5-0 z) (-> s5-0 z)))))) diff --git a/goal_src/jak2/levels/common/airlock.gc b/goal_src/jak2/levels/common/airlock.gc index ac74bd6095..301ce2dc70 100644 --- a/goal_src/jak2/levels/common/airlock.gc +++ b/goal_src/jak2/levels/common/airlock.gc @@ -10,8 +10,7 @@ ;; DECOMP BEGINS (deftype com-airlock (process-drawable) - ((child-override basic :offset 24) - (root-override collide-shape :offset 128) + ((root collide-shape :override) (level-name pair :offset-assert 200) (open-test pair :offset-assert 204) (were-behind? symbol :offset-assert 208) @@ -137,15 +136,15 @@ ) (defmethod check-crossing-distance com-airlock ((obj com-airlock) (arg0 vector) (arg1 symbol)) - (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) - (s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root-override trans))) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root trans))) ) (set! (-> s4-1 y) 0.0) (let ((f30-0 (vector-dot s4-1 s5-0))) (cond ((not arg1) ) - ((or (< (vector-vector-xz-distance (-> obj root-override trans) arg0) 40960.0) + ((or (< (vector-vector-xz-distance (-> obj root trans) arg0) 40960.0) (< 0.7 (fabs (vector-dot s5-0 (vector-normalize! s4-1 1.0)))) ) (when (and (< f30-0 0.0) (< 0.0 (-> obj last-distance))) @@ -178,9 +177,9 @@ ) (the-as symbol - (and (or s5-0 (< (vector-vector-xz-distance (-> obj root-override trans) tgt) (-> obj active-distance))) - (or s5-0 (not (-> obj y-height)) (and (>= (-> tgt y) (- (-> obj root-override trans y) (-> obj y-height y))) - (< (-> tgt y) (+ (-> obj root-override trans y) (-> obj y-height x))) + (and (or s5-0 (< (vector-vector-xz-distance (-> obj root trans) tgt) (-> obj active-distance))) + (or s5-0 (not (-> obj y-height)) (and (>= (-> tgt y) (- (-> obj root trans y) (-> obj y-height y))) + (< (-> tgt y) (+ (-> obj root trans y) (-> obj y-height x))) ) ) (begin @@ -208,7 +207,7 @@ (and (or (not *target*) (not (logtest? (-> *target* focus-status) (focus-status in-head)))) (or (< (* f30-0 f0-8) 0.0) (and (< (fabs f0-8) 4096.0) - (< (vector-vector-xz-distance (camera-pos) (-> obj root-override trans)) (-> obj door-radius)) + (< (vector-vector-xz-distance (camera-pos) (-> obj root trans)) (-> obj door-radius)) ) ) ) @@ -497,7 +496,7 @@ (rotate-gear! self 65536.0) (when (and (-> self were-behind?) (< 0.4 (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) (-> (math-camera-matrix) vector 2) ) ) @@ -835,7 +834,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (init-airlock! obj) (initialize-skeleton @@ -906,7 +905,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -990,7 +989,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1058,7 +1057,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1115,7 +1114,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1193,7 +1192,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1262,7 +1261,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1331,7 +1330,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1397,7 +1396,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/common/battle.gc b/goal_src/jak2/levels/common/battle.gc index 7a4eaafdb0..3e2ee24315 100644 --- a/goal_src/jak2/levels/common/battle.gc +++ b/goal_src/jak2/levels/common/battle.gc @@ -271,7 +271,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x6 + :id 6 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -286,7 +286,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x7 + :id 7 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -301,7 +301,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x8 + :id 8 :notice-spec #x2 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -316,7 +316,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x9 + :id 9 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -331,7 +331,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xa + :id 10 :notice-spec #x2 :notice-distance 65536.0 :dont-spawn-initial-until-notice? #t @@ -346,7 +346,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xb + :id 11 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -361,7 +361,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xc + :id 12 :notice-spec #x2 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -376,7 +376,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xd + :id 13 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -391,7 +391,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xe + :id 14 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -406,7 +406,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xf + :id 15 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -421,7 +421,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x10 + :id 16 :notice-spec #x2 :notice-distance 204800.0 :dont-spawn-initial-until-notice? #f @@ -436,7 +436,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x11 + :id 17 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -451,7 +451,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x12 + :id 18 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -466,7 +466,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x13 + :id 19 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -481,7 +481,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x14 + :id 20 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -496,7 +496,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x15 + :id 21 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -511,7 +511,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x16 + :id 22 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -526,7 +526,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x17 + :id 23 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -541,7 +541,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x18 + :id 24 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -556,7 +556,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x19 + :id 25 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -571,7 +571,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1a + :id 26 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -586,7 +586,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1b + :id 27 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -600,7 +600,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1c + :id 28 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -615,7 +615,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1d + :id 29 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -630,7 +630,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1e + :id 30 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -645,7 +645,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1f + :id 31 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -662,7 +662,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x20 + :id 32 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -678,7 +678,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x21 + :id 33 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -694,7 +694,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x22 + :id 34 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -710,7 +710,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x23 + :id 35 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -726,7 +726,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x24 + :id 36 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 diff --git a/goal_src/jak2/levels/common/cty-guard-turret-button.gc b/goal_src/jak2/levels/common/cty-guard-turret-button.gc index da2e954c7f..7eda5a9dac 100644 --- a/goal_src/jak2/levels/common/cty-guard-turret-button.gc +++ b/goal_src/jak2/levels/common/cty-guard-turret-button.gc @@ -95,7 +95,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) diff --git a/goal_src/jak2/levels/common/enemy/amphibian/amphibian.gc b/goal_src/jak2/levels/common/enemy/amphibian/amphibian.gc index afbf5d2a09..b6251f7dd5 100644 --- a/goal_src/jak2/levels/common/enemy/amphibian/amphibian.gc +++ b/goal_src/jak2/levels/common/enemy/amphibian/amphibian.gc @@ -244,7 +244,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 4) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -391,13 +391,11 @@ ((method-of-type nav-enemy enemy-method-51) obj) ) (else - (set! f0-1 (quaternion-y-angle (-> obj root-override2 quat))) + (set! f0-1 (quaternion-y-angle (-> obj root quat))) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (let ((v1-12 (get-trans (the-as process-focusable a0-5) 0))) - (set! f0-1 - (atan (- (-> v1-12 x) (-> obj root-override2 trans x)) (- (-> v1-12 z) (-> obj root-override2 trans z))) - ) + (set! f0-1 (atan (- (-> v1-12 x) (-> obj root trans x)) (- (-> v1-12 z) (-> obj root trans z)))) ) ) ) @@ -565,7 +563,7 @@ (else (when (focus-test? obj touch-water) (let ((s3-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> obj root-override2) s3-0 (collide-action solid semi-solid)) + (water-info-init! (-> obj root) s3-0 (collide-action solid semi-solid)) (let ((v1-12 #f)) (cond ((not (logtest? (water-flags touch-water) (-> s3-0 flags))) @@ -575,7 +573,7 @@ (logclear! (-> obj focus-status) (focus-status touch-water under-water)) ) ((focus-test? obj under-water) - (let* ((a0-18 (-> obj root-override2 root-prim prim-core)) + (let* ((a0-18 (-> obj root root-prim prim-core)) (f0-1 (+ (-> a0-18 world-sphere y) (-> a0-18 world-sphere w))) ) (if (< (-> s3-0 trans y) f0-1) @@ -587,7 +585,7 @@ (when v1-12 (logclear! (-> obj focus-status) (focus-status under-water)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s2-0 quad) (-> obj root trans quad)) (when (logtest? (water-flags touch-water) (-> s3-0 flags)) (set! (-> s2-0 y) (-> s3-0 trans y)) (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) @@ -646,7 +644,7 @@ (s4-1 (and v1-35 (= v1-35 (-> obj draw art-group data 36)))) ) (cond - ((and (not s4-1) (< (-> obj root-override2 transv y) 0.0)) + ((and (not s4-1) (< (-> obj root transv y) 0.0)) (ja-channel-push! 1 (seconds 0.1)) (let ((a0-37 (-> obj skel root-channel 0))) (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> obj draw art-group data 36))) @@ -790,7 +788,7 @@ (set! (-> v1-11 vector quad) (-> s5-0 quad)) (set! (-> v1-11 shove-back) 16384.0) (set! (-> v1-11 shove-up) 12288.0) - (set! (-> v1-11 damage) (the float (-> obj enemy-info-override attack-damage))) + (set! (-> v1-11 damage) (the float (-> obj enemy-info attack-damage))) (set! (-> a1-4 param 1) (the-as uint v1-11)) ) (send-event-function (-> s4-1 cshape process) a1-4) @@ -810,9 +808,7 @@ ) (the-as symbol - (when (and (logtest? (-> (the-as process-focusable arg0) root-override root-prim prim-core collide-as) - (collide-spec jak bot) - ) + (when (and (logtest? (-> (the-as process-focusable arg0) root root-prim prim-core collide-as) (collide-spec jak bot)) (-> obj next-state) (let ((v1-8 (-> obj next-state name))) (or (= v1-8 'stare) (= v1-8 'hostile)) @@ -827,15 +823,15 @@ (defmethod go-stare amphibian ((obj amphibian)) (let ((s5-0 (-> obj focus aware))) (cond - ((or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + ((or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) ) - ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info-override use-circling)) + ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info use-circling)) (go (method-of-object obj circling)) ) - ((and (= s5-0 (enemy-aware enemy-aware-2)) (-> obj enemy-info-override use-pacing)) + ((and (= s5-0 (enemy-aware enemy-aware-2)) (-> obj enemy-info use-pacing)) (go (method-of-object obj pacing)) ) ((= s5-0 (enemy-aware unaware)) @@ -875,7 +871,7 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (set! (-> obj prev-ry) (-> obj prev-ry1)) - (set! (-> obj prev-ry1) (quaternion-y-angle (-> obj root-override2 quat))) + (set! (-> obj prev-ry1) (quaternion-y-angle (-> obj root quat))) ((method-of-type nav-enemy track-target!) obj) (none) ) @@ -884,7 +880,7 @@ (with-pp (let* ((f30-0 (-> obj nav state speed)) (f26-0 0.0) - (f0-1 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-1 (quaternion-y-angle (-> obj root quat))) (f28-0 (deg- f0-1 (-> obj prev-ry))) ) (let ((s5-0 #f)) @@ -1042,13 +1038,10 @@ ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1061,13 +1054,10 @@ (ja :num! (seek!)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1084,7 +1074,7 @@ (set! (-> v1-83 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-83 enemy-flags)))) ) (set! (-> v1-83 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-83 enemy-flags)))) - (set! (-> v1-83 nav callback-info) (-> v1-83 enemy-info-override callback-info)) + (set! (-> v1-83 nav callback-info) (-> v1-83 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) @@ -1117,9 +1107,9 @@ gp-0 ) (else - (vector-z-quaternion! (-> self focus-pos) (-> self root-override2 quat)) + (vector-z-quaternion! (-> self focus-pos) (-> self root quat)) (vector-normalize! (-> self focus-pos) 24576.0) - (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root-override2 trans)) + (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root trans)) ) ) ) @@ -1132,13 +1122,13 @@ (a1-3 (-> self draw art-group data (-> *amphibian-global-info* notice-anim (get-rand-int self 2)))) (gp-1 (new 'stack-no-clear 'vector)) ) - (vector-! gp-1 (-> self focus-pos) (-> self root-override2 trans)) + (vector-! gp-1 (-> self focus-pos) (-> self root trans)) (ja-no-eval :group! a1-3 :num! (seek! (the float (+ (-> (the-as art-joint-anim a1-3) frames num-frames) -1)) f30-0) :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) gp-1 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-1 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1148,7 +1138,7 @@ ) 0 (let ((gp-2 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! gp-2 (-> self root-override2 quat)) + (vector-z-quaternion! gp-2 (-> self root quat)) (set! (-> self nav state heading quad) (-> gp-2 quad)) ) 0 @@ -1220,7 +1210,7 @@ gp-0 ) (else - (vector-z-quaternion! (-> self focus-pos) (-> self root-override2 quat)) + (vector-z-quaternion! (-> self focus-pos) (-> self root quat)) (let ((f30-0 (get-rand-float-range self 8192.0 16384.0))) (if (zero? (get-rand-int self 2)) (set! f30-0 (- f30-0)) @@ -1228,7 +1218,7 @@ (vector-rotate-around-y! (-> self focus-pos) (-> self focus-pos) f30-0) ) (vector-normalize! (-> self focus-pos) 12288.0) - (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root-override2 trans)) + (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root trans)) ) ) ) @@ -1257,9 +1247,9 @@ (gp-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set-vector! s5-0 (- (-> s4-0 z)) 0.0 (-> s4-0 x) 1.0) - (vector-! gp-0 (-> self focus-pos) (-> self root-override2 trans)) + (vector-! gp-0 (-> self focus-pos) (-> self root trans)) (vector-normalize! s4-0 1.0) (vector-normalize! gp-0 1.0) (cond @@ -1293,7 +1283,7 @@ (ja :num! (seek!)) ) (until (>= (ja-aframe-num 0) (ja-aframe 6.0 0)) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek!)) ) @@ -1355,12 +1345,12 @@ (let ((a0-2 (get-enemy-target self))) (when a0-2 (let* ((s5-0 (get-trans a0-2 0)) - (f30-0 (vector-vector-xz-distance s5-0 (-> self root-override2 trans))) + (f30-0 (vector-vector-xz-distance s5-0 (-> self root trans))) ) (when (>= 20480.0 f30-0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 s5-0 (-> self root-override2 trans)) - (let ((f28-0 (quaternion-y-angle (-> self root-override2 quat))) + (vector-! gp-0 s5-0 (-> self root trans)) + (let ((f28-0 (quaternion-y-angle (-> self root quat))) (f0-3 (atan (-> gp-0 x) (-> gp-0 z))) ) (if (>= 8192.0 (fabs (deg- f28-0 f0-3))) @@ -1466,7 +1456,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (let ((v1-10 self)) @@ -1614,9 +1604,9 @@ (gp-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set-vector! s5-0 (- (-> s4-0 z)) 0.0 (-> s4-0 x) 1.0) - (vector-! gp-0 (-> self focus-pos) (-> self root-override2 trans)) + (vector-! gp-0 (-> self focus-pos) (-> self root trans)) (vector-normalize! s4-0 1.0) (vector-normalize! gp-0 1.0) (cond @@ -1655,7 +1645,7 @@ ) ) (until (>= (ja-aframe-num 0) (ja-aframe 6.0 0)) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek!)) ) @@ -1844,7 +1834,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1871,8 +1861,8 @@ (set! (-> v1-8 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) - (set! (-> obj prev-ry) (quaternion-y-angle (-> obj root-override2 quat))) + (set-gravity-length (-> obj root dynam) 573440.0) + (set! (-> obj prev-ry) (quaternion-y-angle (-> obj root quat))) (set! (-> obj prev-ry1) (-> obj prev-ry)) 0 (none) diff --git a/goal_src/jak2/levels/common/enemy/baby_spider/tomb-baby-spider.gc b/goal_src/jak2/levels/common/enemy/baby_spider/tomb-baby-spider.gc index 170497cc4a..484a5eff16 100644 --- a/goal_src/jak2/levels/common/enemy/baby_spider/tomb-baby-spider.gc +++ b/goal_src/jak2/levels/common/enemy/baby_spider/tomb-baby-spider.gc @@ -152,7 +152,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 2) :frustration-distance (meters 6) :frustration-time (seconds 4) @@ -171,13 +171,10 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -198,13 +195,10 @@ ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -218,13 +212,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -242,19 +233,16 @@ (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-101 enemy-flags)))) ) (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-101 enemy-flags)))) - (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info-override callback-info)) + (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -301,12 +289,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self root-override2) - gp-0 - (* 1.8 (-> self nav max-rotation-rate)) - (seconds 0.02) - ) + (seek-to-point-toward-point! (-> self root) gp-0 (* 1.8 (-> self nav max-rotation-rate)) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -338,10 +321,10 @@ (nav-enemy-method-166 self) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-9 local-sphere w) 4915.2) ) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-14 *game-info*) (v0-2 (+ (-> v1-14 attack-id) 1)) @@ -352,7 +335,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 local-sphere w) 819.2) ) (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) @@ -372,11 +355,11 @@ ) :code (behavior () (let ((v1-0 (-> self nav))) - (set! (-> v1-0 target-speed) (* 2.8 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-0 target-speed) (* 2.8 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-2 (-> self nav))) - (set! (-> v1-2 acceleration) (* 2.4 (-> self enemy-info-override run-acceleration))) + (set! (-> v1-2 acceleration) (* 2.4 (-> self enemy-info run-acceleration))) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -441,8 +424,8 @@ (v1-30 (new 'stack-no-clear 'vector)) ) (set! (-> v1-30 quad) (-> a2-3 target-post quad)) - (let* ((s5-0 (t9-4 (vector-! a0-7 v1-30 (-> self root-override2 trans)) 1.0)) - (f30-0 (deg-diff (quaternion-y-angle (-> self root-override2 quat)) (vector-y-angle s5-0))) + (let* ((s5-0 (t9-4 (vector-! a0-7 v1-30 (-> self root trans)) 1.0)) + (f30-0 (deg-diff (quaternion-y-angle (-> self root quat)) (vector-y-angle s5-0))) ) (ja-no-eval :num! (loop!)) (cond @@ -472,7 +455,7 @@ (s5-1 (the int (* 300.0 (rand-vu-float-range 0.6 1.2)))) (f30-2 1.0) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop! f30-2) :frame-num 0.0 ) @@ -503,9 +486,7 @@ (let ((a0-1 (get-enemy-target self))) (when a0-1 (let ((a0-2 (get-trans a0-1 0))) - (if (and (< (vector-vector-distance a0-2 (-> self root-override2 trans)) 20480.0) - (enemy-method-96 self 1274.3112 #t) - ) + (if (and (< (vector-vector-distance a0-2 (-> self root trans)) 20480.0) (enemy-method-96 self 1274.3112 #t)) (go-virtual attack) ) ) @@ -516,7 +497,7 @@ ) (defmethod enemy-method-77 tomb-baby-spider ((obj tomb-baby-spider) (arg0 (pointer float))) - (let* ((a2-0 (the-as collide-shape-prim-group (-> obj root-override2 root-prim))) + (let* ((a2-0 (the-as collide-shape-prim-group (-> obj root root-prim))) (v1-2 (-> a2-0 child 3)) ) (dotimes (a3-0 3) @@ -627,7 +608,7 @@ ) ) ) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) #t ) ) @@ -640,7 +621,7 @@ (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) ) (when s4-1 - (let ((v1-50 (-> obj root-override2 root-prim))) + (let ((v1-50 (-> obj root root-prim))) (set! (-> (the-as collide-shape-prim-group v1-50) child 0 local-sphere w) 1638.4) (set! (-> (the-as collide-shape-prim-group v1-50) child 1 local-sphere w) 1638.4) (set! (-> (the-as collide-shape-prim-group v1-50) child 2 local-sphere w) 3276.8) @@ -681,10 +662,10 @@ (set! (-> a1-5 param 0) (the-as uint arg1)) (let ((v1-9 (new 'static 'attack-info :mask (attack-info-mask mode shove-back shove-up id damage knock)))) (set! (-> v1-9 id) arg2) - (set! (-> v1-9 shove-back) (* f0-0 (-> obj enemy-info-override attack-shove-back))) - (set! (-> v1-9 shove-up) (* f0-0 (-> obj enemy-info-override attack-shove-up))) - (set! (-> v1-9 mode) (-> obj enemy-info-override attack-mode)) - (set! (-> v1-9 damage) (the float (-> obj enemy-info-override attack-damage))) + (set! (-> v1-9 shove-back) (* f0-0 (-> obj enemy-info attack-shove-back))) + (set! (-> v1-9 shove-up) (* f0-0 (-> obj enemy-info attack-shove-up))) + (set! (-> v1-9 mode) (-> obj enemy-info attack-mode)) + (set! (-> v1-9 damage) (the float (-> obj enemy-info attack-damage))) (set! (-> v1-9 knock) (the-as uint 8)) (set! (-> a1-5 param 1) (the-as uint v1-9)) ) @@ -764,7 +745,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/common/enemy/bombots/bombbot.gc b/goal_src/jak2/levels/common/enemy/bombots/bombbot.gc index cf6970516d..106560de94 100644 --- a/goal_src/jak2/levels/common/enemy/bombots/bombbot.gc +++ b/goal_src/jak2/levels/common/enemy/bombots/bombbot.gc @@ -663,7 +663,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 16) :walk-turning-acceleration (meters 40) - :maximum-rotation-rate (degrees 60.0) + :maximum-rotation-rate (degrees 60) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -764,9 +764,9 @@ (defmethod bombbot-method-180 bombbot ((obj bombbot)) (let ((a1-0 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-0 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-0 sphere quad) (-> obj root trans quad)) (set! (-> a1-0 sphere r) 40960.0) - (set! (-> a1-0 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-0 velocity quad) (-> obj root transv quad)) (vector-reset! (-> a1-0 velocity)) (set! (-> a1-0 notify-radius) 122880.0) (set! (-> a1-0 danger-level) 1.0) @@ -820,7 +820,7 @@ (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'collide-query))) (let ((v1-0 (-> s5-0 bbox)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) (a1-0 (new 'stack-no-clear 'vector)) ) (set! (-> a1-0 x) 24576.0) @@ -830,7 +830,7 @@ (vector-! (the-as vector v1-0) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) - (a0-4 (-> obj root-override2 trans)) + (a0-4 (-> obj root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 24576.0) @@ -861,7 +861,7 @@ ) (cond ((>= f30-0 f28-0) - (vector-orient-by-quat! s3-0 (-> s1-0 pos-offset) (-> obj root-override2 quat)) + (vector-orient-by-quat! s3-0 (-> s1-0 pos-offset) (-> obj root quat)) (let ((f26-0 (- f30-0 f28-0))) (set! sv-880 s0-0) (set! sv-864 (new 'stack-no-clear 'vector)) @@ -921,7 +921,7 @@ (.svf (&-> a1-8 quad) vf6) ) ) - (vector+! s3-0 s3-0 (-> obj root-override2 trans)) + (vector+! s3-0 s3-0 (-> obj root trans)) (let ((a1-11 (-> s5-0 start-pos))) (let ((v1-45 s3-0)) (let ((a0-17 s2-0)) @@ -1130,8 +1130,8 @@ (let ((f0-64 (- (-> s3-0 y) (-> s0-4 y)))) (lerp-scale 1.0 0.0 f0-64 0.0 8192.0) ) - (- (-> s0-4 y) (-> obj root-override2 trans y)) - (vector-dot s2-0 (vector-! (new 'stack-no-clear 'vector) s0-4 (-> obj root-override2 trans))) + (- (-> s0-4 y) (-> obj root trans y)) + (vector-dot s2-0 (vector-! (new 'stack-no-clear 'vector) s0-4 (-> obj root trans))) ) ) ) @@ -1171,12 +1171,12 @@ ) ) ) - (vector-! (-> obj linear-speed) (-> obj root-override2 trans) (-> obj last-trans)) - (set! (-> obj last-trans quad) (-> obj root-override2 trans quad)) + (vector-! (-> obj linear-speed) (-> obj root trans) (-> obj last-trans)) + (set! (-> obj last-trans quad) (-> obj root trans quad)) (set! (-> obj y-angular-velocity) - (deg- (quaternion-y-angle (-> obj root-override2 quat)) (quaternion-y-angle (-> obj last-quat))) + (deg- (quaternion-y-angle (-> obj root quat)) (quaternion-y-angle (-> obj last-quat))) ) - (quaternion-copy! (-> obj last-quat) (-> obj root-override2 quat)) + (quaternion-copy! (-> obj last-quat) (-> obj root quat)) (set! (-> obj rigidbody state force-callback) (the-as (function object float none) (method-of-object obj bombbot-method-183)) ) @@ -1295,7 +1295,7 @@ (when v1-14 (let ((s5-1 (new 'stack-no-clear 'vector))) (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> s4-1 quad) (-> v1-14 root-override trans quad)) + (set! (-> s4-1 quad) (-> v1-14 root trans quad)) (let ((s3-1 (matrix->trans (-> obj node-list data 3 bone transform) (new 'stack-no-clear 'vector)))) (+! (-> s4-1 x) (* 4096.0 (rand-vu-float-range -20.0 20.0))) (+! (-> s4-1 y) (* 4096.0 (rand-vu-float-range -20.0 20.0))) @@ -1304,7 +1304,7 @@ ) ) (vector-normalize! s5-1 4096000.0) - (vector-inv-orient-by-quat! s5-1 s5-1 (-> obj root-override2 quat)) + (vector-inv-orient-by-quat! s5-1 s5-1 (-> obj root quat)) (let* ((s4-2 (-> obj rigidbody)) (v1-26 (-> obj rigidbody)) (a1-10 (new 'stack-no-clear 'vector)) @@ -1406,7 +1406,7 @@ s1-1 (not (logtest? (-> (the-as process-focusable s1-1) focus-status) (focus-status disable dead ignore grabbed))) ) - (let ((f0-0 (vector-vector-xz-distance (-> obj root-override2 trans) (-> s1-1 root trans)))) + (let ((f0-0 (vector-vector-xz-distance (-> obj root trans) (-> s1-1 root trans)))) (when (or (not gp-0) (< f0-0 f30-0)) (set! gp-0 s1-1) (set! f30-0 f0-0) @@ -1870,7 +1870,7 @@ ) (when (< (the-as time-frame (-> self next-target)) (current-time)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override2 trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 w) 122880.0) (bombbot-method-181 self a1-0) ) @@ -1879,7 +1879,7 @@ ) (let ((gp-0 (handle->process (-> self focus handle)))) (let ((f30-0 1.0)) - (when (and gp-0 (< (fabs (- (-> self target-pos y) (-> self root-override2 trans y))) 20480.0)) + (when (and gp-0 (< (fabs (- (-> self target-pos y) (-> self root trans y))) 20480.0)) ) (seek! (-> self legs-strength 0) f30-0 (* 0.5 (-> self clock seconds-per-frame))) (seek! (-> self legs-strength 1) f30-0 (* 0.5 (-> self clock seconds-per-frame))) @@ -1922,14 +1922,14 @@ ) ) (when (= (-> self nav state mesh) *default-nav-mesh*) - (let ((a0-23 (find-nearest-nav-mesh (-> self root-override2 trans) 0.0))) + (let ((a0-23 (find-nearest-nav-mesh (-> self root trans) 0.0))) (when a0-23 (change-to a0-23 self) (dotimes (gp-1 4) (let ((s5-0 (-> self feet gp-1))) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector-orient-by-quat! s4-0 (-> s5-0 pos-offset) (-> self root-override2 quat)) - (vector+! s4-0 s4-0 (-> self root-override2 trans)) + (vector-orient-by-quat! s4-0 (-> s5-0 pos-offset) (-> self root quat)) + (vector+! s4-0 s4-0 (-> self root trans)) (set! (-> s5-0 next-position quad) (-> s4-0 quad)) (set! (-> s5-0 position quad) (-> s4-0 quad)) ) @@ -1950,12 +1950,10 @@ ) ) (if (!= (-> self nav state mesh) *default-nav-mesh*) - (+! (-> self root-override2 trans y) - (* 4.0 (-> self clock seconds-per-frame) (- f0-28 (-> self root-override2 trans y))) - ) + (+! (-> self root trans y) (* 4.0 (-> self clock seconds-per-frame) (- f0-28 (-> self root trans y)))) ) ) - (if (= (vector-length (-> self root-override2 transv)) 0.0) + (if (= (vector-length (-> self root transv)) 0.0) (set! (-> self state-time) (current-time)) ) (set! (-> self last-head-roty-speed) (-> self head-roty-speed)) @@ -1971,7 +1969,7 @@ ) (set! (-> s5-1 volume) 1024) (set! (-> s5-1 pitch-mod) 0) - (set! (-> self head-sound) (gp-2 s5-1 (new-sound-id) (-> self root-override2 trans))) + (set! (-> self head-sound) (gp-2 s5-1 (new-sound-id) (-> self root trans))) ) ) ) @@ -1994,7 +1992,7 @@ ) (set! (-> s5-3 volume) 1024) (set! (-> s5-3 pitch-mod) 0) - (set! (-> self cannon-sound) (gp-4 s5-3 (new-sound-id) (-> self root-override2 trans))) + (set! (-> self cannon-sound) (gp-4 s5-3 (new-sound-id) (-> self root trans))) ) ) ) @@ -2033,24 +2031,20 @@ (cond ((= (-> self nav state mesh) *default-nav-mesh*) (vector-v+! - (-> self root-override2 trans) - (-> self root-override2 trans) + (-> self root trans) + (-> self root trans) (vector-normalize! - (vector-! - (new 'stack-no-clear 'vector) - (the-as vector (-> self city-path node gp-1)) - (-> self root-override2 trans) - ) + (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> self city-path node gp-1)) (-> self root trans)) (-> *bombbot-nav-enemy-info* run-travel-speed) ) ) (seek! - (-> self root-override2 trans y) + (-> self root trans y) (-> self city-path node gp-1 position y) (* 16384.0 (-> self clock seconds-per-frame)) ) (track-target! self) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) ) (else (let ((v1-25 (-> self nav state)) @@ -2064,9 +2058,7 @@ (nav-enemy-method-176 self) ) ) - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (the-as vector (-> self city-path node gp-1))) - 32768.0 - ) + (if (< (vector-vector-xz-distance (-> self root trans) (the-as vector (-> self city-path node gp-1))) 32768.0) (set! (-> self current-node) (the-as uint @@ -2153,7 +2145,7 @@ (set! (-> self explosing) #f) (set! (-> self state-time) (current-time)) (let ((gp-0 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-0 fountain-rand-transv-lo quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 fountain-rand-transv-lo quad) (-> self root trans quad)) (set! (-> gp-0 duration) (seconds 3)) (set! (-> gp-0 gravity) -163840.0) (set! (-> gp-0 fountain-rand-transv-hi x) 8192.0) @@ -2170,7 +2162,7 @@ ) ) (let ((v1-23 (new 'stack-no-clear 'vector))) - (set! (-> v1-23 quad) (-> self root-override2 trans quad)) + (set! (-> v1-23 quad) (-> self root trans quad)) (set! (-> v1-23 y) (+ 2048.0 (-> v1-23 y))) ) (let ((gp-1 (new 'stack-no-clear 'vector))) @@ -2180,7 +2172,7 @@ (activate! *camera-smush-control* 1024.0 37 210 1.0 0.995 (-> self clock)) (let ((s5-1 (new 'stack-no-clear 'explosion-init-params))) (set! (-> s5-1 spawn-point quad) (-> gp-1 quad)) - (quaternion-copy! (-> s5-1 spawn-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> s5-1 spawn-quat) (-> self root quat)) (set! (-> s5-1 radius) 61440.0) (set! (-> s5-1 group) (-> *part-group-id-table* 1060)) (set! (-> s5-1 collide-with) @@ -2198,17 +2190,17 @@ (set-vector! s4-1 (cos f30-0) 0.0 (sin f30-0) 1.0) ) (vector-float*! s4-1 s4-1 (* 4096.0 (+ 2.0 (* 2.0 (rand-vu))))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) - (vector+! (-> self root-override2 trans) (-> self root-override2 trans) s4-1) - (set! (-> self fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> self fact-info-override pickup-amount) 10.0) - (set! (-> self fact-info-override pickup-spawn-amount) 1.0) - (drop-pickup (-> self fact-info-override) #t *entity-pool* (-> self fact-info-override) 0) - (set! (-> self root-override2 trans quad) (-> s5-2 quad)) + (set! (-> s5-2 quad) (-> self root trans quad)) + (vector+! (-> self root trans) (-> self root trans) s4-1) + (set! (-> self fact pickup-type) (pickup-type ammo-random)) + (set! (-> self fact pickup-amount) 10.0) + (set! (-> self fact pickup-spawn-amount) 1.0) + (drop-pickup (-> self fact) #t *entity-pool* (-> self fact) 0) + (set! (-> self root trans quad) (-> s5-2 quad)) ) ) (set! (-> self explosing) #t) - (let ((v1-62 (-> self root-override2 root-prim))) + (let ((v1-62 (-> self root root-prim))) (set! (-> v1-62 prim-core collide-as) (collide-spec)) (set! (-> v1-62 prim-core collide-with) (collide-spec)) ) @@ -2491,7 +2483,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-78 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-78 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2546,7 +2538,7 @@ (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) (.svf (&-> a1-2 quad) vf6) ) - (set! (-> v1-3 main-y) (- (-> s4-0 feet s0-0 real-position y) (-> s4-0 root-override2 trans y))) + (set! (-> v1-3 main-y) (- (-> s4-0 feet s0-0 real-position y) (-> s4-0 root trans y))) (set! (-> v1-3 main-y) (-> v1-3 delta-y)) (+! f30-0 (* 0.25 (-> v1-3 main-y))) (set! (-> s1-0 quad) (-> v1-3 pos-offset quad)) @@ -2585,8 +2577,8 @@ (+! (-> s4-0 main-spd-y) (* f0-12 (-> pp clock seconds-per-frame))) ) (+! (-> s4-0 main-pos-y) (* (-> s4-0 main-spd-y) (-> pp clock seconds-per-frame))) - (vector-! s2-0 s2-0 (-> s4-0 root-override2 trans)) - (vector-inv-orient-by-quat! s2-0 s2-0 (-> s4-0 root-override2 quat)) + (vector-! s2-0 s2-0 (-> s4-0 root trans)) + (vector-inv-orient-by-quat! s2-0 s2-0 (-> s4-0 root quat)) (let ((a1-13 (-> s4-0 main-pos))) (let ((v1-19 (-> s4-0 main-pos))) (let ((a0-20 (vector-! (new 'stack-no-clear 'vector) s2-0 (-> s4-0 main-pos)))) @@ -2632,12 +2624,12 @@ (let ((a1-1 (-> s4-0 nav state))) (set! (-> s2-0 quad) (-> a1-1 target-post quad)) ) - (vector-! s2-0 s2-0 (-> s4-0 root-override2 trans)) + (vector-! s2-0 s2-0 (-> s4-0 root trans)) (set! (-> s2-0 y) 0.0) (vector-normalize! s2-0 1.0) (quaternion-from-two-vectors! s3-0 - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s4-0 root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s4-0 root quat)) s2-0 ) (quaternion-smooth-seek! (-> s4-0 top-quat) (-> s4-0 top-quat) s3-0 (* 4.0 (-> pp clock seconds-per-frame))) @@ -2879,12 +2871,12 @@ (the-as pair 0) ) (init-enemy-behaviour-and-stats! obj *bombbot-nav-enemy-info*) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (let ((v1-7 (-> obj nav))) (set! (-> v1-7 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (dotimes (s5-1 4) (set! (-> obj joint-ik s5-1) @@ -2939,7 +2931,7 @@ ) ) (set! (-> obj feet 3 offset) 0.6) - (quaternion-copy! (-> obj last-quat) (-> obj root-override2 quat)) + (quaternion-copy! (-> obj last-quat) (-> obj root quat)) (quaternion-copy! (-> obj main-quat) *unity-quaternion*) (let ((v1-60 (-> obj nav))) (set! (-> v1-60 sphere-mask) (the-as uint 64)) @@ -2978,8 +2970,8 @@ (dotimes (s5-2 4) (let ((s4-1 (-> obj feet s5-2))) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-orient-by-quat! s3-0 (-> s4-1 pos-offset) (-> obj root-override2 quat)) - (vector+! s3-0 s3-0 (-> obj root-override2 trans)) + (vector-orient-by-quat! s3-0 (-> s4-1 pos-offset) (-> obj root quat)) + (vector+! s3-0 s3-0 (-> obj root trans)) (set! (-> s4-1 next-position quad) (-> s3-0 quad)) (set! (-> s4-1 position quad) (-> s3-0 quad)) ) @@ -3010,14 +3002,14 @@ (set! (-> self city-path) (-> arg0 path)) (set! (-> self current-node) (the-as uint 0)) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> self city-path node (-> self current-node) position quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg0 quat)) - (vector-identity! (-> self root-override2 scale)) + (set! (-> self root trans quad) (-> self city-path node (-> self current-node) position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (vector-identity! (-> self root scale)) (-> arg0 nav-mesh) (set! (-> *bombbot-nav-enemy-info* nav-mesh) *default-nav-mesh*) (init-enemy! self) (set! (-> self shot-count) (the-as uint 5)) - (set! (-> self last-trans quad) (-> self root-override2 trans quad)) + (set! (-> self last-trans quad) (-> self root trans quad)) (set! (-> self minimap) (add-icon! *minimap* self (the-as uint 15) (the-as int #f) (the-as vector #t) 0)) (set! (-> self mask) (logior (process-mask enemy guard) (-> self mask))) (go-virtual hostile) @@ -3065,7 +3057,7 @@ (+! gp-0 1) (let ((v1-14 (the int (* 0.000030517578 (vector-vector-xz-distance - (-> s3-0 root-override2 trans) + (-> s3-0 root trans) (the-as vector (-> s3-0 city-path node (+ (-> s3-0 city-path node-count) -1))) ) ) diff --git a/goal_src/jak2/levels/common/enemy/fodder/fodder.gc b/goal_src/jak2/levels/common/enemy/fodder/fodder.gc index d00fbe325b..43ad47d40f 100644 --- a/goal_src/jak2/levels/common/enemy/fodder/fodder.gc +++ b/goal_src/jak2/levels/common/enemy/fodder/fodder.gc @@ -196,7 +196,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -284,16 +284,14 @@ (!= fodder-proc obj) (>= (- (current-time) (-> fodder-proc look-at-other-time)) (seconds 0.25)) ) - (let* ((dir-to-other-fodder - (vector-! (new 'stack-no-clear 'vector) (-> fodder-proc root-override2 trans) (-> obj root-override2 trans)) - ) + (let* ((dir-to-other-fodder (vector-! (new 'stack-no-clear 'vector) (-> fodder-proc root trans) (-> obj root trans))) (dir-length (vector-length dir-to-other-fodder)) ) (when (< dir-length 8192.0) (vector-float*! dir-to-other-fodder dir-to-other-fodder (/ 1.0 dir-length)) (let ((f30-0 (vector-dot dir-to-other-fodder - (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root-override2 quat)) vector 2) + (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)) vector 2) ) ) ) @@ -384,7 +382,7 @@ ((the-as (function none) func)) ) ) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (none) ) ) @@ -403,13 +401,10 @@ :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -459,18 +454,15 @@ (set! (-> __self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> __self enemy-flags)))) ) (set! (-> __self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> __self enemy-flags)))) - (set! (-> __self nav callback-info) (-> __self enemy-info-override callback-info)) + (set! (-> __self nav callback-info) (-> __self enemy-info callback-info)) ) 0 (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.25)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -514,13 +506,10 @@ (v1-19 (the-as number (logior #x3f800000 v1-18))) (s4-0 (< f28-0 (+ -1.0 (the-as float v1-19)))) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -529,9 +518,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (if (< (vector-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override2 trans))) - 12288.0 - ) + (if (< (vector-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans))) 12288.0) (goto cfg-22) ) (set! s5-0 (- (the-as time-frame s5-0) (- (current-time) (-> self clock old-frame-counter)))) @@ -539,7 +526,7 @@ (set! s5-0 (rand-vu-int-range 75 150)) (set! s4-0 (not s4-0)) (let ((s3-2 (new 'stack-no-clear 'matrix))) - (quaternion->matrix s3-2 (-> self root-override2 quat)) + (quaternion->matrix s3-2 (-> self root quat)) (let* ((f28-1 0.5) (f26-0 8.0) (v1-56 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -554,7 +541,7 @@ (vector-normalize! gp-0 16384.0) (vector+float*! gp-0 gp-0 (-> s3-2 vector 1) (rand-vu-float-range 5079.04 7168.0)) ) - (vector+! gp-0 gp-0 (-> self root-override2 trans)) + (vector+! gp-0 gp-0 (-> self root trans)) ) (if (nonzero? (-> self neck)) (target-set! (-> self neck) gp-0) @@ -598,7 +585,7 @@ (let ((s5-0 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-0 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override hostile-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info hostile-anim))) num-func-identity ) (set! (-> s5-0 frame-num) 0.0) @@ -636,11 +623,11 @@ ) :exit (behavior () (let ((v1-0 (-> self nav))) - (set! (-> v1-0 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-0 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (let ((v1-2 (-> self nav))) - (set! (-> v1-2 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-2 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (fodder-method-181 self #f) @@ -660,7 +647,7 @@ (let ((a0-2 (handle->process (-> self focus handle)))) (when a0-2 (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable a0-2) 0) quad)) - (let ((f30-0 (vector-vector-xz-distance-squared (-> self focus-pos) (-> self root-override2 trans)))) + (let ((f30-0 (vector-vector-xz-distance-squared (-> self focus-pos) (-> self root trans)))) (let ((f0-0 24576.0)) (when (and (< f30-0 (* f0-0 f0-0)) (zero? (-> self slow-timer))) (let ((v1-20 (-> self nav))) @@ -673,7 +660,7 @@ 0 (set! (-> self slow-timer) (current-time)) (ja-channel-push! 1 (seconds 0.08)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) (logior! (-> self focus-status) (focus-status dangerous)) @@ -698,7 +685,7 @@ (let ((v1-55 (-> self attack-type))) (cond ((zero? v1-55) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) ) ((= v1-55 1) (ja :group! fodder-jump-chomp-ja) @@ -726,15 +713,12 @@ ) (when (nonzero? (-> self fast-timer)) (let ((s5-0 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root-override2 trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root trans)) 1.0) ) (gp-1 (new 'stack-no-clear 'vector)) ) (set! (-> gp-1 quad) - (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override2 quat)) vector 2 quad) + (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)) vector 2 quad) ) (let* ((f0-11 (acos (vector-dot s5-0 gp-1))) (v1-81 (-> self attack-type)) @@ -756,15 +740,15 @@ (set! (-> self slow-timer) 0) (set! (-> self fast-timer) 0) (let ((v1-83 (-> self nav))) - (set! (-> v1-83 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-83 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (let ((v1-85 (-> self nav))) - (set! (-> v1-85 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-85 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((v1-89 (ja-group))) - (if (not (and v1-89 (= v1-89 (-> self draw art-group data (-> self enemy-info-override hostile-anim))))) + (if (not (and v1-89 (= v1-89 (-> self draw art-group data (-> self enemy-info hostile-anim))))) (fodder-method-182 self) ) ) @@ -772,21 +756,21 @@ ) ((< f0-11 3640.889) (let ((v1-99 (-> self nav))) - (set! (-> v1-99 target-speed) (* 2.5 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-99 target-speed) (* 2.5 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-101 (-> self nav))) - (set! (-> v1-101 turning-acceleration) (* 2.5 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-101 turning-acceleration) (* 2.5 (-> self enemy-info run-turning-acceleration))) ) 0 ) (else (let ((v1-103 (-> self nav))) - (set! (-> v1-103 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-103 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (let ((v1-105 (-> self nav))) - (set! (-> v1-105 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-105 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 ) @@ -823,7 +807,7 @@ (suspend) (ja :num! (loop! f30-0)) (let ((v1-9 (ja-group))) - (if (and v1-9 (= v1-9 (-> self draw art-group data (-> self enemy-info-override hostile-anim)))) + (if (and v1-9 (= v1-9 (-> self draw art-group data (-> self enemy-info hostile-anim)))) (ja :chan 1 :num! (chan 0)) ) ) @@ -842,7 +826,7 @@ (t9-0) ) ) - (sound-play "fodder-bite" :position (-> self root-override2 trans)) + (sound-play "fodder-bite" :position (-> self root trans)) (none) ) ) @@ -851,7 +835,7 @@ :virtual #t :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info walk-anim)))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -865,7 +849,7 @@ (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-15 enemy-flags)))) ) (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-15 enemy-flags)))) - (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info-override callback-info)) + (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info callback-info)) ) 0 (let ((v1-18 self)) @@ -877,14 +861,14 @@ ) 0 (let ((v1-22 (-> self nav))) - (set! (-> v1-22 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> v1-22 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((v1-24 (-> self nav))) - (set! (-> v1-24 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-24 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 - (let ((gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (let ((gp-0 (-> self draw art-group data (-> self enemy-info walk-anim)))) (let ((v1-32 (ja-group))) (if (not (and v1-32 (= v1-32 gp-0))) (ja-channel-push! 1 (seconds 0.1)) @@ -906,7 +890,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-59 self)) (set! (-> v1-59 enemy-flags) (the-as enemy-flag (logclear (-> v1-59 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-59 nav callback-info) *nav-enemy-null-callback-info*) @@ -916,20 +900,17 @@ (set! (-> v1-62 enemy-flags) (the-as enemy-flag (logclear (-> v1-62 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((v1-68 (ja-group))) - (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info-override victory-anim))))) + (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info victory-anim))))) (ja-channel-push! 1 (seconds 0.1)) ) ) (let ((f30-2 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info victory-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override victory-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info victory-anim))) frames num-frames) -1 ) ) @@ -998,7 +979,7 @@ #f ) (else - (let ((v1-5 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((v1-5 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-3 (-> obj skel root-channel 0)) ) (set! (-> a0-3 frame-group) (the-as art-joint-anim v1-5)) @@ -1013,7 +994,7 @@ ) (defmethod fodder-method-181 fodder ((obj fodder) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec enemy)) @@ -1092,7 +1073,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1154,7 +1135,7 @@ (set! (-> v1-18 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (fodder-method-181 obj #f) 0 (none) diff --git a/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc b/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc index e69abbcaff..5e34752cfc 100644 --- a/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc +++ b/goal_src/jak2/levels/common/enemy/guards/crimson-guard-level.gc @@ -243,7 +243,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 5) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -420,7 +420,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -597,7 +597,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -774,7 +774,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -951,7 +951,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -1122,58 +1122,56 @@ "Handles various events for the enemy @TODO - unsure if there is a pattern for the events and this should have a more specific name" (let ((v1-0 arg2)) - (the-as - object - (cond - ((= v1-0 'event-death) - (when (<= (-> obj hit-points) 0) - (set! (-> obj root-override2 penetrated-by) (the-as penetrate -1)) - (the-as object (do-effect (-> obj skel effect) 'death-default 0.0 -1)) - ) - ) - ((or (= v1-0 'hit) (= v1-0 'hit-flinch) (= v1-0 'hit-knocked)) - (speech-control-method-13 *speech-control* (the-as handle obj)) - (let* ((s1-0 (handle->process (-> obj incoming attacker-handle))) - (a0-13 (if (type? s1-0 process-focusable) - s1-0 - ) + (the-as object (cond + ((= v1-0 'event-death) + (when (<= (-> obj hit-points) 0) + (set! (-> obj root penetrated-by) (the-as penetrate -1)) + (the-as object (do-effect (-> obj skel effect) 'death-default 0.0 -1)) + ) + ) + ((or (= v1-0 'hit) (= v1-0 'hit-flinch) (= v1-0 'hit-knocked)) + (speech-control-method-13 *speech-control* (the-as handle obj)) + (let* ((s1-0 (handle->process (-> obj incoming attacker-handle))) + (a0-13 (if (type? s1-0 process-focusable) + s1-0 + ) + ) + ) + (if (and a0-13 (logtest? (-> a0-13 mask) (process-mask target))) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-11)) + ) + ) + ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ((= v1-0 'trigger) + (let ((v0-0 (the-as object #t))) + (set! (-> obj trigger) (the-as symbol v0-0)) + v0-0 + ) + ) + ((= v1-0 'untrigger) + (set! (-> obj trigger) #f) + #f + ) + ((= v1-0 'notify) + (let ((a0-21 (-> arg3 param 0)) + (v1-16 (the-as object (-> arg3 param 1))) + ) + (when (= a0-21 'attack) + (when (logtest? (-> (the-as process-focusable v1-16) mask) (process-mask target)) + (if (focus-test? (the-as process-focusable v1-16) dead) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-10)) + ) + ) + ) + ) + ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + (else + ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) ) - ) - (if (and a0-13 (logtest? (-> a0-13 mask) (process-mask target))) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-3)) - ) - ) - ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - ((= v1-0 'trigger) - (let ((v0-0 (the-as object #t))) - (set! (-> obj trigger) (the-as symbol v0-0)) - v0-0 - ) - ) - ((= v1-0 'untrigger) - (set! (-> obj trigger) #f) - #f - ) - ((= v1-0 'notify) - (let ((a0-21 (-> arg3 param 0)) - (v1-16 (the-as object (-> arg3 param 1))) - ) - (when (= a0-21 'attack) - (when (logtest? (-> (the-as process-focusable v1-16) mask) (process-mask target)) - (if (focus-test? (the-as process-focusable v1-16) dead) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-3)) - ) - ) - ) - ) - ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - (else - ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - ) - ) + ) + ) ) ) @@ -1362,7 +1360,7 @@ (init-vf0-vector) (set! sv-240 arg0) (let ((s0-0 (new 'stack-no-clear 'vector))) - (let ((v1-1 (-> obj root-override2 trans))) + (let ((v1-1 (-> obj root trans))) (let ((a0-1 *y-vector*)) (let ((a1-2 8192.0)) (.mov vf7 a1-2) @@ -1382,11 +1380,11 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (-> obj node-list data 4 bone transform) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - (set! (-> s0-0 quad) (-> obj root-override2 trans quad)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) + (set! (-> s0-0 quad) (-> obj root trans quad)) (cond ((logtest? (enemy-flag dislike-combo) (-> obj enemy-flags)) (let ((a1-6 s0-0)) @@ -1451,7 +1449,7 @@ (vector+! sv-288 sv-288 v0-5) ) (vector-normalize! (vector-! sv-320 sv-288 s0-0) 1.0) - (vector-z-quaternion! sv-304 (-> obj root-override2 quat)) + (vector-z-quaternion! sv-304 (-> obj root quat)) (rot-zxy-from-vector! s2-0 sv-304) (rot-zxy-from-vector! s1-0 sv-320) (set! (-> s5-0 x) (fmax -14563.556 (fmin 14563.556 (deg- (-> s1-0 x) (-> s2-0 x))))) @@ -1498,7 +1496,7 @@ (crimson-guard-level-method-196 obj (-> obj target-pos-predict-miss)) (crimson-guard-level-method-197 obj) ) - (case (-> obj root-override2 cur-pat event) + (case (-> obj root cur-pat event) (((pat-event melt)) (if (not (and (-> obj next-state) (= (-> obj next-state name) 'die))) (go (method-of-object obj die)) @@ -1523,9 +1521,9 @@ (if (= (-> obj focus aware) (enemy-aware enemy-aware-3)) (cloest-point-on-mesh (-> obj nav) (-> obj reachable-target-pos) (-> obj target-pos) (the-as nav-poly #f)) ) - (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s5-0) root-override transv quad)) + (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s5-0) root transv quad)) (set! (-> obj target-vel) (vector-length (-> obj target-vel-vec))) - (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> obj target-pos)))) + (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj target-pos)))) (let ((f0-2 (/ (vector-length s5-2) (if (= (-> obj weapon) 3) 90112.0 819200.0 @@ -1556,13 +1554,13 @@ (vector-normalize! s5-2 (-> obj miss-amount)) (vector+! (-> obj target-pos-predict-miss) (-> obj target-pos-predict) s5-2) ) - (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root-override2 trans)) + (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root trans)) (set! (-> obj target-self-xz quad) (-> obj target-self quad)) (set! (-> obj target-self-xz y) 0.0) (set! (-> obj target-self-dist) (vector-length (-> obj target-self))) (set! (-> obj target-self-xz-dist) (vector-length (-> obj target-self-xz))) (set! (-> obj target-y-angle) - (deg-diff (quaternion-y-angle (-> obj root-override2 quat)) (vector-y-angle (-> obj target-self))) + (deg-diff (quaternion-y-angle (-> obj root quat)) (vector-y-angle (-> obj target-self))) ) ) ) @@ -1583,7 +1581,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-1 (-> self on-notice))) (if gp-1 - (script-eval (the-as pair gp-1) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-1) :vector (-> self root trans)) ) ) ) @@ -1605,7 +1603,7 @@ ) ) ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-3)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) (none) ) @@ -1614,13 +1612,10 @@ (let ((f30-0 (get-rand-float-range self 0.8 1.2)) (gp-0 (new 'stack-no-clear 'vector)) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -1629,8 +1624,8 @@ :frame-num 0.0 ) (until (ja-done? 0) - (vector-! gp-0 (target-pos 0) (-> self root-override2 trans)) - (seek-toward-heading-vec! (-> self root-override2) gp-0 131072.0 (seconds 0.05)) + (vector-! gp-0 (target-pos 0) (-> self root trans)) + (seek-toward-heading-vec! (-> self root) gp-0 131072.0 (seconds 0.05)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1733,7 +1728,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -1799,7 +1794,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -1879,9 +1874,9 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -1959,9 +1954,9 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -1996,7 +1991,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((a0-9 (-> self nav state)) (v1-12 *null-vector*) ) @@ -2036,7 +2031,7 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-2 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data 19) @@ -2047,7 +2042,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2079,7 +2074,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2174,7 +2169,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2231,7 +2226,7 @@ (set! (-> self miss-amount) 0.0) ) (if (= gp-0 3) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) ) (crimson-guard-level-method-191 self) (until (ja-done? 0) @@ -2271,7 +2266,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2708,7 +2703,7 @@ enemy-event-handler ) :enter (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logior! (-> v1-3 prim-core action) (collide-action deadly)) ) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) @@ -2726,7 +2721,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-3 prim-core action) (collide-action deadly)) ) (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) @@ -2851,7 +2846,7 @@ :frame-num (ja-aframe 1.0 0) ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! (ja-aframe 12.0 0))) ) @@ -2862,7 +2857,7 @@ :frame-num (ja-aframe 12.0 0) ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! (ja-aframe 12.0 0))) ) @@ -2934,10 +2929,10 @@ (if (nonzero? (-> self lazer-sound)) (sound-stop (-> self lazer-sound)) ) - (let ((v1-6 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-6 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logclear! (-> v1-6 prim-core action) (collide-action deadly)) ) - (let ((v1-10 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-10 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-10 prim-core action) (collide-action deadly)) ) (let ((v1-11 (-> self l-control)) @@ -2997,7 +2992,7 @@ (until (ja-done? 0) (if (< 5461.3335 (fabs (-> self target-y-angle))) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (-> self target-pos) (-> self nav max-rotation-rate) (seconds 0.2) @@ -3050,7 +3045,7 @@ (ja :num! (seek!)) ) (set! (-> self next-shot) (the-as int (+ (current-time) (seconds 1)))) - (let ((v1-124 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-124 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logior! (-> v1-124 prim-core action) (collide-action deadly)) ) (let* ((v1-125 *game-info*) @@ -3089,7 +3084,7 @@ (ja :num! (loop! f30-0)) ) ) - (let ((v1-150 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-150 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logclear! (-> v1-150 prim-core action) (collide-action deadly)) ) (let ((v1-151 (-> self l-control)) @@ -3171,7 +3166,7 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core collide-as) (collide-spec enemy)) @@ -3238,7 +3233,7 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core collide-as) (collide-spec enemy)) @@ -3285,8 +3280,8 @@ ;; WARN: Return type mismatch object vs none. (defmethod crimson-guard-level-method-204 crimson-guard-level ((obj crimson-guard-level)) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s5-0 (-> obj root-override2)) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s5-0 (-> obj root)) (s3-0 (lambda ((arg0 crimson-guard-level) (arg1 collide-shape-moving) (arg2 vector)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) @@ -3299,7 +3294,7 @@ ) ((let ((a1-4 (new 'stack-no-clear 'vector))) (set! (-> a1-4 quad) (-> s4-0 quad)) - (set! (-> a1-4 w) (-> arg0 root-override2 nav-radius)) + (set! (-> a1-4 w) (-> arg0 root nav-radius)) (add-root-sphere-to-hash! (-> arg0 nav) a1-4 #x8046e) ) #f @@ -3346,16 +3341,16 @@ enemy-event-handler ) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) 40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) 40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -3369,12 +3364,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3393,12 +3384,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3443,18 +3430,18 @@ (let ((a0-0 self)) (when (logtest? (enemy-flag enemy-flag36) (-> a0-0 enemy-flags)) (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new 'stack-no-clear 'vector) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (-> self root) (new 'stack-no-clear 'vector) 0.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (a0-5 (-> self root-override2)) + (a0-5 (-> self root)) ) (set! (-> a2-1 collide-with) (-> a0-5 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (-> a0-5 pat-ignore-mask)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide a0-5 (-> self root-override2 transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide a0-5 (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -3470,16 +3457,16 @@ enemy-event-handler ) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) -40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) -40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -3493,12 +3480,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3517,12 +3500,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3574,7 +3553,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -3582,19 +3561,18 @@ ) 0 (if (zero? (-> self hit-points)) - (set! (-> self root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> self root penetrated-by) (the-as penetrate -1)) ) (set! (-> self hit-face) - (the-as uint (if (< (vector-dot - (-> self root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) - 0.0 - ) - 1 - 0 - ) - ) + (the-as + uint + (if (< (vector-dot (-> self root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + 0.0 + ) + 1 + 0 + ) + ) ) (none) ) @@ -3609,7 +3587,7 @@ ) (defmethod enemy-method-77 crimson-guard-level ((obj crimson-guard-level) (arg0 (pointer float))) - (let ((v1-1 (-> obj root-override2 transv))) + (let ((v1-1 (-> obj root transv))) (cond ((< (sqrtf (+ (* (-> v1-1 x) (-> v1-1 x)) (* (-> v1-1 z) (-> v1-1 z)))) 57344.0) (set! (-> obj small-hit) 1) @@ -3829,7 +3807,7 @@ (cond ((enemy-method-133 self) (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-0 (-> self draw art-group data (-> self enemy-info-override die-falling-anim))) + (let ((gp-0 (-> self draw art-group data (-> self enemy-info die-falling-anim))) (f30-0 (get-rand-float-range self 0.8 1.2)) ) (ja-no-eval :group! gp-0 @@ -3960,7 +3938,7 @@ ) ) (when s4-0 - (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root-override trans)))) + (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans)))) (s3-1 (new 'stack-no-clear 'vector)) ) (set! (-> s3-1 x) (if (zero? (-> obj transport-side)) @@ -3971,8 +3949,8 @@ (set! (-> s3-1 y) 12288.0) (set! (-> s3-1 z) (lerp-scale -16384.0 -49152.0 arg0 0.0 1.0)) (set! (-> s3-1 w) 1.0) - (quaternion-rotate-local-y! (-> obj root-override2 quat) (-> s4-0 root-override quat) 32768.0) - (vector-matrix*! (-> obj root-override2 trans) s3-1 s2-0) + (quaternion-rotate-local-y! (-> obj root quat) (-> s4-0 root quat) 32768.0) + (vector-matrix*! (-> obj root trans) s3-1 s2-0) ) ) ) @@ -4003,7 +3981,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (f30-0 0.0) ) (dotimes (s3-0 2) @@ -4015,7 +3993,7 @@ ) (vector-rotate-around-y! sv-768 s4-0 (* 182.04445 (the float (+ (* 23 s2-0) -70)))) (let ((v1-10 s1-0)) - (let ((a0-6 (-> obj root-override2 trans))) + (let ((a0-6 (-> obj root trans))) (let ((a1-5 sv-768)) (let ((a2-2 1.0)) (.mov vf7 a2-2) @@ -4107,15 +4085,13 @@ (defmethod enemy-method-93 crimson-guard-level ((obj crimson-guard-level)) (let ((s5-0 (-> obj nav state)) - (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-0 heading quad) (-> v1-2 quad)) ) 0 (let ((s5-1 (-> obj nav state))) - (set! (-> (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) quad) - (-> s5-1 travel quad) - ) + (set! (-> (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) quad) (-> s5-1 travel quad)) ) (let ((a0-5 (-> obj nav state)) (v1-9 *null-vector*) @@ -4225,7 +4201,7 @@ (logior! (-> self nav flags) (nav-control-flag output-sphere-hash)) (nav-enemy-method-166 self) (let ((v1-7 (-> self nav))) - (set! (-> v1-7 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-7 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (set! (-> self already-shot) (the-as uint #f)) @@ -4248,8 +4224,8 @@ (when (not (-> self already-shot)) (crimson-guard-level-method-201 self 1.0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (set! (-> gp-0 quad) (-> self root trans quad)) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack 'collide-query)) ) (let ((a0-3 gp-0)) @@ -4397,7 +4373,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -4424,17 +4400,17 @@ ((= arg0 1) (setup-masks (-> obj draw) 16 0) (set! (-> obj weapon) 1) - (set! (-> obj root-override2 nav-radius) 10240.0) + (set! (-> obj root nav-radius) 10240.0) ) ((= arg0 3) (setup-masks (-> obj draw) 16 0) (set! (-> obj weapon) 3) - (set! (-> obj root-override2 nav-radius) 10240.0) + (set! (-> obj root nav-radius) 10240.0) ) ((zero? arg0) (setup-masks (-> obj draw) 8 0) (set! (-> obj weapon) 0) - (set! (-> obj root-override2 nav-radius) 6144.0) + (set! (-> obj root nav-radius) 6144.0) ) ) (none) @@ -4444,7 +4420,7 @@ (cond ((logtest? (-> obj flags) 36) (let ((v1-3 (-> obj nav state)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) ) (logclear! (-> v1-3 flags) (nav-state-flag directional-mode)) (logior! (-> v1-3 flags) (nav-state-flag target-poly-dirty)) @@ -4464,15 +4440,15 @@ (local-vars (sv-16 int)) (let ((f0-0 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-0 0.0) - (quaternion-rotate-y! (-> obj root-override2 quat) (-> obj root-override2 quat) f0-0) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-0) ) ) (set! sv-16 0) (let ((v1-6 (res-lump-data (-> obj entity) 'trans-offset vector :tag-ptr (the-as (pointer res-tag) (& sv-16))))) (when v1-6 - (+! (-> obj root-override2 trans x) (-> v1-6 x)) - (+! (-> obj root-override2 trans y) (-> v1-6 y)) - (+! (-> obj root-override2 trans z) (-> v1-6 z)) + (+! (-> obj root trans x) (-> v1-6 x)) + (+! (-> obj root trans y) (-> v1-6 y)) + (+! (-> obj root trans z) (-> v1-6 z)) ) ) (initialize-skeleton @@ -4559,14 +4535,14 @@ (crimson-guard-level-method-203 obj 1) ) ((logtest? (-> obj flags) 2) - (set! (-> obj fact-info-override trig-dist) 409600.0) + (set! (-> obj fact trig-dist) 409600.0) (crimson-guard-level-method-203 obj 0) ) ((logtest? (-> obj flags) 4) (crimson-guard-level-method-203 obj 0) ) ((logtest? (-> obj flags) 8) - (set! (-> obj fact-info-override trig-dist) 819200.0) + (set! (-> obj fact trig-dist) 819200.0) (crimson-guard-level-method-203 obj 3) ) ((logtest? (-> obj flags) 16) @@ -4576,7 +4552,7 @@ (cond ((logtest? (-> obj flags) 128) (setup-masks (-> obj draw) 5 0) - (set-vector! (-> obj root-override2 scale) 1.1 1.1 1.1 1.0) + (set-vector! (-> obj root scale) 1.1 1.1 1.1 1.0) (set! (-> obj hit-points) (* (-> obj hit-points) 2)) (set-vector! (-> obj joint scale) 1.1 1.0 1.1 1.0) (let* ((a0-45 (-> obj neck)) @@ -4603,11 +4579,11 @@ (set! (-> obj anim-get-up-front) 33) (set! (-> obj anim-get-up-back) 34) (set! (-> obj joint-enable) #f) - (set! (-> obj fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> obj fact-info-override pickup-amount) 10.0) - (set! (-> obj fact-info-override pickup-spawn-amount) 1.0) + (set! (-> obj fact pickup-type) (pickup-type ammo-random)) + (set! (-> obj fact pickup-amount) 10.0) + (set! (-> obj fact pickup-spawn-amount) 1.0) (set! (-> obj trigger) #f) - (set! (-> obj root-override2 pause-adjust-distance) 409600.0) + (set! (-> obj root pause-adjust-distance) 409600.0) (transform-post) 0 (none) @@ -4631,9 +4607,9 @@ ;; WARN: Return type mismatch object vs none. (defbehavior crimson-guard-level-init-by-other crimson-guard-level ((arg0 crimson-guard-level-params)) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> arg0 pos quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg0 quat)) - (vector-identity! (-> self root-override2 scale)) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (vector-identity! (-> self root scale)) (set! (-> self transport-side) (-> arg0 transport-side)) (add-process-drawable-to-navmesh (-> arg0 nav-mesh) self #t) (set! (-> arg0 proc) self) diff --git a/goal_src/jak2/levels/common/enemy/guards/transport-level.gc b/goal_src/jak2/levels/common/enemy/guards/transport-level.gc index 5f3bbf4e41..140f4d7e86 100644 --- a/goal_src/jak2/levels/common/enemy/guards/transport-level.gc +++ b/goal_src/jak2/levels/common/enemy/guards/transport-level.gc @@ -91,13 +91,13 @@ ) (defmethod transport-level-method-34 transport-level ((obj transport-level)) - (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root-override transv y)) 0.0 122880.0)) - (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root-override trans y) (-> obj y-dest)) 143360.0 20480.0)) + (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root transv y)) 0.0 122880.0)) + (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root trans y) (-> obj y-dest)) 143360.0 20480.0)) (a0-3 (static-sound-spec "transport" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-3 volume) (the int (* 1024.0 f0-4))) (set! (-> a0-3 pitch-mod) (the int (* 1524.0 f30-0))) - (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root trans)) ) 0 (none) @@ -125,10 +125,10 @@ (none) ) :post (behavior () - (set! (-> self root-override transv y) (* 2.0 (- (-> self y-dest) (-> self root-override trans y)))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) - (if (< (fabs (- (-> self root-override trans y) (-> self y-dest))) 409.6) + (set! (-> self root transv y) (* 2.0 (- (-> self y-dest) (-> self root trans y)))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) + (if (< (fabs (- (-> self root trans y) (-> self y-dest))) 409.6) (go-virtual idle) ) (transport-level-method-34 self) @@ -142,7 +142,7 @@ :event transport-level-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (set! (-> self last-guard-spawn-time) 0) 0 (none) @@ -218,7 +218,7 @@ :event transport-level-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (none) ) :code (behavior () @@ -238,11 +238,11 @@ ) :post (behavior () (transport-level-method-34 self) - (+! (-> self root-override transv y) (* 40960.0 (-> self clock seconds-per-frame))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) + (+! (-> self root transv y) (* 40960.0 (-> self clock seconds-per-frame))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) (if (and (not (logtest? (-> self draw status) (draw-control-status on-screen))) - (< 163840.0 (- (-> self root-override trans y) (-> self y-dest))) + (< 163840.0 (- (-> self root trans y) (-> self y-dest))) ) (go-virtual die-fast) ) @@ -268,9 +268,9 @@ (let ((s5-0 (new 'stack-no-clear 'crimson-guard-level-params))) (set! (-> s5-0 transport-side) (-> obj spawn-side)) (set! (-> s5-0 nav-mesh) (-> obj nav-mesh)) - (set! (-> s5-0 pos quad) (-> obj root-override trans quad)) + (set! (-> s5-0 pos quad) (-> obj root trans quad)) (set! (-> s5-0 pos y) (+ 8192.0 (-> s5-0 pos y))) - (quaternion-rotate-local-y! (-> s5-0 quat) (-> obj root-override quat) 32768.0) + (quaternion-rotate-local-y! (-> s5-0 quat) (-> obj root quat) 32768.0) (set! (-> s5-0 handle) (the-as uint (process->handle obj))) (set! (-> s5-0 weapon) 1) (dotimes (s4-0 (the-as int (-> obj num-wanted-guards))) @@ -329,7 +329,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -366,9 +366,9 @@ This commonly includes things such as: (set! (-> obj guards v1-11) (the-as handle #f)) ) (set! (-> obj spawn-time) (seconds 4)) - (set! (-> obj root-override trans y) (+ 40960.0 (-> obj root-override trans y))) - (set! (-> obj y-dest) (-> obj root-override trans y)) - (set! (-> obj root-override trans y) (+ 163840.0 (-> obj root-override trans y))) + (set! (-> obj root trans y) (+ 40960.0 (-> obj root trans y))) + (set! (-> obj y-dest) (-> obj root trans y)) + (set! (-> obj root trans y) (+ 163840.0 (-> obj root trans y))) (go (method-of-object obj come-down)) (none) ) diff --git a/goal_src/jak2/levels/common/enemy/hopper.gc b/goal_src/jak2/levels/common/enemy/hopper.gc index 697a1dd59a..e20e73fe6e 100644 --- a/goal_src/jak2/levels/common/enemy/hopper.gc +++ b/goal_src/jak2/levels/common/enemy/hopper.gc @@ -330,7 +330,7 @@ :walk-travel-speed (meters 1) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -365,7 +365,7 @@ (else (when (focus-test? obj touch-water) (let ((s3-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> obj root-override2) s3-0 (collide-action solid semi-solid)) + (water-info-init! (-> obj root) s3-0 (collide-action solid semi-solid)) (let ((v1-9 #f)) (cond ((not (logtest? (water-flags touch-water) (-> s3-0 flags))) @@ -375,7 +375,7 @@ (logclear! (-> obj focus-status) (focus-status touch-water under-water)) ) ((focus-test? obj under-water) - (let ((f0-1 (+ 11264.0 (-> obj root-override2 trans y)))) + (let ((f0-1 (+ 11264.0 (-> obj root trans y)))) (if (< (-> s3-0 trans y) f0-1) (set! v1-9 #t) ) @@ -385,7 +385,7 @@ (when v1-9 (logclear! (-> obj focus-status) (focus-status under-water)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s2-0 quad) (-> obj root trans quad)) (when (logtest? (water-flags touch-water) (-> s3-0 flags)) (set! (-> s2-0 y) (-> s3-0 trans y)) (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) @@ -514,14 +514,10 @@ (let ((v1-5 (-> self draw shadow-ctrl))) (logior! (-> v1-5 settings flags) (shadow-flags shdf03)) (let ((a0-2 v1-5)) - (set! (-> a0-2 settings bot-plane w) - (- (+ (- -4096.0 (-> self root-override2 trans y)) (-> self root-override2 gspot-pos y))) - ) + (set! (-> a0-2 settings bot-plane w) (- (+ (- -4096.0 (-> self root trans y)) (-> self root gspot-pos y)))) ) 0 - (set! (-> v1-5 settings top-plane w) - (- (+ (- 8192.0 (-> self root-override2 trans y)) (-> self root-override2 gspot-pos y))) - ) + (set! (-> v1-5 settings top-plane w) (- (+ (- 8192.0 (-> self root trans y)) (-> self root gspot-pos y)))) ) 0 (none) @@ -677,12 +673,9 @@ (when (< *hopper-next-jump-time* (current-time)) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 - (let ((s4-1 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-0) 0) - (-> self root-override2 trans) - ) - ) + (let ((s4-1 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) + ) ) 0.0 (let ((s5-0 (get-rand-int self 2))) @@ -712,15 +705,13 @@ ) ) (set! (-> self best-score) -2.0) - (set! (-> self origin quad) (-> self root-override2 trans quad)) - ;; cfg-17 label is never output by the decompiler - ;; (b! #t cfg-17) + (set! (-> self origin quad) (-> self root trans quad)) (until (not (hopper-method-178 self)) (empty) ) (when (!= (-> self best-score) -2.0) - (let* ((s4-4 (vector-! (new 'stack-no-clear 'vector) (-> self best-point) (-> self root-override2 trans))) - (f30-1 (deg-diff (quaternion-y-angle (-> self root-override2 quat)) (vector-y-angle s4-4))) + (let* ((s4-4 (vector-! (new 'stack-no-clear 'vector) (-> self best-point) (-> self root trans))) + (f30-1 (deg-diff (quaternion-y-angle (-> self root quat)) (vector-y-angle s4-4))) ) (cond ((< (vector-vector-xz-distance (-> self best-point) (get-trans (the-as process-focusable gp-0) 0)) 8192.0) @@ -855,7 +846,7 @@ (let ((a1-4 (-> self nav state))) (set! (-> gp-0 quad) (-> a1-4 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -872,21 +863,21 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (let ((v1-12 (-> self root-override2 root-prim))) - (set! (-> self root-override2 backup-collide-as) (-> v1-12 prim-core collide-as)) - (set! (-> self root-override2 backup-collide-with) (-> v1-12 prim-core collide-with)) + (let ((v1-12 (-> self root root-prim))) + (set! (-> self root backup-collide-as) (-> v1-12 prim-core collide-as)) + (set! (-> self root backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (let ((v1-15 (-> self root-override2 root-prim))) + (let ((v1-15 (-> self root root-prim))) (set! (-> v1-15 prim-core collide-as) (collide-spec)) (set! (-> v1-15 prim-core collide-with) (collide-spec)) ) 0 (when (handle->process (-> self focus handle)) - (let ((gp-1 (-> self root-override2)) + (let ((gp-1 (-> self root)) (s5-0 (new 'stack-no-clear 'vector)) ) (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -909,9 +900,9 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -1015,7 +1006,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1046,7 +1037,7 @@ (set! (-> obj jump-anim-start-frame) 8.0) (set! (-> obj land-anim-index) 26) (set! (-> obj side) (get-rand-float-range obj -1.5 1.5)) - (when (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (when (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (set! (-> obj path-intro) (new 'process 'path-control obj 'intro 0.0 (-> obj entity) #f)) (if (-> obj path-intro) (logior! (-> obj path-intro flags) (path-control-flag display draw-line draw-point draw-text)) @@ -1059,7 +1050,7 @@ (set! (-> v1-34 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (let ((v1-39 (-> obj nav))) (set! (-> v1-39 nav-cull-radius) 61440.0) ) diff --git a/goal_src/jak2/levels/common/enemy/hover/crimson-guard-hover.gc b/goal_src/jak2/levels/common/enemy/hover/crimson-guard-hover.gc index 8ed73ca155..44204856f3 100644 --- a/goal_src/jak2/levels/common/enemy/hover/crimson-guard-hover.gc +++ b/goal_src/jak2/levels/common/enemy/hover/crimson-guard-hover.gc @@ -625,7 +625,7 @@ :trans (behavior () (when (hover-nav-control-method-23 (-> self hover)) (hover-enemy-method-153 self) - (if (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (if (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (hover-enemy-method-141 self 1.0) ) ((-> (method-of-type hover-enemy ambush) exit)) @@ -633,9 +633,7 @@ ) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable gp-0) 0)) - 450560.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable gp-0) 0)) 450560.0) (speech-control-method-15 *speech-control* self) ) (if (crimson-guard-hover-method-162 self (the-as process-focusable gp-0)) @@ -689,11 +687,11 @@ :enter (behavior () (set! (-> self state-time) (current-time)) (set! (-> self attack-miss-dist-curr) (-> self attack-miss-dist-min)) - (let ((f0-1 (vector-vector-distance-squared (-> self root-override2 trans) (-> self focus-pos))) + (let ((f0-1 (vector-vector-distance-squared (-> self root trans) (-> self focus-pos))) (f1-0 122880.0) ) (if (< f0-1 (* f1-0 f1-0)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) ) ) (set! (-> self shots-fired) 0) @@ -780,9 +778,7 @@ ) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable gp-0) 0)) - 450560.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable gp-0) 0)) 450560.0) (speech-control-method-15 *speech-control* self) ) (if (crimson-guard-hover-method-162 self (the-as process-focusable gp-0)) @@ -901,11 +897,11 @@ ) :code (behavior () (sound-play "hover-warn") - (let ((f0-0 (vector-vector-distance-squared (-> self root-override2 trans) (-> self focus-pos))) + (let ((f0-0 (vector-vector-distance-squared (-> self root trans) (-> self focus-pos))) (f1-0 122880.0) ) (if (< f0-0 (* f1-0 f1-0)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) ) ) (ja-channel-push! 1 (seconds 0.2)) @@ -1020,7 +1016,7 @@ ) :code (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1062,7 +1058,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-3 a1-3 @@ -1132,7 +1128,7 @@ (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-5 a1-4 @@ -1198,15 +1194,13 @@ ) ) ) - (if (and *target* - v1-23 - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj focus-pos))) - (f1-0 122880.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) + (if (and *target* v1-23 (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (-> obj focus-pos))) + (f1-0 122880.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-11)) ) ) ) @@ -1228,13 +1222,13 @@ (when (= (the-as symbol a0-27) 'attack) (when (logtest? (-> (the-as process-focusable v1-31) mask) (process-mask target)) (if (and (focus-test? (the-as process-focusable v1-31) dead) - (let ((f0-1 (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj focus-pos))) + (let ((f0-1 (vector-vector-distance-squared (-> obj root trans) (-> obj focus-pos))) (f1-3 122880.0) ) (< f0-1 (* f1-3 f1-3)) ) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-10)) ) ) ) @@ -1267,7 +1261,7 @@ ;; WARN: Return type mismatch object vs symbol. (defmethod crimson-guard-hover-method-162 crimson-guard-hover ((obj crimson-guard-hover) (arg0 process-focusable)) - (let* ((v1-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> obj root-override2 transv))) + (let* ((v1-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj root transv))) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj focus-pos))) (f30-0 (vector-length s5-1)) (a0-4 (if arg0 @@ -1324,14 +1318,14 @@ ) (defmethod enemy-method-52 crimson-guard-hover ((obj crimson-guard-hover) (arg0 vector)) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-2)) - (let ((gp-1 (-> obj root-override2 transv))) + (let ((gp-1 (-> obj root transv))) (let ((a1-1 (handle->process (-> obj incoming attacker-handle)))) (if a1-1 - (vector-! gp-1 (-> (the-as process-focusable a1-1) root-override trans) (-> obj root-override2 trans)) - (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root-override2 trans)) + (vector-! gp-1 (-> (the-as process-focusable a1-1) root trans) (-> obj root trans)) + (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root trans)) ) ) (set! (-> gp-1 y) 0.0) @@ -1474,12 +1468,12 @@ (-> arg0 scale) (quaternion-rotate-local-z! sv-208 a1-3 sv-192) (quaternion->matrix s5-0 sv-208) - (set! (-> s2-1 quad) (-> arg0 root-override2 scale quad)) + (set! (-> s2-1 quad) (-> arg0 root scale quad)) (scale-matrix! s5-0 s2-1 s5-0) - (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root-override2 quat))) + (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root quat))) (t9-6 vector-inv-orient-by-quat!) (a0-10 (new 'stack-no-clear 'vector)) - (a2-4 (-> arg0 root-override2 quat)) + (a2-4 (-> arg0 root quat)) (v0-6 (t9-6 a0-10 sv-224 a2-4)) (f30-0 (* 2867200.0 (-> pp clock seconds-per-frame))) (f28-0 @@ -1763,7 +1757,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-31 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1834,9 +1828,9 @@ (set! (-> obj neck ear) (the-as uint 0)) (set! (-> obj scale) 1.2) (set! (-> obj sound-id) (new-sound-id)) - (set! (-> obj root-override2 dynam gravity y) 327680.0) - (set! (-> obj root-override2 dynam gravity-length) 327680.0) - (set! (-> obj root-override2 dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (set! (-> obj gun-jmod) (the-as joint-mod (new 'process 'joint-mod-rotate-local obj (-> obj hover-info gun-base) #t)) ) diff --git a/goal_src/jak2/levels/common/enemy/hover/flamer.gc b/goal_src/jak2/levels/common/enemy/hover/flamer.gc index 603738e259..5105bcf2a0 100644 --- a/goal_src/jak2/levels/common/enemy/hover/flamer.gc +++ b/goal_src/jak2/levels/common/enemy/hover/flamer.gc @@ -203,7 +203,7 @@ :walk-travel-speed (meters 12) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 50) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 55) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -306,8 +306,8 @@ (defmethod nav-enemy-method-142 flamer ((obj flamer) (arg0 nav-control)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 (target-pos 0) (-> obj root-override2 trans)) - (seek-toward-heading-vec! (-> obj root-override2) gp-0 131072.0 (seconds 0.5)) + (vector-! gp-0 (target-pos 0) (-> obj root trans)) + (seek-toward-heading-vec! (-> obj root) gp-0 131072.0 (seconds 0.5)) ) 0 (none) @@ -351,12 +351,12 @@ (set! (-> s1-0 quad) (-> (get-trans arg1 0) quad)) (let ((s3-1 (new 'stack-no-clear 'vector))) (let ((s2-1 (new 'stack-no-clear 'vector))) - (vector-! s3-1 s1-0 (-> obj root-override2 trans)) + (vector-! s3-1 s1-0 (-> obj root trans)) (vector-flatten! s2-1 s3-1 (-> obj zone-to-world vector 2)) (vector-float*! s2-1 s2-1 -0.9) (vector+! s3-1 s3-1 s2-1) ) - (vector+! s4-0 (-> obj root-override2 trans) s3-1) + (vector+! s4-0 (-> obj root trans) s3-1) ) ) ) @@ -403,7 +403,7 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) + (-> self root trans) (-> self dest-pos) (new 'static 'rgba :r #xff :g #xff :b #xff :a #xff) #f @@ -464,10 +464,10 @@ ) (*target* (let ((a1-1 (target-pos 0))) - (-> obj root-override2 trans) + (-> obj root trans) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-matrix*! s5-0 a1-1 (-> obj world-to-zone)) - (and (>= (-> obj enemy-info-override notice-distance) (-> s5-0 z)) (>= (the-as int (-> obj focus aware)) 3)) + (and (>= (-> obj enemy-info notice-distance) (-> s5-0 z)) (>= (the-as int (-> obj focus aware)) 3)) ) ) ) @@ -577,7 +577,7 @@ (gp-0 (-> obj draw shadow-ctrl settings shadow-dir)) (f30-0 122880.0) ) - (set! (-> s4-0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 start-pos quad) (-> obj root trans quad)) (vector-normalize-copy! (-> s4-0 move-dist) gp-0 f30-0) (let ((v1-12 s4-0)) (set! (-> v1-12 radius) 3276.8) @@ -595,7 +595,7 @@ ) 0 (-> s4-0 best-other-tri intersect) - (let ((a1-3 (-> obj root-override2 trans))) + (let ((a1-3 (-> obj root trans))) (-> a1-3 y) (let ((f1-2 (* f0-1 f30-0))) (shadow-control-method-14 @@ -664,14 +664,9 @@ (joint-control-channel-group! a0-8 (the-as art-joint-anim flamer-idle-ja) num-func-seek!) ) (until #f - (let ((gp-0 (vector-inv-orient-by-quat! - (new 'stack-no-clear 'vector) - (-> self main-joint-vel) - (-> self root-override2 quat) - ) - ) + (let ((gp-0 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self main-joint-vel) (-> self root quat))) ) - (vector-float*! gp-0 gp-0 (/ 1.0 (-> self enemy-info-override run-travel-speed))) + (vector-float*! gp-0 gp-0 (/ 1.0 (-> self enemy-info run-travel-speed))) (flamer-method-188 self 1 (-> gp-0 x) 7 6) (flamer-method-188 self 2 (-> gp-0 z) 8 9) ) @@ -693,7 +688,7 @@ (let ((a1-1 (new 'stack-no-clear 'collide-query))) (cond ((enemy-method-125 obj a1-1 (collide-spec backgnd) 8192.0 26624.0 1024.0) - (set! (-> obj base-pos y) (+ 22528.0 (-> obj root-override2 gspot-pos y))) + (set! (-> obj base-pos y) (+ 22528.0 (-> obj root gspot-pos y))) ) (else (let ((s4-0 (-> obj nav)) @@ -718,7 +713,7 @@ ) (let ((v1-16 (+ (current-time) (the-as time-frame (-> obj sync-off))))) (seek! - (-> obj root-override2 trans y) + (-> obj root trans y) (+ (-> obj base-pos y) (* 1228.8 (cos (* 100.66974 (the float (mod v1-16 651)))))) (* 16384.0 (-> pp clock seconds-per-frame)) ) @@ -726,11 +721,11 @@ (let ((s5-2 (new 'stack-no-clear 'vector))) (set! (-> s5-2 quad) (-> *up-vector* quad)) (vector-normalize! s5-2 6144.0) - (vector/! s5-2 s5-2 (-> obj root-override2 scale)) + (vector/! s5-2 s5-2 (-> obj root scale)) (vector-rotate-around-z! s5-2 s5-2 (-> obj flit-angle)) (vector-seek! (-> obj flit-joint target) s5-2 (* 32768.0 (-> pp clock seconds-per-frame))) ) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) (none) ) @@ -771,7 +766,7 @@ (t9-0) ) ) - (set! (-> self root-override2 trans quad) (-> self idle-pos quad)) + (set! (-> self root trans quad) (-> self idle-pos quad)) (none) ) ) @@ -784,12 +779,12 @@ (t9-0) ) ) - (set! (-> self root-override2 trans quad) (-> self idle-pos quad)) + (set! (-> self root trans quad) (-> self idle-pos quad)) (none) ) :trans (behavior () (when (and (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (flamer-method-183 self)) - (if (logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-virtual ambush) (go-virtual active) ) @@ -836,7 +831,7 @@ (if (flamer-method-183 self) (go-virtual hostile) ) - (if (>= 819.2 (vector-vector-xz-distance (-> self root-override2 trans) (-> self idle-pos))) + (if (>= 819.2 (vector-vector-xz-distance (-> self root trans) (-> self idle-pos))) (go-virtual idle) ) (none) @@ -874,7 +869,7 @@ (set! (-> self main-acceleration) 0.0) (vector-reset! (-> self fly-dir)) (sound-play "flamer-ambush") - (quaternion-copy! (-> self root-override2 quat) (-> self init-quat)) + (quaternion-copy! (-> self root quat) (-> self init-quat)) (set! (-> self state-time) (current-time)) (none) ) @@ -900,13 +895,13 @@ (let ((f30-0 (-> self path-pos))) (when (>= f30-0 1.0) (set! (-> self path-pos) 1.0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) f30-0 'interp) (go-virtual notice) ) - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) f30-0 'interp) (let ((a1-3 (displacement-between-points-at-percent-normalized! (-> self path) (new 'stack-no-clear 'vector) f30-0)) ) - (forward-up->quaternion (-> self root-override2 quat) a1-3 *up-vector*) + (forward-up->quaternion (-> self root quat) a1-3 *up-vector*) ) (flamer-method-186 self f30-0) ) @@ -933,7 +928,7 @@ (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-9 enemy-flags)))) ) (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-9 enemy-flags)))) - (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info-override callback-info)) + (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info callback-info)) ) 0 (let ((v1-12 self)) @@ -953,7 +948,7 @@ (none) ) :trans (behavior () - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self dest-pos)) 409.6) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self dest-pos)) 409.6) (go-virtual exit-ambush-path) ) (none) @@ -991,12 +986,12 @@ (let ((f30-0 (-> self path-pos))) (when (>= 0.0 f30-0) (set! (-> self path-pos) 0.0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) f30-0 'interp) (cond - ((logtest? (enemy-option dormant) (-> self fact-info-override enemy-options)) + ((logtest? (enemy-option dormant) (-> self fact enemy-options)) (go-virtual dormant) ) - ((logtest? (enemy-option dormant-aware) (-> self fact-info-override enemy-options)) + ((logtest? (enemy-option dormant-aware) (-> self fact enemy-options)) (go-virtual dormant-aware) ) (else @@ -1016,7 +1011,7 @@ (set! (-> self flit-angle) (* 182.04445 (rand-vu-float-range 0.0 360.0))) (set! (-> self flit-timer) (current-time)) ) - (vector-seek! (-> self root-override2 trans) (-> self base-pos) (* 16384.0 (-> self clock seconds-per-frame))) + (vector-seek! (-> self root trans) (-> self base-pos) (* 16384.0 (-> self clock seconds-per-frame))) (flamer-method-184 self) (nav-enemy-simple-post) (none) @@ -1064,7 +1059,7 @@ (not (flamer-method-183 self)) ) ) - (if (logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-virtual exit-ambush) (go-virtual active) ) @@ -1073,7 +1068,7 @@ (let ((gp-1 (get-enemy-target self))) (if (and gp-1 (>= (- (current-time) (-> self last-fire-time)) (the int (* 300.0 (rand-vu-float-range 3.0 6.0)))) - (< (vector-vector-distance (get-trans gp-1 3) (-> self root-override2 trans)) 245760.0) + (< (vector-vector-distance (get-trans gp-1 3) (-> self root trans)) 245760.0) ) (go-virtual attack) ) @@ -1171,7 +1166,7 @@ (let ((v1-0 arg0)) (cond ((= v1-0 1) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (let ((a0-1 v1-2)) (set! (-> a0-1 prim-core action) (collide-action solid deadly)) (set! (-> a0-1 prim-core collide-with) (collide-spec backgnd jak bot obstacle hit-by-others-list player-list)) @@ -1183,7 +1178,7 @@ ) ) ((or (= v1-0 2) (zero? v1-0)) - (let ((v1-8 (-> obj root-override2 root-prim))) + (let ((v1-8 (-> obj root root-prim))) (let ((a0-3 v1-8)) (set! (-> a0-3 prim-core action) (collide-action semi-solid deadly)) (set! (-> a0-3 prim-core collide-with) (collide-spec jak bot player-list)) @@ -1238,7 +1233,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-10 (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (let ((a1-10 (-> obj draw art-group data (-> obj enemy-info knocked-anim))) (a0-21 (-> obj skel root-channel 0)) ) (set! (-> a0-21 frame-group) (the-as art-joint-anim a1-10)) @@ -1262,12 +1257,12 @@ (t9-0) ) ) - (set-gravity-length (-> self root-override2 dynam) 368640.0) + (set-gravity-length (-> self root dynam) 368640.0) (set! (-> self hit-surface?) #f) (none) ) :trans (behavior () - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (when (logtest? (-> gp-0 status) (collide-status on-surface)) (when (not (-> self hit-surface?)) (set! (-> self hit-surface?) #t) @@ -1286,9 +1281,7 @@ (when (and (nonzero? (-> self hit-points)) (zero? (-> self fated-time)) (or (>= (- (current-time) (-> self state-time)) (seconds 0.5)) - (and (< (-> self root-override2 trans y) (+ 18432.0 (-> self root-override2 gspot-pos y))) - (< (-> self root-override2 transv y) 0.0) - ) + (and (< (-> self root trans y) (+ 18432.0 (-> self root gspot-pos y))) (< (-> self root transv y) 0.0)) ) ) (set-gravity-length (-> gp-0 dynam) 225280.0) @@ -1313,13 +1306,13 @@ (defstate die-falling (flamer) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (set! (-> self hit-points) 0) - (if (logtest? (enemy-option knocked-into-water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option knocked-into-water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup) (-> self enemy-flags))) ) (let ((v1-8 self)) @@ -1352,7 +1345,7 @@ (defmethod flamer-method-186 flamer ((obj flamer) (arg0 float)) (let ((f0-1 (* (-> obj scale) arg0)) - (v0-0 (-> obj root-override2 scale)) + (v0-0 (-> obj root scale)) ) (set! (-> v0-0 x) f0-1) (set! (-> v0-0 y) f0-1) @@ -1436,7 +1429,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1470,10 +1463,10 @@ (set! (-> obj sync-off) (the-as uint (get-rand-int obj 600))) (set! (-> obj flit-angle) 0.0) (set! (-> obj flit-timer) 0) - (set! (-> obj root-override2 dynam gravity y) 225280.0) - (set! (-> obj root-override2 dynam gravity-length) 225280.0) - (set! (-> obj root-override2 dynam gravity-max) 225280.0) - (let ((v1-25 (-> obj root-override2 trans))) + (set! (-> obj root dynam gravity y) 225280.0) + (set! (-> obj root dynam gravity-length) 225280.0) + (set! (-> obj root dynam gravity-max) 225280.0) + (let ((v1-25 (-> obj root trans))) (set! (-> obj base-pos quad) (-> v1-25 quad)) (set! (-> v1-25 y) (+ 22528.0 (-> v1-25 y))) (set! (-> obj idle-pos quad) (-> v1-25 quad)) @@ -1482,13 +1475,13 @@ (set! (-> obj flit-joint twist-min-y) (the-as float #t)) (let ((f0-7 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-7 0.0) - (quaternion-rotate-y! (-> obj root-override2 quat) (-> obj root-override2 quat) f0-7) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-7) ) ) - (let ((f0-8 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f0-8 (quaternion-y-angle (-> obj root quat)))) (matrix-rotate-y! (-> obj zone-to-world) f0-8) ) - (set! (-> obj zone-to-world trans quad) (-> obj root-override2 trans quad)) + (set! (-> obj zone-to-world trans quad) (-> obj root trans quad)) (matrix-inverse-of-rot-trans! (-> obj world-to-zone) (-> obj zone-to-world)) (set! (-> obj formation-entity) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set-vector! (-> obj offset) 0.0 0.0 94208.0 1.0) @@ -1496,7 +1489,7 @@ (set! (-> obj path-pos) 0.0) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "flamer-loop" :fo-max 80) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "flamer-loop" :fo-max 80) (-> obj root trans)) ) (set! (-> obj enemy-flags) (logior (enemy-flag multi-focus) (-> obj enemy-flags))) (let ((v1-45 (-> obj nav))) @@ -1507,7 +1500,7 @@ (set! (-> v1-47 nearest-y-threshold) 63488.0) ) 0 - (quaternion-copy! (-> obj init-quat) (-> obj root-override2 quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (add-connection *part-engine* obj diff --git a/goal_src/jak2/levels/common/enemy/hover/hover-enemy.gc b/goal_src/jak2/levels/common/enemy/hover/hover-enemy.gc index bf2b319f20..f598a3de69 100644 --- a/goal_src/jak2/levels/common/enemy/hover/hover-enemy.gc +++ b/goal_src/jak2/levels/common/enemy/hover/hover-enemy.gc @@ -73,7 +73,7 @@ ) ) ) - (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) + (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child (-> obj hover params nav-collide-prim-index) prim-core @@ -109,7 +109,7 @@ ) ) ) - (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root-override2 trans)))) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root trans)))) (vector-normalize! s4-1 1.0) (set! (-> self rotation-vec y) (deg-seek (-> self rotation-vec y) (vector-y-angle s4-1) (* 14563.556 (-> self clock seconds-per-frame))) @@ -188,13 +188,13 @@ (cond (a0-7 (let* ((s5-1 (get-trans (the-as process-focusable a0-7) 3)) - (a0-9 (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) s5-1)) + (a0-9 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) s5-1)) ) (vector+! gp-0 s5-1 (vector-rotate-y! (new 'stack-no-clear 'vector) (-> self offset) (vector-y-angle a0-9))) ) ) (else - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) ) ) ) @@ -248,7 +248,7 @@ ) (defmethod hover-enemy-method-144 hover-enemy ((obj hover-enemy)) - (set! (-> obj main-joint-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj main-joint-pos quad) (-> obj root trans quad)) (set! (-> obj main-joint-vel quad) (the-as uint128 0)) (set! (-> obj main-joint-acc quad) (the-as uint128 0)) (set! (-> obj thrust 0) 0.0) @@ -317,7 +317,7 @@ (gp-0 (-> obj draw shadow-ctrl settings shadow-dir)) (f30-0 122880.0) ) - (set! (-> s4-0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 start-pos quad) (-> obj root trans quad)) (vector-normalize-copy! (-> s4-0 move-dist) gp-0 f30-0) (let ((v1-10 s4-0)) (set! (-> v1-10 radius) 2048.0) @@ -335,7 +335,7 @@ ) 0 (-> s4-0 best-other-tri intersect) - (let ((a1-3 (-> obj root-override2 trans))) + (let ((a1-3 (-> obj root trans))) (-> a1-3 y) (let ((f0-2 (* f0-1 f30-0))) (shadow-control-method-14 @@ -455,7 +455,7 @@ ) (set! (-> self scale-timer) (the-as uint (current-time))) (cond - ((not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + ((not (logtest? (-> self fact enemy-options) (enemy-option user0))) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) (hover-enemy-method-141 self 0.0) ) @@ -470,12 +470,12 @@ ) (gp-1 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) - (s4-0 (-> self root-override2)) + (s4-0 (-> self root)) (s5-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp)) ) (let ((s0-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 1.0 'interp)) (s3-1 - (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) child (-> (hover-enemy-method-152 self) nav-collide-prim-index) local-sphere @@ -491,7 +491,7 @@ (set-vector! (-> self rotation-vec) (- (vector-x-angle s2-0)) (vector-y-angle s2-0) 0.0 0.0) (hover-enemy-method-146 self) (set! (-> s4-0 trans quad) (-> s5-0 quad)) - (if (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> self fact enemy-options) (enemy-option user0)) (vector-! (-> s4-0 trans) (-> s4-0 trans) @@ -529,7 +529,7 @@ :trans (behavior () (when (hover-nav-control-method-23 (-> self hover)) (hover-enemy-method-153 self) - (if (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (if (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (hover-enemy-method-141 self 1.0) ) (go-virtual hostile) @@ -539,7 +539,7 @@ :code hover-enemy-fly-code :post (behavior () (local-vars (v1-19 enemy-flag)) - (when (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (when (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (let ((f0-1 (the float (- (current-time) (the-as int (-> self scale-timer))))) (f1-0 1200.0) ) @@ -575,11 +575,11 @@ ) (let ((gp-0 (new 'stack-no-clear 'vector)) (a0-0 *target*) - (s5-0 (-> self root-override2 trans)) + (s5-0 (-> self root trans)) ) (if a0-0 (vector-normalize! (vector-! gp-0 (get-trans a0-0 3) s5-0) 1.0) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) ) (hover-nav-control-method-10 (-> self hover) s5-0 gp-0 (the-as vector #t)) ) @@ -615,7 +615,7 @@ ) ) (set! (-> self hit-surface?) #f) - (set! (-> self knocked-start-level) (-> self root-override2 trans y)) + (set! (-> self knocked-start-level) (-> self root trans y)) (none) ) :exit (behavior () @@ -628,7 +628,7 @@ (none) ) :trans (behavior () - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (when (logtest? (-> gp-0 status) (collide-status on-surface)) (when (not (-> self hit-surface?)) (set! (-> self hit-surface?) #t) @@ -648,7 +648,7 @@ (if (and (nonzero? (-> self hit-points)) (zero? (-> self fated-time)) (>= (- (current-time) (-> self state-time)) (seconds 0.5)) - (< (-> self root-override2 trans y) (- (-> self knocked-start-level) (-> self knocked-fall-dist))) + (< (-> self root trans y) (- (-> self knocked-start-level) (-> self knocked-fall-dist))) ) (go-virtual knocked-recover) ) @@ -730,12 +730,12 @@ (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self enemy-flags) (enemy-flag check-water-backup)) - (set! (-> self root-override2 penetrate-using) (penetrate lunge vehicle knocked)) + (set! (-> self root penetrate-using) (penetrate lunge vehicle knocked)) (let ((gp-0 (-> self flying-death-transv))) (let ((a1-0 (handle->process (-> self incoming attacker-handle)))) (if a1-0 - (vector-! gp-0 (-> (the-as process-focusable a1-0) root-override trans) (-> self root-override2 trans)) - (vector-! gp-0 (-> self incoming attacker-pos) (-> self root-override2 trans)) + (vector-! gp-0 (-> (the-as process-focusable a1-0) root trans) (-> self root trans)) + (vector-! gp-0 (-> self incoming attacker-pos) (-> self root trans)) ) ) (set! (-> gp-0 y) 0.0) @@ -748,7 +748,7 @@ (vector-float*! gp-0 gp-0 (lerp 98304.0 172032.0 f30-0)) (set! (-> gp-0 y) (lerp 8192.0 98304.0 f30-0)) ) - (let ((v1-29 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((v1-29 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (cond ((< 0.0 (vector-dot gp-0 v1-29)) (set! (-> self flying-death-anim) (-> self hover-info fly-left-anim)) @@ -771,7 +771,7 @@ (-> self flying-death-spin-axis) (* 182.04445 (rand-vu-float-range -120.0 120.0)) ) - (set-gravity-length (-> self root-override2 dynam) 163840.0) + (set-gravity-length (-> self root dynam) 163840.0) (set! (-> self hover speed) 0.2) (set! (-> self flying-death-spin) 0.0) (enemy-method-103 self) @@ -779,7 +779,7 @@ (none) ) :trans (behavior () - (if (or (logtest? (-> self root-override2 status) + (if (or (logtest? (-> self root status) (collide-status touch-surface touch-wall touch-ceiling touch-actor impact-surface touch-background) ) (>= (- (current-time) (-> self state-time)) (seconds 4)) @@ -815,7 +815,7 @@ (-> self flying-death-spin-dest) (* 196608.0 (-> self clock seconds-per-frame)) ) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (let ((a2-2 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) @@ -857,7 +857,7 @@ :virtual #t :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -888,14 +888,14 @@ (defmethod hover-enemy-method-146 hover-enemy ((obj hover-enemy)) (let ((gp-0 (new 'stack-no-clear 'matrix))) (matrix-rotate-zxy! gp-0 (-> obj rotation-vec)) - (matrix->quaternion (-> obj root-override2 quat) gp-0) + (matrix->quaternion (-> obj root quat) gp-0) ) (none) ) ;; WARN: Return type mismatch float vs none. (defmethod hover-enemy-method-147 hover-enemy ((obj hover-enemy)) - (let ((s5-0 (-> obj root-override2 quat)) + (let ((s5-0 (-> obj root quat)) (gp-0 (-> obj rotation-vec)) ) (set! (-> gp-0 z) (quaternion-z-angle s5-0)) @@ -907,7 +907,7 @@ (defmethod hover-enemy-method-140 hover-enemy ((obj hover-enemy) (arg0 symbol)) (let ((v1-0 0) - (a0-2 (-> obj root-override2 root-prim)) + (a0-2 (-> obj root root-prim)) ) (if arg0 (set! v1-0 1) @@ -923,7 +923,7 @@ ;; WARN: Return type mismatch vector vs none. (defmethod hover-enemy-method-141 hover-enemy ((obj hover-enemy) (arg0 float)) (let ((f0-1 (* (-> obj scale) arg0))) - (set-vector! (-> obj root-override2 scale) (* 1.2 f0-1) (* 0.9 f0-1) f0-1 1.0) + (set-vector! (-> obj root scale) (* 1.2 f0-1) (* 0.9 f0-1) f0-1 1.0) ) (none) ) @@ -964,7 +964,7 @@ (set! (-> obj formation-entity) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (logior! (-> obj skel status) (joint-control-status sync-math)) (let ((t0-0 (hover-enemy-method-152 obj))) - (set! (-> obj hover) (new 'process 'hover-nav-control obj (-> obj root-override2) t0-0)) + (set! (-> obj hover) (new 'process 'hover-nav-control obj (-> obj root) t0-0)) ) (let ((s5-0 (-> obj offset)) (t9-6 (method-of-type res-lump get-property-struct)) diff --git a/goal_src/jak2/levels/common/enemy/hover/wasp.gc b/goal_src/jak2/levels/common/enemy/hover/wasp.gc index 3f23d43235..5288f92e48 100644 --- a/goal_src/jak2/levels/common/enemy/hover/wasp.gc +++ b/goal_src/jak2/levels/common/enemy/hover/wasp.gc @@ -321,7 +321,7 @@ (defmethod init-proj-settings! wasp-shot ((obj wasp-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'wasp-shot) (set! (-> obj max-speed) 491520.0) (set! (-> obj move) metalhead-shot-move) @@ -470,14 +470,14 @@ ) (defmethod enemy-method-52 wasp ((obj wasp) (arg0 vector)) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-2)) - (let ((gp-1 (-> obj root-override2 transv))) + (let ((gp-1 (-> obj root transv))) (let ((a1-1 (handle->process (-> obj incoming attacker-handle)))) (if a1-1 - (vector-! gp-1 (-> (the-as process-focusable a1-1) root-override trans) (-> obj root-override2 trans)) - (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root-override2 trans)) + (vector-! gp-1 (-> (the-as process-focusable a1-1) root trans) (-> obj root trans)) + (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root trans)) ) ) (set! (-> gp-1 y) 0.0) @@ -509,10 +509,10 @@ ;; WARN: Return type mismatch object vs none. (defmethod go-idle wasp ((obj wasp)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + ((logtest? (-> obj fact enemy-options) (enemy-option user0)) (go (method-of-object obj shoot-bridge-wait)) ) - ((logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + ((logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go (method-of-object obj ambush)) ) (else @@ -535,7 +535,7 @@ ) (defmethod enemy-method-129 wasp ((obj wasp)) - (if (logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> obj fact enemy-options) (enemy-option user0)) (set! (-> obj focus-pos quad) (-> obj plat-pos quad)) ((method-of-type hover-enemy enemy-method-129) obj) ) @@ -564,7 +564,7 @@ (defstate dormant (wasp) :virtual #t :enter (behavior () - (if (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> self fact enemy-options) (enemy-option user0)) (go-virtual shoot-bridge-wait) ) (none) @@ -662,7 +662,7 @@ ) :trans (behavior () (if (< (vector-vector-distance - (-> self root-override2 trans) + (-> self root trans) (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) 6.0 'interp) ) 40960.0 @@ -709,7 +709,7 @@ (set! (-> self plat-pos quad) (-> a1-1 quad)) (set! (-> self plat-pos y) (+ -8192.0 (-> self plat-pos y))) (set! (-> self focus-pos quad) (-> self plat-pos quad)) - (when (< (vector-vector-distance (-> self root-override2 trans) a1-1) + (when (< (vector-vector-distance (-> self root trans) a1-1) (- 327680.0 (* 81920.0 (the float (-> self bridge-index)))) ) (+! (-> self bridge-index) 1) @@ -759,7 +759,7 @@ (spawn-wasp-shot self gp-0 19 0.000000000000000000000000000000000000000000024 -1.0) (spawn-wasp-shot self gp-0 23 0.00000000000000000000000000000000000000000003 1.0) ) - (sound-play "wasp-fire" :position (-> self root-override2 trans)) + (sound-play "wasp-fire" :position (-> self root trans)) ) (else (enemy-event-handler proc arg1 event-type event) @@ -773,7 +773,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (sound-play "wasp-warn" :position (-> self root-override2 trans)) + (sound-play "wasp-warn" :position (-> self root trans)) (ja-no-eval :group! (-> self draw art-group data (-> self hover-info shoot-anim)) :num! (seek! (the float @@ -826,7 +826,7 @@ (defstate shoot-bridge-outro (wasp) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -839,7 +839,7 @@ (hover-nav-control-method-10 (-> self hover) v1-7 - (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-7 (-> self root-override2 trans)) 1.0) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-7 (-> self root trans)) 1.0) (the-as vector #t) ) ) @@ -848,7 +848,7 @@ ) :trans (behavior () (when (< (vector-vector-distance - (-> self root-override2 trans) + (-> self root trans) (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (get-num-segments (-> self path)) 'interp) ) 8192.0 @@ -920,7 +920,7 @@ (spawn-wasp-shot self gp-0 19 0.000000000000000000000000000000000000000000024 -1.0) (spawn-wasp-shot self gp-0 23 0.00000000000000000000000000000000000000000003 1.0) ) - (sound-play "wasp-fire" :position (-> self root-override2 trans)) + (sound-play "wasp-fire" :position (-> self root trans)) ) (else (enemy-event-handler proc arg1 event-type event) @@ -934,7 +934,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (sound-play "wasp-warn" :position (-> self root-override2 trans)) + (sound-play "wasp-warn" :position (-> self root trans)) (ja-no-eval :group! (-> self draw art-group data (-> self hover-info shoot-anim)) :num! (seek! (the float @@ -1035,7 +1035,7 @@ :code (behavior () (dispose! self) (set! (-> self hit-points) 0) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1068,7 +1068,7 @@ (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-11) a0-12 a1-8 @@ -1096,7 +1096,7 @@ :event (the-as (function process int symbol event-message-block object :behavior wasp) enemy-event-handler) :code (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1122,7 +1122,7 @@ (the-as process-focusable (when s5-0 - (let* ((a0-4 (-> obj root-override2)) + (let* ((a0-4 (-> obj root)) (s4-1 (vector+! (new 'stack-no-clear 'vector) (-> a0-4 trans) (-> a0-4 transv))) (s3-1 (vector-! (new 'stack-no-clear 'vector) s4-1 (-> obj focus-pos))) (s2-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s5-0) 0))) @@ -1181,7 +1181,7 @@ ) (defmethod enemy-method-80 wasp ((obj wasp) (arg0 enemy-knocked-info)) - (-> obj root-override2) + (-> obj root) (>= (-> arg0 on-surface-count) 1) ) @@ -1252,12 +1252,12 @@ (-> arg0 scale) (quaternion-rotate-local-z! sv-208 a1-3 sv-192) (quaternion->matrix s5-0 sv-208) - (set! (-> s2-1 quad) (-> arg0 root-override2 scale quad)) + (set! (-> s2-1 quad) (-> arg0 root scale quad)) (scale-matrix! s5-0 s2-1 s5-0) - (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root-override2 quat))) + (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root quat))) (t9-6 vector-inv-orient-by-quat!) (a0-10 (new 'stack-no-clear 'vector)) - (a2-4 (-> arg0 root-override2 quat)) + (a2-4 (-> arg0 root quat)) (v0-6 (t9-6 a0-10 sv-224 a2-4)) (f30-0 (* 2457600.0 (-> pp clock seconds-per-frame))) (f28-0 @@ -1307,7 +1307,7 @@ 0 0 (sound-group sfx) - (-> arg0 root-override2 trans) + (-> arg0 root trans) ) ) ) @@ -1447,7 +1447,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-35 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1524,9 +1524,9 @@ (set! (-> obj neck ear) (the-as uint 0)) (set! (-> obj scale) (get-rand-float-range obj 0.9 1.3)) (set! (-> obj sound-id) (new-sound-id)) - (set! (-> obj root-override2 dynam gravity y) 327680.0) - (set! (-> obj root-override2 dynam gravity-length) 327680.0) - (set! (-> obj root-override2 dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (set! (-> obj gun-jmod) (the-as joint-mod (new 'process 'joint-mod-rotate-local obj (-> obj hover-info gun-base) #t)) ) diff --git a/goal_src/jak2/levels/common/enemy/metalhead_bearer/centurion.gc b/goal_src/jak2/levels/common/enemy/metalhead_bearer/centurion.gc index 64537d3602..2675a3270a 100644 --- a/goal_src/jak2/levels/common/enemy/metalhead_bearer/centurion.gc +++ b/goal_src/jak2/levels/common/enemy/metalhead_bearer/centurion.gc @@ -404,7 +404,7 @@ :walk-travel-speed (meters 1.8) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 16) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 100) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -446,8 +446,8 @@ (set! (-> a0-6 attack-id) a2-2) (set! (-> v1-10 id) a2-2) ) - (set! (-> v1-10 shove-back) (* 2.0 (-> obj enemy-info-override attack-shove-back))) - (set! (-> v1-10 shove-up) (* 2.0 (-> obj enemy-info-override attack-shove-up))) + (set! (-> v1-10 shove-back) (* 2.0 (-> obj enemy-info attack-shove-back))) + (set! (-> v1-10 shove-up) (* 2.0 (-> obj enemy-info attack-shove-up))) (set! (-> v1-10 mode) 'deadly) (set! (-> a1-2 param 1) (the-as uint v1-10)) ) @@ -553,10 +553,10 @@ (let ((s5-1 (new 'stack-no-clear 'quaternion))) (vector-z-quaternion! (new 'stack-no-clear 'vector) - (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root-override2 quat)) + (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root quat)) ) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! s3-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s3-0 (-> obj root quat)) (let ((f30-0 (deg-diff (vector-y-angle s3-0) (vector-y-angle s1-0)))) 0.0 (new 'stack-no-clear 'vector) @@ -590,7 +590,7 @@ ) (vector-z-quaternion! (-> obj shoot-dir) - (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root-override2 quat)) + (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root quat)) ) 0 ) @@ -604,7 +604,7 @@ (t9-0) ) ) - (set! (-> self root-override2 root-prim specific 0) (+ (-> self root-override2 root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (set! (-> self can-take-damage?) #t) (centurion-shield-little) (set! (-> self victory-sound) (new 'static 'sound-id)) @@ -620,7 +620,7 @@ (t9-1) ) ) - (set! (-> self root-override2 root-prim specific 0) (-> self root-override2 root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (set! (-> self can-take-damage?) #f) (centurion-shield-big) (none) @@ -628,13 +628,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info victory-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override victory-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info victory-anim))) frames num-frames) -1 ) ) @@ -717,13 +714,13 @@ ) (when s0-0 (set! (-> s2-0 quad) (-> (get-trans (the-as process-focusable s0-0) 3) quad)) - (let ((s1-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) s2-0))) + (let ((s1-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) s2-0))) (let* ((f0-0 (vector-length s1-2)) (f0-1 (* 0.0000030517579 f0-0)) (a0-7 s2-0) ) (let ((v1-17 s2-0)) - (let ((a1-4 (-> (the-as process-focusable s0-0) root-override transv))) + (let ((a1-4 (-> (the-as process-focusable s0-0) root transv))) (let ((a2-0 f0-1)) (.mov vf7 a2-0) ) @@ -796,7 +793,7 @@ :exit (behavior () (set! (-> self first-shoot?) #f) (set! (-> self can-take-damage?) #f) - (set! (-> self root-override2 root-prim specific 0) (-> self root-override2 root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (centurion-shield-big) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) (logior! (-> self focus-status) (focus-status dangerous)) @@ -806,7 +803,7 @@ ) :code (behavior () (let ((f30-0 1.0)) - (when (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (when (logtest? (-> self fact enemy-options) (enemy-option user0)) (set! f30-0 0.75) (let ((a0-1 (handle->process (-> self focus handle)))) (if a0-1 @@ -823,18 +820,12 @@ (let ((gp-2 (handle->process (-> self focus handle)))) (when gp-2 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-2) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-2) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable gp-2) 0)) - 24576.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable gp-2) 0)) 24576.0) (go-virtual attack) ) ) @@ -842,9 +833,9 @@ (suspend) (ja :num! (seek! max f30-0)) ) - (set! (-> self root-override2 root-prim specific 0) (+ (-> self root-override2 root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (set! (-> self can-take-damage?) #t) - (when (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (when (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (set! (-> self target-pos quad) (-> (get-trans (the-as process-focusable a0-20) 3) quad)) @@ -879,7 +870,7 @@ (ja :num! (seek! max 0.4)) ) (set! (-> self can-take-damage?) #f) - (set! (-> self root-override2 root-prim specific 0) (-> self root-override2 root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! centurion-shoot-end-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim centurion-shoot-end-ja) frames num-frames) -1)) f30-0) @@ -900,12 +891,10 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior centurion) enemy-event-handler) :enter (behavior () - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 prim-core action) (collide-action solid deadly) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 local-sphere w) - 10240.0 - ) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 local-sphere w) 10240.0) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-7 *game-info*) (v0-0 (+ (-> v1-7 attack-id) 1)) @@ -916,10 +905,10 @@ (none) ) :exit (behavior () - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 prim-core action) (collide-action solid) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 local-sphere w) 5120.0) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 local-sphere w) 5120.0) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) @@ -1013,7 +1002,7 @@ ) ) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + ((logtest? (-> obj fact enemy-options) (enemy-option user0)) (set! (-> *part-id-table* 2101 init-specs 10 initial-valuef) 0.0) (set! (-> *part-id-table* 2101 init-specs 10 random-rangef) 0.0) (set! (-> *part-id-table* 2102 init-specs 10 initial-valuef) 0.0) @@ -1193,7 +1182,7 @@ (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable s5-0) 0) quad)) (let ((a0-4 gp-0)) (let ((v1-11 gp-0)) - (let ((a1-3 (-> (the-as process-focusable s5-0) root-override transv))) + (let ((a1-3 (-> (the-as process-focusable s5-0) root transv))) (let ((a2-1 0.1)) (.mov vf7 a2-1) ) @@ -1206,7 +1195,7 @@ (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) (.svf (&-> a0-4 quad) vf6) ) - (let ((f30-0 (vector-vector-xz-distance gp-0 (-> self root-override2 trans)))) + (let ((f30-0 (vector-vector-xz-distance gp-0 (-> self root trans)))) (cond ((< f30-0 24576.0) (go-virtual attack) @@ -1246,7 +1235,7 @@ (until #f (set-vector! s5-0 (get-rand-float-range self -1.0 1.0) 0.0 (get-rand-float-range self -1.0 1.0) 1.0) (vector-normalize! s5-0 f30-0) - (vector+! gp-0 (-> self root-override2 trans) s5-0) + (vector+! gp-0 (-> self root trans) s5-0) (if (centurion-method-182 self gp-0) (goto cfg-9) ) @@ -1264,11 +1253,11 @@ (let ((a0-9 (handle->process (-> self focus handle)))) (if a0-9 (set! (-> gp-1 quad) (-> (get-trans (the-as process-focusable a0-9) 0) quad)) - (vector+! gp-1 (-> self root-override2 trans) *z-vector*) + (vector+! gp-1 (-> self root trans) *z-vector*) ) ) - (let* ((a0-15 (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self root-override2 trans))) - (gp-3 (vector-! (new 'stack-no-clear 'vector) (-> self tar-pos) (-> self root-override2 trans))) + (let* ((a0-15 (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self root trans))) + (gp-3 (vector-! (new 'stack-no-clear 'vector) (-> self tar-pos) (-> self root trans))) (f28-0 (deg-diff (vector-y-angle a0-15) (vector-y-angle gp-3))) (f30-1 0.0) ) @@ -1544,7 +1533,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-27 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1586,7 +1575,7 @@ (set! (-> v1-15 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (set! (-> obj joint-enable) #f) (set! (-> obj joint) (new 'process 'joint-mod (joint-mod-mode joint-set*) obj 4)) (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x 942.08 :y -163.84 :z 1392.64 :w 163840.0)) @@ -1598,13 +1587,13 @@ 318 (new 'static 'vector :x -942.08 :y -163.84 :z 1392.64 :w 163840.0) ) - (if (logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> obj fact enemy-options) (enemy-option user0)) (set! (-> obj hit-points) 1) ) (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag43)))) (let ((s5-1 (-> obj nav state)) - (v1-36 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-36 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-1 heading quad) (-> v1-36 quad)) ) diff --git a/goal_src/jak2/levels/common/enemy/metalhead_brown/metalmonk.gc b/goal_src/jak2/levels/common/enemy/metalhead_brown/metalmonk.gc index 8c344f6e34..5a27862765 100644 --- a/goal_src/jak2/levels/common/enemy/metalhead_brown/metalmonk.gc +++ b/goal_src/jak2/levels/common/enemy/metalhead_brown/metalmonk.gc @@ -240,7 +240,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 3) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -255,9 +255,7 @@ ;; WARN: Return type mismatch vector vs none. (defmethod metalmonk-method-179 metalmonk ((obj metalmonk) (arg0 vector)) - (set! (-> arg0 quad) - (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root-override2 quat)) vector 2 quad) - ) + (set! (-> arg0 quad) (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)) vector 2 quad)) (none) ) @@ -411,7 +409,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -450,7 +448,7 @@ (s3-1 (new 'stack-no-clear 'vector)) ) (let ((s1-0 (new 'stack-no-clear 'vector))) - (vector-! s3-1 (get-trans (the-as process-focusable a0-2) 0) (-> obj root-override2 trans)) + (vector-! s3-1 (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) (set! (-> s3-1 y) 0.0) (vector-normalize! s3-1 1.0) (set-vector! s1-0 0.0 1.0 0.0 1.0) @@ -469,8 +467,8 @@ ) ) ) - (vector-normalize! s3-1 (* 1.5 (-> obj enemy-info-override attack-shove-back))) - (set! (-> s3-1 y) (-> obj enemy-info-override attack-shove-up)) + (vector-normalize! s3-1 (* 1.5 (-> obj enemy-info attack-shove-back))) + (set! (-> s3-1 y) (-> obj enemy-info attack-shove-up)) (let ((a1-10 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-10 from) (process->ppointer self)) (set! (-> a1-10 num-params) 2) @@ -480,7 +478,7 @@ (set! (-> v1-17 id) arg2) (set! (-> v1-17 angle) 'front) (set! (-> v1-17 vector quad) (-> s3-1 quad)) - (set! (-> v1-17 mode) (-> obj enemy-info-override attack-mode)) + (set! (-> v1-17 mode) (-> obj enemy-info attack-mode)) (set! (-> a1-10 param 1) (the-as uint v1-17)) ) (when (send-event-function arg0 a1-10) @@ -493,9 +491,7 @@ (defmethod enemy-method-84 metalmonk ((obj metalmonk) (arg0 enemy-jump-info)) (let* ((f0-0 (vector-vector-xz-distance (-> arg0 start-pos) (-> arg0 dest-pos))) - (f1-1 - (fmax (-> obj enemy-info-override jump-height-min) (* (-> obj enemy-info-override jump-height-factor) f0-0)) - ) + (f1-1 (fmax (-> obj enemy-info jump-height-min) (* (-> obj enemy-info jump-height-factor) f0-0))) (f0-3 (fmax (-> arg0 start-pos y) (-> arg0 dest-pos y))) (f0-4 (- (fmax (+ (fmin (-> arg0 start-pos y) (-> arg0 dest-pos y)) f1-1) (+ 10240.0 f0-3)) f0-3)) ) @@ -509,7 +505,7 @@ ) (defmethod enemy-method-87 metalmonk ((obj metalmonk) (arg0 enemy-jump-info)) - (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info-override run-anim))) + (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info run-anim))) (v1-6 (if (> (-> obj skel active-channels) 0) (-> obj skel root-channel 0 frame-group) ) @@ -557,11 +553,11 @@ ) ) (let ((v1-4 (-> self nav))) - (set! (-> v1-4 max-rotation-rate) (* 2.0 (-> self enemy-info-override maximum-rotation-rate))) + (set! (-> v1-4 max-rotation-rate) (* 2.0 (-> self enemy-info maximum-rotation-rate))) ) 0 (let ((v1-6 (-> self nav))) - (set! (-> v1-6 turning-acceleration) (* 2.0 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-6 turning-acceleration) (* 2.0 (-> self enemy-info run-turning-acceleration))) ) 0 (none) @@ -573,11 +569,11 @@ ) ) (let ((v1-4 (-> self nav))) - (set! (-> v1-4 max-rotation-rate) (-> self enemy-info-override maximum-rotation-rate)) + (set! (-> v1-4 max-rotation-rate) (-> self enemy-info maximum-rotation-rate)) ) 0 (let ((v1-6 (-> self nav))) - (set! (-> v1-6 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-6 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (none) @@ -596,7 +592,7 @@ (let ((a1-4 (-> self nav state))) (set! (-> gp-0 quad) (-> a1-4 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-0 131072.0 (seconds 0.01)) + (seek-toward-heading-vec! (-> self root) gp-0 131072.0 (seconds 0.01)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -617,16 +613,12 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (if (and (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (and gp-0 - (or (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 20480.0 - ) + (or (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 20480.0) (let ((v1-19 (ja-group))) (and (and v1-19 (= v1-19 metalmonk-charge0-ja)) (< (ja-frame-num 0) 3.0)) ) ) - (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 16384.0 - ) + (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 16384.0) (let ((v1-29 (ja-group))) (and v1-29 (= v1-29 metalmonk-charge1-ja)) ) @@ -725,7 +717,7 @@ (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-102 enemy-flags)))) ) (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-102 enemy-flags)))) - (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info-override callback-info)) + (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info callback-info)) ) 0 ) @@ -744,14 +736,14 @@ (metalmonk-method-180 self #t) (nav-enemy-method-169 self 6144.0 #f) (let ((v1-6 (-> self nav))) - (set! (-> v1-6 target-speed) (+ 8192.0 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-6 target-speed) (+ 8192.0 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-8 (-> self nav))) - (set! (-> v1-8 turning-acceleration) (* 4.0 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-8 turning-acceleration) (* 4.0 (-> self enemy-info run-turning-acceleration))) ) 0 - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-15 *game-info*) @@ -767,7 +759,7 @@ (metalmonk-method-180 self #f) (nav-enemy-method-168 self) (let ((v1-6 (-> self nav))) - (set! (-> v1-6 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-6 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -830,17 +822,14 @@ ) ) (let ((a0-1 (handle->process (-> self focus handle)))) - (if (and a0-1 (and (>= (- (current-time) (-> self state-time)) (seconds 0.05)) - (let ((f0-0 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable a0-1) 0) - (-> self root-override2 trans) - ) - ) - (f1-0 14336.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) - ) + (if (and a0-1 + (and (>= (- (current-time) (-> self state-time)) (seconds 0.05)) + (let ((f0-0 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable a0-1) 0) (-> self root trans))) + (f1-0 14336.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) + ) ) (react-to-focus self) ) @@ -889,7 +878,7 @@ (let ((v1-2 (ja-group))) (when (and v1-2 (or (= v1-2 metalmonk-charge0-ja) (= v1-2 metalmonk-charge1-ja))) (let ((v1-6 (-> self nav))) - (set! (-> v1-6 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-6 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (ja-no-eval :num! (seek!)) @@ -925,7 +914,7 @@ (format 0 "ERROR: ~A has no intro path, skipping ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-at-percent-along-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-at-percent-along-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -995,16 +984,14 @@ ) ) (else - (let ((s4-1 (if (< (vector-dot - (the-as vector (metalmonk-method-179 obj (new 'stack-no-clear 'vector))) - (-> obj root-override2 transv) - ) - 0.0 - ) - (-> obj draw art-group data (-> *metalmonk-global-info* knocked-anim (get-rand-int obj 2))) - (-> obj draw art-group data 20) - ) + (let ((s4-1 + (if (< (vector-dot (the-as vector (metalmonk-method-179 obj (new 'stack-no-clear 'vector))) (-> obj root transv)) + 0.0 + ) + (-> obj draw art-group data (-> *metalmonk-global-info* knocked-anim (get-rand-int obj 2))) + (-> obj draw art-group data 20) ) + ) ) (ja-channel-push! 1 (seconds 0.17)) (let ((a0-38 (-> obj skel root-channel 0))) @@ -1076,7 +1063,7 @@ ) (defmethod metalmonk-method-180 metalmonk ((obj metalmonk) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 1) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1193,7 +1180,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-31 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1237,7 +1224,7 @@ ) 0 (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj intro-path) (new 'process 'path-control obj 'intro 0.0 (-> obj entity) #f)) (metalmonk-method-180 obj #f) (set! (-> obj high-time) 0) diff --git a/goal_src/jak2/levels/common/enemy/metalhead_slinger/grenadier.gc b/goal_src/jak2/levels/common/enemy/metalhead_slinger/grenadier.gc index 18d8f1e01c..881eef511e 100644 --- a/goal_src/jak2/levels/common/enemy/metalhead_slinger/grenadier.gc +++ b/goal_src/jak2/levels/common/enemy/metalhead_slinger/grenadier.gc @@ -267,7 +267,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 50) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -371,7 +371,7 @@ ) ) (else - (let* ((s4-1 (-> obj root-override2)) + (let* ((s4-1 (-> obj root)) (a0-10 (get-trans (the-as process-focusable s5-0) 0)) (v1-27 (vector-! (new 'stack-no-clear 'vector) a0-10 (-> s4-1 trans))) ) @@ -426,13 +426,10 @@ (set! (-> v1-38 nav callback-info) *nav-enemy-null-callback-info*) ) 0 - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -446,13 +443,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -470,7 +464,7 @@ (set! (-> v1-100 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-100 enemy-flags)))) ) (set! (-> v1-100 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-100 enemy-flags)))) - (set! (-> v1-100 nav callback-info) (-> v1-100 enemy-info-override callback-info)) + (set! (-> v1-100 nav callback-info) (-> v1-100 enemy-info callback-info)) ) 0 (ja-no-eval :num! (loop!)) @@ -504,7 +498,7 @@ (t9-0) ) ) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) ) @@ -531,7 +525,7 @@ (let ((a0-1 (handle->process (-> self focus handle)))) (when a0-1 (let* ((s5-0 (get-trans (the-as process-focusable a0-1) 0)) - (gp-0 (-> self root-override2 trans)) + (gp-0 (-> self root trans)) (f30-0 (vector-vector-distance gp-0 s5-0)) ) (cond @@ -542,7 +536,7 @@ (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) gp-0 s5-0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s4-0 quad) (-> self root-override2 trans quad)) + (set! (-> s4-0 quad) (-> self root trans quad)) (new 'stack-no-clear 'vector) (vector-normalize! s3-1 49152.0) (cloest-point-on-mesh (-> self nav) s4-0 (vector+! s4-0 s5-0 s3-1) (the-as nav-poly #f)) @@ -565,7 +559,7 @@ ) ) (when (or (>= (- (current-time) (-> self state-time)) (rand-vu-int-range (seconds 3) (seconds 9))) - (>= 8192.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self bank final-pos))) + (>= 8192.0 (vector-vector-xz-distance (-> self root trans) (-> self bank final-pos))) ) (if (and (handle->process (-> self focus handle)) (not (logtest? (-> (the-as process-focusable (handle->process (-> self focus handle))) focus-status) @@ -609,7 +603,7 @@ ) :post (behavior () (let ((gp-0 (-> self bank))) - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> gp-0 tangent-pos)) 9830.4) + (if (< (vector-vector-xz-distance (-> self root trans) (-> gp-0 tangent-pos)) 9830.4) (set! (-> self move-pos quad) (-> gp-0 final-pos quad)) ) ) @@ -636,13 +630,13 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (none) ) :trans (behavior () - (let ((f0-0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-pos)))) + (let ((f0-0 (vector-vector-xz-distance (-> self root trans) (-> self move-pos)))) (if (or (>= 12288.0 f0-0) (>= (- (current-time) (-> self state-time)) (seconds 6))) (go-hostile self) ) @@ -698,14 +692,14 @@ (set! (-> v1-9 attack-id) a0-7) (set! (-> self attack-id) a0-7) ) - (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-13 prim-core action) (collide-action deadly)) (set! (-> v1-13 local-sphere w) 7372.8) ) (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core action) (collide-action)) (set! (-> v1-3 local-sphere w) 4096.0) ) @@ -734,7 +728,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -772,7 +766,7 @@ ) ((> (-> obj hit-points) 0) (ja-channel-push! 1 (seconds 0.067)) - (let ((a1-4 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-4 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-9 (-> obj skel root-channel 0)) ) (set! (-> a0-9 frame-group) (the-as art-joint-anim a1-4)) @@ -853,7 +847,7 @@ ) :enter (behavior () (let ((v1-1 (-> self nav state)) - (a0-1 (-> self root-override2 trans)) + (a0-1 (-> self root trans)) ) (logclear! (-> v1-1 flags) (nav-state-flag directional-mode)) (logior! (-> v1-1 flags) (nav-state-flag target-poly-dirty)) @@ -865,7 +859,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -896,13 +890,13 @@ ) :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (let ((f28-0 (vector-length (-> self root-override2 transv)))) + (let ((f28-0 (vector-length (-> self root transv)))) (ja-channel-push! 1 (seconds 0.2)) (when (< 4096.0 f28-0) - (let* ((v1-8 (vector-float*! (new 'stack-no-clear 'vector) (-> self root-override2 transv) 0.3)) - (a2-2 (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) v1-8)) + (let* ((v1-8 (vector-float*! (new 'stack-no-clear 'vector) (-> self root transv) 0.3)) + (a2-2 (vector+! (new 'stack-no-clear 'vector) (-> self root trans) v1-8)) ) - (set! (-> self move-pos quad) (-> self root-override2 trans quad)) + (set! (-> self move-pos quad) (-> self root trans quad)) (cloest-point-on-mesh (-> self nav) (-> self move-pos) a2-2 (the-as nav-poly #f)) ) (let ((a0-10 (-> self nav state)) @@ -979,8 +973,7 @@ (ja-channel-push! 1 (seconds 0.067)) (let ((a0-50 (handle->process (-> self focus handle)))) (when a0-50 - (let ((f0-14 (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable a0-50) 0))) - ) + (let ((f0-14 (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable a0-50) 0)))) (cond ((< 102400.0 f0-14) (ja-no-eval :group! grenadier-throw-ja @@ -1018,7 +1011,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1041,18 +1034,13 @@ (add-debug-vector #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) + (-> self root trans) gp-0 (meters 6) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) ) - (add-debug-quaternion - #t - (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (-> self root-override2 quat) - ) - (let ((f0-0 (quaternion-vector-y-angle (-> self root-override2 quat) gp-0))) + (add-debug-quaternion #t (bucket-id debug-no-zbuf1) (-> self root trans) (-> self root quat)) + (let ((f0-0 (quaternion-vector-y-angle (-> self root quat) gp-0))) (cond ((and (< -8192.0 f0-0) (>= 8192.0 f0-0)) (set! v1-10 26) @@ -1202,7 +1190,7 @@ (.sync.p) (label cfg-3) 0 - (forward-up-nopitch->quaternion (-> obj root-override2 quat) v1-3 a2-0) + (forward-up-nopitch->quaternion (-> obj root quat) v1-3 a2-0) ) (let ((v1-5 (-> *perf-stats* data 33))) (b! (zero? (-> v1-5 ctrl)) cfg-5 :delay (nop!)) @@ -1316,7 +1304,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1359,7 +1347,7 @@ (set! (-> v1-6 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj heading) (if (rand-vu-percent? 0.5) #t #f @@ -1368,7 +1356,7 @@ (set! (-> obj move-angle) 5461.3335) (set! (-> obj status-flags) (the-as uint 0)) (set! (-> obj suppress-knockaside-timer) 0) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (set! (-> obj joint) (new 'process 'joint-mod-blend-world obj 17 #f 0.0)) (logior! (-> obj joint blend-flags) (joint-mod-blend-flags rotation)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 1150) obj)) diff --git a/goal_src/jak2/levels/common/enemy/spyder.gc b/goal_src/jak2/levels/common/enemy/spyder.gc index 70964b22b1..14169105f4 100644 --- a/goal_src/jak2/levels/common/enemy/spyder.gc +++ b/goal_src/jak2/levels/common/enemy/spyder.gc @@ -246,7 +246,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 35) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -357,7 +357,7 @@ (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) ) ) - (if (< 245760.0 (vector-vector-distance (-> obj root-override2 trans) (camera-pos))) + (if (< 245760.0 (vector-vector-distance (-> obj root trans) (camera-pos))) (setup-masks (-> obj draw) 0 16) ) (when (< (current-time) (-> obj shock-effect-end)) @@ -382,7 +382,7 @@ (defmethod spyder-method-181 spyder ((obj spyder)) (let ((a0-2 (handle->process (-> obj focus handle)))) (when a0-2 - (let* ((s5-0 (-> obj root-override2 trans)) + (let* ((s5-0 (-> obj root trans)) (s2-1 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-2) 0) s5-0)) (f0-0 (vector-length s2-1)) (s4-0 (new 'stack-no-clear 'vector)) @@ -526,14 +526,14 @@ ) (defmethod enemy-method-87 spyder ((obj spyder) (arg0 enemy-jump-info)) - (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info-override jump-in-air-anim)))) + (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info jump-in-air-anim)))) (let ((v1-6 (if (> (-> obj skel active-channels) 0) (-> obj skel root-channel 0 frame-group) ) ) ) (cond - ((and v1-6 (= v1-6 (-> obj draw art-group data (-> obj enemy-info-override jump-wind-up-anim)))) + ((and v1-6 (= v1-6 (-> obj draw art-group data (-> obj enemy-info jump-wind-up-anim)))) (ja-channel-push! 1 0) ) (else @@ -574,7 +574,7 @@ (let ((a0-4 self)) (if (logtest? (enemy-flag enemy-flag37) (-> a0-4 enemy-flags)) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable gp-0) 0) f30-0 (seconds 0.02) @@ -605,12 +605,12 @@ (let ((a1-4 (quaternion-from-two-vectors! (new 'stack-no-clear 'quaternion) (-> obj my-up-vector) *up-vector*))) (quaternion*! s5-0 a1-4 s5-0) ) - (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> obj face-pos) (-> obj root-override2 trans))) - (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> obj face-pos) (-> obj root trans))) + (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (cond ((logtest? (-> obj status-flags) 8) - (vector-! s4-1 (-> obj face-pos) (-> obj root-override2 trans)) + (vector-! s4-1 (-> obj face-pos) (-> obj root trans)) (set! (-> obj status-flags) (logand -9 (-> obj status-flags))) ) (else @@ -643,13 +643,13 @@ (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> *up-vector* quad)) (let ((s3-0 (new 'stack-no-clear 'quaternion))) - (quaternion-from-two-vectors-max-angle! s3-0 s4-0 (-> obj root-override2 gspot-normal) 4551.1113) + (quaternion-from-two-vectors-max-angle! s3-0 s4-0 (-> obj root gspot-normal) 4551.1113) (vector-orient-by-quat! s4-0 s4-0 s3-0) ) (let ((s3-1 (-> obj my-up-vector))) (vector-deg-seek s3-1 s3-1 s4-0 (* 16384.0 (-> pp clock seconds-per-frame))) (vector-normalize! s3-1 1.0) - (forward-up-nopitch->quaternion (-> obj root-override2 quat) arg0 s3-1) + (forward-up-nopitch->quaternion (-> obj root quat) arg0 s3-1) ) ) (logior! (-> obj status-flags) 1) @@ -665,8 +665,8 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (spyder-method-185 obj) - (spyder-method-184 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (spyder-method-184 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) (spyder-method-182 obj) (let ((t9-6 (method-of-type nav-enemy track-target!))) @@ -743,7 +743,7 @@ (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'collide-query))) (let ((v1-0 (-> s5-0 bbox)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) (a1-0 (new 'stack-no-clear 'vector)) ) (set! (-> a1-0 x) 22528.0) @@ -753,7 +753,7 @@ (vector-! (the-as vector v1-0) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) - (a0-4 (-> obj root-override2 trans)) + (a0-4 (-> obj root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 22528.0) @@ -792,7 +792,7 @@ (.svf (&-> a1-3 quad) vf6) ) (set! (-> s2-0 quad) (-> s3-0 quad)) - (set! (-> s2-0 y) (-> obj root-override2 trans y)) + (set! (-> s2-0 y) (-> obj root trans y)) (let ((a2-10 (-> s5-0 start-pos))) (let ((a0-12 s2-0)) (let ((a1-6 v1-15)) @@ -890,12 +890,12 @@ (when a0-1 (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-1) 0) quad)) - (let* ((s5-0 (-> self root-override2 trans)) + (let* ((s5-0 (-> self root trans)) (f30-0 (vector-vector-distance s5-0 gp-0)) (f0-0 (vector-vector-xz-distance s5-0 (-> self move-dest))) ) (cond - ((>= (+ 2048.0 (-> self root-override2 nav-radius)) f0-0) + ((>= (+ 2048.0 (-> self root nav-radius)) f0-0) (if (and (>= 143360.0 f30-0) (check-los? (-> self los) 0)) (go-virtual attack) ) @@ -935,13 +935,13 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (none) ) :trans (behavior () - (let ((f0-0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest)))) + (let ((f0-0 (vector-vector-xz-distance (-> self root trans) (-> self move-dest)))) (if (or (>= 4096.0 f0-0) (>= (- (current-time) (-> self state-time)) (seconds 6))) (go-hostile self) ) @@ -951,13 +951,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1018,7 +1015,7 @@ ) :enter (behavior () (let ((v1-1 (-> self nav state)) - (a0-1 (-> self root-override2 trans)) + (a0-1 (-> self root trans)) ) (logclear! (-> v1-1 flags) (nav-state-flag directional-mode)) (logior! (-> v1-1 flags) (nav-state-flag target-poly-dirty)) @@ -1042,7 +1039,7 @@ (none) ) :trans (behavior () - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (if (or (>= 2 (the-as int (-> self focus aware))) (not (get-enemy-target self))) @@ -1084,7 +1081,7 @@ (set! (-> s5-0 quad) (-> gp-0 quad)) (let ((f28-0 0.0)) (dotimes (s4-0 8) - (let* ((f26-0 (fmin (-> self root-override2 trans y) (-> gp-0 y))) + (let* ((f26-0 (fmin (-> self root trans y) (-> gp-0 y))) (s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 27))) (f0-11 (fmin 40960.0 (+ -16384.0 (vector-vector-distance s3-0 gp-0)))) (s2-1 (vector-! (new 'stack-no-clear 'vector) s3-0 gp-0)) @@ -1324,7 +1321,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-28 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1365,21 +1362,21 @@ (set! (-> v1-7 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-gravity-length (-> obj root dynam) 573440.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (set! (-> obj my-up-vector quad) (-> *up-vector* quad)) (set! (-> obj status-flags) (the-as uint 4)) (if (rand-vu-percent? 0.5) (logior! (-> obj status-flags) 16) ) - (set! (-> obj start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj start-pos quad) (-> obj root trans quad)) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "spyder-talk" :fo-max 70) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "spyder-talk" :fo-max 70) (-> obj root trans)) ) (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd obstacle)) (set! (-> obj joint) (the-as joint-mod (new 'process 'joint-mod-blend-world obj 4 #t 1.0))) (set! (-> obj joint scale x) (the-as float (logior (the-as int (-> obj joint scale x)) 4))) - (let ((f30-0 (-> obj root-override2 trans y))) + (let ((f30-0 (-> obj root trans y))) (dotimes (s5-1 4) (set! (-> obj joint-ik s5-1) (new 'process 'joint-mod-ik obj (-> *spyder-ik-setup* s5-1 elbow-index) (-> *spyder-ik-setup* s5-1 hand-dist)) diff --git a/goal_src/jak2/levels/common/entities/com-elevator.gc b/goal_src/jak2/levels/common/entities/com-elevator.gc index 211b8fbe4b..25c9b75836 100644 --- a/goal_src/jak2/levels/common/entities/com-elevator.gc +++ b/goal_src/jak2/levels/common/entities/com-elevator.gc @@ -40,11 +40,11 @@ @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -61,9 +61,9 @@ ) (and (when a0-2 (let* ((v1-2 (get-trans a0-2 0)) - (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-2 (-> obj root-override trans))) + (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-2 (-> obj root trans))) ) - (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root quat)) (and (< (fabs (-> s5-2 x)) 20480.0) (< 0.0 (-> s5-2 z)) (< (-> s5-2 z) 40960.0)) ) ) @@ -78,7 +78,7 @@ ) (defmethod com-elevator-method-49 com-elevator ((obj com-elevator) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec obstacle pusher)) @@ -243,7 +243,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (com-elevator-method-49 obj #f) (none) diff --git a/goal_src/jak2/levels/common/entities/gun-buoy.gc b/goal_src/jak2/levels/common/entities/gun-buoy.gc index 49302cd3ef..ca19a0b5a3 100644 --- a/goal_src/jak2/levels/common/entities/gun-buoy.gc +++ b/goal_src/jak2/levels/common/entities/gun-buoy.gc @@ -37,7 +37,7 @@ (vf2 :class vf) ) (init-vf0-vector) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s3-0 (new 'stack-no-clear 'collide-query)) (s2-0 (-> s5-0 root-prim)) (s4-0 (new 'stack-no-clear 'vector)) @@ -93,7 +93,7 @@ ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (go (method-of-object arg0 impact)) @@ -143,9 +143,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -155,14 +155,14 @@ (defmethod init-proj-settings! gun-buoy-shot ((obj gun-buoy-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'explode) (set! (-> obj max-speed) 737280.0) (set! (-> obj move) gun-buoy-shot-move) (set! (-> obj timeout) (seconds 2.78)) (set! (-> obj damage) 1024.0) (set! (-> obj options) (logior (projectile-options deal-damage ignore-impact) (-> obj options))) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -260,7 +260,7 @@ :walk-travel-speed (meters 6) :walk-acceleration (meters 10) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 2160.0) + :maximum-rotation-rate (degrees 2160) :notice-nav-radius (meters 4) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -331,7 +331,7 @@ (cond ((logtest? (-> self flags) 1) (cloest-point-on-mesh (-> self nav) s5-0 s5-0 (the-as nav-poly #f)) - (let ((v1-14 (-> self root-override2 trans))) + (let ((v1-14 (-> self root trans))) (vector-length (vector-! (new 'stack-no-clear 'vector) v1-14 s5-0)) ) (let ((v1-17 (-> self nav state))) @@ -343,7 +343,7 @@ ) (else (let ((v1-21 (-> self nav state)) - (a0-16 (-> self root-override2 trans)) + (a0-16 (-> self root trans)) ) (logclear! (-> v1-21 flags) (nav-state-flag directional-mode)) (logior! (-> v1-21 flags) (nav-state-flag target-poly-dirty)) @@ -359,7 +359,7 @@ (s5-1 (-> self aim-dir)) ) (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> self root-override2 trans quad)) + (set! (-> s3-0 quad) (-> self root trans quad)) (set! (-> s3-0 y) (+ 4096.0 (-> s3-0 y))) (vector-! s4-1 (get-trans (the-as process-focusable gp-0) 3) s3-0) (vector-normalize! s4-1 1.0) @@ -373,15 +373,15 @@ ) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) + (set! (-> s5-2 quad) (-> self root trans quad)) (let ((gp-1 (new 'stack 'water-info))) - (water-info-init! (-> self root-override2) gp-1 (collide-action solid semi-solid)) + (water-info-init! (-> self root) gp-1 (collide-action solid semi-solid)) (get-height *ocean* s5-2 #t) (seek! (-> self y-final) (+ -3276.8 (-> gp-1 trans y)) (* 3276.8 (-> self clock seconds-per-frame))) ) ) 0 - (set! (-> self root-override2 trans y) (+ (-> self y-final) (-> self y-offset) (-> self y-bob))) + (set! (-> self root trans y) (+ (-> self y-final) (-> self y-offset) (-> self y-bob))) (nav-enemy-method-176 self) 0 (none) @@ -398,7 +398,7 @@ ) ) :enter (behavior () - (set! (-> self root-override2 trans quad) (-> self start-pos quad)) + (set! (-> self root trans quad) (-> self start-pos quad)) (set! (-> self flags) (logand -3 (-> self flags))) (set! (-> self flags) (logand -5 (-> self flags))) (none) @@ -408,7 +408,7 @@ (< 2 (the-as int (-> self focus aware))) (-> *setting-control* user-current gun-buoy) ) - (if (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> self fact enemy-options) (enemy-option user0)) (logior! (-> self flags) 4) ) (go-ambush self) @@ -430,7 +430,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (nav-enemy-method-166 self) @@ -462,9 +462,9 @@ (set! (-> s5-0 y) -819.2) (let ((s3-2 (vector+! (new 'stack-no-clear 'vector) s4-0 s5-0))) (cloest-point-on-mesh (-> self nav) s3-2 s3-2 (the-as nav-poly #f)) - (set! (-> self root-override2 trans quad) (-> s3-2 quad)) + (set! (-> self root trans quad) (-> s3-2 quad)) ) - (set! (-> self y-final) (-> self root-override2 trans y)) + (set! (-> self y-final) (-> self root trans y)) (set! (-> self y-offset) (if gp-2 -36864.0 -81920.0 @@ -483,7 +483,7 @@ ) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) ) (else (go-virtual dormant-aware) @@ -517,7 +517,7 @@ ) (let ((f30-0 (- 1.0 (fabs (* 0.000012207031 (-> self y-offset)))))) (let ((f0-7 (* f30-0 f30-0))) - (set-vector! (-> self root-override2 scale) f30-0 f30-0 f30-0 1.0) + (set-vector! (-> self root scale) f30-0 f30-0 f30-0 1.0) (let ((t9-1 vector-lerp!) (a0-2 (-> self draw color-mult)) (a1-1 (new 'stack-no-clear 'vector)) @@ -557,7 +557,7 @@ (seek! (-> self y-offset) -81920.0 (* 49152.0 (-> self clock seconds-per-frame))) (let ((f30-0 (- 1.0 (fabs (* 0.000012207031 (-> self y-offset)))))) (let ((f0-5 (* f30-0 f30-0))) - (set-vector! (-> self root-override2 scale) f30-0 f30-0 f30-0 1.0) + (set-vector! (-> self root scale) f30-0 f30-0 f30-0 1.0) (let ((t9-1 vector-lerp!) (a0-2 (-> self draw color-mult)) (a1-1 (new 'stack-no-clear 'vector)) @@ -601,13 +601,10 @@ (set! f30-0 (* 2.0 f30-0)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -783,7 +780,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -928,7 +925,7 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (with-pp - (-> obj root-override2) + (-> obj root) (let* ((s4-0 *target*) (s5-0 (if (type? s4-0 process-focusable) s4-0 @@ -958,9 +955,7 @@ (let* ((f30-2 1.1) (v1-10 (get-transv s5-0)) (f30-3 (* f30-2 (sqrtf (+ (* (-> v1-10 x) (-> v1-10 x)) (* (-> v1-10 z) (-> v1-10 z)))))) - (f0-8 - (vector-length (vector-! (new 'stack-no-clear 'vector) (get-trans s5-0 0) (-> obj root-override2 trans))) - ) + (f0-8 (vector-length (vector-! (new 'stack-no-clear 'vector) (get-trans s5-0 0) (-> obj root trans)))) (f0-10 (fabs (+ -81920.0 f0-8))) (f1-7 (-> obj nav target-speed)) (f0-11 (fmax f30-3 f0-10)) @@ -990,7 +985,7 @@ ) ) (water-control-method-10 (-> obj water)) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) ((method-of-type nav-enemy track-target!) obj) 0 @@ -1026,11 +1021,11 @@ (the-as symbol (when arg1 - (let ((s4-0 (-> obj root-override2)) + (let ((s4-0 (-> obj root)) (f30-0 (-> arg1 y)) - (f28-0 (-> obj root-override2 trans y)) + (f28-0 (-> obj root trans y)) ) - (-> obj fact-info-override) + (-> obj fact) (let ((v1-10 (or (not (and (-> obj next-state) (= (-> obj next-state name) 'dormant-aware))) (let ((s2-0 arg0)) @@ -1041,7 +1036,7 @@ (let ((v1-12 arg0)) (and v1-12 (or (focus-test? v1-12 on-water under-water) - (= (-> (the-as collide-shape-moving (-> v1-12 root-override)) ground-pat material) (pat-material waterbottom)) + (= (-> (the-as collide-shape-moving (-> v1-12 root)) ground-pat material) (pat-material waterbottom)) ) ) ) @@ -1056,7 +1051,7 @@ ) (and v1-10 (begin - (set! f30-1 (-> obj enemy-info-override notice-nav-radius)) + (set! f30-1 (-> obj enemy-info notice-nav-radius)) (set! v1-19 (if (type? arg0 target) arg0 ) @@ -1065,7 +1060,7 @@ ) (and (and v1-19 (or (focus-test? v1-19 on-water under-water) - (= (-> (the-as collide-shape-moving (-> v1-19 root-override)) ground-pat material) (pat-material waterbottom)) + (= (-> (the-as collide-shape-moving (-> v1-19 root)) ground-pat material) (pat-material waterbottom)) ) ) (let ((f0-2 f30-1)) @@ -1137,14 +1132,14 @@ (.sync.p) (label cfg-2) 0 - (forward-up-nopitch->quaternion (-> obj root-override2 quat) (-> obj aim-dir) *y-vector*) + (forward-up-nopitch->quaternion (-> obj root quat) (-> obj aim-dir) *y-vector*) (seek! (-> obj elev-angle) (- (vector-x-angle (-> obj aim-dir))) (* 10922.667 (-> pp clock seconds-per-frame)) ) (let* ((s5-1 (new 'stack-no-clear 'quaternion)) - (s4-1 (-> obj root-override2 quat)) + (s4-1 (-> obj root quat)) (f1-1 (-> obj elev-angle)) (f0-7 (fmax -728.1778 (fmin 728.1778 f1-1))) (f1-2 (- f1-1 f0-7)) @@ -1155,18 +1150,13 @@ (quaternion-normalize! (quaternion*! s4-1 s4-1 s5-1)) (quaternion-vector-angle! (the-as quaternion (-> obj gun-elev-jmod target)) *x-vector* f30-0) ) - (let* ((s2-0 (vector-inv-orient-by-quat! - (new 'stack-no-clear 'vector) - (-> obj root-override2 transv) - (-> obj root-override2 quat) - ) - ) + (let* ((s2-0 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> obj root transv) (-> obj root quat))) (v1-15 (vector-normalize-copy! (new 'stack-no-clear 'vector) s2-0 1.0)) (s3-1 (new 'stack-no-clear 'vector)) ) 0.0 (let ((s5-2 (new 'stack-no-clear 'quaternion)) - (s4-2 (-> obj root-override2 quat)) + (s4-2 (-> obj root quat)) (gp-1 (-> obj banking-quat)) ) (vector-normalize! (vector-cross! s3-1 v1-15 *y-vector*) 1.0) @@ -1252,7 +1242,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -1267,7 +1257,7 @@ (init-enemy-behaviour-and-stats! obj *gun-buoy-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) (process-entity-status! obj (entity-perm-status no-kill) #t) - (set! (-> obj start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj start-pos quad) (-> obj root trans quad)) (set! (-> obj flags) (the-as uint 0)) (set! (-> obj gun-elev-jmod) (the-as joint-mod (new 'process 'joint-mod-rotate-local obj 6 #f))) (quaternion-copy! (the-as quaternion (-> obj gun-elev-jmod target)) *unity-quaternion*) @@ -1291,7 +1281,7 @@ (quaternion-copy! (-> obj banking-quat) *unity-quaternion*) (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! s5-1 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-1 (-> obj root quat)) (set! (-> obj nav state heading quad) (-> s5-1 quad)) ) 0 @@ -1301,7 +1291,7 @@ (set-vector! (-> obj aim-dir) 0.0 0.0 1.0 0.0) (set! (-> obj splash-timer) 0) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "gun-buoy-steady" :fo-max 80) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "gun-buoy-steady" :fo-max 80) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (set! (-> obj warning-id) (the-as sound-id -1)) diff --git a/goal_src/jak2/levels/common/entities/sew-gunturret.gc b/goal_src/jak2/levels/common/entities/sew-gunturret.gc index 579a73a2b4..2faee49543 100644 --- a/goal_src/jak2/levels/common/entities/sew-gunturret.gc +++ b/goal_src/jak2/levels/common/entities/sew-gunturret.gc @@ -544,7 +544,7 @@ (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj params track-joint)))) ) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 (-> obj aim-pos) (-> obj root-override2 trans)) + (vector-! s4-0 (-> obj aim-pos) (-> obj root trans)) (vector-flatten! s4-0 s4-0 (-> obj init-mat vector 1)) (vector-normalize! s4-0 1.0) (set! (-> obj desired-twist) (asin (vector-dot (the-as vector (-> obj init-mat)) s4-0))) @@ -587,7 +587,7 @@ (+! (-> obj gun-twist) (fmax -364.0889 (fmin 364.0889 (* 0.3 (- (-> obj desired-twist) (-> obj gun-twist)))))) (matrix-rotate-y! matrix (-> obj gun-twist)) (matrix*! matrix matrix (-> obj init-mat)) - (matrix->quaternion (-> obj root-override2 quat) matrix) + (matrix->quaternion (-> obj root quat) matrix) ) (+! (-> obj gun-tilt) (fmax -364.0889 (fmin 364.0889 (* 0.3 (- (-> obj desired-tilt) (-> obj gun-tilt)))))) (quaternion-axis-angle! (-> obj gun-tilt-jm quat) 1.0 0.0 0.0 (-> obj gun-tilt)) @@ -636,7 +636,7 @@ (defmethod set-aim-at-default! sew-gunturret ((obj sew-gunturret)) "Aims the turret at it's default direction. Sets `aim-pos` accordingly" - (vector+float*! (-> obj aim-pos) (-> obj root-override2 trans) (-> obj init-mat vector 2) 163840.0) + (vector+float*! (-> obj aim-pos) (-> obj root trans) (-> obj init-mat vector 2) 163840.0) 0 (none) ) @@ -713,7 +713,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (none) ) :code (behavior () @@ -846,7 +846,7 @@ :virtual #t :enter (behavior () (dispose! self) - (let ((root-prim (-> self root-override2 root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -872,7 +872,7 @@ (cleanup-for-death self) (ja-channel-set! 0) (let ((vec (new 'stack-no-clear 'vector))) - (set! (-> vec quad) (-> self root-override2 trans quad)) + (set! (-> vec quad) (-> self root trans quad)) (set! (-> vec y) (+ 10240.0 (-> vec y))) (let ((frame-counter (current-time))) (until (>= (- (current-time) frame-counter) (seconds 2)) @@ -952,7 +952,7 @@ (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -970,7 +970,7 @@ ) (else (let ((dist (vector-dot - (vector-! (new 'stack-no-clear 'vector) (get-trans proc 3) (-> obj root-override2 trans)) + (vector-! (new 'stack-no-clear 'vector) (get-trans proc 3) (-> obj root trans)) (-> obj init-mat vector 2) ) ) @@ -1061,7 +1061,7 @@ (set! (-> obj flash-state) #f) (set! (-> obj can-shoot) #t) (set! (-> obj last-hit-time) 0) - (quaternion->matrix (-> obj init-mat) (-> obj root-override2 quat)) + (quaternion->matrix (-> obj init-mat) (-> obj root quat)) (set! (-> obj activate-distance) (res-lump-float (-> obj entity) 'distance)) 0 (none) diff --git a/goal_src/jak2/levels/common/entities/spydroid.gc b/goal_src/jak2/levels/common/entities/spydroid.gc index 7e1cc4563a..497570b05a 100644 --- a/goal_src/jak2/levels/common/entities/spydroid.gc +++ b/goal_src/jak2/levels/common/entities/spydroid.gc @@ -611,7 +611,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 16) :walk-turning-acceleration (meters 40) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -632,9 +632,9 @@ (let ((t9-0 (method-of-type nav-enemy track-target!))) (t9-0 obj) ) - (when (< (-> obj root-override2 scale x) 1.0) - (let ((f0-2 (fmin 1.0 (+ 0.025 (-> obj root-override2 scale x))))) - (set-vector! (-> obj root-override2 scale) f0-2 f0-2 f0-2 1.0) + (when (< (-> obj root scale x) 1.0) + (let ((f0-2 (fmin 1.0 (+ 0.025 (-> obj root scale x))))) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) ) (let ((s5-0 (new 'stack-no-clear 'vector)) @@ -694,7 +694,7 @@ ) ) ) - (let ((f0-5 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f0-5 (quaternion-y-angle (-> obj root quat)))) (set! (-> obj diff-angle) (- (-> obj old-y-deg) f0-5)) (cond ((< 32768.0 (-> obj diff-angle)) @@ -709,14 +709,14 @@ (set! (-> obj desire-turn) (< (+ 0.5 (* 0.00024414062 (-> obj nav state speed))) (* 0.005493164 (fabs (-> obj diff-angle)))) ) - (if (and (< (-> obj root-override2 trans y) (+ -122880.0 (-> obj floor))) + (if (and (< (-> obj root trans y) (+ -122880.0 (-> obj floor))) (-> obj next-state) (= (-> obj next-state name) 'jump) ) (deactivate obj) ) (if (and (-> obj next-state) (= (-> obj next-state name) 'jump)) - (spawn (-> obj part) (-> obj root-override2 trans)) + (spawn (-> obj part) (-> obj root trans)) ) 0 (none) @@ -749,19 +749,16 @@ (label cfg-15) (cond (v1-6 - (let ((v1-9 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) sv-144)) + (let ((v1-9 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) sv-144)) (s1-1 (new 'stack-no-clear 'vector)) ) (set! (-> s1-1 x) (- (-> v1-9 z))) (set! (-> s1-1 y) 0.0) (set! (-> s1-1 z) (-> v1-9 x)) (set! (-> s1-1 w) 1.0) - (let ((v1-12 (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable s0-0) root trans) - (-> obj root-override2 trans) - ) - ) + (let ((v1-12 + (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable s0-0) root trans) (-> obj root trans)) + ) ) (set! (-> s1-1 y) 0.0) (set! (-> v1-12 y) 0.0) @@ -869,7 +866,7 @@ ) ) (if (< (- (current-time) (-> self state-time)) (seconds 2)) - (spawn (-> self explode-part) (-> self root-override2 trans)) + (spawn (-> self explode-part) (-> self root trans)) ) (none) ) @@ -931,18 +928,18 @@ (set! (-> self hit-target) #f) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (let ((v1-2 (-> self nav))) - (set! (-> v1-2 target-speed) (+ 8192.0 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-2 target-speed) (+ 8192.0 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-5 (-> self nav state))) - (set! (-> v1-5 speed) (+ 8192.0 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-5 speed) (+ 8192.0 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-7 (-> self nav))) - (set! (-> v1-7 turning-acceleration) (* 4.0 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-7 turning-acceleration) (* 4.0 (-> self enemy-info run-turning-acceleration))) ) 0 - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-14 *game-info*) @@ -959,7 +956,7 @@ (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) (nav-enemy-method-168 self) (let ((v1-4 (-> self nav))) - (set! (-> v1-4 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-4 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -1068,15 +1065,12 @@ ) (let ((a0-1 (handle->process (-> self focus handle)))) (if (and (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) - (and a0-1 (let ((f0-0 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable a0-1) 0) - (-> self root-override2 trans) - ) - ) - (f1-0 16384.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) + (and a0-1 + (let ((f0-0 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable a0-1) 0) (-> self root trans))) + (f1-0 16384.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) ) ) (go-virtual attack) @@ -1085,12 +1079,12 @@ (cond ((not (-> self desire-turn)) (let ((v1-23 (ja-group))) - (when (not (and v1-23 (= v1-23 (-> self draw art-group data (-> self enemy-info-override hostile-anim))))) + (when (not (and v1-23 (= v1-23 (-> self draw art-group data (-> self enemy-info hostile-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim)) :num! min) ) ) - (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info-override run-travel-speed))))) + (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info run-travel-speed))))) ) ((< 0.0 (-> self diff-angle)) (let ((v1-43 (ja-group))) @@ -1142,12 +1136,12 @@ (cond ((not (-> self desire-turn)) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info-override walk-anim))))) + (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info walk-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! min) ) ) - (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info-override run-travel-speed))))) + (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info run-travel-speed))))) ) ((< 0.0 (-> self diff-angle)) (let ((v1-27 (ja-group))) @@ -1200,12 +1194,12 @@ (cond ((not (-> self desire-turn)) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info-override walk-anim))))) + (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info walk-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! min) ) ) - (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info-override run-travel-speed))))) + (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info run-travel-speed))))) ) ((< 0.0 (-> self diff-angle)) (let ((v1-27 (ja-group))) @@ -1257,9 +1251,9 @@ (cond ((not (-> self desire-turn)) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! min) ) ) (ja :num! (loop!)) @@ -1343,7 +1337,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1438,12 +1432,12 @@ (set-vector! (-> v1-13 twist-max) 3640.889 11832.889 0.0 1.0) (set! (-> v1-13 ignore-angle) 15473.777) ) - (set-vector! (-> obj root-override2 scale) 0.5 0.5 0.5 1.0) + (set-vector! (-> obj root scale) 0.5 0.5 0.5 1.0) (let ((v1-17 (-> obj nav))) (set! (-> v1-17 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 709) obj)) (set! (-> obj explode-part) (create-launch-control (-> *part-group-id-table* 710) obj)) diff --git a/goal_src/jak2/levels/common/flitter.gc b/goal_src/jak2/levels/common/flitter.gc index 370869c2c7..d619dc904f 100644 --- a/goal_src/jak2/levels/common/flitter.gc +++ b/goal_src/jak2/levels/common/flitter.gc @@ -539,7 +539,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 5) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 5) :frustration-distance (meters 12) :frustration-time (seconds 4) @@ -558,7 +558,7 @@ (camera-pos) (let* ((s3-0 (get-trans arg0 0)) (s5-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-0 vector 2) 1.0)) - (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) s3-0) 1.0)) + (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) s3-0) 1.0)) ) (< 0.0 (vector-dot s5-1 v1-7)) ) @@ -649,12 +649,12 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (set! (-> self base-height) (-> self root-override2 trans y)) - (let ((v1-13 (-> self root-override2 root-prim))) + (set! (-> self base-height) (-> self root trans y)) + (let ((v1-13 (-> self root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) @@ -683,7 +683,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -703,11 +703,11 @@ (suspend) ) ) - (set! (-> self root-override2 trans y) (+ -8192.0 (-> self root-override2 trans y))) + (set! (-> self root trans y) (+ -8192.0 (-> self root trans y))) (enemy-method-129 self) (let ((a0-5 (handle->process (-> self focus handle)))) (when a0-5 - (let* ((gp-2 (-> self root-override2)) + (let* ((gp-2 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-5) 0) (-> gp-2 trans)) @@ -740,7 +740,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -749,7 +749,7 @@ 0 (look-at-target! self (enemy-flag lock-focus)) (set! (-> self state-time) (current-time)) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (vector-reset! (-> gp-0 transv)) (set! (-> gp-0 transv y) (* 4096.0 (get-rand-float-range self 34.0 38.0))) ) @@ -761,7 +761,7 @@ :num! (seek! (the float (+ (-> (the-as art-joint-anim flitter-ambush-jump-ja) frames num-frames) -1))) ) (until #f - (when (< (-> self base-height) (-> self root-override2 trans y)) + (when (< (-> self base-height) (-> self root trans y)) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-0 (let ((t9-3 (method-of-type part-tracker activate))) @@ -782,7 +782,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-4 a1-4 @@ -804,10 +804,10 @@ ) #f (until #f - (when (< (+ 204.8 (-> self base-height)) (-> self root-override2 trans y)) - (let ((v1-40 (-> self root-override2 root-prim))) - (set! (-> v1-40 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-40 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (< (+ 204.8 (-> self base-height)) (-> self root trans y)) + (let ((v1-40 (-> self root root-prim))) + (set! (-> v1-40 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-40 prim-core collide-with) (-> self root backup-collide-with)) ) (goto cfg-11) ) @@ -818,10 +818,8 @@ #f (until #f (label cfg-11) - (if (or (and (>= 0.0 (-> self root-override2 transv y)) - (>= (+ 1638.4 (-> self base-height)) (-> self root-override2 trans y)) - ) - (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (or (and (>= 0.0 (-> self root transv y)) (>= (+ 1638.4 (-> self base-height)) (-> self root trans y))) + (logtest? (-> self root status) (collide-status on-ground)) ) (goto cfg-26) ) @@ -841,7 +839,7 @@ (ja :num! (seek!)) ) (until #f - (if (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (logtest? (-> self root status) (collide-status on-ground)) (goto cfg-33) ) (suspend) @@ -867,7 +865,7 @@ ) (when s3-0 (let* ((s5-1 (get-trans s3-0 0)) - (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root-override2 trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root trans))) (f30-0 (vector-length s4-1)) ) (cond @@ -877,12 +875,12 @@ ((and (< f30-0 32768.0) (not (flitter-method-182 obj s3-0))) (go (method-of-object obj circling)) ) - ((< f30-0 (-> obj enemy-info-override notice-nav-radius)) + ((< f30-0 (-> obj enemy-info notice-nav-radius)) (set! (-> obj target-pos quad) (-> s5-1 quad)) (let ((s3-1 (new 'stack-no-clear 'vector))) (set! (-> s3-1 quad) (-> s4-1 quad)) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> obj root-override2 transv quad)) + (set! (-> s5-2 quad) (-> obj root transv quad)) (vector-normalize! s5-2 f30-0) (if (>= (vector-dot s3-1 s5-2) 0.98) (go (method-of-object obj attack)) @@ -894,7 +892,7 @@ (set! (-> obj target-pos quad) (-> s5-1 quad)) ) ((or (>= (- (current-time) (the-as int (-> obj last-change-dir))) (-> obj change-dir-time)) - (< (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj target-pos)) 0.1) + (< (vector-vector-distance-squared (-> obj root trans) (-> obj target-pos)) 0.1) ) (set! (-> obj last-change-dir) (the-as uint (current-time))) (set! (-> obj change-dir-time) (rand-vu-int-range (seconds 0.5) (seconds 0.7))) @@ -932,7 +930,7 @@ (when (>= (- (current-time) (the-as int (-> obj amb-sound-timer))) (the int (* 300.0 (rand-vu-float-range 1.5 3.0))) ) - (sound-play "flitter-amb" :position (-> obj root-override2 trans)) + (sound-play "flitter-amb" :position (-> obj root trans)) (set! (-> obj amb-sound-timer) (the-as uint (current-time))) ) (none) @@ -943,19 +941,19 @@ (stop-looking-at-target! self) (set! (-> self skel root-channel 0 frame-group) arg0) (let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector))) - (s3-0 (-> self root-override2)) + (s3-0 (-> self root)) ) (when (if (type? s3-0 collide-shape-moving) s3-0 ) - (set! (-> self root-override2 transv y) 33775.48) + (set! (-> self root transv y) 33775.48) (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self state-time) (current-time)) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (until v1-29 (let ((f0-2 102400.0)) - (set! (-> self root-override2 transv x) (* (-> s4-1 x) f0-2)) - (set! (-> self root-override2 transv z) (* (-> s4-1 z) f0-2)) + (set! (-> self root transv x) (* (-> s4-1 x) f0-2)) + (set! (-> self root transv z) (* (-> s4-1 z) f0-2)) ) (suspend) (ja :num! (seek! max arg1)) @@ -1006,17 +1004,14 @@ 0 ) (let ((v1-29 (ja-group))) - (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1105,13 +1100,10 @@ (nav-enemy-method-166 self) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1179,7 +1171,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (flitter-fall-and-play-death-anim - (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) + (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) 1.0 (seconds 2) ) @@ -1190,7 +1182,7 @@ ) (defmethod flitter-method-183 flitter ((obj flitter)) - (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root-override2 trans y)) 13926.4 25600.0) + (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root trans y)) 13926.4 25600.0) ) (defstate attack (flitter) @@ -1203,7 +1195,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (sound-play "flitter-attack") @@ -1376,7 +1368,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1417,7 +1409,7 @@ 318 (new 'static 'vector :x -942.08 :y -860.16 :z 1269.76 :w 163840.0) ) - (set-gravity-length (-> obj root-override2 dynam) 491520.0) + (set-gravity-length (-> obj root dynam) 491520.0) (let* ((s4-1 "pebble1-ruins") (v1-15 (-> obj level name)) (s5-2 diff --git a/goal_src/jak2/levels/common/grunt.gc b/goal_src/jak2/levels/common/grunt.gc index cf7a3a147b..4bcade1a26 100644 --- a/goal_src/jak2/levels/common/grunt.gc +++ b/goal_src/jak2/levels/common/grunt.gc @@ -324,7 +324,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 6) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -366,7 +366,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -398,10 +398,10 @@ (defmethod go-ambush grunt ((obj grunt)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user10)) + ((logtest? (-> obj fact enemy-options) (enemy-option user10)) (go (method-of-object obj falling-ambush)) ) - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user11)) + ((logtest? (-> obj fact enemy-options) (enemy-option user11)) (go (method-of-object obj jumping-ambush)) ) (else @@ -420,7 +420,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -431,7 +431,7 @@ ) ) (when a0-4 - (let* ((gp-2 (-> self root-override2)) + (let* ((gp-2 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-4 0) (-> gp-2 trans)) 1.0)) (f0-0 (deg-diff (quaternion-y-angle (-> gp-2 quat)) (vector-y-angle s3-0))) ) @@ -446,7 +446,7 @@ (set! (-> v1-17 attack-id) a0-15) (set! (-> self attack-id) a0-15) ) - (let ((v1-19 (-> self root-override2 root-prim))) + (let ((v1-19 (-> self root root-prim))) (set! (-> v1-19 prim-core collide-as) (collide-spec)) (set! (-> v1-19 prim-core collide-with) (collide-spec)) ) @@ -454,9 +454,9 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -466,19 +466,16 @@ (suspend) ) ) - (let ((v1-6 (-> self root-override2 root-prim))) - (set! (-> v1-6 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-6 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-6 (-> self root root-prim))) + (set! (-> v1-6 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-6 prim-core collide-with) (-> self root backup-collide-with)) ) (sound-play "grunt-notice") (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -490,7 +487,7 @@ (suspend) (ja :num! (seek! max 1.8)) ) - (until (logtest? (-> self root-override2 status) (collide-status on-ground touch-surface touch-wall)) + (until (logtest? (-> self root status) (collide-status on-ground touch-surface touch-wall)) (suspend) ) (go-virtual hostile) @@ -520,7 +517,7 @@ (format 0 "ERROR: ~A has no intro path, skipping jumping-ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-in-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-in-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -667,13 +664,10 @@ 0 (nav-enemy-method-167 self) (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -686,13 +680,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -710,7 +701,7 @@ (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-171 enemy-flags)))) ) (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-171 enemy-flags)))) - (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info-override callback-info)) + (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info callback-info)) ) 0 ) @@ -734,7 +725,7 @@ (let ((v1-3 (get-trans gp-0 0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-! s4-0 v1-3 (-> obj root-override2 trans)) + (vector-! s4-0 v1-3 (-> obj root trans)) (.lvf vf1 (&-> s4-0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -748,7 +739,7 @@ (f0-2 12288.0) ) (when (or (>= (* f0-2 f0-2) f30-0) (>= f28-0 f30-0)) - (let ((f26-0 (quaternion-y-angle (-> obj root-override2 quat))) + (let ((f26-0 (quaternion-y-angle (-> obj root quat))) (f0-7 (atan (-> s4-0 x) (-> s4-0 z))) (f1-0 1228.8) ) @@ -786,10 +777,9 @@ (when (and (>= gp-0 (-> self next-warn-time)) (not (logtest? (-> self draw status) (draw-control-status on-screen))) ) - (when (and a0-1 - (let ((f0-0 65536.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root-override2 trans))) - ) + (when (and a0-1 (let ((f0-0 65536.0)) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root trans))) + ) ) (sound-play "grunt-warn") (set! (-> self next-warn-time) (+ gp-0 (get-rand-int-range self 300 360))) @@ -858,12 +848,12 @@ :event (the-as (function process int symbol event-message-block object :behavior grunt) enemy-event-handler) :enter (behavior () (let ((v1-1 (-> self nav state))) - (set! (-> v1-1 speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-1 speed) (-> self enemy-info run-travel-speed)) ) 0 (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-10 *game-info*) (v0-1 (+ (-> v1-10 attack-id) 1)) @@ -921,7 +911,7 @@ ) 0 (let ((v1-38 (-> self nav))) - (set! (-> v1-38 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-38 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((gp-1 (-> self draw art-group data (-> self charge-anim anim-index)))) @@ -1020,7 +1010,7 @@ (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable a0-9) 0) quad)) ) ) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1059,7 +1049,7 @@ (set! (-> v1-22 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-22 enemy-flags)))) ) (set! (-> v1-22 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-22 enemy-flags)))) - (set! (-> v1-22 nav callback-info) (-> v1-22 enemy-info-override callback-info)) + (set! (-> v1-22 nav callback-info) (-> v1-22 enemy-info callback-info)) ) 0 (let ((v1-25 self)) @@ -1071,11 +1061,11 @@ ) 0 (let ((v1-29 (-> self nav))) - (set! (-> v1-29 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> v1-29 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((v1-31 (-> self nav))) - (set! (-> v1-31 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-31 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((gp-0 (-> self draw art-group data (-> self charge-anim anim-index)))) @@ -1100,7 +1090,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-66 self)) (set! (-> v1-66 enemy-flags) (the-as enemy-flag (logclear (-> v1-66 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-66 nav callback-info) *nav-enemy-null-callback-info*) @@ -1111,7 +1101,7 @@ (set! (-> v1-71 enemy-flags) (the-as enemy-flag (logclear (-> v1-71 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((v1-77 (ja-group))) (if (not (and v1-77 (= v1-77 grunt-celebrate-start-ja))) (ja-channel-push! 1 (seconds 0.1)) @@ -1167,7 +1157,7 @@ (set! (-> v1-28 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-28 enemy-flags)))) ) (set! (-> v1-28 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-28 enemy-flags)))) - (set! (-> v1-28 nav callback-info) (-> v1-28 enemy-info-override callback-info)) + (set! (-> v1-28 nav callback-info) (-> v1-28 enemy-info callback-info)) ) 0 (let ((v1-31 self)) @@ -1179,11 +1169,11 @@ ) 0 (let ((v1-35 (-> self nav))) - (set! (-> v1-35 acceleration) (-> self enemy-info-override walk-acceleration)) + (set! (-> v1-35 acceleration) (-> self enemy-info walk-acceleration)) ) 0 (let ((v1-37 (-> self nav))) - (set! (-> v1-37 turning-acceleration) (-> self enemy-info-override walk-turning-acceleration)) + (set! (-> v1-37 turning-acceleration) (-> self enemy-info walk-turning-acceleration)) ) 0 (let ((v1-41 (ja-group))) @@ -1361,7 +1351,7 @@ ) (else (let ((s4-3 (ash 1 (-> *grunt-global-info* prev-knocked-anim-index)))) - (let ((s3-0 (-> obj root-override2))) + (let ((s3-0 (-> obj root))) (if (>= 16384.0 (fabs (deg- (quaternion-y-angle (-> s3-0 quat)) (atan (-> s3-0 transv x) (-> s3-0 transv z))))) (set! s4-3 (logior s4-3 4)) ) @@ -1449,25 +1439,25 @@ (when s5-0 (let ((gp-0 (get-trans (the-as process-focusable s5-0) 0))) (when (and (or (not (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice))) - (>= 163840.0 (vector-vector-distance (-> self root-override2 trans) gp-0)) + (>= 163840.0 (vector-vector-distance (-> self root trans) gp-0)) ) - (or (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user8))) + (or (not (logtest? (-> self fact enemy-options) (enemy-option user8))) (and (not (focus-test? (the-as process-focusable s5-0) in-air)) - (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root-override2 trans y)))) + (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root trans y)))) ) ) ) (cond - ((and (logtest? (-> self fact-info-override enemy-options) (enemy-option user9)) + ((and (logtest? (-> self fact enemy-options) (enemy-option user9)) (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice)) ) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector-! s5-1 gp-0 (-> self root-override2 trans)) + (vector-! s5-1 gp-0 (-> self root trans)) (let ((f0-2 32768.0) (v1-26 s5-1) ) (if (or (>= f0-2 (sqrtf (+ (* (-> v1-26 x) (-> v1-26 x)) (* (-> v1-26 z) (-> v1-26 z))))) - (>= 20024.889 (fabs (deg- (y-angle (-> self root-override2)) (atan (-> s5-1 x) (-> s5-1 z))))) + (>= 20024.889 (fabs (deg- (y-angle (-> self root)) (atan (-> s5-1 x) (-> s5-1 z))))) ) (go-virtual notice) ) @@ -1596,7 +1586,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-27 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1626,7 +1616,7 @@ (set! (-> v1-8 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (let ((s5-2 *grunt-global-info*)) (set! (-> obj patrol-anim) (-> s5-2 patrol-anim (get-rand-int obj 4))) (set! (-> obj charge-anim) (-> s5-2 charge-anim (get-rand-int obj 3))) @@ -1662,7 +1652,7 @@ ) (defmethod go-idle grunt ((obj grunt)) - (if (logtest? (-> obj fact-info-override enemy-options) (enemy-option user9)) + (if (logtest? (-> obj fact enemy-options) (enemy-option user9)) (go (method-of-object obj wait-for-focus)) (go (method-of-object obj idle)) ) diff --git a/goal_src/jak2/levels/common/guard-projectile.gc b/goal_src/jak2/levels/common/guard-projectile.gc index c0a35dc9e3..77db6b2f8c 100644 --- a/goal_src/jak2/levels/common/guard-projectile.gc +++ b/goal_src/jak2/levels/common/guard-projectile.gc @@ -358,7 +358,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -428,7 +428,7 @@ (defmethod spawn-shell-particles guard-shot ((obj guard-shot)) "TODO - confirm" - (let* ((s4-0 (-> obj root-override)) + (let* ((s4-0 (-> obj root)) (v1-1 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s4-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -540,9 +540,9 @@ ) (when *traffic-manager* (let ((v1-5 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> v1-5 sphere quad) (-> self root-override trans quad)) + (set! (-> v1-5 sphere quad) (-> self root trans quad)) (set! (-> v1-5 sphere r) 40960.0) - (set! (-> v1-5 velocity quad) (-> self root-override transv quad)) + (set! (-> v1-5 velocity quad) (-> self root transv quad)) (set! (-> v1-5 notify-radius) 122880.0) (set! (-> v1-5 danger-level) 1.0) (set! (-> v1-5 decay-rate) 0.0) @@ -558,7 +558,7 @@ (defun guard-shot-move ((arg0 guard-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -569,7 +569,7 @@ ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (go (method-of-object arg0 impact)) @@ -581,7 +581,7 @@ (defmethod made-impact? guard-shot ((obj guard-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a0-1 t1-0)) @@ -593,7 +593,7 @@ (set! (-> a0-1 action-mask) (collide-action solid)) ) (when (fill-and-try-snap-to-surface v1-0 (-> v1-0 transv) -6144.0 0.0 -2048.0 t1-0) - (if (logtest? (-> obj root-override status) (collide-status touch-actor)) + (if (logtest? (-> obj root status) (collide-status touch-actor)) (set! (-> obj hit-actor?) #t) ) #t @@ -645,9 +645,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -657,14 +657,14 @@ (defmethod init-proj-settings! guard-shot ((obj guard-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'guard-shot) (set! (-> obj max-speed) 819200.0) (set! (-> obj move) guard-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.5)) (logior! (-> obj options) (projectile-options account-for-target-velocity)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -721,14 +721,14 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (set-collide-with! - (-> obj root-override) + (-> obj root) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) - (set-collide-as! (-> obj root-override) (collide-spec enemy)) - (set! (-> obj root-override pat-ignore-mask) + (set-collide-as! (-> obj root) (collide-spec enemy)) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -755,7 +755,7 @@ (defmethod spawn-impact-particles vehicle-grenade ((obj vehicle-grenade)) "Spawns associated particles with the projectile if applicable" - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) (ja-post) 0 (none) @@ -763,7 +763,7 @@ (defmethod noop vehicle-grenade ((obj vehicle-grenade)) "Does nothing" - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) 0 (none) ) @@ -771,7 +771,7 @@ ;; WARN: Return type mismatch sound-id vs none. (defmethod play-impact-sound! vehicle-grenade ((obj vehicle-grenade)) "Plays impact sound" - (let* ((a2-0 (-> obj root-override)) + (let* ((a2-0 (-> obj root)) (v1-0 (-> a2-0 status)) ) (if (logtest? v1-0 (collide-status touch-surface)) @@ -812,8 +812,8 @@ ) :code (behavior () (let ((gp-0 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-0 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-0 spawn-quat) (-> self root-override quat)) + (set! (-> gp-0 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-0 spawn-quat) (-> self root quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 group) (-> *part-group-id-table* 76)) (set! (-> gp-0 collide-with) @@ -823,7 +823,7 @@ (explosion-spawn self explosion gp-0) ) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-11 (-> self root-override root-prim))) + (let ((v1-11 (-> self root root-prim))) (set! (-> v1-11 prim-core collide-as) (collide-spec)) (set! (-> v1-11 prim-core collide-with) (collide-spec)) ) @@ -938,7 +938,7 @@ (defmethod made-impact? guard-lazer-shot ((obj guard-lazer-shot)) "TODO - queries the collision cache, return true/false" - (let ((gp-0 (-> obj root-override)) + (let ((gp-0 (-> obj root)) (s5-0 (new 'stack-no-clear 'collide-query)) ) (let ((v1-0 s5-0)) @@ -963,7 +963,7 @@ (defun guard-lazer-shot-move ((arg0 guard-lazer-shot)) (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) 0 @@ -1008,9 +1008,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -1023,9 +1023,9 @@ (set! (-> obj max-speed) 131072.0) (set! (-> obj timeout) (seconds 0.125)) (set! (-> obj move) guard-lazer-shot-move) - (set! (-> obj root-override dynam gravity y) 0.0) - (set! (-> obj root-override dynam gravity-length) 0.0) - (set! (-> obj root-override dynam gravity-max) 0.0) + (set! (-> obj root dynam gravity y) 0.0) + (set! (-> obj root dynam gravity-length) 0.0) + (set! (-> obj root dynam gravity-max) 0.0) 0 (none) ) diff --git a/goal_src/jak2/levels/common/metalhead-projectile.gc b/goal_src/jak2/levels/common/metalhead-projectile.gc index 54f494a3af..fd057dcf9c 100644 --- a/goal_src/jak2/levels/common/metalhead-projectile.gc +++ b/goal_src/jak2/levels/common/metalhead-projectile.gc @@ -345,7 +345,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -407,7 +407,7 @@ (defmethod spawn-shell-particles metalhead-shot ((obj metalhead-shot)) "TODO - confirm" - (let* ((s5-0 (-> obj root-override)) + (let* ((s5-0 (-> obj root)) (v1-2 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s5-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -463,7 +463,7 @@ (let ((gp-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> gp-0 command) (sound-command set-param)) (set! (-> gp-0 id) (-> obj sound-id)) - (let ((a1-1 (-> obj root-override trans))) + (let ((a1-1 (-> obj root trans))) (let ((s5-1 pp)) (when (= a1-1 #t) (if (and s5-1 (type? s5-1 process-drawable) (nonzero? (-> (the-as process-drawable s5-1) root))) @@ -487,7 +487,7 @@ (defun metalhead-shot-move ((arg0 metalhead-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -549,9 +549,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -559,12 +559,12 @@ (defmethod init-proj-settings! metalhead-shot ((obj metalhead-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'metalhead-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalhead-shot-move) (set! (-> obj timeout) (seconds 0.767)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -702,7 +702,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -727,7 +727,7 @@ (sound-play "gren-shot-hit") ) (((projectile-options lose-altitude proj-options-2)) - (sound-play "gren-missile" :id (-> obj sound-id) :position (-> obj root-override trans)) + (sound-play "gren-missile" :id (-> obj sound-id) :position (-> obj root trans)) ) ) 0 @@ -750,7 +750,7 @@ (a1-3 (new 'stack 'collide-query)) ) 0.0 - (set! (-> a1-3 start-pos quad) (-> self root-override root-prim prim-core world-sphere quad)) + (set! (-> a1-3 start-pos quad) (-> self root root-prim prim-core world-sphere quad)) (vector-! (-> a1-3 move-dist) (the-as vector (-> (the-as collide-shape s4-1) root-prim prim-core)) @@ -761,7 +761,7 @@ (set! (-> v1-6 collide-with) (collide-spec backgnd)) (set! (-> v1-6 ignore-process0) self) (set! (-> v1-6 ignore-process1) (ppointer->process (-> self parent))) - (set! (-> v1-6 ignore-pat) (-> self root-override pat-ignore-mask)) + (set! (-> v1-6 ignore-pat) (-> self root pat-ignore-mask)) (set! (-> v1-6 action-mask) (collide-action solid)) ) (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-3) 0.0) @@ -790,7 +790,7 @@ ) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 local-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core world-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core collide-with) @@ -798,15 +798,15 @@ ) (set! (-> v1-1 prim-core collide-as) (collide-spec enemy)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (suspend) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -829,21 +829,21 @@ (defmethod spawn-impact-particles metalhead-grenade-shot ((obj metalhead-grenade-shot)) "Spawns associated particles with the projectile if applicable" - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) 0 (none) ) (defun gren-canister-move ((arg0 metalhead-grenade-shot)) - (quaternion*! (-> arg0 root-override quat) (-> arg0 root-override quat) (-> arg0 tumble-quat)) + (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> arg0 tumble-quat)) (projectile-move-fill-all-dirs arg0) (let ((s5-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> arg0 root-override) s5-0 (collide-action solid semi-solid)) - (if (and (logtest? (-> s5-0 flags) (water-flags active)) (< (-> arg0 root-override trans y) (-> s5-0 trans y))) + (water-info-init! (-> arg0 root) s5-0 (collide-action solid semi-solid)) + (if (and (logtest? (-> s5-0 flags) (water-flags active)) (< (-> arg0 root trans y) (-> s5-0 trans y))) (go (method-of-object arg0 impact)) ) ) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) 0 @@ -898,9 +898,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -915,9 +915,9 @@ (set! (-> obj timeout) (seconds 4)) (set! (-> obj update-velocity) projectile-update-velocity-add-gravity) (set! (-> obj move) gren-canister-move) - (set! (-> obj root-override dynam gravity y) 102400.0) - (set! (-> obj root-override dynam gravity-length) 102400.0) - (set! (-> obj root-override dynam gravity-max) 102400.0) + (set! (-> obj root dynam gravity y) 102400.0) + (set! (-> obj root dynam gravity-length) 102400.0) + (set! (-> obj root dynam gravity-max) 102400.0) (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> obj tumble-quat) 1.0 0.0 0.0 f0-5) ) diff --git a/goal_src/jak2/levels/common/races/race-h.gc b/goal_src/jak2/levels/common/races/race-h.gc index 7464edccf3..1820681cc9 100644 --- a/goal_src/jak2/levels/common/races/race-h.gc +++ b/goal_src/jak2/levels/common/races/race-h.gc @@ -7,6 +7,60 @@ (declare-type race-state structure) + +(defenum racer-info-flags + :bitfield #t + :type uint8 + (hide-in-scene) + ) + +(defenum race-info-flags + :bitfield #t + :type uint8 + (city-race) + (pidax) + (complete-immediately) + (retryable) + (borrow) + (bbush) + (show-tutorial) + ) + +(defenum race-flags + :bitfield #t + :type uint8 + (begun) + (pidax) ;; verify + (ready) + (sleep) + ) + +(defenum racer-flags + :bitfield #t + :type uint8 + (in-race) + (finished) + (dead) + (racerflag-3) + (racerflag-4) + (saved-score) + (on-track) + (unknown) + ) + +(defenum race-state-enum + :type uint8 + (idle) + (player-get-on) + (player-set-pos) + (countdown-scene-start) + (countdown-scene) + (countdown-start) + (countdown) + (active) + (all-dead) + ) + ;; DECOMP BEGINS (deftype race-turbo-pad (structure) @@ -32,10 +86,10 @@ (deftype race-racer-info (structure) - ((rider uint8 :offset-assert 0) - (vehicle uint8 :offset-assert 1) - (flags uint8 :offset-assert 2) - (seek-offset int8 :offset-assert 3) + ((rider uint8 :offset-assert 0) + (vehicle uint8 :offset-assert 1) + (flags racer-info-flags :offset-assert 2) + (seek-offset int8 :offset-assert 3) ) :method-count-assert 9 :size-assert #x4 @@ -46,7 +100,7 @@ (deftype race-info (basic) ((race-mesh-name string :offset-assert 4) (path-group-name string :offset-assert 8) - (task-node uint16 :offset-assert 12) + (task-node game-task-node :offset-assert 12) (mesh race-mesh :offset-assert 16) (ai-min-speed-factor float :offset-assert 20) (ai-max-speed-factor float :offset-assert 24) @@ -56,7 +110,7 @@ (finish-sphere sphere :inline :offset-assert 64) (finish-dir vector :inline :offset-assert 80) (player-intro-pos vector :inline :offset-assert 96) - (flags uint8 :offset-assert 112) + (flags race-info-flags :offset-assert 112) (score uint8 :offset-assert 113) (lap-count int8 :offset-assert 114) (racer-count int8 :offset-assert 115) @@ -73,8 +127,8 @@ (manager handle :offset-assert 144) (manager-handle-init-hack basic :offset 144) (hatch-actor-name string :offset-assert 152) - (countdown-scene basic :offset-assert 156) - (complete-continue basic :offset-assert 160) + (countdown-scene string :offset-assert 156) + (complete-continue string :offset-assert 160) (start-camera string :offset-assert 164) (go-speech uint16 :offset-assert 168) ) @@ -82,36 +136,36 @@ :size-assert #xaa :flag-assert #xa000000aa (:methods - (race-info-method-9 (_type_) none 9) + (initialize-mesh (_type_) none 9) ) ) (deftype racer-state (structure) - ((position vector :inline :offset-assert 0) - (racer handle :offset-assert 16) - (flags uint8 :offset-assert 24) - (rank int8 :offset-assert 25) - (finish-count int8 :offset-assert 26) - (lap-count int8 :offset-assert 27) - (lap-quadrant int8 :offset-assert 28) - (rider uint8 :offset-assert 29) - (lap-distance float :offset-assert 32) - (lap-distance-prev float :offset-assert 36) - (pos float :offset-assert 40) - (target-pos-offset float :offset-assert 44) - (speed-factor float :offset-assert 48) - (finish-time uint32 :offset-assert 52) - (lap-start uint32 :offset-assert 56) - (best-lap-time uint32 :offset-assert 60) - (lap-time-array float 5 :offset-assert 64) - (start-position vector :inline :offset-assert 96) + ((position vector :inline :offset-assert 0) + (racer handle :offset-assert 16) + (flags racer-flags :offset-assert 24) + (rank int8 :offset-assert 25) + (finish-count int8 :offset-assert 26) + (lap-count int8 :offset-assert 27) + (lap-quadrant int8 :offset-assert 28) + (rider uint8 :offset-assert 29) + (lap-distance float :offset-assert 32) + (lap-distance-prev float :offset-assert 36) + (pos float :offset-assert 40) + (target-pos-offset float :offset-assert 44) + (speed-factor float :offset-assert 48) + (finish-time uint32 :offset-assert 52) + (lap-start uint32 :offset-assert 56) + (best-lap-time uint32 :offset-assert 60) + (lap-time-array float 5 :offset-assert 64) + (start-position vector :inline :offset-assert 96) ) :method-count-assert 14 :size-assert #x70 :flag-assert #xe00000070 (:methods - (racer-state-method-9 (_type_ race-state) none 9) + (update-lap-distance (_type_ race-state) none 9) (begin-lap (_type_ race-state) none 10) (end-lap (_type_ race-state) none 11) (print-laps (_type_ race-state string) none 12) @@ -121,29 +175,29 @@ (deftype race-state (structure) - ((info race-info :offset-assert 0) - (flags uint8 :offset-assert 4) - (state uint8 :offset-assert 5) - (racer-count int8 :offset-assert 6) - (finished-count int8 :offset-assert 7) - (i-player int8 :offset-assert 8) - (i-countdown int8 :offset-assert 9) - (manager handle :offset-assert 16) - (scene-player handle :offset-assert 24) - (race-signal handle :offset-assert 32) - (arrow handle :offset-assert 40) - (hud-timer handle :offset-assert 48) - (hud-lap-counter handle :offset-assert 56) - (hud-turbo-counter handle :offset-assert 64) - (hud-position handle :offset-assert 72) - (current-time uint32 :offset-assert 80) - (countdown-start-time uint32 :offset-assert 84) - (race-start-time uint32 :offset-assert 88) - (rankings int8 10 :offset-assert 92) - (target-pos float :offset-assert 104) - (suck-factor float :offset-assert 108) - (racer-array racer-state 10 :inline :offset-assert 112) - (player-intro-curve cubic-curve :inline :offset-assert 1232) + ((info race-info :offset-assert 0) + (flags race-flags :offset-assert 4) + (state race-state-enum :offset-assert 5) + (racer-count int8 :offset-assert 6) + (finished-count int8 :offset-assert 7) + (i-player int8 :offset-assert 8) + (i-countdown int8 :offset-assert 9) + (manager handle :offset-assert 16) + (scene-player handle :offset-assert 24) + (race-signal handle :offset-assert 32) + (arrow handle :offset-assert 40) + (hud-timer handle :offset-assert 48) + (hud-lap-counter handle :offset-assert 56) + (hud-turbo-counter handle :offset-assert 64) + (hud-position handle :offset-assert 72) + (current-time uint32 :offset-assert 80) + (countdown-start-time uint32 :offset-assert 84) + (race-start-time uint32 :offset-assert 88) + (rankings int8 10 :offset-assert 92) + (target-pos float :offset-assert 104) + (suck-factor float :offset-assert 108) + (racer-array racer-state 10 :inline :offset-assert 112) + (player-intro-curve cubic-curve :inline :offset-assert 1232) ) :method-count-assert 19 :size-assert #x510 @@ -151,14 +205,14 @@ (:methods (init-racers! (_type_ process-drawable) none 9) (begin-race (_type_) none 10) - (race-state-method-11 (_type_) none 11) - (race-state-method-12 (_type_) none 12) - (race-state-method-13 (_type_) none 13) - (race-state-method-14 (_type_) none 14) - (race-state-method-15 (_type_) none 15) + (update (_type_) none 11) + (update-rankings (_type_) none 12) + (debug-print-rankings (_type_) none 13) + (update-racers (_type_) none 14) + (spawn-race-signal (_type_) none 15) (initialize (_type_ process race-info) none 16) - (race-state-method-17 (_type_) none 17) - (race-state-method-18 (_type_) none 18) + (set-speech-tables! (_type_) none 17) + (setup-race (_type_) none 18) ) ) @@ -181,14 +235,14 @@ (win () _type_ :state 17) (lose () _type_ :state 18) (die () _type_ :state 19) - (race-manager-method-20 (_type_) none 20) + (update (_type_) int 20) (initialize-state (_type_) none 21) (race-manager-method-22 (_type_) none 22) - (race-manager-method-23 (_type_) none 23) - (race-manager-method-24 (_type_) none 24) - (race-manager-method-25 (_type_) none 25) - (race-manager-method-26 (_type_ float) none 26) - (race-manager-method-27 (_type_) none 27) + (initialize-race-state (_type_) none 23) + (draw-message-continue (_type_) none 24) + (draw-message-retry (_type_) none 25) + (save-score (_type_ float) none 26) + (stop-speech (_type_) none 27) ) ) diff --git a/goal_src/jak2/levels/common/races/race-info.gc b/goal_src/jak2/levels/common/races/race-info.gc index 6ba2776cc4..51d71623e2 100644 --- a/goal_src/jak2/levels/common/races/race-info.gc +++ b/goal_src/jak2/levels/common/races/race-info.gc @@ -12,7 +12,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kierac" - :task-node #x88 + :task-node (game-task-node stadium-race-class3-race) :ai-min-speed-factor 0.75 :ai-max-speed-factor 0.95 :ai-spread-factor 0.03 @@ -20,12 +20,12 @@ :start-dir (new 'static 'vector :x 0.6112508 :z 0.791437 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x 242892.8 :y 46284.8 :z -2453913.5 :w 1.0) - :flags #x50 + :flags (race-info-flags borrow show-tutorial) :score #xd :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xc - :decision-point-count #x6 + :racer-count 8 + :turbo-pad-count 12 + :decision-point-count 6 :safe-paths #x8 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 342016.0 :y -6553.6 :z -2082816.0 :w 1.0)) @@ -71,7 +71,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kierab" - :task-node #xb6 + :task-node (game-task-node stadium-race-class2-race) :ai-min-speed-factor 0.85 :ai-max-speed-factor 1.0 :ai-spread-factor 0.03 @@ -79,13 +79,13 @@ :start-dir (new 'static 'vector :x 1.0 :z -0.00000004371139 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x -347750.4 :y 46284.8 :z -2706227.2 :w 1.0) - :flags #x12 + :flags (race-info-flags pidax borrow) :score #xc :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xc + :racer-count 8 + :turbo-pad-count 12 :map-index 1 - :decision-point-count #x6 + :decision-point-count 6 :safe-paths #x81 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 298188.8 :y -21708.8 :z -2598092.8 :w 1.0)) @@ -131,7 +131,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kieraa" - :task-node #xd2 + :task-node (game-task-node stadium-race-class1-race) :ai-min-speed-factor 0.9 :ai-max-speed-factor 1.0 :ai-spread-factor 0.03 @@ -139,13 +139,13 @@ :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x 52715.52 :y 46284.8 :z -2615705.5 :w 1.0) - :flags #x10 + :flags (race-info-flags borrow) :score #xb :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xf + :racer-count 8 + :turbo-pad-count 15 :map-index 2 - :decision-point-count #x9 + :decision-point-count 9 :safe-paths #xe0 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 15 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 410419.2 :y -16384.0 :z -2307686.5 :w 1.0)) @@ -170,8 +170,8 @@ (new 'static 'race-racer-info :rider #x5 :vehicle #x3) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset -1) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset -2) - (new 'static 'race-racer-info :rider #x2 :vehicle #x4 :flags #x1 :seek-offset 3) - (new 'static 'race-racer-info :vehicle #x3 :flags #x1) + (new 'static 'race-racer-info :rider #x2 :vehicle #x4 :flags (racer-info-flags hide-in-scene) :seek-offset 3) + (new 'static 'race-racer-info :vehicle #x3 :flags (racer-info-flags hide-in-scene)) (new 'static 'race-racer-info :rider #x8 :vehicle #x3 :seek-offset -3) ) :decision-point-array (new 'static 'inline-array race-decision-point 9 @@ -198,7 +198,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "errol" - :task-node #xbd + :task-node (game-task-node city-errol-challenge-race) :ai-min-speed-factor 0.75 :ai-max-speed-factor 1.0 :ai-spread-factor 0.007 @@ -206,7 +206,7 @@ :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x -209592.31 :y 42639.36 :z 5495972.0 :w 1.0) - :flags #x5 + :flags (race-info-flags city-race complete-immediately) :score #xf :lap-count 1 :racer-count 2 @@ -228,7 +228,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kierac" - :task-node #x139 + :task-node (game-task-node stadium-burning-bush-race-class3-resolution) :ai-min-speed-factor 0.95 :ai-max-speed-factor 1.0 :ai-spread-factor 0.03 @@ -236,12 +236,12 @@ :start-dir (new 'static 'vector :x 0.6112508 :z 0.791437 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x 242892.8 :y 46284.8 :z -2453913.5 :w 1.0) - :flags #x38 + :flags (race-info-flags retryable borrow bbush) :score #xd :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xc - :decision-point-count #x6 + :racer-count 8 + :turbo-pad-count 12 + :decision-point-count 6 :safe-paths #x8 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 342016.0 :y -6553.6 :z -2082816.0 :w 1.0)) @@ -258,8 +258,8 @@ (new 'static 'race-turbo-pad :position (new 'static 'vector :x -346931.2 :y -155238.4 :z -1053900.8 :w 1.0)) ) :racer-array (new 'static 'inline-array race-racer-info 8 - (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset #x7) - (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset #x6) + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 3) @@ -287,7 +287,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kierab" - :task-node #x13b + :task-node (game-task-node stadium-burning-bush-race-class2-resolution) :ai-min-speed-factor 0.95 :ai-max-speed-factor 1.0 :ai-spread-factor 0.03 @@ -295,13 +295,13 @@ :start-dir (new 'static 'vector :x 1.0 :z -0.00000004371139 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x -347750.4 :y 46284.8 :z -2706227.2 :w 1.0) - :flags #x38 + :flags (race-info-flags retryable borrow bbush) :score #xc :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xc + :racer-count 8 + :turbo-pad-count 12 :map-index 1 - :decision-point-count #x6 + :decision-point-count 6 :safe-paths #x81 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 298188.8 :y -21708.8 :z -2598092.8 :w 1.0)) @@ -318,8 +318,8 @@ (new 'static 'race-turbo-pad :position (new 'static 'vector :x -809779.2 :y -35635.2 :z -2396569.5 :w 1.0)) ) :racer-array (new 'static 'inline-array race-racer-info 8 - (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset #x7) - (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset #x6) + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 3) @@ -347,7 +347,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kieraa" - :task-node #x13d + :task-node (game-task-node stadium-burning-bush-race-class1-resolution) :ai-min-speed-factor 0.95 :ai-max-speed-factor 1.0 :ai-spread-factor 0.03 @@ -355,13 +355,13 @@ :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x 52715.52 :y 46284.8 :z -2615705.5 :w 1.0) - :flags #x38 + :flags (race-info-flags retryable borrow bbush) :score #xb :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xf + :racer-count 8 + :turbo-pad-count 15 :map-index 2 - :decision-point-count #x9 + :decision-point-count 9 :safe-paths #xe0 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 15 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 410419.2 :y -16384.0 :z -2307686.5 :w 1.0)) @@ -381,8 +381,8 @@ (new 'static 'race-turbo-pad :position (new 'static 'vector :x -707379.2 :y -23756.8 :z -2597683.2 :w 1.0)) ) :racer-array (new 'static 'inline-array race-racer-info 8 - (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset #x7) - (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset #x6) + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 3) @@ -413,7 +413,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "errol" - :task-node #x133 + :task-node (game-task-node city-burning-bush-race-errol-resolution) :ai-min-speed-factor 0.9 :ai-max-speed-factor 1.0 :ai-spread-factor 0.007 @@ -421,7 +421,7 @@ :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x -209592.31 :y 42639.36 :z 5495972.0 :w 1.0) - :flags #x29 + :flags (race-info-flags city-race retryable bbush) :score #xf :lap-count 1 :racer-count 2 @@ -443,7 +443,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "bbushport" - :task-node #x135 + :task-node (game-task-node city-burning-bush-race-port-resolution) :ai-min-speed-factor 0.95 :ai-max-speed-factor 1.0 :ai-spread-factor 0.03 @@ -451,7 +451,7 @@ :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x -209592.31 :y 42639.36 :z 5495972.0 :w 1.0) - :flags #x29 + :flags (race-info-flags city-race retryable bbush) :score #xe :lap-count 3 :racer-count 2 @@ -473,7 +473,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kieracr" - :task-node #x13f + :task-node (game-task-node stadium-burning-bush-race-class3-r-resolution) :ai-min-speed-factor 1.0 :ai-max-speed-factor 1.01 :ai-spread-factor 0.03 @@ -481,11 +481,11 @@ :start-dir (new 'static 'vector :x 0.6112508 :z 0.791437 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x 242892.8 :y 46284.8 :z -2453913.5 :w 1.0) - :flags #x38 + :flags (race-info-flags retryable borrow bbush) :score #x12 :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xc + :racer-count 8 + :turbo-pad-count 12 :decision-point-count 5 :safe-paths #x2 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 @@ -503,8 +503,8 @@ (new 'static 'race-turbo-pad :position (new 'static 'vector :x -346931.2 :y -155238.4 :z -1053900.8 :w 1.0)) ) :racer-array (new 'static 'inline-array race-racer-info 8 - (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset #x7) - (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset #x6) + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 1) @@ -531,7 +531,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kierabr" - :task-node #x141 + :task-node (game-task-node stadium-burning-bush-race-class2-r-resolution) :ai-min-speed-factor 1.0 :ai-max-speed-factor 1.01 :ai-spread-factor 0.03 @@ -539,11 +539,11 @@ :start-dir (new 'static 'vector :x 1.0 :z -0.00000004371139 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x -347750.4 :y 46284.8 :z -2706227.2 :w 1.0) - :flags #x38 + :flags (race-info-flags retryable borrow bbush) :score #x11 :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xc + :racer-count 8 + :turbo-pad-count 12 :map-index 1 :decision-point-count 5 :safe-paths #x24 @@ -562,8 +562,8 @@ (new 'static 'race-turbo-pad :position (new 'static 'vector :x -809779.2 :y -35635.2 :z -2396569.5 :w 1.0)) ) :racer-array (new 'static 'inline-array race-racer-info 8 - (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset #x7) - (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset #x6) + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 1) @@ -590,7 +590,7 @@ (new 'static 'race-info :race-mesh-name "race-mesh-1" :path-group-name "kieraar" - :task-node #x143 + :task-node (game-task-node stadium-burning-bush-race-class1-r-resolution) :ai-min-speed-factor 1.0 :ai-max-speed-factor 1.05 :ai-spread-factor 0.03 @@ -598,13 +598,13 @@ :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) :finish-dir (new 'static 'vector :z 1.0 :w 1.0) :player-intro-pos (new 'static 'vector :x 52715.52 :y 46284.8 :z -2615705.5 :w 1.0) - :flags #x38 + :flags (race-info-flags retryable borrow bbush) :score #x10 :lap-count 5 - :racer-count #x8 - :turbo-pad-count #xf + :racer-count 8 + :turbo-pad-count 15 :map-index 2 - :decision-point-count #x6 + :decision-point-count 6 :safe-paths #x20 :turbo-pad-array (new 'static 'inline-array race-turbo-pad 15 (new 'static 'race-turbo-pad :position (new 'static 'vector :x 410419.2 :y -16384.0 :z -2307686.5 :w 1.0)) @@ -624,8 +624,8 @@ (new 'static 'race-turbo-pad :position (new 'static 'vector :x -707379.2 :y -23756.8 :z -2597683.2 :w 1.0)) ) :racer-array (new 'static 'inline-array race-racer-info 8 - (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset #x7) - (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset #x6) + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 1) @@ -653,52 +653,47 @@ ) ) -(defmethod race-state-method-17 race-state ((obj race-state)) - ;; (speech-control-method-10 *speech-control* 30 "invalid string! (check me!)") - (speech-control-method-10 *speech-control* - 30 - (new 'static 'speech-type-info +(defmethod set-speech-tables! race-state ((obj race-state)) + (speech-table-set! + *speech-control* + (speech-type speech-type-30) + (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 - :list (new 'static 'boxed-array :type string - "jak001" - "jak004" - "jak006" - "jak037" - ) + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "jak001" "jak004" "jak006" "jak037") + ) ) - ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 31 + (speech-type speech-type-31) (new 'static 'speech-type-info :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 32 + (speech-type speech-type-32) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "jak013" "jak033") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 33 + (speech-type speech-type-33) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x1e - :max-delay #x1e + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) :list (new 'static 'boxed-array :type string "ds177" "ds180" @@ -714,14 +709,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 34 + (speech-type speech-type-34) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x1e - :max-delay #x1e + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) :list (new 'static 'boxed-array :type string "ds177" "ds178" @@ -737,25 +732,25 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 35 + (speech-type speech-type-35) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "jak024" "jak026") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 36 + (speech-type speech-type-36) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds174" "ds175" @@ -781,90 +776,90 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 37 + (speech-type speech-type-37) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "jak003" "jak007" "jak008") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 38 + (speech-type speech-type-38) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "jak001" "jak002" "jak003" "jak007") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 39 + (speech-type speech-type-39) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds189" "ds190" "ds173" "ds174" "ds175" "ds176" "ds179") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 40 + (speech-type speech-type-40) (new 'static 'speech-type-info :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds214" "ds215" "ds216") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 41 + (speech-type speech-type-41) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds200") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 42 + (speech-type speech-type-42) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds177" "ds180" "ds183") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 43 + (speech-type speech-type-43) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds177" "ds178" "ds186" "ds193" "ds210" "ds196" "ds197" "ds198") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 44 + (speech-type speech-type-44) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds184" "ds185" @@ -879,14 +874,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 45 + (speech-type speech-type-45) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds174" "ds175" @@ -907,36 +902,36 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 46 + (speech-type speech-type-46) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds181" "ds218") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 47 + (speech-type speech-type-47) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ds213") ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 48 + (speech-type speech-type-48) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ero043" "ero044" @@ -950,14 +945,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 49 + (speech-type speech-type-49) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ero032" "ero033" @@ -971,14 +966,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 50 + (speech-type speech-type-50) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ero077" "ero078" @@ -995,14 +990,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 52 + (speech-type speech-type-52) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ero003" "ero005" @@ -1047,14 +1042,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 53 + (speech-type speech-type-53) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ero001" "ero037" @@ -1087,48 +1082,54 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 54 + (speech-type speech-type-54) (new 'static 'speech-type-info :flags (speech-type-flag random-order) :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "ero040" "ero041" "ero042" "ero069" "ero070") ) ) - (speech-control-method-10 *speech-control* 55 (new 'static 'speech-type-info - :flags (speech-type-flag random-order) - :priority 1 - :min-delay #x12c - :max-delay #x258 - :list (new 'static 'boxed-array :type string - "ero082" - "ero083" - "ero084" - "ero085" - "ero086" - "ero087" - "ero088" - "ero089" - "ero090" - "ero091" - "ero092" - "ero093" - "ero094" - "ero095" - ) - ) - ) - (speech-control-method-10 *speech-control* 56 (new 'static 'speech-type-info - :flags (speech-type-flag random-order) - :priority 1 - :min-delay #x12c - :max-delay #x258 - :list (new 'static 'boxed-array :type string "ero073") - ) - ) + (speech-table-set! + *speech-control* + (speech-type speech-type-55) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero082" + "ero083" + "ero084" + "ero085" + "ero086" + "ero087" + "ero088" + "ero089" + "ero090" + "ero091" + "ero092" + "ero093" + "ero094" + "ero095" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-56) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ero073") + ) + ) 0 (none) ) diff --git a/goal_src/jak2/levels/common/races/race-manager.gc b/goal_src/jak2/levels/common/races/race-manager.gc index 5f42b61869..a65ff4526d 100644 --- a/goal_src/jak2/levels/common/races/race-manager.gc +++ b/goal_src/jak2/levels/common/races/race-manager.gc @@ -5,7 +5,7 @@ ;; name in dgo: race-manager ;; dgos: STD, STC, LERLCHAL, STB, LPRTRACE -(define-extern race-start (function int symbol symbol process)) +(define-extern race-start (function int process symbol process)) (define-extern race-vehicle-entity-hack (function none)) (define-extern start-pilot-recorder (function none)) (declare-type race-bike-a vehicle-city-racer) @@ -60,7 +60,7 @@ ) ) -(defmethod race-info-method-9 race-info ((obj race-info)) +(defmethod initialize-mesh race-info ((obj race-info)) (let ((v1-0 (entity-by-name (-> obj race-mesh-name)))) (cond (v1-0 @@ -94,7 +94,7 @@ (f1-2 163840.0) ) (if (< f0-18 (* f1-2 f1-2)) - (logior! (-> gp-0 flags) 1) + (logior! (-> gp-0 flags) (race-mesh-flags racemeshflag-0)) ) ) ) @@ -112,7 +112,7 @@ (defmethod begin-lap racer-state ((obj racer-state) (arg0 race-state)) (format #t "begin-lap racer ~d~%" (-> obj rank)) (set! (-> obj lap-start) (-> arg0 current-time)) - (logior! (-> obj flags) 1) + (logior! (-> obj flags) (racer-flags in-race)) 0 (none) ) @@ -134,7 +134,7 @@ (set! (-> obj lap-time-array 0) (the-as float v1-5)) ) (when (= (-> obj lap-count) (-> arg0 info lap-count)) - (logior! (-> obj flags) 2) + (logior! (-> obj flags) (racer-flags finished)) (set! (-> obj finish-time) (-> arg0 current-time)) (set! (-> obj finish-count) (-> arg0 finished-count)) (+! (-> arg0 finished-count) 1) @@ -146,27 +146,15 @@ (cond ((zero? v1-28) (format #t "racer-state::end-lap: play speech race-jak-win~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-1 speech-type-2 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-38)) ) ((= v1-28 1) (format #t "racer-state::end-lap: play speech race-daxter-win~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-0 speech-type-1 speech-type-2 speech-type-3 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-47)) ) ((= v1-28 2) (format #t "racer-state::end-lap: play speech race-errol-win~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-0 speech-type-1 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-55)) ) ) ) @@ -175,11 +163,7 @@ (case (-> obj rider) ((2) (format #t "racer-state::end-lap: play speech race-errol-lose~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-3 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-56)) ) ) ) @@ -193,23 +177,15 @@ (cond ((zero? v1-47) (format #t "racer-state::end-lap: play speech race-jak-last-lap~%") - (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-5)) + (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-32)) ) ((= v1-47 1) (format #t "racer-state::end-lap: play speech race-daxter-last-lap~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s5-1) - (speech-type speech-type-0 speech-type-3 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-41)) ) ((= v1-47 2) (format #t "racer-state::end-lap: play speech race-errol-last-lap~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s5-1) - (speech-type speech-type-0 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-49)) ) ) ) @@ -218,7 +194,7 @@ (none) ) -(defmethod racer-state-method-9 racer-state ((obj racer-state) (arg0 race-state)) +(defmethod update-lap-distance racer-state ((obj racer-state) (arg0 race-state)) (local-vars (a0-29 float)) (with-pp (rlet ((acc :class vf) @@ -233,10 +209,10 @@ (cond (v1-2 (if (focus-test? (the-as process-focusable v1-2) dead inactive) - (logior! (-> obj flags) 4) + (logior! (-> obj flags) (racer-flags dead)) ) - (set! (-> s5-0 vector 0 quad) (-> (the-as process-focusable v1-2) root-override trans quad)) - (when (not (logtest? (-> obj flags) 6)) + (set! (-> s5-0 vector 0 quad) (-> (the-as process-focusable v1-2) root trans quad)) + (when (not (logtest? (-> obj flags) (racer-flags finished dead))) (let ((s3-0 (new 'stack-no-clear 'race-mesh-slice-query))) (set! (-> s3-0 search-sphere quad) (-> s5-0 vector 0 quad)) (set! (-> s3-0 search-sphere r) 0.0) @@ -245,23 +221,23 @@ (cond ((>= (-> s3-0 slice-id) 0) (set! (-> obj lap-distance) (-> s3-0 lap-dist)) - (if (not (logtest? (-> obj flags) 64)) + (if (not (logtest? (-> obj flags) (racer-flags on-track))) (set! (-> obj lap-distance-prev) (-> obj lap-distance)) ) - (logior! (-> obj flags) 64) + (logior! (-> obj flags) (racer-flags on-track)) ) (else - (set! (-> obj flags) (logand -65 (-> obj flags))) + (logclear! (-> obj flags) (racer-flags on-track)) ) ) (cond - ((logtest? (-> arg0 info mesh flags) 1) + ((logtest? (-> arg0 info mesh flags) (race-mesh-flags racemeshflag-0)) (when (>= (-> s3-0 slice-id) 0) (let ((v1-29 (min 3 (the int (* 4.0 (-> s3-0 lap-dist)))))) (when (= v1-29 (logand (+ (-> obj lap-quadrant) 1) 3)) (set! (-> obj lap-quadrant) v1-29) (when (zero? v1-29) - (if (logtest? (-> obj flags) 1) + (if (logtest? (-> obj flags) (racer-flags in-race)) (end-lap obj arg0) (begin-race arg0) ) @@ -271,7 +247,7 @@ ) ) ) - ((logtest? (-> obj flags) 1) + ((logtest? (-> obj flags) (racer-flags in-race)) (let ((v1-39 (new 'stack-no-clear 'vector))) (vector-! (the-as vector (&-> v1-39 x)) (-> obj position) (the-as vector (-> arg0 info finish-sphere))) (.lvf vf1 (&-> (the-as vector (&-> v1-39 x)) quad)) @@ -306,10 +282,10 @@ ) 0 ) - (if (logtest? (-> obj flags) 2) + (if (logtest? (-> obj flags) (racer-flags finished)) (seek! (-> obj speed-factor) 0.9 (* 0.2 (-> pp clock seconds-per-frame))) ) - (when (logtest? (-> obj flags) 1) + (when (logtest? (-> obj flags) (racer-flags in-race)) (dotimes (s3-1 (-> arg0 info decision-point-count)) (let ((v1-70 (-> arg0 info decision-point-array s3-1))) (if (and (< (-> obj lap-distance-prev) (-> v1-70 pos)) (>= (-> obj lap-distance) (-> v1-70 pos))) @@ -322,12 +298,12 @@ (set! (-> obj position quad) (-> s5-0 vector 0 quad)) ) (else - (logior! (-> obj flags) 4) + (logior! (-> obj flags) (racer-flags dead)) ) ) ) ) - (when (logtest? (-> obj flags) 128) + (when (logtest? (-> obj flags) (racer-flags unknown)) ) 0 (none) @@ -341,7 +317,7 @@ (format arg1 "best lap ") (print-time arg1 (the-as time-frame (-> obj best-lap-time))) (format arg1 "~%~%") - (when (logtest? (-> obj flags) 1) + (when (logtest? (-> obj flags) (racer-flags in-race)) (format arg1 "this lap ") (print-time arg1 (the-as time-frame s4-0)) ) @@ -361,7 +337,7 @@ (defmethod init-racer! racer-state ((obj racer-state) (arg0 process-drawable)) (set! (-> obj racer) (process->handle arg0)) (set! (-> obj position quad) (-> arg0 root trans quad)) - (set! (-> obj flags) (the-as uint 128)) + (set! (-> obj flags) (racer-flags unknown)) (set! (-> obj lap-count) 0) (set! (-> obj lap-distance) 0.0) (set! (-> obj lap-quadrant) 3) @@ -388,9 +364,9 @@ (defmethod begin-race race-state ((obj race-state)) (format #t "begin-race~%") - (when (not (logtest? (-> obj flags) 1)) - (logior! (-> obj flags) 1) - (race-state-method-17 obj) + (when (not (logtest? (-> obj flags) (race-flags begun))) + (logior! (-> obj flags) (race-flags begun)) + (set-speech-tables! obj) (send-event (handle->process (-> obj manager)) 'begin-race) (set-setting! 'sound-mode #f 0.0 0) (remove-setting! 'allow-progress) @@ -405,7 +381,7 @@ (ppointer->handle (process-spawn hud-race-lap-counter :init hud-init-by-other :to s5-0)) ) ) - (when (logtest? (-> obj info flags) 16) + (when (logtest? (-> obj info flags) (race-info-flags borrow)) (set! (-> obj hud-turbo-counter) (ppointer->handle (process-spawn hud-race-turbo-counter :init hud-init-by-other :to s5-0)) ) @@ -432,15 +408,15 @@ (none) ) -(defmethod race-state-method-12 race-state ((obj race-state)) +(defmethod update-rankings race-state ((obj race-state)) (let ((v1-0 (new 'stack-no-clear 'array 'float 10))) (dotimes (a0-1 (-> obj racer-count)) (let ((a1-3 (-> obj racer-array a0-1))) (cond - ((logtest? (-> a1-3 flags) 2) + ((logtest? (-> a1-3 flags) (racer-flags finished)) (set! (-> v1-0 a0-1) (the float (- 1000 (-> a1-3 finish-count)))) ) - ((logtest? (-> a1-3 flags) 1) + ((logtest? (-> a1-3 flags) (racer-flags in-race)) (set! (-> v1-0 a0-1) (+ (the float (-> a1-3 lap-count)) (-> a1-3 lap-distance))) ) (else @@ -483,18 +459,18 @@ (none) ) -(defmethod race-state-method-13 race-state ((obj race-state)) +(defmethod debug-print-rankings race-state ((obj race-state)) (dotimes (s5-0 (-> obj racer-count)) (let* ((s4-0 (-> obj rankings s5-0)) (s3-0 (-> obj racer-array s4-0)) ) - (when (not (logtest? (-> s3-0 flags) 4)) + (when (not (logtest? (-> s3-0 flags) (racer-flags dead))) (if (= s4-0 (-> obj i-player)) (format *stdcon* ">>>") (format *stdcon* " ") ) (cond - ((logtest? (-> s3-0 flags) 2) + ((logtest? (-> s3-0 flags) (racer-flags finished)) (format *stdcon* " #~d finished " (+ s4-0 1)) (cond ((zero? s5-0) @@ -526,29 +502,29 @@ (none) ) -(defmethod race-state-method-14 race-state ((obj race-state)) +(defmethod update-racers race-state ((obj race-state)) (let ((s5-0 0)) (dotimes (s4-0 (-> obj racer-count)) (let ((s3-0 (-> obj racer-array s4-0))) - (racer-state-method-9 s3-0 obj) - (if (not (logtest? (-> s3-0 flags) 6)) + (update-lap-distance s3-0 obj) + (if (not (logtest? (-> s3-0 flags) (racer-flags finished dead))) (+! s5-0 1) ) ) 0 ) (if (zero? s5-0) - (set! (-> obj state) (the-as uint 8)) + (set! (-> obj state) (race-state-enum all-dead)) ) ) 0 (none) ) -(defmethod race-state-method-18 race-state ((obj race-state)) +(defmethod setup-race race-state ((obj race-state)) (set-setting! 'allow-progress #f 0.0 0) (send-event (handle->process (-> obj arrow)) 'leave) - (when (logtest? (-> obj info flags) 16) + (when (logtest? (-> obj info flags) (race-info-flags borrow)) (send-event *traffic-manager* 'set-target-level 0) (send-event *traffic-manager* 'set-alert-level 0) ) @@ -584,188 +560,173 @@ (none) ) -(defmethod race-state-method-11 race-state ((obj race-state)) +(defmethod update race-state ((obj race-state)) (set! (-> obj current-time) (the-as uint (current-time))) - (let ((v1-2 (-> obj state))) - (cond - ((zero? v1-2) - (let ((v1-3 (the-as object #t))) - (when (not (logtest? (-> obj flags) 4)) - (dotimes (s5-0 (-> obj racer-count)) - (let ((a0-7 (-> obj racer-array s5-0))) - (set! v1-3 (and v1-3 (send-event (handle->process (-> a0-7 racer)) 'test-ready))) - ) + (case (-> obj state) + (((race-state-enum idle)) + (let ((v1-3 (the-as object #t))) + (when (not (logtest? (-> obj flags) (race-flags ready))) + (dotimes (s5-0 (-> obj racer-count)) + (let ((a0-7 (-> obj racer-array s5-0))) + (set! v1-3 (and v1-3 (send-event (handle->process (-> a0-7 racer)) 'test-ready))) ) ) - (when (and v1-3 (not (logtest? (-> obj info flags) 1))) - (race-state-method-15 obj) - (set! v1-3 (handle->process (-> obj race-signal))) - ) - (when v1-3 - (race-state-method-18 obj) - (set! (-> obj state) (the-as uint (if (or (logtest? (-> obj flags) 2) (logtest? (-> obj info flags) 1)) - 5 - 1 - ) - ) - ) - ) + ) + (when (and v1-3 (not (logtest? (-> obj info flags) (race-info-flags city-race)))) + (spawn-race-signal obj) + (set! v1-3 (handle->process (-> obj race-signal))) + ) + (when v1-3 + (setup-race obj) + (set! (-> obj state) + (if (or (logtest? (-> obj flags) (race-flags pidax)) (logtest? (-> obj info flags) (race-info-flags city-race))) + (race-state-enum countdown-start) + (race-state-enum player-get-on) + ) + ) ) ) - ((= v1-2 1) - (let* ((f30-0 (* 0.0033333334 (the float (- (-> obj current-time) (-> obj countdown-start-time))))) - (s4-0 (handle->process (-> obj racer-array (-> obj i-player) racer))) - (s5-1 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) - (cond - ((< f30-0 1.0) - (when s5-1 - (cubic-curve-method-10 - (-> obj player-intro-curve) - (-> (the-as process-focusable s5-1) root-override trans) - f30-0 - ) - (cubic-curve-method-11 - (-> obj player-intro-curve) - (-> (the-as process-focusable s5-1) root-override transv) - f30-0 - ) - (when (< 0.4 f30-0) - (when (-> obj info start-camera) - (set-setting! 'entity-name (-> obj info start-camera) 0.0 0) - (if (logtest? (-> obj info flags) 64) - (talker-spawn-func (-> *talker-speech* 377) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (((race-state-enum player-get-on)) + (let* ((f30-0 (* 0.0033333334 (the float (- (-> obj current-time) (-> obj countdown-start-time))))) + (s4-0 (handle->process (-> obj racer-array (-> obj i-player) racer))) + (s5-1 (if (type? s4-0 process-focusable) + s4-0 ) ) - ) - ) ) - (else - (set! (-> obj state) (the-as uint 2)) - ) - ) - ) - ) - ((= v1-2 2) - (let* ((s4-2 (handle->process (-> obj racer-array (-> obj i-player) racer))) - (s5-3 (if (type? s4-2 process-focusable) - s4-2 - ) - ) - ) - (when s5-3 - (cubic-curve-method-10 - (-> obj player-intro-curve) - (-> (the-as process-focusable s5-3) root-override trans) - 1.0 - ) - (vector-reset! (-> (the-as process-focusable s5-3) root-override transv)) - ) - ) - (let ((a0-48 (-> obj info hatch-actor-name))) - (when a0-48 - (let ((a0-49 (process-by-name a0-48 *active-pool*))) - (send-event a0-49 'close) - ) - ) - ) - (set! (-> obj countdown-start-time) (-> obj current-time)) - (set! (-> obj state) (the-as uint (if (-> obj info countdown-scene) - 3 - 5 - ) - ) - ) - ) - ((= v1-2 3) - (when (>= (the-as uint (- (current-time) (the-as int (-> obj countdown-start-time)))) (the-as uint 300)) - (set! (-> obj state) (the-as uint 4)) - (set! (-> obj scene-player) - (ppointer->handle (process-spawn scene-player :init scene-player-init (-> obj info countdown-scene) #t #f)) - ) - ) - ) - ((= v1-2 4) (cond - ((handle->process (-> obj scene-player)) - (let ((s5-5 (-> obj info))) - (dotimes (s4-3 (-> s5-5 racer-count)) - (let ((v1-95 (-> obj racer-array s4-3))) - (if (logtest? (-> s5-5 racer-array s4-3 flags) 1) - (send-event (handle->process (-> v1-95 racer)) 'hide) + ((< f30-0 1.0) + (when s5-1 + (cubic-curve-method-10 (-> obj player-intro-curve) (-> (the-as process-focusable s5-1) root trans) f30-0) + (cubic-curve-method-11 (-> obj player-intro-curve) (-> (the-as process-focusable s5-1) root transv) f30-0) + (when (< 0.4 f30-0) + (when (-> obj info start-camera) + (set-setting! 'entity-name (-> obj info start-camera) 0.0 0) + (if (logtest? (-> obj info flags) (race-info-flags show-tutorial)) + (talker-spawn-func (-> *talker-speech* 377) *entity-pool* (target-pos 0) (the-as region #f)) ) ) ) ) ) (else - (let ((s5-6 (-> obj info))) - (dotimes (s4-4 (-> s5-6 racer-count)) - (let ((v1-105 (-> obj racer-array s4-4))) - (if (logtest? (-> s5-6 racer-array s4-4 flags) 1) - (send-event (handle->process (-> v1-105 racer)) 'unhide) - ) - ) - ) - ) - (set! (-> obj state) (the-as uint 5)) + (set! (-> obj state) (race-state-enum player-set-pos)) ) ) ) - ((= v1-2 5) - (set! (-> obj i-countdown) 4) - (set! (-> obj state) (the-as uint 6)) - (set! (-> obj countdown-start-time) (-> obj current-time)) - (remove-setting! 'entity-name) + ) + (((race-state-enum player-set-pos)) + (let* ((s4-2 (handle->process (-> obj racer-array (-> obj i-player) racer))) + (s5-3 (if (type? s4-2 process-focusable) + s4-2 + ) + ) + ) + (when s5-3 + (cubic-curve-method-10 (-> obj player-intro-curve) (-> (the-as process-focusable s5-3) root trans) 1.0) + (vector-reset! (-> (the-as process-focusable s5-3) root transv)) + ) ) - ((= v1-2 6) - (let ((f0-3 3.0)) - (if (logtest? (-> obj info flags) 1) - (set! f0-3 0.2) - ) - (let ((v1-127 (+ (the int (* 300.0 f0-3)) (- (-> obj countdown-start-time) (-> obj current-time))))) - (cond - ((>= v1-127 (the int (* 225.0 f0-3))) - ) - ((>= v1-127 (the int (* 150.0 f0-3))) - (when (!= (-> obj i-countdown) 3) - (set! (-> obj i-countdown) 3) - (send-event (handle->process (-> obj race-signal)) 'count-3) - ) - ) - ((>= v1-127 (the int (* 75.0 f0-3))) - (when (!= (-> obj i-countdown) 2) - (set! (-> obj i-countdown) 2) - (send-event (handle->process (-> obj race-signal)) 'count-2) - ) - ) - ((< (the int (* 0.0 f0-3)) v1-127) - (when (!= (-> obj i-countdown) 1) - (set! (-> obj i-countdown) 1) - (send-event (handle->process (-> obj race-signal)) 'count-1) - ) - ) - (else - (set! (-> obj i-countdown) 0) - (set! (-> obj state) (the-as uint 7)) - (begin-race obj) - ) - ) + (let ((a0-48 (-> obj info hatch-actor-name))) + (when a0-48 + (let ((a0-49 (process-by-name a0-48 *active-pool*))) + (send-event a0-49 'close) ) ) - (race-state-method-14 obj) ) - ((= v1-2 7) - (race-state-method-14 obj) - (race-state-method-12 obj) + (set! (-> obj countdown-start-time) (-> obj current-time)) + (set! (-> obj state) (if (-> obj info countdown-scene) + (race-state-enum countdown-scene-start) + (race-state-enum countdown-start) + ) + ) + ) + (((race-state-enum countdown-scene-start)) + (when (>= (the-as uint (- (current-time) (the-as int (-> obj countdown-start-time)))) (the-as uint 300)) + (set! (-> obj state) (race-state-enum countdown-scene)) + (set! (-> obj scene-player) + (ppointer->handle (process-spawn scene-player :init scene-player-init (-> obj info countdown-scene) #t #f)) + ) ) - ((= v1-2 8) - ) - (else + ) + (((race-state-enum countdown-scene)) + (cond + ((handle->process (-> obj scene-player)) + (let ((s5-5 (-> obj info))) + (dotimes (s4-3 (-> s5-5 racer-count)) + (let ((v1-95 (-> obj racer-array s4-3))) + (if (logtest? (-> s5-5 racer-array s4-3 flags) (racer-info-flags hide-in-scene)) + (send-event (handle->process (-> v1-95 racer)) 'hide) + ) + ) + ) + ) ) + (else + (let ((s5-6 (-> obj info))) + (dotimes (s4-4 (-> s5-6 racer-count)) + (let ((v1-105 (-> obj racer-array s4-4))) + (if (logtest? (-> s5-6 racer-array s4-4 flags) (racer-info-flags hide-in-scene)) + (send-event (handle->process (-> v1-105 racer)) 'unhide) + ) + ) + ) + ) + (set! (-> obj state) (race-state-enum countdown-start)) + ) + ) + ) + (((race-state-enum countdown-start)) + (set! (-> obj i-countdown) 4) + (set! (-> obj state) (race-state-enum countdown)) + (set! (-> obj countdown-start-time) (-> obj current-time)) + (remove-setting! 'entity-name) + ) + (((race-state-enum countdown)) + (let ((f0-3 3.0)) + (if (logtest? (-> obj info flags) (race-info-flags city-race)) + (set! f0-3 0.2) + ) + (let ((v1-127 (+ (the int (* 300.0 f0-3)) (- (-> obj countdown-start-time) (-> obj current-time))))) + (cond + ((>= v1-127 (the int (* 225.0 f0-3))) + ) + ((>= v1-127 (the int (* 150.0 f0-3))) + (when (!= (-> obj i-countdown) 3) + (set! (-> obj i-countdown) 3) + (send-event (handle->process (-> obj race-signal)) 'count-3) + ) + ) + ((>= v1-127 (the int (* 75.0 f0-3))) + (when (!= (-> obj i-countdown) 2) + (set! (-> obj i-countdown) 2) + (send-event (handle->process (-> obj race-signal)) 'count-2) + ) + ) + ((< (the int (* 0.0 f0-3)) v1-127) + (when (!= (-> obj i-countdown) 1) + (set! (-> obj i-countdown) 1) + (send-event (handle->process (-> obj race-signal)) 'count-1) + ) + ) + (else + (set! (-> obj i-countdown) 0) + (set! (-> obj state) (race-state-enum active)) + (begin-race obj) + ) + ) + ) + ) + (update-racers obj) + ) + (((race-state-enum active)) + (update-racers obj) + (update-rankings obj) + ) + (((race-state-enum all-dead)) + ) + (else ) ) (dotimes (s5-7 (-> obj info turbo-pad-count)) @@ -781,7 +742,7 @@ (none) ) -(defmethod race-state-method-15 race-state ((obj race-state)) +(defmethod spawn-race-signal race-state ((obj race-state)) (rlet ((acc :class vf) (vf0 :class vf) (vf4 :class vf) @@ -850,7 +811,7 @@ (set! (-> obj hud-turbo-counter) (the-as handle #f)) (set! (-> obj hud-position) (the-as handle #f)) (set! (-> obj arrow) (the-as handle #f)) - (set! (-> obj state) (the-as uint 0)) + (set! (-> obj state) (race-state-enum idle)) (set! (-> obj racer-count) 0) (set! (-> obj finished-count) 0) (let ((v1-3 (new 'stack-no-clear 'mystery-race-manager-type))) @@ -915,7 +876,7 @@ ) (let ((v1-12 (-> *game-info* sub-task-list (-> arg1 task-node)))) (set! (-> obj suck-factor) 0.0) - (if (not (logtest? (-> arg1 flags) 32)) + (if (not (logtest? (-> arg1 flags) (race-info-flags bbush))) (set! (-> obj suck-factor) (fmax 0.0 (fmin 1.0 (* 0.2 (+ -4.0 (the float (-> v1-12 death-count))))))) ) (format @@ -934,7 +895,7 @@ (define *race-rigid-body-queue* (new 'static 'rigid-body-queue)) -(defmethod race-manager-method-20 race-manager ((obj race-manager)) +(defmethod update race-manager ((obj race-manager)) (let ((s5-0 *display-race-marks*)) (when (logtest? s5-0 (race-marks-controls rmc2040)) (let ((a0-3 (entity-by-name (-> *race-info-array* *select-race* race-mesh-name)))) @@ -968,9 +929,8 @@ (vector-! (-> v1-14 5) (-> v1-14 0) (-> v1-14 3)) ) 0 - (race-state-method-11 (-> obj race-state)) + (update (-> obj race-state)) 0 - (none) ) (defmethod race-manager-method-22 race-manager ((obj race-manager)) @@ -978,9 +938,9 @@ (none) ) -(defmethod race-manager-method-23 race-manager ((obj race-manager)) +(defmethod initialize-race-state race-manager ((obj race-manager)) (let ((s5-0 (-> obj race-state info))) - (race-info-method-9 s5-0) + (initialize-mesh s5-0) (initialize (-> obj race-state) obj s5-0) ) (let ((v1-5 *game-info*)) @@ -1010,8 +970,10 @@ (let* ((gp-0 (-> obj race-state)) (s3-0 (-> gp-0 info)) ) - (if (or (logtest? (-> s3-0 flags) 2) (logtest? (continue-flags pilot) (-> *game-info* last-continue flags))) - (logior! (-> gp-0 flags) 2) + (if (or (logtest? (-> s3-0 flags) (race-info-flags pidax)) + (logtest? (continue-flags pilot) (-> *game-info* last-continue flags)) + ) + (logior! (-> gp-0 flags) (race-flags pidax)) ) (let ((s4-0 (new 'stack-no-clear 'mystery-traffic-object-spawn-params))) (set! (-> s4-0 vector 0 quad) (-> gp-0 info start-sphere quad)) @@ -1086,7 +1048,10 @@ (cond ((or (zero? v1-48) (= v1-48 1)) (set! (-> gp-0 i-player) s2-1) - (when (not (or (logtest? (-> gp-0 flags) 10) (logtest? (-> s3-0 flags) 1))) + (when (not (or (logtest? (-> gp-0 flags) (race-flags pidax sleep)) + (logtest? (-> s3-0 flags) (race-info-flags city-race)) + ) + ) (set! sv-352 (new 'stack-no-clear 'task-arrow-params)) (set! (-> sv-352 pos quad) (-> gp-0 info player-intro-pos quad)) (quaternion-identity! (-> sv-352 quat)) @@ -1114,7 +1079,10 @@ ) ) ) - (when (not (and (logtest? (-> gp-0 flags) 8) (logtest? (-> s1-0 flags) 1))) + (when (not (and (logtest? (-> gp-0 flags) (race-flags sleep)) + (logtest? (-> s1-0 flags) (racer-info-flags hide-in-scene)) + ) + ) (set! sv-368 vehicle-spawn) (set! sv-384 obj) (let ((a1-18 (type-from-race-vehicle-type (-> s1-0 vehicle))) @@ -1137,7 +1105,7 @@ (set! (-> s0-0 target-pos-offset) (* (-> s3-0 ai-spread-factor) (+ (the float (-> s1-0 seek-offset)) (* -3.33 (-> gp-0 suck-factor)))) ) - (when (and (= s2-1 (-> gp-0 i-player)) (logtest? (-> gp-0 flags) 2)) + (when (and (= s2-1 (-> gp-0 i-player)) (logtest? (-> gp-0 flags) (race-flags pidax))) (let ((v1-91 'pilot)) (if (= (-> s1-0 rider) 1) (set! v1-91 'pilot-daxter) @@ -1161,7 +1129,7 @@ (none) ) -(defmethod race-manager-method-26 race-manager ((obj race-manager) (arg0 float)) +(defmethod save-score race-manager ((obj race-manager) (arg0 float)) (local-vars (sv-32 int)) (let* ((s5-0 (-> obj race-state info score)) (s3-0 0) @@ -1229,7 +1197,7 @@ (none) ) -(defmethod race-manager-method-27 race-manager ((obj race-manager)) +(defmethod stop-speech race-manager ((obj race-manager)) (set-action! *gui-control* (gui-action stop) @@ -1254,7 +1222,7 @@ (none) ) -(defmethod race-manager-method-24 race-manager ((obj race-manager)) +(defmethod draw-message-continue race-manager ((obj race-manager)) (when (= (get-status *gui-control* (-> obj message-id)) (gui-status active)) (let ((gp-1 (new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning)) @@ -1282,7 +1250,7 @@ (none) ) -(defmethod race-manager-method-25 race-manager ((obj race-manager)) +(defmethod draw-message-retry race-manager ((obj race-manager)) (when (= (get-status *gui-control* (-> obj message-id)) (gui-status active)) (let ((gp-1 (new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning)) @@ -1321,8 +1289,8 @@ (go-virtual die) ) (('force-start) - (let ((v0-0 (the-as object (logior (-> self race-state flags) 4)))) - (set! (-> self race-state flags) (the-as uint v0-0)) + (let ((v0-0 (the-as object (logior (-> self race-state flags) (race-flags ready))))) + (set! (-> self race-state flags) (the-as race-flags v0-0)) v0-0 ) ) @@ -1343,8 +1311,8 @@ :event race-manager-event-handler :code (behavior () (cond - ((logtest? (-> self race-state flags) 8) - (race-manager-method-23 self) + ((logtest? (-> self race-state flags) (race-flags sleep)) + (initialize-race-state self) (initialize-state self) (until #f (suspend) @@ -1355,7 +1323,7 @@ (set-setting! 'music 'race 0.0 0) (set-setting! 'sound-mode #f 0.0 2) (let ((gp-0 (-> self race-state info))) - (when (logtest? (-> gp-0 flags) 16) + (when (logtest? (-> gp-0 flags) (race-info-flags borrow)) (set-setting! 'borrow (-> gp-0 borrow) 0.0 0) (while (!= (level-status *level* 'lracelit) 'active) (suspend) @@ -1368,14 +1336,16 @@ (while (not (and *target* (or (not (focus-test? *target* teleporting)) (focus-test? *target* pilot)))) (suspend) ) - (race-manager-method-23 self) + (initialize-race-state self) (initialize-state self) (suspend) (let ((gp-1 (-> self race-state info))) - (when (and (-> gp-1 countdown-scene) (not (logtest? (-> self race-state flags) 2))) + (when (and (-> gp-1 countdown-scene) (not (logtest? (-> self race-state flags) (race-flags pidax)))) (dotimes (s5-2 (-> gp-1 racer-count)) (let ((v1-42 (-> self race-state racer-array s5-2))) - (if (and (logtest? (-> gp-1 racer-array s5-2 flags) 1) (!= s5-2 (-> self race-state i-player))) + (if (and (logtest? (-> gp-1 racer-array s5-2 flags) (racer-info-flags hide-in-scene)) + (!= s5-2 (-> self race-state i-player)) + ) (send-event (handle->process (-> v1-42 racer)) 'hide) ) ) @@ -1384,7 +1354,7 @@ ) (when (and *debug-segment* *target* *race-record-path*) (until #f - (race-manager-method-20 self) + (update self) (suspend) ) #f @@ -1401,7 +1371,7 @@ :event race-manager-event-handler :code (the-as (function none :behavior race-manager) sleep-code) :post (behavior () - (race-manager-method-20 self) + (update self) (let ((gp-0 (-> self race-state racer-array (-> self race-state i-player))) (s5-0 (-> self race-state)) ) @@ -1411,20 +1381,20 @@ (set! (-> v1-5 race-current-lap-count) (min (+ (-> gp-0 lap-count) 1) (-> self race-state info lap-count))) (set! (-> v1-5 race-total-lap-count) (-> self race-state info lap-count)) (let ((a0-12 (-> s5-0 current-time))) - (if (logtest? (-> gp-0 flags) 2) + (if (logtest? (-> gp-0 flags) (racer-flags finished)) (set! a0-12 (-> gp-0 finish-time)) ) (let ((a0-13 (the-as int (- a0-12 (-> s5-0 race-start-time))))) - (if (not (logtest? (-> s5-0 flags) 1)) + (if (not (logtest? (-> s5-0 flags) (race-flags begun))) (set! a0-13 0) ) (set! (-> v1-5 race-timer) (the-as uint a0-13)) ) ) ) - (when (logtest? (-> gp-0 flags) 1) + (when (logtest? (-> gp-0 flags) (racer-flags in-race)) (cond - ((logtest? (-> gp-0 flags) 64) + ((logtest? (-> gp-0 flags) (racer-flags on-track)) (set! (-> self player-on-track-time) (current-time)) ) (else @@ -1458,18 +1428,18 @@ ) ) ) - (if (or (logtest? (-> gp-0 flags) 4) (not *target*) (focus-test? *target* dead)) + (if (or (logtest? (-> gp-0 flags) (racer-flags dead)) (not *target*) (focus-test? *target* dead)) (go-virtual fail) ) - (when (logtest? (-> gp-0 flags) 2) - (when (not (logtest? (-> gp-0 flags) 32)) - (logior! (-> gp-0 flags) 32) + (when (logtest? (-> gp-0 flags) (racer-flags finished)) + (when (not (logtest? (-> gp-0 flags) (racer-flags saved-score))) + (logior! (-> gp-0 flags) (racer-flags saved-score)) (let ((f0-2 (* 0.0033333334 (the float (- (-> gp-0 finish-time) (-> s5-0 race-start-time)))))) - (race-manager-method-26 self f0-2) + (save-score self f0-2) ) ) (send-event (ppointer->process (-> self parent)) 'allow-fail #f) - (if (not (logtest? (-> self race-state info flags) 16)) + (if (not (logtest? (-> self race-state info flags) (race-info-flags borrow))) (set-setting! 'sound-mode #f 0.0 2) ) (set! (-> self message-id) @@ -1502,7 +1472,7 @@ (send-event (handle->process (-> self race-state hud-turbo-counter)) 'force-hide) (process-spawn hud-race-final-stats :init hud-init-by-other :to self) (set! (-> self state-time) (current-time)) - (when (logtest? (-> self race-state info flags) 4) + (when (logtest? (-> self race-state info flags) (race-info-flags complete-immediately)) (send-event (ppointer->process (-> self parent)) 'complete) (sleep-code) ) @@ -1511,17 +1481,17 @@ (auto-save-user)) (until #f (cond - ((logtest? (-> self race-state info flags) 8) - (race-manager-method-25 self) + ((logtest? (-> self race-state info flags) (race-info-flags retryable)) + (draw-message-retry self) (when (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (cond ((logtest? (pad-buttons confirm) (-> *cpad-list* cpads 0 button0-rel 0)) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'retry-immediately) (sleep-code) ) ((cpad-pressed? 0 triangle) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'fail-immediately) (sleep-code) ) @@ -1529,10 +1499,10 @@ ) ) (else - (race-manager-method-24 self) + (draw-message-continue self) (when (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (when (logtest? (pad-buttons confirm) (-> *cpad-list* cpads 0 button0-rel 0)) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'complete) (sleep-code) ) @@ -1545,7 +1515,7 @@ (none) ) :post (behavior () - (race-manager-method-20 self) + (update self) (none) ) ) @@ -1566,17 +1536,17 @@ (process-spawn hud-race-final-stats :init hud-init-by-other :to self) (set! (-> self state-time) (current-time)) (until #f - (race-manager-method-25 self) + (draw-message-retry self) (-> self race-state info) (when (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (cond ((logtest? (pad-buttons confirm) (-> *cpad-list* cpads 0 button0-rel 0)) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'retry-immediately) (sleep-code) ) ((cpad-pressed? 0 triangle) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'fail-immediately) (sleep-code) ) @@ -1588,7 +1558,7 @@ (none) ) :post (behavior () - (race-manager-method-20 self) + (update self) (none) ) ) @@ -1628,16 +1598,16 @@ ;; WARN: Return type mismatch object vs none. (defbehavior race-manager-init-by-other race-manager ((arg0 race-info) (arg1 symbol)) - (stack-size-set! (-> self main-thread) 1024) ;; changed + (stack-size-set! (-> self main-thread) 512) (race-vehicle-entity-hack) (set! (-> self race-state) *race-state*) (set! (-> self race-state info) arg0) - (set! (-> self race-state flags) (the-as uint 0)) + (set! (-> self race-state flags) (race-flags)) (set! *race-manager* (the-as (pointer race-manager) (process->ppointer self))) (set! (-> arg0 manager) (process->handle self)) (set! (-> self finish-sound-id) (new 'static 'sound-id)) (if arg1 - (logior! (-> self race-state flags) 8) + (logior! (-> self race-state flags) (race-flags sleep)) ) (go-virtual idle) (none) @@ -1645,7 +1615,7 @@ ;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s5, Count] ;; ERROR: Unsupported inline assembly instruction kind - [mfc0 v1, Count] -(defun race-start ((arg0 int) (arg1 symbol) (arg2 symbol)) +(defun race-start ((arg0 int) (arg1 process) (arg2 symbol)) (local-vars (v1-13 int) (s5-0 int)) (let ((s2-0 (-> *race-info-array* arg0)) (gp-0 (the-as process #f)) @@ -1654,7 +1624,7 @@ (when (not (handle->process (-> s2-0 manager))) (format #t "starting race-manager~%") (if (not arg1) - (set! arg1 (the-as symbol *entity-pool*)) + (set! arg1 (the-as process *entity-pool*)) ) (let ((v1-9 (process-spawn race-manager s2-0 arg2 :to (the-as process-tree arg1)))) (when v1-9 diff --git a/goal_src/jak2/levels/common/races/race-mesh.gc b/goal_src/jak2/levels/common/races/race-mesh.gc index 9bd27e5239..99b09a431c 100644 --- a/goal_src/jak2/levels/common/races/race-mesh.gc +++ b/goal_src/jak2/levels/common/races/race-mesh.gc @@ -5,6 +5,20 @@ ;; name in dgo: race-mesh ;; dgos: STD, STC, LERLCHAL, STB, LPRTRACE + +(defenum race-mesh-flags + :bitfield #t + :type uint8 + (racemeshflag-0) + (racemeshflag-1) + (racemeshflag-2) + (racemeshflag-3) + (racemeshflag-4) + (racemeshflag-5) + (racemeshflag-6) + (racemeshflag-7) + ) + ;; DECOMP BEGINS (deftype race-mesh-hash-search (structure) @@ -107,10 +121,10 @@ (start-edge int16 :offset 0) (end-edge int16 :offset 2) ) + :pack-me :method-count-assert 9 :size-assert #x4 :flag-assert #x900000004 - :pack-me ) @@ -142,7 +156,7 @@ (deftype race-mesh (basic) ((version uint8 :offset-assert 4) (path-group-count uint8 :offset-assert 5) - (flags uint8 :offset-assert 6) + (flags race-mesh-flags :offset-assert 6) (pad uint8 1 :offset-assert 7) (slice-count int16 :offset-assert 8) (edge-count int16 :offset-assert 10) @@ -425,9 +439,9 @@ (slice-cnt (+ (-> obj slice-count) -1)) ) (while (>= slice-cnt idx) - (let* ((v1-2 (the-as object (+ (the-as uint (-> obj slices)) (* idx 4)))) - (s3-0 (-> obj edges (-> (the-as (pointer int16) v1-2)))) - (s2-0 (-> obj edges (-> (the-as race-mesh-slice v1-2) end-edge))) + (let* ((v1-2 (-> obj slices idx)) + (s3-0 (-> obj edges (-> v1-2 start-edge))) + (s2-0 (-> obj edges (-> v1-2 end-edge))) ) (add-debug-line #t (bucket-id debug-no-zbuf1) (-> s3-0 left) (-> s2-0 left) *color-white* #f (the-as rgba -1)) (add-debug-line @@ -475,9 +489,9 @@ (defmethod race-mesh-method-19 race-mesh ((obj race-mesh) (arg0 int) (arg1 race-mesh-slice-query)) (set! (-> arg1 slice-id) -1) - (let* ((v1-2 (the-as object (+ (the-as uint (-> obj slices)) (* arg0 4)))) - (a1-3 (-> obj edges (-> (the-as (pointer int16) v1-2)))) - (v1-5 (-> obj edges (-> (the-as race-mesh-slice v1-2) end-edge))) + (let* ((v1-2 (-> obj slices arg0)) + (a1-3 (-> obj edges (-> v1-2 start-edge))) + (v1-5 (-> obj edges (-> v1-2 end-edge))) ) (set! (-> arg1 slice-corners 0 quad) (-> a1-3 left quad)) (set! (-> arg1 slice-corners 1 quad) (-> a1-3 right quad)) @@ -582,9 +596,9 @@ (defmethod race-mesh-method-15 race-mesh ((obj race-mesh) (id int) (slice-query race-mesh-slice-query)) (local-vars (v1-8 symbol)) (set! (-> slice-query slice-id) id) - (let* ((v1-1 (the-as object (+ (the-as uint (-> obj slices)) (* id 4)))) - (a1-3 (-> obj edges (-> (the-as (pointer int16) v1-1)))) - (v1-4 (-> obj edges (-> (the-as race-mesh-slice v1-1) end-edge))) + (let* ((v1-1 (-> obj slices id)) + (a1-3 (-> obj edges (-> v1-1 start-edge))) + (v1-4 (-> obj edges (-> v1-1 end-edge))) ) (set! (-> slice-query slice-corners 0 quad) (-> a1-3 left quad)) (set! (-> slice-query slice-corners 1 quad) (-> a1-3 right quad)) @@ -802,7 +816,7 @@ ) ) (f0-0 (+ f30-0 f1-0)) - (v1-1 (the-as race-mesh-slice (+ (the-as uint (-> obj slices)) (* (-> arg0 slice-id) 4)))) + (v1-1 (-> obj slices (-> arg0 slice-id))) (f2-0 (-> obj edges (-> v1-1 start-edge) left w)) (f3-0 (-> obj edges (-> v1-1 end-edge) left w)) ) diff --git a/goal_src/jak2/levels/common/races/race-obs.gc b/goal_src/jak2/levels/common/races/race-obs.gc index 89c322f292..58f8bf3195 100644 --- a/goal_src/jak2/levels/common/races/race-obs.gc +++ b/goal_src/jak2/levels/common/races/race-obs.gc @@ -544,7 +544,7 @@ (format 0 "stadium-racer::initialize-collision: ERROR, no lracelit level~%") (go process-drawable-art-error "no lracelit level") ) - (set! (-> obj root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape (new 'process 'trsqv))) 0 (none) ) @@ -619,11 +619,7 @@ :virtual #t :enter (behavior () (format #t "errol-rider::taunt race-errol-pass~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-0 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-53)) (none) ) ) @@ -632,11 +628,7 @@ :virtual #t :enter (behavior () (format #t "errol-rider::got-passed~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-1 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-54)) (none) ) ) @@ -655,8 +647,8 @@ ) (deftype turbo-pickup (process-drawable) - ((root-override collide-shape-moving :offset 128) - (available symbol :offset-assert 200) + ((root collide-shape-moving :override) + (available symbol :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -673,7 +665,7 @@ (defmethod find-ground turbo-pickup ((obj turbo-pickup)) (let ((s4-0 #f)) (let ((gp-0 (new 'stack-no-clear 'do-push-aways-work))) - (set! (-> gp-0 push-vel quad) (-> obj root-override trans quad)) + (set! (-> gp-0 push-vel quad) (-> obj root trans quad)) (set! (-> gp-0 cquery start-pos quad) (-> gp-0 push-vel quad)) (vector-reset! (-> gp-0 vec33)) (set! (-> gp-0 vec33 y) 1.0) @@ -695,12 +687,8 @@ (format #t "turbo-pickup::find-ground: ground y ~M~%" (-> gp-0 push-vel y)) ) ) - (set! (-> obj root-override trans quad) (-> gp-0 push-vel quad)) - (forward-up-nopitch->quaternion - (-> obj root-override quat) - (new 'static 'vector :z 1.0 :w 1.0) - (-> gp-0 vec33) - ) + (set! (-> obj root trans quad) (-> gp-0 push-vel quad)) + (forward-up-nopitch->quaternion (-> obj root quat) (new 'static 'vector :z 1.0 :w 1.0) (-> gp-0 vec33)) ) s4-0 ) @@ -722,7 +710,7 @@ ) :code (the-as (function none :behavior turbo-pickup) sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) 0 (none) ) @@ -752,7 +740,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -767,7 +755,7 @@ (-> gp-0 ppointer) ) ) - (let ((v1-11 (-> self root-override root-prim))) + (let ((v1-11 (-> self root root-prim))) (set! (-> v1-11 prim-core collide-as) (collide-spec)) (set! (-> v1-11 prim-core collide-with) (collide-spec)) ) @@ -797,11 +785,11 @@ (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) (the-as collide-shape-moving s5-0)) + (set! (-> self root) (the-as collide-shape-moving s5-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override quat)) - (update-transforms (-> self root-override)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (update-transforms (-> self root)) (set! (-> self available) #t) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 198) self)) (go-virtual idle) diff --git a/goal_src/jak2/levels/common/races/vehicle-racer.gc b/goal_src/jak2/levels/common/races/vehicle-racer.gc index 71d33669b8..32f2372e59 100644 --- a/goal_src/jak2/levels/common/races/vehicle-racer.gc +++ b/goal_src/jak2/levels/common/races/vehicle-racer.gc @@ -47,7 +47,7 @@ (defmethod race-control-method-11 race-control ((obj race-control) (arg0 float)) (let ((f0-1 (+ (-> obj path-t) (* 15.0 arg0)))) (set! f0-1 (cond - ((logtest? (-> obj mesh flags) 1) + ((logtest? (-> obj mesh flags) (race-mesh-flags racemeshflag-0)) (let ((f1-3 (the float (-> obj path sample-count)))) (if (>= f0-1 f1-3) (set! f0-1 (- f0-1 f1-3)) @@ -154,7 +154,7 @@ (defmethod vehicle-method-117 vehicle-racer ((obj vehicle-racer) (arg0 vector) (arg1 int) (arg2 int)) (vector-matrix*! arg0 - (-> obj info-override rider-hand-offset arg2) + (-> obj info rider-hand-offset arg2) (-> obj node-list data (-> obj rider-hand-joint) bone transform) ) 0 @@ -187,9 +187,9 @@ ) (when (and (>= f30-0 0.0) (>= f28-0 0.0)) (let ((f26-1 1.0)) - (set! (-> gp-0 mat trans quad) (-> obj root-override-2 trans quad)) - (set! (-> gp-0 velocity quad) (-> obj root-override-2 transv quad)) - (quaternion-copy! (the-as quaternion (-> gp-0 force)) (-> obj root-override-2 quat)) + (set! (-> gp-0 mat trans quad) (-> obj root trans quad)) + (set! (-> gp-0 velocity quad) (-> obj root transv quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 force)) (-> obj root quat)) (let* ((f0-2 (race-path-method-12 arg0 (-> gp-0 mat trans) f30-0 f28-0)) (a0-4 arg0) (t9-2 (method-of-type race-path race-path-method-11)) @@ -249,14 +249,14 @@ (let ((t9-0 (method-of-type vehicle vehicle-method-120))) (t9-0 obj) ) - (let ((v1-10 (-> obj root-override-2 trans-old-old quad))) - (set! (-> obj root-override-2 trans-old-old-old quad) v1-10) + (let ((v1-10 (-> obj root trans-old-old quad))) + (set! (-> obj root trans-old-old-old quad) v1-10) ) - (let ((v1-12 (-> obj root-override-2 trans-old quad))) - (set! (-> obj root-override-2 trans-old-old quad) v1-12) + (let ((v1-12 (-> obj root trans-old quad))) + (set! (-> obj root trans-old-old quad) v1-12) ) - (let ((v1-14 (-> obj root-override-2 trans quad))) - (set! (-> obj root-override-2 trans-old quad) v1-14) + (let ((v1-14 (-> obj root trans quad))) + (set! (-> obj root trans-old quad) v1-14) ) 0 (none) @@ -293,7 +293,7 @@ (go (method-of-object obj die)) ) (when (-> obj race mesh) - (race-control-method-9 (-> obj race) (-> obj traffic-priority-id) (-> obj root-override-2 trans)) + (race-control-method-9 (-> obj race) (-> obj traffic-priority-id) (-> obj root trans)) (cond ((logtest? (-> arg0 flags) (traffic-spawn-flags trsflags-01)) (set! (-> obj flags) (logior (rigid-body-object-flag riding ai-driving) (-> obj flags))) @@ -343,12 +343,12 @@ ) (cond ((-> arg0 rbody) - (dotimes (s4-0 (-> obj info-override seat-count)) + (dotimes (s4-0 (-> obj info seat-count)) (send-event (handle->process (-> obj rider-array s4-0)) 'vehicle-got-hit arg0) ) ) (else - (dotimes (s4-1 (-> obj info-override seat-count)) + (dotimes (s4-1 (-> obj info seat-count)) (send-event (handle->process (-> obj rider-array s4-1)) 'vehicle-hit arg0) ) ) @@ -457,14 +457,11 @@ ) ((= v1-0 'race-pass) (if (logtest? (-> obj flags) (rigid-body-object-flag player-driving)) - (speech-control-method-12 - *speech-control* - obj - (if (-> *target* pilot as-daxter?) - (speech-type speech-type-0 speech-type-2 speech-type-3 speech-type-5) - (speech-type speech-type-2 speech-type-5) - ) - ) + (speech-control-method-12 *speech-control* obj (if (-> *target* pilot as-daxter?) + (speech-type speech-type-45) + (speech-type speech-type-36) + ) + ) (send-event (ppointer->process (-> obj child)) 'race-pass) ) ) @@ -517,7 +514,7 @@ (when (> a0-1 0) (let ((s5-1 (-> s5-0 (rand-vu-int-count a0-1)))) (format #t "vehicle-racer::select-path-randomly-from-mask: switching to path-~d~%" s5-1) - (race-control-method-9 (-> obj race) s5-1 (-> obj root-override-2 trans)) + (race-control-method-9 (-> obj race) s5-1 (-> obj root trans)) ) ) ) @@ -639,14 +636,14 @@ (the-as quaternion (-> s3-0 1)) (* 10.0 f30-0) ) - (vector-float*! (-> s4-0 state lin-momentum) (-> s4-0 state lin-velocity) (-> obj info-override info mass)) + (vector-float*! (-> s4-0 state lin-momentum) (-> s4-0 state lin-velocity) (-> obj info info mass)) (vector-reset! (-> s4-0 state ang-momentum)) (rigid-body-method-24 (-> s4-0 state)) (rigid-body-method-13 (-> s4-0 state)) - (set! (-> obj root-override-2 transv quad) (-> s4-0 state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> s4-0 state rotation)) + (set! (-> obj root transv quad) (-> s4-0 state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> s4-0 state rotation)) (let ((v1-46 s4-0) - (a1-14 (-> obj root-override-2 trans)) + (a1-14 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-46 state) a1-14) ) @@ -662,7 +659,7 @@ (set! (-> v1-51 quad 2) a2-5) (set! (-> v1-51 trans quad) a3-2) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (race-control-method-11 s5-0 (* f30-0 f28-0)) ) ) @@ -670,12 +667,12 @@ ) (vehicle-method-119 obj) (vehicle-method-120 obj) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (let ((a1-17 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-17 options) (overlaps-others-options)) (set! (-> a1-17 collide-with-filter) (collide-spec civilian enemy obstacle)) (set! (-> a1-17 tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override-2) a1-17) + (find-overlapping-shapes (-> obj root) a1-17) ) 0 (none) @@ -928,7 +925,7 @@ (set! (-> self damage-factor) 0.0) (vehicle-method-83 self) (vehicle-method-143 self) - (let ((v1-9 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-9 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-9 (set! (-> v1-9 prim-core collide-with) (collide-spec)) (set! (-> v1-9 prim-core collide-as) (collide-spec)) @@ -940,7 +937,7 @@ :exit (behavior () (set! (-> self hit-points) 1.0) (logclear! (-> self flags) (rigid-body-object-flag waiting-for-player)) - (let ((v1-4 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-4 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-4 (set! (-> v1-4 prim-core collide-with) (collide-spec backgnd @@ -964,13 +961,13 @@ :code (the-as (function none :behavior vehicle-racer) sleep-code) :post (behavior () (when (logtest? (-> self flags) (rigid-body-object-flag waiting-for-player)) - (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (camera-pos))) - (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (target-pos 0))) + (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root trans) (camera-pos))) + (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (check-player-get-on self) ) (vector-reset! (-> self target-acceleration)) (vehicle-method-120 self) - (update-transforms (-> self root-override-2)) + (update-transforms (-> self root)) (vehicle-method-119 self) (rigid-body-object-method-39 self) (none) @@ -985,7 +982,7 @@ ) :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self damage-factor) (-> self info-override damage-factor)) + (set! (-> self damage-factor) (-> self info damage-factor)) (vehicle-method-143 self) (set! (-> self flags) (logior (rigid-body-object-flag ignition) (-> self flags))) (none) @@ -1022,7 +1019,7 @@ ) :exit (behavior () (logclear! (-> self flags) (rigid-body-object-flag waiting-for-player)) - (let ((v1-3 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-3 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-3 (set! (-> v1-3 prim-core collide-with) (collide-spec backgnd diff --git a/goal_src/jak2/levels/common/scene-actor.gc b/goal_src/jak2/levels/common/scene-actor.gc index d1ea07437a..39f3de7479 100644 --- a/goal_src/jak2/levels/common/scene-actor.gc +++ b/goal_src/jak2/levels/common/scene-actor.gc @@ -638,7 +638,7 @@ This commonly includes things such as: (defmethod get-trans torn-npc ((obj torn-npc) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (if (= arg0 2) (vector<-cspace! (new 'static 'vector) (-> obj node-list data 6)) (-> v1-0 trans) @@ -947,7 +947,7 @@ This commonly includes things such as: (case (-> obj task actor) (((game-task-actor ashelin-throne)) (logior! (-> obj draw status) (draw-control-status no-draw-bounds)) - (let ((v1-7 (-> obj root-override root-prim))) + (let ((v1-7 (-> obj root root-prim))) (set! (-> v1-7 prim-core collide-as) (collide-spec)) (set! (-> v1-7 prim-core collide-with) (collide-spec)) ) diff --git a/goal_src/jak2/levels/common/warp-gate.gc b/goal_src/jak2/levels/common/warp-gate.gc index b4aac0a76f..e29fbb54f2 100644 --- a/goal_src/jak2/levels/common/warp-gate.gc +++ b/goal_src/jak2/levels/common/warp-gate.gc @@ -450,17 +450,17 @@ ) (deftype warp-gate (process-drawable) - ((root-override collide-shape :offset 128) - (level-name uint32 :offset-assert 200) - (on-notice pair :offset-assert 204) - (on-activate pair :offset-assert 208) - (on-close pair :offset-assert 212) - (wait-for pair :offset-assert 216) - (continue continue-point :offset-assert 220) - (distance meters :offset-assert 224) - (anim-speed float :offset-assert 228) - (test-time time-frame :offset-assert 232) - (center vector :inline :offset-assert 240) + ((root collide-shape :override) + (level-name uint32 :offset-assert 200) + (on-notice pair :offset-assert 204) + (on-activate pair :offset-assert 208) + (on-close pair :offset-assert 212) + (wait-for pair :offset-assert 216) + (continue continue-point :offset-assert 220) + (distance meters :offset-assert 224) + (anim-speed float :offset-assert 228) + (test-time time-frame :offset-assert 232) + (center vector :inline :offset-assert 240) ) :heap-base #x80 :method-count-assert 26 @@ -529,11 +529,11 @@ :code (behavior () (remove-setting! 'allow-progress) (set! (-> self state-time) (current-time)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (until #f (handle-notice self) (when (and (and *target* - (and (>= (-> self distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + (and (>= (-> self distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -699,10 +699,9 @@ (suspend) ) ) - (while (and *target* - (and (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (while (and *target* (and (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (suspend) (ja :num! (loop!)) @@ -731,7 +730,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -750,10 +749,10 @@ (set! (-> obj continue) #f) (set! (-> obj on-close) #f) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 130) obj)) - (set! (-> obj center quad) (-> obj root-override trans quad)) + (set! (-> obj center quad) (-> obj root trans quad)) (set! (-> obj center y) (+ 13516.8 (-> obj center y))) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "warpgate" :fo-max 30) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "warpgate" :fo-max 30) (-> obj root trans)) ) (set! (-> obj distance) (res-lump-float (-> obj entity) 'distance :default 20480.0)) (none) @@ -767,7 +766,7 @@ (process-drawable-from-entity! self arg0) ) (if arg1 - (set! (-> self root-override trans quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg1 quad)) ) (logior! (-> self mask) (process-mask actor-pause)) (#when PC_PORT @@ -1190,7 +1189,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-18 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1205,7 +1204,7 @@ This commonly includes things such as: (let ((t9-0 (method-of-type warp-gate setup-fields))) (t9-0 obj) ) - (set! (-> obj base-pos quad) (-> obj root-override trans quad)) + (set! (-> obj base-pos quad) (-> obj root trans quad)) (let ((v1-2 (-> obj level-name))) (set! (-> obj dust-y) (cond ((= v1-2 'nest) @@ -1223,7 +1222,7 @@ This commonly includes things such as: (set! (-> obj part-exhaust-left) (create-launch-control (-> *part-group-id-table* 134) obj)) (set! (-> obj part-exhaust-right) (create-launch-control (-> *part-group-id-table* 134) obj)) (set! (-> obj part-dust) (create-launch-control (-> *part-group-id-table* 132) obj)) - (set! (-> obj root-override pause-adjust-distance) 368640.0) + (set! (-> obj root pause-adjust-distance) 368640.0) (set! (-> obj hover-sound) (sound-play "air-train")) (none) ) @@ -1236,23 +1235,23 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (set! (-> self root-override trans y) (+ (-> self base-pos y) - (* 696.32 (cos (* 66.19798 (the float (mod (current-time) 990))))) - (* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551))))) - ) + (set! (-> self root trans y) (+ (-> self base-pos y) + (* 696.32 (cos (* 66.19798 (the float (mod (current-time) 990))))) + (* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551))))) + ) ) (spawn-with-cspace (-> self part-exhaust-left) (-> self node-list data 5)) (spawn-with-cspace (-> self part-exhaust-right) (-> self node-list data 6)) (let ((f0-9 (-> self dust-y))) (when (!= f0-9 (the-as float #x7f800000)) (let ((a1-2 (new 'stack-no-clear 'vector))) - (set! (-> a1-2 quad) (-> self root-override trans quad)) + (set! (-> a1-2 quad) (-> self root trans quad)) (set! (-> a1-2 y) f0-9) (spawn (-> self part-dust) a1-2) ) ) ) - (sound-play "air-train" :id (-> self hover-sound) :position (-> self root-override trans)) + (sound-play "air-train" :id (-> self hover-sound) :position (-> self root trans)) (none) ) ) diff --git a/goal_src/jak2/levels/dig/dig-obs.gc b/goal_src/jak2/levels/dig/dig-obs.gc index 28f97fd1c2..69ce8a13f2 100644 --- a/goal_src/jak2/levels/dig/dig-obs.gc +++ b/goal_src/jak2/levels/dig/dig-obs.gc @@ -59,7 +59,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -216,7 +216,7 @@ (set! (-> v1-5 quad) (-> arg0 quad)) (set! (-> v1-5 y) (+ -8192.0 (-> v1-5 y))) (let ((a0-16 (-> obj rbody)) - (a2-2 (-> obj root-override-2 quat)) + (a2-2 (-> obj root quat)) ) (rigid-body-method-26 (-> a0-16 state) v1-5 a2-2) ) @@ -254,9 +254,9 @@ (the-as pair 0) ) (alloc-and-init-rigid-body-control obj *dig-sinking-platform-constants*) - (set! (-> obj anchor-point quad) (-> obj root-override-2 trans quad)) - (set! (-> obj surface-height) (+ -4096.0 (-> obj root-override-2 trans y))) - (let ((s5-1 (-> obj info-override control-point-count))) + (set! (-> obj anchor-point quad) (-> obj root trans quad)) + (set! (-> obj surface-height) (+ -4096.0 (-> obj root trans y))) + (let ((s5-1 (-> obj info control-point-count))) (dotimes (s4-1 s5-1) (let ((s3-0 (-> obj control-point-array data s4-1))) (let ((f30-0 (* 65536.0 (/ (the float s4-1) (the float s5-1))))) diff --git a/goal_src/jak2/levels/dig/dig1-obs.gc b/goal_src/jak2/levels/dig/dig1-obs.gc index 21c74347b4..8263d627f6 100644 --- a/goal_src/jak2/levels/dig/dig1-obs.gc +++ b/goal_src/jak2/levels/dig/dig1-obs.gc @@ -415,7 +415,7 @@ (cond ((zero? v1-5) (when (>= (ja-aframe-num 0) 1.4) - (sound-play "dig-bomb-beep" :position (-> self root-override-2 trans)) + (sound-play "dig-bomb-beep" :position (-> self root trans)) (set-vector! (-> self draw color-mult) 1.1 0.25 0.25 1.0) (set! (-> self flash-counter) (+ gp-0 1)) ) @@ -580,7 +580,7 @@ :virtual #t :enter (behavior () (send-event (ppointer->process (-> self parent)) 'died) - (let ((v1-6 (-> self root-override-2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -591,8 +591,8 @@ :code (behavior () (sound-play "dig-bomb-explo") (let ((gp-1 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-1 spawn-point quad) (-> self root-override-2 trans quad)) - (quaternion-copy! (-> gp-1 spawn-quat) (-> self root-override-2 quat)) + (set! (-> gp-1 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-1 spawn-quat) (-> self root quat)) (set! (-> gp-1 radius) 28672.0) (set! (-> gp-1 group) (-> *part-group-id-table* 1146)) (set! (-> gp-1 collide-with) @@ -659,7 +659,7 @@ 0 0 (sound-group sfx) - (-> obj root-override-2 trans) + (-> obj root trans) ) ) ) @@ -672,8 +672,8 @@ (set! (-> a1-0 start-pos quad) (-> obj rbody state position quad)) (vector-float*! (-> a1-0 move-dist) (-> obj rbody state lin-velocity) (-> pp clock seconds-per-frame)) (let ((v1-3 a1-0)) - (set! (-> v1-3 radius) (+ 4096.0 (-> obj root-override-2 root-prim local-sphere w))) - (set! (-> v1-3 collide-with) (-> obj root-override-2 root-prim prim-core collide-with)) + (set! (-> v1-3 radius) (+ 4096.0 (-> obj root root-prim local-sphere w))) + (set! (-> v1-3 collide-with) (-> obj root root-prim prim-core collide-with)) (set! (-> v1-3 ignore-process0) obj) (set! (-> v1-3 ignore-process1) #f) (set! (-> v1-3 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) @@ -685,15 +685,15 @@ (debug-draw *collide-cache*) ) (rigid-body-object-method-30 obj) - (set! (-> obj root-override-2 transv quad) (-> obj rbody state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (set! (-> obj root transv quad) (-> obj rbody state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (rigid-body-method-24 (-> obj rbody state)) (let ((v1-19 (-> obj rbody)) - (a1-2 (-> obj root-override-2 trans)) + (a1-2 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-19 state) a1-2) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (transform-post) 0 (none) @@ -743,7 +743,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -770,8 +770,8 @@ (defbehavior dig-bomb-crate-cylinder-init-by-other dig-bomb-crate-cylinder ((arg0 dig-bomb-crate-cylinder-spawn-params) (arg1 entity-actor)) (process-entity-set! self arg1) (allocate-and-init-cshape self) - (set! (-> self root-override-2 trans quad) (-> arg0 pos quad)) - (quaternion-copy! (-> self root-override-2 quat) (-> arg0 quat)) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) (init-skel-and-rigid-body self) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) (vector-float*! (-> self rbody state lin-momentum) (-> arg0 vel) (-> self info info mass)) @@ -842,7 +842,7 @@ ) (defmethod dig-bomb-crate-method-29 dig-bomb-crate ((obj dig-bomb-crate) (arg0 vector)) - (let ((s4-0 (-> obj root-override trans))) + (let ((s4-0 (-> obj root trans))) (dotimes (s3-0 8) (let ((a0-2 (-> *dig-bomb-crate-array* s3-0)) (s2-0 (new 'stack-no-clear 'dig-bomb-crate-cylinder-spawn-params)) @@ -870,7 +870,7 @@ (defmethod get-trans dig-bomb-crate ((obj dig-bomb-crate) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" (local-vars (v0-0 vector)) - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (case arg0 ((2 3) (set! v0-0 (new 'static 'vector)) @@ -904,7 +904,7 @@ :virtual #t :enter (behavior () (send-event (ppointer->process (-> self parent)) 'died) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -1004,7 +1004,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton diff --git a/goal_src/jak2/levels/dig/dig2-obs.gc b/goal_src/jak2/levels/dig/dig2-obs.gc index 683932a69b..ea09e07446 100644 --- a/goal_src/jak2/levels/dig/dig2-obs.gc +++ b/goal_src/jak2/levels/dig/dig2-obs.gc @@ -67,7 +67,7 @@ This commonly includes things such as: (set! (-> s3-0 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s3-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override) s3-0) + (set! (-> obj root) s3-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj (the-as skeleton-group s4-0) (the-as pair 0)) diff --git a/goal_src/jak2/levels/dig/dig3-obs.gc b/goal_src/jak2/levels/dig/dig3-obs.gc index ec5274e104..894c4199a0 100644 --- a/goal_src/jak2/levels/dig/dig3-obs.gc +++ b/goal_src/jak2/levels/dig/dig3-obs.gc @@ -428,7 +428,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (send-event (ppointer->process (-> self parent)) 'died) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -465,9 +465,7 @@ This commonly includes things such as: (defun spikey-sphere-update-velocity ((arg0 dig-spikey-sphere)) (with-pp - (set! (-> arg0 root-override transv y) - (- (-> arg0 root-override transv y) (* 327680.0 (-> pp clock seconds-per-frame))) - ) + (set! (-> arg0 root transv y) (- (-> arg0 root transv y) (* 327680.0 (-> pp clock seconds-per-frame)))) 0 (none) ) @@ -510,14 +508,14 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) ) (defun spikey-sphere-move ((arg0 dig-spikey-sphere)) - (quaternion*! (-> arg0 root-override quat) (-> arg0 tumble-quat) (-> arg0 root-override quat)) + (quaternion*! (-> arg0 root quat) (-> arg0 tumble-quat) (-> arg0 root quat)) (projectile-move-fill-all-dirs arg0) (none) ) @@ -525,13 +523,13 @@ This commonly includes things such as: ;; WARN: Return type mismatch time-frame vs none. (defmethod play-impact-sound! dig-spikey-sphere ((obj dig-spikey-sphere)) "Plays impact sound" - (let* ((a0-1 (-> obj root-override)) + (let* ((a0-1 (-> obj root)) (s5-0 (-> a0-1 status)) ) (when (logtest? s5-0 (collide-status touch-surface)) (vector-float*! (-> a0-1 transv) (-> a0-1 transv) 0.9) (cond - ((< (-> obj root-override trans y) (-> obj pad-i1hb23h1b)) + ((< (-> obj root trans y) (-> obj pad-i1hb23h1b)) (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s4-0 (let ((t9-1 (method-of-type part-tracker activate))) @@ -552,7 +550,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override grount-touch-point quad)) + (set! (-> t3-0 trans quad) (-> obj root grount-touch-point quad)) ((the-as (function object object object object object object object object none) t9-2) a0-5 a1-3 @@ -590,7 +588,7 @@ This commonly includes things such as: (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> obj root-override grount-touch-point quad)) + (set! (-> t3-1 trans quad) (-> obj root grount-touch-point quad)) ((the-as (function object object object object object object object object none) t9-6) a0-8 a1-6 @@ -636,8 +634,8 @@ This commonly includes things such as: (set! (-> obj update-velocity) spikey-sphere-update-velocity) (set! (-> obj max-hits) #xffff) (set! (-> obj move) spikey-sphere-move) - (set-vector! (-> obj root-override quat) 0.0 0.0 0.0 1.0) - (set! (-> obj pad-i1hb23h1b) (+ -204800.0 (-> obj root-override trans y))) + (set-vector! (-> obj root quat) 0.0 0.0 0.0 1.0) + (set! (-> obj pad-i1hb23h1b) (+ -204800.0 (-> obj root trans y))) (let ((v1-16 (-> obj starting-dir))) (quaternion-axis-angle! (-> obj tumble-quat) @@ -1454,7 +1452,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1470,7 +1468,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-dig-tipping-rock" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (quaternion-rotate-local-x! (-> obj root-override-2 quat) (-> obj root-override-2 quat) -2555.2202) + (quaternion-rotate-local-x! (-> obj root quat) (-> obj root quat) -2555.2202) (alloc-and-init-rigid-body-control obj *dig-tipping-rock-constants*) (set! (-> obj anchor-point quad) (-> obj rbody state position quad)) (let ((v1-8 (-> obj control-point-array))) @@ -1499,7 +1497,7 @@ This commonly includes things such as: (set! (-> v1-9 local-pos w) 1.0) ) ) - (set! (-> obj surface-height) (+ 6144.0 (-> obj root-override-2 trans y))) + (set! (-> obj surface-height) (+ 6144.0 (-> obj root trans y))) (set! (-> obj bubbling-sound-id) (new 'static 'sound-id)) 0 (none) @@ -1646,7 +1644,7 @@ This commonly includes things such as: (case (-> (the-as attack-info (-> event param 1)) mode) (('flop) (when (not (-> self flag)) - (set! (-> self desty) (+ -12288.0 (-> self root-override-2 trans y))) + (set! (-> self desty) (+ -12288.0 (-> self root trans y))) (send-event (ppointer->process (-> self parent)) 'set-flag) (go-virtual hit) 'solid @@ -1674,14 +1672,14 @@ This commonly includes things such as: ) :code (behavior () (sound-play "stomp-block") - (while (< (-> self desty) (-> self root-override-2 trans y)) - (set! (-> self root-override-2 trans y) (seek-with-smooth - (-> self root-override-2 trans y) - (-> self desty) - (* 24576.0 (-> self clock seconds-per-frame)) - 0.25 - 1.0 - ) + (while (< (-> self desty) (-> self root trans y)) + (set! (-> self root trans y) (seek-with-smooth + (-> self root trans y) + (-> self desty) + (* 24576.0 (-> self clock seconds-per-frame)) + 0.25 + 1.0 + ) ) (suspend) ) @@ -1719,8 +1717,8 @@ This commonly includes things such as: (set! (-> a1-0 start-pos quad) (-> obj rbody state position quad)) (vector-float*! (-> a1-0 move-dist) (-> obj rbody state lin-velocity) (-> pp clock seconds-per-frame)) (let ((v1-3 a1-0)) - (set! (-> v1-3 radius) (+ 4096.0 (-> obj root-override-2 root-prim local-sphere w))) - (set! (-> v1-3 collide-with) (-> obj root-override-2 root-prim prim-core collide-with)) + (set! (-> v1-3 radius) (+ 4096.0 (-> obj root root-prim local-sphere w))) + (set! (-> v1-3 collide-with) (-> obj root root-prim prim-core collide-with)) (set! (-> v1-3 ignore-process0) obj) (set! (-> v1-3 ignore-process1) #f) (set! (-> v1-3 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) @@ -1750,15 +1748,15 @@ This commonly includes things such as: (debug-draw *collide-cache*) ) (rigid-body-object-method-30 obj) - (set! (-> obj root-override-2 transv quad) (-> obj rbody state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (set! (-> obj root transv quad) (-> obj rbody state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (rigid-body-method-24 (-> obj rbody state)) (let ((v1-22 (-> obj rbody)) - (a1-8 (-> obj root-override-2 trans)) + (a1-8 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-22 state) a1-8) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (transform-post) 0 (none) @@ -1854,7 +1852,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1879,8 +1877,8 @@ This commonly includes things such as: (defbehavior dig-stomp-block-init-by-other dig-stomp-block ((arg0 vector)) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) (allocate-and-init-cshape self) - (set! (-> self root-override-2 trans quad) (-> arg0 quad)) - (set-vector! (-> self root-override-2 quat) 0.0 1.0 0.0 0.0) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root quat) 0.0 1.0 0.0 0.0) (init-skel-and-rigid-body self) (transform-post) (go-virtual waiting) @@ -1949,7 +1947,7 @@ This commonly includes things such as: (a2-3 (-> self stomp-blocks (+ a0-5 1))) ) (when (and a1-2 a2-3) - (if (< 20480.0 (fabs (- (-> a1-2 0 root-override-2 trans y) (-> a2-3 0 root-override-2 trans y)))) + (if (< 20480.0 (fabs (- (-> a1-2 0 root trans y) (-> a2-3 0 root trans y)))) (set! v1-3 #t) ) ) diff --git a/goal_src/jak2/levels/drill_platform/drill-baron.gc b/goal_src/jak2/levels/drill_platform/drill-baron.gc index b6748e2b61..22f6dd77b2 100644 --- a/goal_src/jak2/levels/drill_platform/drill-baron.gc +++ b/goal_src/jak2/levels/drill_platform/drill-baron.gc @@ -643,7 +643,7 @@ ) (deftype drill-barons-ship (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (init-quat quaternion :inline :offset-assert 208) (next-to-shoot-idx int32 :offset-assert 224) (current-y-position float :offset-assert 228) @@ -696,7 +696,7 @@ (deftype drill-barons-ship-turret (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info barons-ship-turret-info :offset-assert 200) (shot-timer time-frame :offset-assert 208) (shot-counter int32 :offset-assert 216) @@ -874,7 +874,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s5-0)) + (set! (-> self root) (the-as collide-shape-moving s5-0)) ) ) (else @@ -892,27 +892,22 @@ (set! (-> s5-1 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-1 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s5-1)) + (set! (-> self root) (the-as collide-shape-moving s5-1)) ) ) ) - (let ((v1-16 (-> self root-override root-prim))) - (set! (-> self root-override backup-collide-as) (-> v1-16 prim-core collide-as)) - (set! (-> self root-override backup-collide-with) (-> v1-16 prim-core collide-with)) + (let ((v1-16 (-> self root root-prim))) + (set! (-> self root backup-collide-as) (-> v1-16 prim-core collide-as)) + (set! (-> self root backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (let ((v1-19 (-> self root-override root-prim))) + (let ((v1-19 (-> self root root-prim))) (set! (-> v1-19 prim-core collide-as) (collide-spec)) (set! (-> v1-19 prim-core collide-with) (collide-spec)) ) 0 - (set! (-> self root-override trans quad) - (-> (the-as drill-barons-ship (-> self parent 0)) root-override trans quad) - ) - (quaternion-copy! - (-> self root-override quat) - (-> (the-as drill-barons-ship (-> self parent 0)) root-override quat) - ) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> (the-as drill-barons-ship (-> self parent 0)) root trans quad)) + (quaternion-copy! (-> self root quat) (-> (the-as drill-barons-ship (-> self parent 0)) root quat)) + (vector-identity! (-> self root scale)) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self info) (the-as barons-ship-turret-info arg0)) (set! (-> self info alive) #t) @@ -1038,7 +1033,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1048,11 +1043,11 @@ This commonly includes things such as: ) (logclear! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj skel status) (joint-control-status sync-math)) - (quaternion-vector-angle! (-> obj root-override quat) *y-vector* -16384.0) - (set-vector! (-> obj root-override trans) 737280.0 -1024000.0 -1433600.0 1.0) + (quaternion-vector-angle! (-> obj root quat) *y-vector* -16384.0) + (set-vector! (-> obj root trans) 737280.0 -1024000.0 -1433600.0 1.0) (set! (-> obj next-to-shoot-idx) 0) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) - (set! (-> obj current-y-position) (-> obj root-override trans y)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) + (set! (-> obj current-y-position) (-> obj root trans y)) (set! (-> obj from-y) (-> obj current-y-position)) (set! (-> obj inc-y) 1228.8) (set! (-> obj ease-y) 40960.0) @@ -1255,7 +1250,7 @@ This commonly includes things such as: (* 0.05 (-> self clock time-adjust-ratio) (-> self inc-y)) ) ) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self current-y-position) (* 4096.0 (* 2.0 (sin (+ 16384.0 (* 45.511112 (the float (current-time)))))))) ) (drill-barons-ship-method-22 self) @@ -1376,7 +1371,7 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self current-y-position) (* 4096.0 (* 2.0 (sin (+ 16384.0 (* 45.511112 (the float (current-time)))))))) ) (drill-barons-ship-method-22 self) @@ -1389,7 +1384,7 @@ This commonly includes things such as: (defmethod drill-barons-ship-method-22 drill-barons-ship ((obj drill-barons-ship)) (with-pp (quaternion-rotate-local-x! - (-> obj root-override quat) + (-> obj root quat) (-> obj init-quat) (* 182.04445 (sin (* 36.40889 (the float (current-time))))) ) @@ -1414,9 +1409,9 @@ This commonly includes things such as: ) ) ) - (quaternion-rotate-local-z! (-> obj root-override quat) (-> obj root-override quat) f30-2) + (quaternion-rotate-local-z! (-> obj root quat) (-> obj root quat) f30-2) ) - (set! (-> obj root-override trans z) + (set! (-> obj root trans z) (+ (* 4096.0 (* 30.0 (cos (* 45.511112 (the float (current-time)))))) (if (= (-> obj pass) 1) -1433600.0 -1433600.0 @@ -1424,7 +1419,7 @@ This commonly includes things such as: ) ) (if *target* - (set! (-> obj root-override trans x) + (set! (-> obj root trans x) (+ (-> *target* control trans x) (* 4096.0 (+ (if (= (-> obj pass) 1) 15.0 -35.0 @@ -1442,19 +1437,15 @@ This commonly includes things such as: (defmethod drill-barons-ship-turret-method-24 drill-barons-ship-turret ((obj drill-barons-ship-turret)) (vector<-cspace! - (-> obj root-override trans) + (-> obj root trans) (-> (the-as drill-barons-ship (-> obj parent 0)) node-list data (-> obj info joint-idx)) ) (let ((a2-1 (quaternion-axis-angle! (new 'stack-no-clear 'quaternion) 0.0 1.0 0.0 (-> obj info init-y-angle)))) - (quaternion*! - (-> obj root-override quat) - (-> (the-as drill-barons-ship (-> obj parent 0)) root-override quat) - a2-1 - ) + (quaternion*! (-> obj root quat) (-> (the-as drill-barons-ship (-> obj parent 0)) root quat) a2-1) ) (when (-> obj jmod) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root-override trans))) - (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root-override quat))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root trans))) + (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root quat))) ) (vector-normalize! s5-1 1.0) (let* ((s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s3-0 vector 1) 1.0)) @@ -1497,7 +1488,7 @@ This commonly includes things such as: (defstate dead (drill-barons-ship-turret) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1507,15 +1498,11 @@ This commonly includes things such as: ) :trans (behavior () (vector<-cspace! - (-> self root-override trans) + (-> self root trans) (-> (the-as drill-barons-ship (-> self parent 0)) node-list data (-> self info joint-idx)) ) (let ((a2-1 (quaternion-axis-angle! (new 'stack-no-clear 'quaternion) 0.0 1.0 0.0 (-> self info init-y-angle)))) - (quaternion*! - (-> self root-override quat) - (-> (the-as drill-barons-ship (-> self parent 0)) root-override quat) - a2-1 - ) + (quaternion*! (-> self root quat) (-> (the-as drill-barons-ship (-> self parent 0)) root quat) a2-1) ) (if (and (-> (the-as drill-barons-ship (-> self parent 0)) next-state) (= (-> (the-as drill-barons-ship (-> self parent 0)) next-state name) 'hidden) @@ -1564,7 +1551,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -1615,7 +1602,7 @@ This commonly includes things such as: (t2-2 #f) (t3-2 *launch-matrix*) ) - (set! (-> t3-2 trans quad) (-> self root-override trans quad)) + (set! (-> t3-2 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-8) a0-8 a1-8 @@ -1636,7 +1623,7 @@ This commonly includes things such as: ) :trans (behavior () (vector<-cspace! - (-> self root-override trans) + (-> self root trans) (-> (the-as drill-barons-ship (-> self parent 0)) node-list data (-> self info joint-idx)) ) (if (not (and (-> (the-as drill-barons-ship (-> self parent 0)) next-state) @@ -1707,7 +1694,7 @@ This commonly includes things such as: (set! (-> self info alive) #f) (set! (-> self info next-to-shoot) #f) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> gp-1 z) (+ 81920.0 (-> gp-1 z))) (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-1 @@ -1778,9 +1765,9 @@ This commonly includes things such as: ) ) (set! (-> self error-y-angle-dest) (- (-> self error-y-angle))) - (let ((v1-5 (-> self root-override root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (cond ((= (-> self info mesh) 1) @@ -1832,7 +1819,7 @@ This commonly includes things such as: (if (zero? (-> self info mesh)) (sound-stop (-> self soundid)) ) - (let ((v1-5 (-> self root-override root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -1945,7 +1932,7 @@ This commonly includes things such as: ) ) (else - (let ((v1-45 (quaternion->matrix (new-stack-matrix0) (-> self root-override quat))) + (let ((v1-45 (quaternion->matrix (new-stack-matrix0) (-> self root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> v1-45 vector 2 quad)) diff --git a/goal_src/jak2/levels/drill_platform/drill-obs.gc b/goal_src/jak2/levels/drill_platform/drill-obs.gc index 5eda058739..ba22c3ff50 100644 --- a/goal_src/jak2/levels/drill_platform/drill-obs.gc +++ b/goal_src/jak2/levels/drill_platform/drill-obs.gc @@ -119,17 +119,13 @@ and translate the platform via the `smush` (cond ((-> self bouncing) (new 'stack-no-clear 'quaternion) - (quaternion-rotate-local-x! - (-> self root-override quat) - (-> self init-quat) - (* 182.04445 (update! (-> self smush))) - ) + (quaternion-rotate-local-x! (-> self root quat) (-> self init-quat) (* 182.04445 (update! (-> self smush)))) (if (not (!= (-> self smush amp) 0.0)) (set! (-> self bouncing) #f) ) ) (else - (move-to-point! (-> self root-override) (-> self basetrans)) + (move-to-point! (-> self root) (-> self basetrans)) ) ) (none) @@ -147,7 +143,7 @@ and translate the platform via the `smush` ) :enter (behavior () (ja :group! (-> self draw art-group data 2) :num! min) - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) (none) ) :trans drill-plat-falling-trans @@ -159,7 +155,7 @@ and translate the platform via the `smush` :virtual #t :trans (behavior () (if (>= (- (current-time) (-> self state-time)) (seconds 0.4)) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) ) (drill-plat-falling-trans) (none) @@ -203,7 +199,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -212,8 +208,8 @@ This commonly includes things such as: (the-as pair 0) ) (stop-bouncing! obj) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) - (update-transforms (-> obj root-override)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) + (update-transforms (-> obj root)) (ja-channel-push! 1 0) (go (method-of-object obj idle)) (none) @@ -288,7 +284,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -322,17 +318,17 @@ This commonly includes things such as: :frame-num 0.0 ) (until (ja-done? 0) - (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root trans)) (suspend) (ja :num! (seek!)) ) (logior! (-> self elevator-status) (elevator-status waiting-to-ascend)) (until (= (-> self path-pos) 1.0) - (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root trans)) (suspend) ) (sound-stop (-> self sound-id)) - (sound-play "d-elev-fence-dn" :position (-> self root-override trans)) + (sound-play "d-elev-fence-dn" :position (-> self root trans)) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) frames num-frames) -1))) :frame-num 0.0 @@ -351,7 +347,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (set-extent! (-> self shaft 0) (-> self root-override trans)) + (set-extent! (-> self shaft 0) (-> self root trans)) (none) ) ) @@ -471,11 +467,11 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 20480.0) (< (fabs (-> s4-2 z)) 20480.0)) ) ) @@ -567,7 +563,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (until (= (-> self path-pos) 1.0) - (sound-play "mech-lift" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "mech-lift" :id (-> self sound-id) :position (-> self root trans)) (suspend) ) (sound-stop (-> self sound-id)) @@ -588,9 +584,9 @@ For example for an elevator pre-compute the distance between the first and last ) (when (and a0-2 (focus-test? a0-2 mech) (not (logtest? (-> a0-2 focus-status) (focus-status dead ignore)))) (let* ((v1-5 (get-trans a0-2 0)) - (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> obj root-override trans))) + (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> obj root trans))) ) - (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root quat)) (and (< (fabs (-> s5-2 x)) 16384.0) (< (fabs (-> s5-2 z)) 16384.0)) ) ) @@ -648,7 +644,7 @@ For example for an elevator pre-compute the distance between the first and last ) (deftype fire-floor (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (part-off sparticle-launch-control :offset-assert 200) (size float 2 :offset-assert 204) (attack-id uint32 :offset-assert 212) @@ -704,10 +700,8 @@ For example for an elevator pre-compute the distance between the first and last (>= (-> s4-1 y) -2048.0) (>= 2048.0 (-> s4-1 y)) ) - (let ((s4-2 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) - (let* ((v1-23 - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root-override quat)) - ) + (let ((s4-2 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) + (let* ((v1-23 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root quat))) (f0-8 (vector-dot s4-2 v1-23)) ) (if (< 0.0 f0-8) @@ -756,7 +750,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a1-0 options) (overlaps-others-options oo0)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (none) ) @@ -889,7 +883,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (set-part obj) @@ -940,7 +934,7 @@ This commonly includes things such as: (matrix-inverse-of-rot-trans! (-> obj world-to-local) (-> obj local-to-world)) (set! (-> obj deadly-width) (vector-vector-distance (-> s4-1 vector 1) (the-as vector (-> s4-1 vector)))) (set! (-> obj deadly-length) (vector-vector-distance (-> s4-1 vector 2) (the-as vector (-> s4-1 vector)))) - (let ((v1-39 (-> obj root-override root-prim))) + (let ((v1-39 (-> obj root root-prim))) (vector-reset! (-> v1-39 local-sphere)) (let* ((f0-14 (* 0.5 (-> obj deadly-width))) (f0-16 (* f0-14 f0-14)) @@ -964,7 +958,7 @@ This commonly includes things such as: ) (set! (-> obj sound-id) (new-sound-id)) (set! (-> obj sound-playing) #f) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (go (method-of-object obj idle)) (none) ) @@ -1119,7 +1113,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1177,8 +1171,8 @@ This commonly includes things such as: (let ((gp-1 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! gp-1 (-> self root-override quat)) - (vector-! s5-1 (target-pos 0) (-> self root-override trans)) + (vector-z-quaternion! gp-1 (-> self root quat)) + (vector-! s5-1 (target-pos 0) (-> self root trans)) (if (< (vector-dot s5-1 gp-1) 0.0) (set! (-> self down-frame) 2.0) ) @@ -1591,12 +1585,12 @@ This commonly includes things such as: (game-task-node drill-ship-resolution) TASK_MANAGER_INIT_HOOK (lambda () - (speech-control-method-10 + (speech-table-set! *speech-control* - 6 + (speech-type speech-type-6) (new 'static 'speech-type-info - :min-delay #x4b0 - :max-delay #x960 + :min-delay (seconds 4) + :max-delay (seconds 8) :list (new 'static 'boxed-array :type string "kg001" "kg006" @@ -1637,13 +1631,13 @@ This commonly includes things such as: ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 9 + (speech-type speech-type-9) (new 'static 'speech-type-info :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "kg133" "kg142" @@ -1668,22 +1662,22 @@ This commonly includes things such as: ) (the-as object - (speech-control-method-10 - *speech-control* - 10 - (new 'static 'speech-type-info :priority #xa :max-delay #x12c :list (new 'static 'boxed-array :type string - "kg166" - "kg167" - "kg168" - "kg169" - "kg171" - "kg172" - "kg173" - "kg174" - "kg175" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-10) (new 'static 'speech-type-info + :priority 10 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg166" + "kg167" + "kg168" + "kg169" + "kg171" + "kg172" + "kg173" + "kg174" + "kg175" + ) + ) + ) ) ) ) diff --git a/goal_src/jak2/levels/drill_platform/drill-obs2.gc b/goal_src/jak2/levels/drill_platform/drill-obs2.gc index 5b0302b80b..da1c1440e6 100644 --- a/goal_src/jak2/levels/drill_platform/drill-obs2.gc +++ b/goal_src/jak2/levels/drill_platform/drill-obs2.gc @@ -89,14 +89,14 @@ ) :trans (behavior () (if (>= (ja-aframe-num 0) 67.5) - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) ) (plat-trans) (none) ) :code (behavior () - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) frames num-frames) -1)) 0.75) :frame-num 0.0 @@ -120,8 +120,8 @@ ) :trans (behavior () (if (>= (ja-aframe-num 0) 26.0) - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) ) (plat-trans) (none) @@ -181,7 +181,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 rider-max-momentum) 0.0) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -226,7 +226,7 @@ This commonly includes things such as: ) (deftype drill-falling-door (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (hit-state int32 :offset-assert 200) (next-hit-state int32 :offset-assert 204) ) @@ -284,11 +284,11 @@ This commonly includes things such as: :event drill-falling-door-handler :enter (behavior () (when (= (level-status *level* 'drillmtn) 'active) - (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 24985.6 :z 3276.8 :w 1.0) a2-0) self - (-> self root-override quat) + (-> self root quat) (the-as entity-actor (entity-by-name "mech-5")) ) ) @@ -343,7 +343,7 @@ This commonly includes things such as: (while (-> self child) (deactivate (-> self child 0)) ) - (let ((v1-6 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-6 (the-as collide-shape-prim-group (-> self root root-prim)))) (let ((a0-3 (-> v1-6 child 0))) (set! (-> a0-3 prim-core action) (collide-action solid)) (set! (-> a0-3 prim-core collide-as) (collide-spec obstacle)) @@ -414,7 +414,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -705,9 +705,9 @@ This commonly includes things such as: ) (deftype drill-metalhead-eggs (process-drawable) - ((root-override collide-shape-moving :offset 128) - (actor-group actor-group :offset-assert 200) - (notify-actor entity-actor :offset-assert 204) + ((root collide-shape-moving :override) + (actor-group actor-group :offset-assert 200) + (notify-actor entity-actor :offset-assert 204) ) :heap-base #x50 :method-count-assert 25 @@ -814,15 +814,15 @@ This commonly includes things such as: (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (sound-play "mhead-egg-break" :position (-> self root-override trans)) + (sound-play "mhead-egg-break" :position (-> self root trans)) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> gp-1 y) (+ 8192.0 (-> gp-1 y))) (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-1 @@ -1009,7 +1009,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s5-0)) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1051,7 +1051,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s5-0)) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1093,16 +1093,16 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s5-0)) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) ) (deftype drill-bridge-shot (process-drawable) - ((root-override collide-shape-moving :offset 128) - (anim art-joint-anim :offset-assert 200) - (art-name string :offset-assert 204) + ((root collide-shape-moving :override) + (anim art-joint-anim :offset-assert 200) + (art-name string :offset-assert 204) ) :heap-base #x50 :method-count-assert 22 @@ -1175,7 +1175,7 @@ This commonly includes things such as: (none) ) :code (behavior ((arg0 symbol)) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core collide-as) (collide-spec obstacle)) (set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core collide-with) (collide-spec jak bot player-list) @@ -1207,7 +1207,7 @@ This commonly includes things such as: (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-11 a1-7 @@ -1282,7 +1282,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1292,7 +1292,7 @@ This commonly includes things such as: ) (set! (-> obj draw force-lod) 1) (let ((f0-18 (res-lump-float (-> obj entity) 'rotoffset)) - (a1-16 (-> obj root-override quat)) + (a1-16 (-> obj root quat)) ) (quaternion-rotate-y! a1-16 a1-16 f0-18) ) @@ -1480,7 +1480,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) (set! (-> s5-0 rider-max-momentum) 0.0) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) diff --git a/goal_src/jak2/levels/drill_platform/drill-panel.gc b/goal_src/jak2/levels/drill_platform/drill-panel.gc index e0be39875f..1caa1e9741 100644 --- a/goal_src/jak2/levels/drill_platform/drill-panel.gc +++ b/goal_src/jak2/levels/drill_platform/drill-panel.gc @@ -655,18 +655,18 @@ ) :enter (behavior () (when (= (level-status *level* 'drillmtn) 'active) - (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (if (= (-> self type) drill-control-panel) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18841.6 :z -2048.0 :w 1.0) a2-0) self - (-> self root-override quat) + (-> self root quat) (the-as entity-actor (entity-by-name "mech-5")) ) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18841.6 :z -10240.0 :w 1.0) a2-0) self - (-> self root-override quat) + (-> self root quat) (the-as entity-actor (entity-by-name "mech-5")) ) ) @@ -711,7 +711,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -788,7 +788,7 @@ This commonly includes things such as: ) (the-as pair 0) ) - (set! (-> obj root-override root-prim transform-index) (the-as int (-> obj draw origin-joint-index))) + (set! (-> obj root root-prim transform-index) (the-as int (-> obj draw origin-joint-index))) (init-panel obj) (set! (-> obj draw force-lod) 1) (transform-post) diff --git a/goal_src/jak2/levels/drill_platform/drill-spool.gc b/goal_src/jak2/levels/drill_platform/drill-spool.gc index 7cd0b57f51..f7408dc037 100644 --- a/goal_src/jak2/levels/drill_platform/drill-spool.gc +++ b/goal_src/jak2/levels/drill_platform/drill-spool.gc @@ -795,13 +795,13 @@ :trans (-> (method-of-type drill-wall idle) trans) :code (behavior ((arg0 symbol)) (-> self draw bounds w) - (let ((v1-2 (-> self root-override root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) 0 (set! (-> self draw bounds w) 573440.0) - (set! (-> self root-override root-prim local-sphere w) 573440.0) + (set! (-> self root root-prim local-sphere w) 573440.0) (process-entity-status! self (entity-perm-status subtask-complete) #t) (let* ((gp-0 (-> self draw art-group)) (s4-0 (method-of-object gp-0 get-art-by-name-method)) @@ -829,7 +829,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-7 a1-5 @@ -844,7 +844,7 @@ (-> s5-1 ppointer) ) ) - (sound-play "egg-wall-break" :position (-> self root-override trans)) + (sound-play "egg-wall-break" :position (-> self root trans)) (ja-play-spooled-anim (-> self anim) (ja-group) (the-as art-joint-anim gp-1) (the-as (function process-drawable symbol) false-func)) ) (ja-channel-set! 1) @@ -905,7 +905,7 @@ This commonly includes things such as: (set! (-> s2-0 backup-collide-as) (-> v1-22 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) - (set! (-> obj root-override) s2-0) + (set! (-> obj root) s2-0) ) (if (string= (-> obj art-name) "drill-wall-1") (set! (-> obj anim) @@ -1053,7 +1053,7 @@ This commonly includes things such as: (let ((gp-0 (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-drill-crane-a" (the-as (pointer uint32) #f)) #f @@ -1069,7 +1069,7 @@ This commonly includes things such as: (let ((gp-2 (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-drill-crane-b" (the-as (pointer uint32) #f)) #f @@ -1085,7 +1085,7 @@ This commonly includes things such as: (let ((gp-4 (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-drill-crane-c" (the-as (pointer uint32) #f)) #f @@ -1101,7 +1101,7 @@ This commonly includes things such as: (let ((gp-6 (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-drill-crane-d" (the-as (pointer uint32) #f)) #f @@ -1175,7 +1175,7 @@ This commonly includes things such as: (set! (-> s3-1 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s3-1 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s3-1) + (set! (-> obj root) s3-1) ) (set! (-> obj anim) (new 'static 'spool-anim :name "drill-crane-break" :anim-name "break" :parts 3 :command-list '()) @@ -1184,7 +1184,7 @@ This commonly includes things such as: (initialize-skeleton obj (the-as skeleton-group s4-0) (the-as pair 0)) ) (set! (-> obj draw force-lod) 1) - (let ((s4-1 (-> obj root-override))) + (let ((s4-1 (-> obj root))) (set! sv-16 (new 'static 'res-tag)) (let ((v1-28 (res-lump-data arg0 'scale-mult (pointer float) :tag-ptr (& sv-16)))) (when v1-28 diff --git a/goal_src/jak2/levels/drill_platform/drill-turret.gc b/goal_src/jak2/levels/drill_platform/drill-turret.gc index 776c71a89e..17060a2195 100644 --- a/goal_src/jak2/levels/drill_platform/drill-turret.gc +++ b/goal_src/jak2/levels/drill_platform/drill-turret.gc @@ -415,7 +415,7 @@ ((the-as (function none) t9-1)) ) ) - (when (and (-> self use-egg-hud) (< (-> self egg-timer) (-> self clock frame-counter))) + (when (and (-> self use-egg-hud) (< (-> self egg-timer) (current-time))) (let ((v1-6 0)) (let ((a0-4 (+ (-> self actor-group-count) -1))) (dotimes (a1-1 (-> self actor-group a0-4 length)) @@ -430,12 +430,9 @@ ) (set! (-> *game-info* counter) (the float v1-6)) ) - (set! (-> self egg-timer) (+ (-> self clock frame-counter) (the int (* 300.0 (rand-vu-float-range 0.2 0.4))))) + (set! (-> self egg-timer) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.2 0.4))))) ) - (when (and (-> self use-cgh-hud) - (< (-> self cgh-timer) (-> self clock frame-counter)) - (handle->process (-> self hover-battle)) - ) + (when (and (-> self use-cgh-hud) (< (-> self cgh-timer) (current-time)) (handle->process (-> self hover-battle))) (if (= (-> *game-info* counter) 0.0) (set! (-> self hud-cgh-event) 'force-hide) ) @@ -459,8 +456,8 @@ ) ) (if (= (-> *game-info* counter) 0.0) - (set! (-> self cgh-timer) (+ (-> self clock frame-counter) (seconds 4))) - (set! (-> self cgh-timer) (+ (-> self clock frame-counter) (the int (* 300.0 (rand-vu-float-range 0.2 0.4))))) + (set! (-> self cgh-timer) (+ (current-time) (seconds 4))) + (set! (-> self cgh-timer) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.2 0.4))))) ) ) (none) @@ -470,7 +467,7 @@ (defstate die (turret) :virtual #t :enter (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-10)) (let ((t9-2 (-> (the-as (state base-turret) (find-parent-method turret 32)) enter))) (if t9-2 (t9-2) diff --git a/goal_src/jak2/levels/drill_platform/drillmid-obs.gc b/goal_src/jak2/levels/drill_platform/drillmid-obs.gc index f1d50d7005..879d6a3a35 100644 --- a/goal_src/jak2/levels/drill_platform/drillmid-obs.gc +++ b/goal_src/jak2/levels/drill_platform/drillmid-obs.gc @@ -59,7 +59,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -111,11 +111,11 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -132,9 +132,9 @@ This commonly includes things such as: ) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) - (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root-override trans))) + (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root trans))) ) - (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root quat)) (and (< (fabs (-> gp-2 x)) 20480.0) (< 0.0 (-> gp-2 z)) (< (-> gp-2 z) 40960.0)) ) ) @@ -142,7 +142,7 @@ This commonly includes things such as: ) (defmethod set-collide-spec! drill-lift ((obj drill-lift) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec obstacle pusher)) @@ -169,7 +169,7 @@ This commonly includes things such as: (set! (-> self sound-id) (sound-play "drl-elevator-lp")) (when (logtest? (-> self elevator-status) (elevator-status waiting-to-descend)) (set-collide-spec! self #t) - (set-setting! 'jump #f 0 0) + (set-setting! 'jump #f 0.0 0) ) (none) ) @@ -184,7 +184,7 @@ This commonly includes things such as: (none) ) :post (behavior () - (sound-play "drl-elevator-lp" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "drl-elevator-lp" :id (-> self sound-id) :position (-> self root trans)) (let ((t9-2 (-> (the-as state (find-parent-method drill-lift 36)) post))) (if t9-2 ((the-as (function none) t9-2)) @@ -245,7 +245,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (set-collide-spec! obj #f) (none) diff --git a/goal_src/jak2/levels/drill_platform/ginsu.gc b/goal_src/jak2/levels/drill_platform/ginsu.gc index 2d15aaf631..021a9d7fa5 100644 --- a/goal_src/jak2/levels/drill_platform/ginsu.gc +++ b/goal_src/jak2/levels/drill_platform/ginsu.gc @@ -294,7 +294,7 @@ :walk-travel-speed (meters 16) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -347,7 +347,7 @@ (vector-reset! arg0) (let ((a0-2 (handle->process (-> obj focus handle)))) (if a0-2 - (vector-! arg0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root-override2 trans)) + (vector-! arg0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) ) ) arg0 @@ -378,7 +378,7 @@ ) ) ) - (sound-play "ginsu-loop" :id (-> obj blade-sound) :position (-> obj root-override2 trans)) + (sound-play "ginsu-loop" :id (-> obj blade-sound) :position (-> obj root trans)) (set! (-> obj blade-sound-playing) #t) ) ((-> obj blade-sound-playing) @@ -403,7 +403,7 @@ ) (< (- (current-time) (-> obj grind-timer)) 0) ) - (sound-play "ginsu-grind" :id (-> obj grind-sound) :position (-> obj root-override2 trans)) + (sound-play "ginsu-grind" :id (-> obj grind-sound) :position (-> obj root trans)) (set! (-> obj grind-sound-playing) #t) ) ((-> obj grind-sound-playing) @@ -435,7 +435,7 @@ (let ((a1-0 (-> obj nav state))) (set! (-> s5-0 quad) (-> a1-0 velocity quad)) ) - (quaternion->matrix s4-0 (-> obj root-override2 quat)) + (quaternion->matrix s4-0 (-> obj root quat)) (let ((f0-1 (vector-dot s5-0 (the-as vector (-> s4-0 vector))))) (if (logtest? (enemy-flag dislike-combo) (-> obj enemy-flags)) (set! f0-1 (- f0-1)) @@ -488,7 +488,7 @@ (let ((a0-2 (handle->process (-> obj focus handle)))) (cond (a0-2 - (vector-! s3-0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root-override2 trans)) + (vector-! s3-0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) ) (else (let ((a0-7 (-> arg0 state))) @@ -500,7 +500,7 @@ (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) (let ((s5-3 (new 'stack-no-clear 'quaternion)) - (s4-0 (-> obj root-override2 quat)) + (s4-0 (-> obj root quat)) ) (quaternion-set! s5-3 0.0 (sqrtf (* 0.5 (- 1.0 (-> s3-0 z)))) 0.0 (sqrtf (* 0.5 (+ 1.0 (-> s3-0 z))))) (if (< (-> s3-0 x) 0.0) @@ -663,11 +663,11 @@ (if (logtest? (enemy-flag enemy-flag40) (-> self enemy-flags)) (vector-negate! gp-0 gp-0) ) - (vector+float*! gp-0 (-> self root-override2 trans) gp-0 20480.0) + (vector+float*! gp-0 (-> self root trans) gp-0 20480.0) (vector+float*! gp-0 gp-0 s5-0 f30-0) ) (cloest-point-on-mesh (-> self nav) gp-0 gp-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-0 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-0 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -730,9 +730,9 @@ (let ((gp-0 (ginsu-method-181 self (new 'stack-no-clear 'vector)))) (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 -819.2) - (vector+! gp-0 gp-0 (-> self root-override2 trans)) + (vector+! gp-0 gp-0 (-> self root trans)) (cloest-point-on-mesh (-> self nav) gp-0 gp-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-0 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-0 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -754,7 +754,7 @@ :enter (behavior () (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (ginsu-method-183 self #t) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-9 *game-info*) @@ -815,9 +815,9 @@ (logclear! (-> self mask) (process-mask actor-pause)) (logior! (-> self enemy-flags) (enemy-flag use-notice-distance)) (ja-channel-set! 0) - (set! (-> self root-override2 scale x) 0.01) - (set! (-> self root-override2 scale y) 0.01) - (set! (-> self root-override2 scale z) 0.01) + (set! (-> self root scale x) 0.01) + (set! (-> self root scale y) 0.01) + (set! (-> self root scale z) 0.01) (none) ) :exit (behavior () @@ -836,14 +836,14 @@ (ja-channel-push! 1 0) (ja :group! ginsu-idle-ja :num! min) ) - (vector-seek! (-> self root-override2 scale) (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) 0.02) + (vector-seek! (-> self root scale) (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) 0.02) (+! (-> self path-pos) (/ 2048.0 (total-distance (-> self ambush-path)))) (let ((f30-1 (-> self path-pos))) (when (>= f30-1 1.0) (set! (-> self path-pos) 1.0) (go-hostile self) ) - (get-point-at-percent-along-path! (-> self ambush-path) (-> self root-override2 trans) f30-1 'interp) + (get-point-at-percent-along-path! (-> self ambush-path) (-> self root trans) f30-1 'interp) ) (ja :num! (loop!)) ) @@ -920,7 +920,7 @@ (defmethod go-hostile ginsu ((obj ginsu)) (cond - ((or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + ((or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) @@ -979,7 +979,7 @@ ) (defmethod ginsu-method-183 ginsu ((obj ginsu) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec enemy)) @@ -999,7 +999,7 @@ "@abstract" (case arg0 ((1) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (logior! (-> v1-2 prim-core action) (collide-action solid)) (let ((v1-4 (-> (the-as collide-shape-prim-group v1-2) child 0))) (logior! (-> v1-4 prim-core action) (collide-action solid)) @@ -1071,7 +1071,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1101,7 +1101,7 @@ (set! (-> v1-16 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (ginsu-method-183 obj #f) (set! (-> obj blade-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) obj 8)) (init (-> obj blade-speed) 1.0 0.01 0.1 0.9) diff --git a/goal_src/jak2/levels/forest/forest-obs.gc b/goal_src/jak2/levels/forest/forest-obs.gc index 0b05789a80..9e5fb13f9e 100644 --- a/goal_src/jak2/levels/forest/forest-obs.gc +++ b/goal_src/jak2/levels/forest/forest-obs.gc @@ -64,7 +64,7 @@ This commonly includes things such as: ) (deftype forest-youngsamos (process-focusable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (init-quat quaternion :inline :offset-assert 208) (desired-pos vector :inline :offset-assert 224) (hit-dir vector :inline :offset-assert 240) @@ -96,18 +96,18 @@ This commonly includes things such as: (defbehavior forest-youngsamos-post forest-youngsamos () (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (find-ground (-> self root-override2) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) + (find-ground (-> self root) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) ) - (let ((v1-3 (vector-! (new 'stack-no-clear 'vector) (-> self desired-pos) (-> self root-override2 trans)))) - (let ((a0-3 (-> self root-override2 transv))) + (let ((v1-3 (vector-! (new 'stack-no-clear 'vector) (-> self desired-pos) (-> self root trans)))) + (let ((a0-3 (-> self root transv))) (if (not (-> self falling?)) (vector+float*! a0-3 a0-3 v1-3 (* 3.0 (-> self clock seconds-per-frame))) ) ) - (vector-float*! (-> self root-override2 transv) (-> self root-override2 transv) 0.975) + (vector-float*! (-> self root transv) (-> self root transv) 0.975) (let ((gp-1 (vector-float*! (new 'stack-no-clear 'vector) v1-3 0.000024414063)) (s4-0 (-> self init-quat)) - (s5-0 (-> self root-override2 quat)) + (s5-0 (-> self root quat)) ) (vector-inv-orient-by-quat! gp-1 gp-1 s4-0) (quaternion-rotate-local-z! s5-0 s4-0 (* 8192.0 (-> gp-1 x))) @@ -115,13 +115,10 @@ This commonly includes things such as: ) ) (if (-> self falling?) - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 1.0)) (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) ) - (let ((gp-4 (-> self root-override2))) + (let ((gp-4 (-> self root))) (let ((a2-7 (new 'stack-no-clear 'collide-query))) (set! (-> a2-7 collide-with) (-> gp-4 root-prim prim-core collide-with)) (set! (-> a2-7 ignore-process0) self) @@ -144,7 +141,7 @@ This commonly includes things such as: 0 ) (let ((a0-20 *target*)) - (when (and a0-20 (< 614400.0 (vector-vector-distance (get-trans a0-20 0) (-> self root-override2 trans)))) + (when (and a0-20 (< 614400.0 (vector-vector-distance (get-trans a0-20 0) (-> self root trans)))) (let ((a1-19 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-19 from) (process->ppointer self)) (set! (-> a1-19 num-params) 0) @@ -201,7 +198,7 @@ This commonly includes things such as: ) (cond (v1-10 - (vector-! (-> self hit-dir) (-> self root-override2 trans) (-> v1-10 root-override trans)) + (vector-! (-> self hit-dir) (-> self root trans) (-> v1-10 root trans)) (vector-normalize! (-> self hit-dir) 1.0) ) ((logtest? (attack-info-mask attacker-velocity) (-> s5-1 mask)) @@ -275,18 +272,15 @@ This commonly includes things such as: (none) ) :code (behavior () - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 24576.0 65536.0 f30-0)) (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) ) (ja-channel-push! 1 (seconds 0.2)) - (let ((v1-5 - (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root-override2 quat)) - ) - ) + (let ((v1-5 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root quat)))) (cond ((< (-> v1-5 x) (-> v1-5 z)) (ja-no-eval :group! (-> self draw art-group data 12) @@ -341,11 +335,11 @@ This commonly includes things such as: (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-10)) (send-event *camera* 'change-target self) - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 24576.0 65536.0 f30-0)) (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) @@ -483,7 +477,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override2) s4-0) + (set! (-> obj root) s4-0) ) (set! (-> obj entity) arg0) (process-drawable-from-entity! obj (-> obj entity)) @@ -494,13 +488,13 @@ This commonly includes things such as: ) (logclear! (-> obj mask) (process-mask actor-pause)) (process-entity-status! obj (entity-perm-status no-kill) #t) - (set! (-> obj desired-pos quad) (-> obj root-override2 trans quad)) - (quaternion-copy! (-> obj init-quat) (-> obj root-override2 quat)) + (set! (-> obj desired-pos quad) (-> obj root trans quad)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (set! (-> obj desired-pos y) (+ 8192.0 (-> obj desired-pos y))) (vector-reset! (-> obj hit-dir)) (set! (-> obj hit-points) 9.0) (set! (-> obj incoming-attack-id) (the-as uint -1)) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) (set! (-> obj focus-disable-timer) (the-as uint 0)) (set! (-> obj hud) (ppointer->handle (process-spawn hud-samos-young :init hud-init-by-other :to obj))) (set! (-> obj sound-id) (new-sound-id)) @@ -519,111 +513,105 @@ This commonly includes things such as: (set-setting! 'sound-mode #f 0.0 1) (set-setting! 'sound-excitement 'abs 0.8 0) (set-setting! 'extra-bank '((forest2 forest4) (forest3 forest5)) 0.0 0) - (speech-control-method-10 - *speech-control* - 6 - (new 'static 'speech-type-info - :min-delay #x4b0 - :max-delay #x960 - :list (new 'static 'boxed-array :type string - "kg001" - "kg002" - "kg004" - "kg006" - "kg001a" - "kg013" - "kg016" - "kg018" - "kg019" - "kg023" - "kg024" - "kg002a" - "kg004a" - "kg078a" - "kg079a" - "kg080a" - "kg081a" - "kg004a" - "kg082a" - "kg083a" - "kg084a" - "kg085a" - "kg086a" - "kg087a" - "kg088a" - "kg091a" - "kg023a" - "kg006a" - "kg092a" - "kg093a" - "kg094a" - "kg095a" - "kg103a" - "kg104a" - "kg112a" - "kg024a" - "kg134" - "kg136" - "kg137" - "kg138" - "kg139" - "kg140" - "kg141" - "kg130" - "kg135" - "kg156" - "kg157" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 9 - (new 'static 'speech-type-info - :priority #x9 - :max-delay #x12c - :list (new 'static 'boxed-array :type string - "kg133" - "kg137" - "kg142" - "kg144" - "kg145" - "kg146" - "kg147" - "kg148" - "kg149" - "kg150" - "kg138" - "kg151" - "kg152" - "kg153" - "kg154" - "kg155" - "kg159" - "kg163" - "kg164" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 10 - (new 'static 'speech-type-info :priority #xa :max-delay #x12c :list (new 'static 'boxed-array :type string - "kg165" - "kg166" - "kg167" - "kg168" - "kg169" - "kg170" - "kg171" - "kg172" - "kg173" - "kg174" - "kg175" - "kg176" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-6) (new 'static 'speech-type-info + :min-delay (seconds 4) + :max-delay (seconds 8) + :list (new 'static 'boxed-array :type string + "kg001" + "kg002" + "kg004" + "kg006" + "kg001a" + "kg013" + "kg016" + "kg018" + "kg019" + "kg023" + "kg024" + "kg002a" + "kg004a" + "kg078a" + "kg079a" + "kg080a" + "kg081a" + "kg004a" + "kg082a" + "kg083a" + "kg084a" + "kg085a" + "kg086a" + "kg087a" + "kg088a" + "kg091a" + "kg023a" + "kg006a" + "kg092a" + "kg093a" + "kg094a" + "kg095a" + "kg103a" + "kg104a" + "kg112a" + "kg024a" + "kg134" + "kg136" + "kg137" + "kg138" + "kg139" + "kg140" + "kg141" + "kg130" + "kg135" + "kg156" + "kg157" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-9) (new 'static 'speech-type-info + :priority 9 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg133" + "kg137" + "kg142" + "kg144" + "kg145" + "kg146" + "kg147" + "kg148" + "kg149" + "kg150" + "kg138" + "kg151" + "kg152" + "kg153" + "kg154" + "kg155" + "kg159" + "kg163" + "kg164" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-10) (new 'static 'speech-type-info + :priority 10 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg165" + "kg166" + "kg167" + "kg168" + "kg169" + "kg170" + "kg171" + "kg172" + "kg173" + "kg174" + "kg175" + "kg176" + ) + ) + ) (none) ) ) diff --git a/goal_src/jak2/levels/forest/lifeseed/protect.gc b/goal_src/jak2/levels/forest/lifeseed/protect.gc index 1539acc1e5..cbf5c0f185 100644 --- a/goal_src/jak2/levels/forest/lifeseed/protect.gc +++ b/goal_src/jak2/levels/forest/lifeseed/protect.gc @@ -336,42 +336,42 @@ This commonly includes things such as: (send-event gp-0 'set-guard-target-count-range 4 0 0) (send-event gp-0 'set-guard-target-count-range 5 0 0) ) - (speech-control-method-10 *speech-control* 6 (new 'static 'speech-type-info - :channel #x1 - :priority -2 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg320a" - "kg321a" - "kg322a" - "kg323a" - "kg324a" - "kg325a" - "kg326a" - "kg327a" - "kg328a" - "kg329a" - "kg330a" - "kg331a" - "kg332a" - "kg333a" - "kg334a" - "kg335a" - "kg336a" - "kg337a" - "kg338a" - "kg339a" - "kg340a" - "kg341a" - "kg342a" - "kg343a" - "kg344a" - "kg345a" - "kg347a" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-6) (new 'static 'speech-type-info + :channel #x1 + :priority -2 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg320a" + "kg321a" + "kg322a" + "kg323a" + "kg324a" + "kg325a" + "kg326a" + "kg327a" + "kg328a" + "kg329a" + "kg330a" + "kg331a" + "kg332a" + "kg333a" + "kg334a" + "kg335a" + "kg336a" + "kg337a" + "kg338a" + "kg339a" + "kg340a" + "kg341a" + "kg342a" + "kg343a" + "kg344a" + "kg345a" + "kg347a" + ) + ) + ) (dotimes (gp-1 (length *city-slums-transport-info*)) (set! (-> *city-slums-transport-info* gp-1 spawned) #f) ) diff --git a/goal_src/jak2/levels/forest/pegasus.gc b/goal_src/jak2/levels/forest/pegasus.gc index c14282a25b..24eaa68f32 100644 --- a/goal_src/jak2/levels/forest/pegasus.gc +++ b/goal_src/jak2/levels/forest/pegasus.gc @@ -156,7 +156,7 @@ (defmethod run-logic? pegasus ((obj pegasus)) "Calls [[process-tree::12]] if we are considered in-range of the [[pegasus]], otherwise returns [[#t]]" (let ((min-distance 491520.0)) - (if (< (* min-distance min-distance) (vector-vector-distance-squared (-> obj root-override2 trans) (camera-pos))) + (if (< (* min-distance min-distance) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) ((method-of-type enemy run-logic?) obj) #t ) @@ -170,14 +170,14 @@ (let ((inaccuracy-dir (new 'stack-no-clear 'vector)) (inaccuracy-vec (new 'stack-no-clear 'vector)) ) - (vector-! inaccuracy-dir (-> obj root-override2 trans) (-> target gun fire-point)) + (vector-! inaccuracy-dir (-> obj root trans) (-> target gun fire-point)) (vector+float*! inaccuracy-vec (-> target gun fire-point) (-> target gun fire-dir-out) (vector-length inaccuracy-dir) ) - (let ((inaccuracy-mag (vector-vector-distance-squared inaccuracy-vec (-> obj root-override2 trans))) + (let ((inaccuracy-mag (vector-vector-distance-squared inaccuracy-vec (-> obj root trans))) (threshold 20480.0) ) (if (< inaccuracy-mag (* threshold threshold)) @@ -356,7 +356,7 @@ Additional debug text will be displayed as well. This is useful as many paths o ) (cond ((and influenced-by-target? *target*) - (vector-! flee-direction-vec (-> self root-override2 trans) (target-pos 0)) + (vector-! flee-direction-vec (-> self root trans) (target-pos 0)) (vector-normalize! flee-direction-vec 1.0) ) ((= (-> self speed) 0.0) @@ -373,7 +373,7 @@ Additional debug text will be displayed as well. This is useful as many paths o (vector-matrix*! flee-direction-vec (-> self facing) rotation-matrix) (vector-normalize! flee-direction-vec 1.0) (forward-down->inv-matrix rotation-matrix flee-direction-vec (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override2 quat) rotation-matrix) + (matrix->quaternion (-> self root quat) rotation-matrix) (set! (-> self run-blend-interp) (acos (vector-dot flee-direction-vec (-> self facing)))) (set! (-> self run-blend-interp) (* 0.0002746582 (-> self run-blend-interp))) (if (< (vector-dot (-> self facing) (the-as vector (-> rotation-matrix vector))) 0.0) @@ -540,17 +540,17 @@ There are many fail-safes here if something goes wrong to try to keep the pegasu (pegasus-choose-path) (get-point-at-percent-along-path! (-> self path-info (-> self current-path) path-data) - (-> self root-override2 trans) + (-> self root trans) (-> self curve-position) 'interp ) - (let ((y-pos (+ -81920.0 (-> self root-override2 trans y))) + (let ((y-pos (+ -81920.0 (-> self root trans y))) (draw-shadow? #f) ) (let ((cquery (new 'stack 'collide-query)) (start-pos (new 'stack-no-clear 'vector)) ) - (set! (-> start-pos quad) (-> self root-override2 trans quad)) + (set! (-> start-pos quad) (-> self root trans quad)) (set! (-> self over-ground) #f) (when (enemy-above-ground? self cquery start-pos (collide-spec backgnd) 12288.0 81920.0 1024.0) (set! y-pos (-> cquery best-other-tri intersect y)) @@ -588,13 +588,13 @@ There are many fail-safes here if something goes wrong to try to keep the pegasu ) ) ) - (+! (-> self root-override2 trans y) (-> self y-offset)) - (when (< (-> self root-override2 trans y) y-pos) - (set! (-> self y-offset) (- y-pos (- (-> self root-override2 trans y) (-> self y-offset)))) - (set! (-> self root-override2 trans y) y-pos) + (+! (-> self root trans y) (-> self y-offset)) + (when (< (-> self root trans y) y-pos) + (set! (-> self y-offset) (- y-pos (- (-> self root trans y) (-> self y-offset)))) + (set! (-> self root trans y) y-pos) (set! (-> self y-vel) (fmax 0.0 (-> self y-vel))) ) - (set! (-> self on-ground) (< (fabs (- (-> self root-override2 trans y) y-pos)) 409.6)) + (set! (-> self on-ground) (< (fabs (- (-> self root trans y) y-pos)) 409.6)) (cond (draw-shadow? (let ((shadow-ctrl (-> self draw shadow-ctrl))) @@ -602,7 +602,7 @@ There are many fail-safes here if something goes wrong to try to keep the pegasu ) 0 (let ((_shadow-ctrl (-> self draw shadow-ctrl))) - (set! (-> _shadow-ctrl settings bot-plane w) (- (+ (- -6144.0 (-> self root-override2 trans y)) y-pos))) + (set! (-> _shadow-ctrl settings bot-plane w) (- (+ (- -6144.0 (-> self root trans y)) y-pos))) ) 0 ) @@ -626,7 +626,7 @@ This function also is what causes the pegasus to flip around @param max-speed The maximum speed the pegasus can go @param min-speed The minimum speed the pegasus can go @returns If there should be a reaction to the target via [[enemy::72]]" - (let ((dir-to-target (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (target-pos 0))) + (let ((dir-to-target (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (target-pos 0))) (react-to-target? #f) ) (set! (-> dir-to-target y) 0.0) @@ -737,7 +737,7 @@ The faster it's moving the fast it flaps it's wings, etc ) (get-point-at-percent-along-path! (-> self path-info (-> self current-path) path-data) - (-> self root-override2 trans) + (-> self root trans) (-> self curve-position) 'interp ) @@ -1029,10 +1029,9 @@ The faster it's moving the fast it flaps it's wings, etc ) ) (cond - ((and *target* - (and (>= 102400.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + ((and *target* (and (>= 102400.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (set! (-> self state-time) (the-as time-frame (max (+ (current-time) (seconds -10)) (-> self state-time)))) ) @@ -1090,7 +1089,7 @@ The faster it's moving the fast it flaps it's wings, etc ) ) (when (and *target* - (and (>= 102400.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> *target* control trans))) + (and (>= 102400.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -1284,7 +1283,7 @@ The faster it's moving the fast it flaps it's wings, etc (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -1362,7 +1361,7 @@ The faster it's moving the fast it flaps it's wings, etc (set! (-> obj curve-position) (res-lump-float (-> obj entity) 'initial-spline-pos)) (get-point-at-percent-along-path! (-> obj path-info (-> obj current-path) path-data) - (-> obj root-override2 trans) + (-> obj root trans) (-> obj curve-position) 'interp ) @@ -1374,7 +1373,7 @@ The faster it's moving the fast it flaps it's wings, etc (set! (-> obj facing quad) (-> obj tangent quad)) (let ((matrix (new 'stack-no-clear 'matrix))) (forward-down->inv-matrix matrix (-> obj facing) (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> obj root-override2 quat) matrix) + (matrix->quaternion (-> obj root quat) matrix) ) (set! (-> obj y-vel) 0.0) (set! (-> obj water-height) (res-lump-float (-> obj entity) 'water-height)) diff --git a/goal_src/jak2/levels/forest/predator.gc b/goal_src/jak2/levels/forest/predator.gc index ed24ce7053..e04b16fb3a 100644 --- a/goal_src/jak2/levels/forest/predator.gc +++ b/goal_src/jak2/levels/forest/predator.gc @@ -115,12 +115,12 @@ (sound-play "pred-shot-hit") ) (((projectile-options lose-altitude proj-options-2)) - (let ((f0-0 (doppler-pitch-shift (-> obj root-override trans) (-> obj root-override transv))) + (let ((f0-0 (doppler-pitch-shift (-> obj root trans) (-> obj root transv))) (a0-7 (static-sound-spec "pred-shot-loop" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-7 volume) 1024) (set! (-> a0-7 pitch-mod) (the int (* 1524.0 f0-0))) - (sound-play-by-spec a0-7 (-> obj sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-7 (-> obj sound-id) (-> obj root trans)) ) ) ) @@ -171,9 +171,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -181,14 +181,14 @@ (defmethod init-proj-settings! predator-shot ((obj predator-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'predator-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalhead-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.767)) (set! (-> obj sound-id) (new-sound-id)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -396,7 +396,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 3) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 40) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -700,11 +700,7 @@ (s3-0 (new 'stack-no-clear 'vector)) ) (when s2-0 - (seek! - (-> obj miss-amount) - (* 0.5 (vector-length (-> (the-as process-focusable s2-0) root-override transv))) - 4096.0 - ) + (seek! (-> obj miss-amount) (* 0.5 (vector-length (-> (the-as process-focusable s2-0) root transv))) 4096.0) (set! (-> s3-0 quad) (-> (get-trans (the-as process-focusable s2-0) 3) quad)) (set! sv-224 (new 'stack-no-clear 'vector)) (let ((v1-24 (-> s5-0 pos)) @@ -725,7 +721,7 @@ ) (let ((a0-19 s3-0)) (let ((v1-30 s3-0)) - (let ((a1-6 (-> (the-as process-focusable s2-0) root-override transv))) + (let ((a1-6 (-> (the-as process-focusable s2-0) root transv))) (let ((a2-2 f0-6)) (.mov vf7 a2-2) ) @@ -847,7 +843,7 @@ (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) ) ) - (if (< 245760.0 (vector-vector-distance (-> obj root-override2 trans) (camera-pos))) + (if (< 245760.0 (vector-vector-distance (-> obj root trans) (camera-pos))) (setup-masks (-> obj draw) 0 8) ) (when (< (current-time) (the-as time-frame (-> obj shock-effect-end))) @@ -969,18 +965,12 @@ (let ((s5-0 (handle->process (-> self focus handle)))) (when s5-0 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable s5-0) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s5-0) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable s5-0) 0)) - 24576.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable s5-0) 0)) 24576.0) (go-virtual close-attack) ) ) @@ -1087,9 +1077,7 @@ (go-virtual active) ) (when gp-0 - (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 49152.0 - ) + (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 49152.0) (go-virtual hostile) ) ) @@ -1144,7 +1132,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (predator-method-187 self) @@ -1158,9 +1146,7 @@ (go-virtual active) ) (when gp-0 - (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 65536.0 - ) + (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 65536.0) (go-virtual hostile) ) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.5)) @@ -1241,10 +1227,7 @@ ) (when (get-enemy-target self) (when (and gp-0 (>= (- (current-time) (-> self state-time)) (-> self reaction-time))) - (let ((f0-0 - (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - ) - ) + (let ((f0-0 (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)))) (cond ((< f0-0 16384.0) (go-virtual close-attack) @@ -1339,7 +1322,7 @@ -1 (dotimes (s4-0 (the-as int (-> *predator-graph* node-count))) (let* ((s3-0 (-> *predator-graph* node s4-0)) - (f0-0 (vector-vector-distance (-> s3-0 position) (-> obj root-override2 trans))) + (f0-0 (vector-vector-distance (-> s3-0 position) (-> obj root trans))) ) (when (and (not (logtest? (-> s3-0 flags) (predator-node-flag taken))) (or (= s5-0 -1) (< f0-0 f30-0))) (set! f30-0 f0-0) @@ -1393,14 +1376,14 @@ (predator-method-183 obj) (los-control-method-9 (-> obj los) (the-as process-focusable #f) (the-as vector #f) 2048.0) (when (nonzero? (-> obj sound)) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) ) (none) ) (defmethod set-dangerous! predator ((obj predator) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (-> v1-1 specific 0))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1484,7 +1467,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1504,7 +1487,7 @@ ) 0 (let ((v1-2 (-> obj nav))) - (set! (-> v1-2 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-2 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 0 @@ -1561,7 +1544,7 @@ This commonly includes things such as: (set! (-> v1-5 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x 1228.8 :y 450.56 :z 983.04 :w 614400.0)) (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x -1228.8 :y 450.56 :z 983.04 :w 614400.0)) (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd enemy obstacle)) @@ -1576,12 +1559,8 @@ This commonly includes things such as: (set! (-> obj miss-amount) 16384.0) (set! (-> obj ambient-sound-id) (new 'static 'sound-id)) (predator-method-185 obj) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (static-sound-spec "pred-hum" :fo-min 2 :fo-max 30) - (-> obj root-override2 trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "pred-hum" :fo-min 2 :fo-max 30) (-> obj root trans)) ) (set! (-> obj enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> obj enemy-flags))) (add-icon! *minimap* obj (the-as uint 16) (the-as int #f) (the-as vector #t) 0) diff --git a/goal_src/jak2/levels/fortress/ammo_dump/fordumpa-obs.gc b/goal_src/jak2/levels/fortress/ammo_dump/fordumpa-obs.gc index 385360ce49..1a25ef3508 100644 --- a/goal_src/jak2/levels/fortress/ammo_dump/fordumpa-obs.gc +++ b/goal_src/jak2/levels/fortress/ammo_dump/fordumpa-obs.gc @@ -8,7 +8,7 @@ ;; DECOMP BEGINS (deftype fort-elec-switch (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (l-bolt lightning-control :offset-assert 200) (notify-actor entity-actor :offset-assert 204) (tank-actor entity-actor :offset-assert 208) @@ -97,14 +97,14 @@ (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y))) (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-0 @@ -262,7 +262,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -317,8 +317,8 @@ This commonly includes things such as: (let ((a0-20 (new 'stack-no-clear 'vector)) (v1-26 (new 'stack-no-clear 'vector)) ) - (set! (-> a0-20 quad) (-> obj root-override trans quad)) - (set! (-> v1-26 quad) (-> obj root-override trans quad)) + (set! (-> a0-20 quad) (-> obj root trans quad)) + (set! (-> v1-26 quad) (-> obj root trans quad)) (set! (-> a0-20 y) (+ 4915.2 (-> a0-20 y))) (set! (-> v1-26 y) (+ 17203.2 (-> v1-26 y))) (set! (-> obj l-bolt state meet data 0 quad) (-> a0-20 quad)) @@ -331,11 +331,11 @@ This commonly includes things such as: ) (deftype fort-fence (process-drawable) - ((root-override collide-shape :offset 128) - (anim spool-anim :offset-assert 200) - (exit-anim basic :offset-assert 204) - (loading? symbol :offset-assert 208) - (tank handle :offset-assert 216) + ((root collide-shape :override) + (anim spool-anim :offset-assert 200) + (exit-anim basic :offset-assert 204) + (loading? symbol :offset-assert 208) + (tank handle :offset-assert 216) ) :heap-base #x60 :method-count-assert 24 @@ -394,7 +394,7 @@ This commonly includes things such as: (set! (-> a1-0 message) 'trans) (let ((a1-1 (send-event-function (handle->process (-> self tank)) a1-0))) (when a1-1 - (let ((f0-0 (vector-vector-distance (-> self root-override trans) (the-as vector a1-1)))) + (let ((f0-0 (vector-vector-distance (-> self root trans) (the-as vector a1-1)))) (gui-control-method-12 *gui-control* self @@ -419,7 +419,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self draw bounds w) 327680.0) - (let* ((a0-0 (the-as collide-shape-prim-group (-> self root-override root-prim))) + (let* ((a0-0 (the-as collide-shape-prim-group (-> self root root-prim))) (v1-4 (-> a0-0 child 0)) ) (let ((a0-2 (-> a0-0 child 1))) @@ -561,7 +561,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -593,7 +593,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/fortress/ammo_dump/fordumpc-obs.gc b/goal_src/jak2/levels/fortress/ammo_dump/fordumpc-obs.gc index 4c38a1f0b5..858ab2e904 100644 --- a/goal_src/jak2/levels/fortress/ammo_dump/fordumpc-obs.gc +++ b/goal_src/jak2/levels/fortress/ammo_dump/fordumpc-obs.gc @@ -45,7 +45,7 @@ ) (deftype fort-dump-bomb-a (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -85,7 +85,7 @@ ) :code (the-as (function none :behavior fort-dump-bomb-a) sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (none) ) ) @@ -93,7 +93,7 @@ (defstate die (fort-dump-bomb-a) :virtual #t :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -101,7 +101,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "fort-bomb") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 quad 0) (-> self root-override trans quad)) + (set! (-> gp-1 quad 0) (-> self root trans quad)) (set! (-> gp-1 vector 0 y) (+ 8192.0 (-> gp-1 vector 0 y))) (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-1 @@ -172,7 +172,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -192,9 +192,9 @@ This commonly includes things such as: ) (deftype fort-missile-target (process-drawable) - ((root-override collide-shape-moving :offset 128) - (part-mat matrix 2 :inline :offset-assert 208) - (sound-id uint32 :offset-assert 336) + ((root collide-shape-moving :override) + (part-mat matrix 2 :inline :offset-assert 208) + (sound-id uint32 :offset-assert 336) ) :heap-base #xe0 :method-count-assert 22 @@ -262,15 +262,15 @@ This commonly includes things such as: (defstate die (fort-missile-target) :virtual #t :enter (behavior () - (let ((v1-1 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-1 (the-as collide-shape-prim-group (-> self root root-prim)))) (set! (-> v1-1 child 0 prim-core collide-as) (collide-spec)) (set! (-> v1-1 child 0 prim-core collide-with) (collide-spec)) ) 0 (setup-masks (-> self draw) 2 0) (setup-masks (-> self draw) 0 1) - (let ((s5-0 (-> self root-override trans)) - (s1-0 (-> self root-override quat)) + (let ((s5-0 (-> self root trans)) + (s1-0 (-> self root quat)) (s3-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -281,8 +281,8 @@ This commonly includes things such as: (let ((s2-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-orient-by-quat! gp-0 gp-0 (-> self root-override quat)) - (vector+! gp-0 (-> self root-override trans) gp-0) + (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) + (vector+! gp-0 (-> self root trans) gp-0) (let ((t9-3 vector-orient-by-quat!) (a0-6 s3-0) (a1-4 s3-0) @@ -351,7 +351,7 @@ This commonly includes things such as: (t2-2 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-10) a0-10 a1-9 @@ -434,10 +434,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s4-0)) + (set! (-> self root) (the-as collide-shape-moving s4-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (forward-up-nopitch->quaternion (-> self root-override quat) arg1 *y-vector*) + (set! (-> self root trans quad) (-> arg0 quad)) + (forward-up-nopitch->quaternion (-> self root quat) arg1 *y-vector*) (initialize-skeleton self (the-as @@ -457,7 +457,7 @@ This commonly includes things such as: ) (deftype fort-missile (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (part-doom sparticle-launch-control :offset-assert 200) (hud handle :offset-assert 208) (door-actor entity-actor 2 :offset-assert 216) @@ -770,7 +770,7 @@ This commonly includes things such as: (deactivate self) ) (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 quad 0) (-> self root-override trans quad)) + (set! (-> gp-1 quad 0) (-> self root trans quad)) (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-0 (let ((t9-3 (method-of-type part-tracker activate))) @@ -808,7 +808,7 @@ This commonly includes things such as: ) ) (let ((gp-2 (new 'stack-no-clear 'vector)) - (v1-24 (-> self root-override trans)) + (v1-24 (-> self root trans)) (a0-9 (new 'stack-no-clear 'vector)) ) (set! (-> a0-9 x) 0.0) @@ -886,7 +886,7 @@ This commonly includes things such as: (set! (-> v1-63 attack-id) a0-24) (set! (-> self attack-id) a0-24) ) - (let ((v1-65 (-> self root-override root-prim))) + (let ((v1-65 (-> self root root-prim))) (let ((a1-15 (-> (the-as collide-shape-prim-group v1-65) child 2)) (a0-27 (-> (the-as collide-shape-prim-group v1-65) child 1)) ) @@ -901,16 +901,16 @@ This commonly includes things such as: (set! (-> v1-65 local-sphere w) 155648.0) (set! (-> v1-65 prim-core world-sphere w) 155648.0) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-21 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-21 options) (overlaps-others-options)) (set! (-> a1-21 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-21 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-21) + (find-overlapping-shapes (-> self root) a1-21) ) (suspend) 0 - (let ((v1-74 (-> self root-override root-prim))) + (let ((v1-74 (-> self root root-prim))) (set! (-> v1-74 prim-core collide-as) (collide-spec)) (set! (-> v1-74 prim-core collide-with) (collide-spec)) ) @@ -1009,7 +1009,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1027,10 +1027,10 @@ This commonly includes things such as: (set! (-> s5-1 w) 1.0) (let ((s4-2 (new 'stack-no-clear 'vector))) (dotimes (s3-2 4) - (let ((s2-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root-override trans) s5-1)) + (let ((s2-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root trans) s5-1)) (s1-0 (new 'stack-no-clear 'vector)) ) - (vector-normalize! (vector-! s4-2 s2-1 (-> obj root-override trans)) 1.0) + (vector-normalize! (vector-! s4-2 s2-1 (-> obj root trans)) 1.0) (vector-float*! s1-0 s4-2 -1.0) (set! (-> obj bomb s3-2) (ppointer->handle (process-spawn fort-missile-target s2-1 s1-0 :to obj))) ) diff --git a/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank-turret.gc b/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank-turret.gc index 918a81f3a1..0ccd4bdcad 100644 --- a/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank-turret.gc +++ b/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank-turret.gc @@ -664,9 +664,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -675,14 +675,14 @@ (defmethod init-proj-settings! fort-robotank-shot ((obj fort-robotank-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'fort-robotank-shot) (set! (-> obj max-speed) 819200.0) (set! (-> obj move) guard-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.5)) (logior! (-> obj options) (projectile-options account-for-target-velocity)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) 0 (none) ) @@ -847,7 +847,7 @@ ;; WARN: Return type mismatch collide-prim-core vs vector. (defmethod get-trans fort-robotank-turret ((obj fort-robotank-turret) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (the-as vector (-> obj root-override root-prim prim-core)) + (the-as vector (-> obj root root-prim prim-core)) ) (defbehavior turret-post fort-robotank-turret () @@ -863,7 +863,7 @@ (if (logtest? (-> self flags) 512) (los-control-method-9 (-> self los) gp-0 (the-as vector #f) 1638.4) ) - (target-look-at-me! :trans (the-as vector (-> self root-override root-prim prim-core)) :message 'attacking) + (target-look-at-me! :trans (the-as vector (-> self root root-prim prim-core)) :message 'attacking) (set! (-> self aim-pos 0 quad) (-> self aim-pos-2 quad)) (set! (-> self aim-pos-2 quad) (-> (get-trans gp-0 0) quad)) (let ((s5-2 (-> self aim-pos-1)) @@ -950,7 +950,7 @@ ) (else (send-event (handle->process (-> self reticle)) 'off) - (send-event (handle->process (-> self reticle)) 'update-trans-only (-> self root-override trans)) + (send-event (handle->process (-> self reticle)) 'update-trans-only (-> self root trans)) ) ) ) @@ -974,7 +974,7 @@ ) (cond ((logtest? (-> self flags) 64) - (sound-play "robotank-turret" :id (-> self turn-sound-id) :position (-> self root-override trans)) + (sound-play "robotank-turret" :id (-> self turn-sound-id) :position (-> self root trans)) (when (< (fabs (-> self rotate-rate)) 728.1778) (set! (-> self flags) (logand -65 (-> self flags))) (sound-stop (-> self turn-sound-id)) @@ -992,8 +992,8 @@ (-> self rotate-quat) (* (-> self rotate-rate) (-> self clock seconds-per-frame)) ) - (quaternion*! (-> self root-override quat) (-> self rotate-quat) (-> self tank-quat-vibe-only)) - (quaternion-normalize! (-> self root-override quat)) + (quaternion*! (-> self root quat) (-> self rotate-quat) (-> self tank-quat-vibe-only)) + (quaternion-normalize! (-> self root quat)) (transform-post) (none) ) @@ -1050,7 +1050,7 @@ v0-0 ) (('pov-cam-on) - (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 3))) + (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (set! (-> v1-22 prim-core collide-as) (collide-spec obstacle pusher)) (set! (-> v1-22 prim-core collide-with) (collide-spec jak player-list)) ) @@ -1058,7 +1058,7 @@ (send-event (handle->process (-> self screen)) 'trigger) ) (('pov-cam-off) - (let ((v1-33 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 3))) + (let ((v1-33 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (set! (-> v1-33 prim-core collide-as) (collide-spec)) (set! (-> v1-33 prim-core collide-with) (collide-spec)) ) @@ -1078,7 +1078,7 @@ (new 'stack-no-clear 'vector) (let ((s5-0 (new 'stack-no-clear 'quaternion))) (let ((s4-0 (the-as object (-> arg3 param 2)))) - (vector<-cspace+vector! (-> self root-override trans) (the-as cspace s4-0) (-> self offset)) + (vector<-cspace+vector! (-> self root trans) (the-as cspace s4-0) (-> self offset)) (matrix->quaternion s5-0 (-> (the-as cspace s4-0) bone transform)) ) (quaternion-copy! (-> self tank-quat) s5-0) @@ -1092,8 +1092,8 @@ ) (defmethod fort-robotank-turret-method-34 fort-robotank-turret ((obj fort-robotank-turret) (arg0 vector) (arg1 float)) - (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root-override trans))) - (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root trans))) + (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> s4-1 quad)) @@ -1223,9 +1223,7 @@ ) (set! (-> self gun-index) (- 1 (-> self gun-index))) (suspend) - (if (< (vector-length - (vector-! (new 'stack-no-clear 'vector) (-> self firing-sight-pos) (-> self root-override trans)) - ) + (if (< (vector-length (vector-! (new 'stack-no-clear 'vector) (-> self firing-sight-pos) (-> self root trans))) 73728.0 ) (goto cfg-26) @@ -1353,10 +1351,10 @@ (set! (-> s2-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> self root-override) s2-0) + (set! (-> self root) s2-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) (set! (-> self offset quad) (-> arg2 quad)) (initialize-skeleton self @@ -1378,9 +1376,9 @@ (quaternion-copy! (-> self rotate-quat) arg1) (set! (-> self rotate-rate) 0.0) (set! (-> self rotate-mult) arg3) - (set! (-> self aim-pos 0 quad) (-> self root-override trans quad)) - (set! (-> self aim-pos-2 quad) (-> self root-override trans quad)) - (set! (-> self aim-pos-1 quad) (-> self root-override trans quad)) + (set! (-> self aim-pos 0 quad) (-> self root trans quad)) + (set! (-> self aim-pos-2 quad) (-> self root trans quad)) + (set! (-> self aim-pos-1 quad) (-> self root trans quad)) (set! (-> self gun-timer) (current-time)) (set! (-> self flags) (the-as uint 0)) (set! (-> self fov-mult) 1.0) @@ -1391,7 +1389,7 @@ (set! (-> self gun-joint-r 1) 6) (set! (-> self gun-index) 0) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> gp-1 z) (+ 40960.0 (-> gp-1 z))) (set! (-> gp-1 y) (+ 32768.0 (-> gp-1 y))) (set! (-> self reticle) (ppointer->handle (process-spawn fort-robotank-reticle gp-1 :to self))) @@ -1403,9 +1401,9 @@ (set! (-> s4-2 y) 32768.0) (set! (-> s4-2 z) 12288.0) (set! (-> s4-2 w) 0.0) - (let ((s5-2 (-> self root-override quat))) + (let ((s5-2 (-> self root quat))) (vector-orient-by-quat! s4-2 s4-2 s5-2) - (vector+! gp-2 (-> self root-override trans) s4-2) + (vector+! gp-2 (-> self root trans) s4-2) (set! (-> self screen) (ppointer->handle (process-spawn fort-roboscreen gp-2 s5-2 (-> self entity) :to *display-pool*)) ) diff --git a/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank.gc b/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank.gc index 47f144c221..0b2dc6fc17 100644 --- a/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank.gc +++ b/goal_src/jak2/levels/fortress/ammo_dump/fort-robotank.gc @@ -130,7 +130,7 @@ (deftype fort-robotank (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (barrel-part sparticle-launch-control :offset-assert 200) (roller-jmod joint-mod :offset-assert 204) (vibe-jmod joint-mod :offset-assert 208) @@ -269,7 +269,7 @@ (defmethod fort-robotank-method-25 fort-robotank ((obj fort-robotank)) (with-pp - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (when (< (-> *event-queue* length) (-> *event-queue* allocated-length)) (let ((v0-0 (-> *event-queue* data (-> *event-queue* length)))) (+! (-> *event-queue* length) 1) @@ -294,9 +294,9 @@ (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)) ) ) - (let ((v1-7 (-> self root-override root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self no-collision-timer) 0) 0 @@ -309,7 +309,7 @@ ) (set! (-> s4-0 random-rangef) (lerp-scale 1.0 6.0 (-> self roller-jmod twist y) 8192.0 65536.0)) (set! (-> gp-0 y) (+ -6144.0 (-> gp-0 y))) - (quaternion->matrix s5-0 (-> self root-override quat)) + (quaternion->matrix s5-0 (-> self root quat)) (set! (-> s5-0 trans quad) (-> gp-0 quad)) (spawn-with-matrix (-> self barrel-part) s5-0) ) @@ -318,7 +318,7 @@ (s4-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> s5-1 locator-joint)))) ) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) s4-1 (-> s5-1 pos)))) - (let ((s2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) + (let ((s2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (if (= gp-1 1) (vector-float*! s2-0 s2-0 -1.0) ) @@ -335,7 +335,7 @@ (spawn-with-matrix (-> self part) a1-14) ) ) - (vector-inv-orient-by-quat! s3-1 s3-1 (-> self root-override quat)) + (vector-inv-orient-by-quat! s3-1 s3-1 (-> self root quat)) (let ((f30-1 (fabs (-> s3-1 z)))) (dotimes (s3-2 7) (let ((s2-1 (-> s5-1 wheel s3-2))) @@ -385,13 +385,7 @@ ) (if a0-43 (set! f26-0 - (lerp-scale - 1.0 - 0.0 - (vector-vector-distance (-> self root-override trans) (get-trans a0-43 0)) - 81920.0 - 327680.0 - ) + (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (get-trans a0-43 0)) 81920.0 327680.0) ) ) ) @@ -416,7 +410,7 @@ (debug-draw (-> self path-info data gp-4 path)) ) (when (logtest? (-> self flags) 128) - (let ((gp-5 (quaternion-inverse! (new 'stack-no-clear 'quaternion) (-> self root-override quat))) + (let ((gp-5 (quaternion-inverse! (new 'stack-no-clear 'quaternion) (-> self root quat))) (a1-28 (new 'stack-no-clear 'event-message-block)) ) (set! (-> a1-28 from) (process->ppointer self)) @@ -424,8 +418,8 @@ (set! (-> a1-28 message) 'get-rotate-quat) (let ((s5-3 (send-event-function (handle->process (-> self turret)) a1-28)) (s4-3 (new 'stack-no-clear 'quaternion)) - (s2-3 (-> (the-as fort-robotank-turret (handle->process (-> self turret))) root-override trans)) - (s1-1 (-> self root-override trans)) + (s2-3 (-> (the-as fort-robotank-turret (handle->process (-> self turret))) root trans)) + (s1-1 (-> self root trans)) (s3-4 (new 'stack-no-clear 'vector)) ) (let ((a1-30 (new 'stack-no-clear 'event-message-block))) @@ -445,11 +439,11 @@ ) ) ) - (update-trans! (-> self sound) (-> self root-override trans)) + (update-trans! (-> self sound) (-> self root trans)) (update! (-> self sound)) - (update-trans! (-> self idle-sound) (-> self root-override trans)) + (update-trans! (-> self idle-sound) (-> self root trans)) (update! (-> self idle-sound)) - (update-trans! (-> self barrel-sound) (-> self root-override trans)) + (update-trans! (-> self barrel-sound) (-> self root trans)) (update! (-> self barrel-sound)) (pusher-post) (none) @@ -485,7 +479,7 @@ ) ) (('trans) - (-> self root-override trans) + (-> self root trans) ) (('die) (go-virtual die) @@ -501,7 +495,7 @@ object (when ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) + (-> self root) (the-as uint 1) ) (let ((s5-0 (if (type? arg0 process-focusable) @@ -512,7 +506,7 @@ (the-as object (when s5-0 - (let ((a0-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat))) + (let ((a0-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (a1-19 (new 'stack-no-clear 'event-message-block)) ) (set! (-> a1-19 from) (process->ppointer self)) @@ -537,7 +531,7 @@ ) (the-as object (when (send-event-function s5-0 a1-19) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-45 (-> self root-override root-prim))) + (let ((v1-45 (-> self root root-prim))) (set! (-> v1-45 prim-core collide-as) (collide-spec)) (set! (-> v1-45 prim-core collide-with) (collide-spec)) ) @@ -604,7 +598,7 @@ (set-setting! 'pov-offset 'asdf (-> obj pov-cam-offset) 0) (send-event (handle->process (-> obj turret)) 'pov-cam-on) (logior! (-> obj flags) 128) - (let ((v1-41 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 2))) + (let ((v1-41 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 2))) (set! (-> v1-41 prim-core collide-as) (collide-spec enemy pusher)) (set! (-> v1-41 prim-core collide-with) (collide-spec jak bot player-list)) ) @@ -617,7 +611,7 @@ (remove-setting! 'pov-offset) (send-event (handle->process (-> obj turret)) 'pov-cam-off) (set! (-> obj flags) (logand -129 (-> obj flags))) - (let ((v1-57 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 2))) + (let ((v1-57 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 2))) (set! (-> v1-57 prim-core collide-as) (collide-spec)) (set! (-> v1-57 prim-core collide-with) (collide-spec)) ) @@ -701,15 +695,13 @@ :virtual #t :event fort-robotank-handler :enter (behavior () - (set! (-> self path-info data (-> self path-index) start-y-angle) - (quaternion-y-angle (-> self root-override quat)) - ) + (set! (-> self path-info data (-> self path-index) start-y-angle) (quaternion-y-angle (-> self root quat))) (set! (-> self roller-spin-rate) 32768.0) (none) ) :trans (behavior () (let* ((gp-0 (-> self path-info data (-> self path-index))) - (s5-0 (-> self root-override)) + (s5-0 (-> self root)) (f30-0 (quaternion-y-angle (-> s5-0 quat))) (f28-0 (fabs (deg-diff f30-0 (-> gp-0 start-y-angle)))) (f30-1 (fabs (deg-diff f30-0 (vector-y-angle (-> gp-0 dir))))) @@ -761,7 +753,7 @@ ) ) (when a0-1 - (if (< (-> (get-trans a0-1 0) y) (+ -18432.0 (-> self root-override trans y))) + (if (< (-> (get-trans a0-1 0) y) (+ -18432.0 (-> self root trans y))) (go-virtual die) ) ) @@ -833,7 +825,7 @@ ) (let ((f30-0 (-> gp-1 u)) (s0-0 (new 'stack-no-clear 'vector)) - (s1-0 (-> self root-override)) + (s1-0 (-> self root)) ) (get-point-at-percent-along-path! s4-0 (-> s1-0 trans) f30-0 'interp) (set! (-> s1-0 trans y) (+ 1024.0 (-> s1-0 trans y))) @@ -853,7 +845,7 @@ (set! f28-0 (fmin 1.0 (* 0.000048828126 (+ 2048.0 (vector-vector-distance - (-> self root-override trans) + (-> self root trans) (get-point-at-percent-along-path! s4-0 (new 'stack-no-clear 'vector) 1.0 'interp) ) ) @@ -879,7 +871,7 @@ 1.0 (if (< f26-1 (-> gp-1 u)) 0.0 - (vector-vector-distance (-> self root-override trans) s3-2) + (vector-vector-distance (-> self root trans) s3-2) ) 6144.0 61440.0 @@ -892,10 +884,7 @@ (when (logtest? s2-2 4) (if (< (fmin (+ 102400.0 (* (-> gp-1 u) f24-1)) f22-0) (* f26-1 f24-1)) (set! f28-0 - (fmax - f28-0 - (lerp-scale 1.0 2.0 (vector-vector-distance (-> self root-override trans) s3-2) 102400.0 143360.0) - ) + (fmax f28-0 (lerp-scale 1.0 2.0 (vector-vector-distance (-> self root trans) s3-2) 102400.0 143360.0)) ) ) ) @@ -1065,7 +1054,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1121,11 +1110,11 @@ This commonly includes things such as: (set! (-> obj continue-index) -1) (let ((s5-3 (new 'stack-no-clear 'vector))) (let ((s4-3 (-> obj path-info data 0 path))) - (get-point-in-path! s4-3 (-> obj root-override trans) 0.0 'interp) - (set! (-> obj root-override trans y) (+ 1024.0 (-> obj root-override trans y))) + (get-point-in-path! s4-3 (-> obj root trans) 0.0 'interp) + (set! (-> obj root trans y) (+ 1024.0 (-> obj root trans y))) (displacement-between-points-at-percent-normalized! s4-3 s5-3 0.0) ) - (set-heading-vec! (-> obj root-override) s5-3) + (set-heading-vec! (-> obj root) s5-3) ) (let ((a0-46 (-> obj skel root-channel 0))) (set! (-> a0-46 frame-group) (the-as art-joint-anim (-> obj draw art-group data 3))) @@ -1137,14 +1126,7 @@ This commonly includes things such as: (set-vector! s5-4 0.0 12541.952 -6778.88 1.0) (set! (-> obj turret) (ppointer->handle - (process-spawn - fort-robotank-turret - (-> obj root-override trans) - (-> obj root-override quat) - s5-4 - #x42000000 - :to obj - ) + (process-spawn fort-robotank-turret (-> obj root trans) (-> obj root quat) s5-4 #x42000000 :to obj) ) ) ) @@ -1226,13 +1208,13 @@ This commonly includes things such as: (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 561) obj)) (set! (-> obj barrel-part) (create-launch-control (-> *part-group-id-table* 562) obj)) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "robotank-tread" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "robotank-tread" :fo-max 70) (-> obj root trans)) ) (set! (-> obj idle-sound) - (new 'process 'ambient-sound (static-sound-spec "robotank-idle" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "robotank-idle" :fo-max 50) (-> obj root trans)) ) (set! (-> obj barrel-sound) - (new 'process 'ambient-sound (static-sound-spec "robotank-barrel" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "robotank-barrel" :fo-max 50) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (update-vol! (-> obj idle-sound) 1.0) diff --git a/goal_src/jak2/levels/fortress/exit/forexita-obs.gc b/goal_src/jak2/levels/fortress/exit/forexita-obs.gc index 40874214f5..1662471f3b 100644 --- a/goal_src/jak2/levels/fortress/exit/forexita-obs.gc +++ b/goal_src/jak2/levels/fortress/exit/forexita-obs.gc @@ -72,7 +72,7 @@ (sound-stop (-> self sound-id)) (set! (-> self sound-time) (get-timeframe-offset! (-> self sync) 0)) ) - (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root trans)) (plat-post) (none) ) @@ -109,7 +109,7 @@ (sound-stop (-> self sound-id)) (set! (-> self sound-time) (get-timeframe-offset! (-> self sync) 0)) ) - (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root trans)) (plat-post) (none) ) @@ -121,7 +121,7 @@ (spawn-with-cspace (-> obj part) (-> obj node-list data 6)) ) (when (nonzero? (-> obj sound)) - (set! (-> obj sound trans quad) (-> obj root-override trans quad)) + (set! (-> obj sound trans quad) (-> obj root trans quad)) (update! (-> obj sound)) ) (none) @@ -186,7 +186,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-26 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-26 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -201,7 +201,7 @@ (defmethod init-plat! fort-lift-plat ((obj fort-lift-plat)) "Does any necessary initial platform setup. For example for an elevator pre-compute the distance between the first and last points (both ways) and clear the sound." - (set! (-> obj root-override pause-adjust-distance) 327680.0) + (set! (-> obj root pause-adjust-distance) 327680.0) (set! (-> obj sound-id) (new-sound-id)) (none) ) @@ -223,7 +223,7 @@ otherwise, [[plat::34]] ) ((logtest? (actor-option user18) (-> obj fact options)) (set! (-> obj path-pos) (res-lump-float (-> obj entity) 'initial-spline-pos)) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) (-> obj path-pos) 'interp) (go (method-of-object obj plat-anim-active)) ) ((> (-> obj sync period) 0) diff --git a/goal_src/jak2/levels/fortress/fort-turret.gc b/goal_src/jak2/levels/fortress/fort-turret.gc index 599a659798..3fba36229a 100644 --- a/goal_src/jak2/levels/fortress/fort-turret.gc +++ b/goal_src/jak2/levels/fortress/fort-turret.gc @@ -534,7 +534,7 @@ (let ((t9-0 (method-of-type enemy track-target!))) (t9-0 obj) ) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (update-transforms s5-0) (pull-riders! s5-0) (do-push-aways s5-0) @@ -566,7 +566,7 @@ (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 4))) ) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 (-> obj aim-pos) (-> obj root-override2 trans)) + (vector-! s4-0 (-> obj aim-pos) (-> obj root trans)) (vector-flatten! s4-0 s4-0 (-> obj init-mat vector 1)) (vector-normalize! s4-0 1.0) (set! (-> obj desired-twist) (asin (vector-dot (the-as vector (-> obj init-mat)) s4-0))) @@ -612,7 +612,7 @@ (+! (-> obj gun-twist) (fmax (- arg1) (fmin arg1 (* arg0 (- (-> obj desired-twist) (-> obj gun-twist)))))) (matrix-rotate-y! s3-0 (-> obj gun-twist)) (matrix*! s3-0 s3-0 (-> obj init-mat)) - (matrix->quaternion (-> obj root-override2 quat) s3-0) + (matrix->quaternion (-> obj root quat) s3-0) ) (+! (-> obj gun-tilt) (fmax (- arg1) (fmin arg1 (* arg0 (- (-> obj desired-tilt) (-> obj gun-tilt)))))) (quaternion-axis-angle! (-> obj gun-tilt-jm quat) 1.0 0.0 0.0 (-> obj gun-tilt)) @@ -740,7 +740,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (fort-turret-method-141 self) (if (or (>= (- (current-time) (the-as int (-> self target-timeout))) (seconds 0.5)) (< (- (current-time) (-> self last-hit-time)) (seconds 2)) @@ -831,7 +831,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (set! (-> self desired-twist) (* 8192.0 (cos (get-scaled-val! (-> self sync) 32768.0 0)))) (fort-turret-method-140 self 0.1 91.022224) (fort-turret-method-141 self) @@ -872,7 +872,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (fort-turret-method-141 self) (if (and (< (- (current-time) (the-as int (-> self target-timeout))) (seconds 0.5)) (>= (- (current-time) (-> self last-hit-time)) (seconds 2)) @@ -932,7 +932,7 @@ :virtual #t :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1040,7 +1040,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-24 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-24 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1098,7 +1098,7 @@ (initialize! (-> obj sync) a1-7) ) (set! (-> obj flash-index) (res-lump-value (-> obj entity) 'extra-id uint :time -1000000000.0)) - (quaternion->matrix (-> obj init-mat) (-> obj root-override2 quat)) + (quaternion->matrix (-> obj init-mat) (-> obj root quat)) (set-vector! (-> obj gun-shadow-jm twist-max) 2.0 1.0 10.0 1.0) (let ((v1-32 (new 'static 'shadow-control :settings (new 'static 'shadow-settings :flags (shadow-flags shdf02 shdf03 shdf04 shdf07) diff --git a/goal_src/jak2/levels/fortress/fortress-obs.gc b/goal_src/jak2/levels/fortress/fortress-obs.gc index 109e112fe4..23ba35c5e9 100644 --- a/goal_src/jak2/levels/fortress/fortress-obs.gc +++ b/goal_src/jak2/levels/fortress/fortress-obs.gc @@ -8,8 +8,8 @@ ;; DECOMP BEGINS (deftype fort-trap-door (process-drawable) - ((root-override collide-shape-moving :offset 128) - (notify-actor entity-actor :offset-assert 200) + ((root collide-shape-moving :override) + (notify-actor entity-actor :offset-assert 200) ) :heap-base #x50 :method-count-assert 22 @@ -78,7 +78,7 @@ (defstate die (fort-trap-door) :virtual #t :enter (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -175,9 +175,9 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving cshape)) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) - (set! (-> (the-as collide-shape-moving (-> obj root-override)) penetrated-by) (penetrate flop)) + (set! (-> (the-as collide-shape-moving (-> obj root)) penetrated-by) (penetrate flop)) (process-drawable-from-entity! obj entity) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/fortress/prison/prison-obs.gc b/goal_src/jak2/levels/fortress/prison/prison-obs.gc index 5f0887add2..42548f1746 100644 --- a/goal_src/jak2/levels/fortress/prison/prison-obs.gc +++ b/goal_src/jak2/levels/fortress/prison/prison-obs.gc @@ -353,7 +353,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc b/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc index 9e4a97e4a7..9d098d1977 100644 --- a/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc +++ b/goal_src/jak2/levels/fortress/rescue/forrescb-obs.gc @@ -695,105 +695,99 @@ and return it as well. Otherwise, set it to `0`" () (set-setting! 'sound-mode #f 0.0 1) (set-setting! 'sound-excitement 'abs 0.8 0) - (speech-control-method-10 - *speech-control* - 6 - (new 'static 'speech-type-info - :min-delay #x4b0 - :max-delay #x960 - :list (new 'static 'boxed-array :type string - "kg001" - "kg002" - "kg004" - "kg006" - "kg001a" - "kg013" - "kg016" - "kg018" - "kg019" - "kg023" - "kg024" - "kg002a" - "kg004a" - "kg078a" - "kg079a" - "kg080a" - "kg081a" - "kg004a" - "kg082a" - "kg083a" - "kg084a" - "kg085a" - "kg086a" - "kg087a" - "kg088a" - "kg091a" - "kg023a" - "kg006a" - "kg092a" - "kg020a" - "kg093a" - "kg094a" - "kg095a" - "kg103a" - "kg104a" - "kg112a" - "kg024a" - "kg134" - "kg136" - "kg137" - "kg138" - "kg139" - "kg140" - "kg141" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 9 - (new 'static 'speech-type-info - :priority 1 - :min-delay #x12c - :max-delay #x258 - :list (new 'static 'boxed-array :type string - "kg133" - "kg142" - "kg144" - "kg145" - "kg146" - "kg147" - "kg148" - "kg149" - "kg150" - "kg138" - "kg151" - "kg152" - "kg153" - "kg154" - "kg155" - "kg159" - "kg163" - "kg164" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 10 - (new 'static 'speech-type-info :priority #xa :max-delay #x12c :list (new 'static 'boxed-array :type string - "kg166" - "kg167" - "kg168" - "kg169" - "kg171" - "kg172" - "kg173" - "kg174" - "kg175" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-6) (new 'static 'speech-type-info + :min-delay (seconds 4) + :max-delay (seconds 8) + :list (new 'static 'boxed-array :type string + "kg001" + "kg002" + "kg004" + "kg006" + "kg001a" + "kg013" + "kg016" + "kg018" + "kg019" + "kg023" + "kg024" + "kg002a" + "kg004a" + "kg078a" + "kg079a" + "kg080a" + "kg081a" + "kg004a" + "kg082a" + "kg083a" + "kg084a" + "kg085a" + "kg086a" + "kg087a" + "kg088a" + "kg091a" + "kg023a" + "kg006a" + "kg092a" + "kg020a" + "kg093a" + "kg094a" + "kg095a" + "kg103a" + "kg104a" + "kg112a" + "kg024a" + "kg134" + "kg136" + "kg137" + "kg138" + "kg139" + "kg140" + "kg141" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-9) (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "kg133" + "kg142" + "kg144" + "kg145" + "kg146" + "kg147" + "kg148" + "kg149" + "kg150" + "kg138" + "kg151" + "kg152" + "kg153" + "kg154" + "kg155" + "kg159" + "kg163" + "kg164" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-10) (new 'static 'speech-type-info + :priority 10 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg166" + "kg167" + "kg168" + "kg169" + "kg171" + "kg172" + "kg173" + "kg174" + "kg175" + ) + ) + ) (none) ) ) diff --git a/goal_src/jak2/levels/gungame/gun-dummy.gc b/goal_src/jak2/levels/gungame/gun-dummy.gc index f65574fc26..3bad6ee978 100644 --- a/goal_src/jak2/levels/gungame/gun-dummy.gc +++ b/goal_src/jak2/levels/gungame/gun-dummy.gc @@ -1969,8 +1969,8 @@ (case (-> curr-path-command 0 command) (((tpath-command arise)) (set! (-> obj path-pos) (* 0.007843138 (the float (-> curr-path-command 0 path-pos)))) - (get-point-in-path! path (-> obj root-override trans) (-> obj path-pos) 'interp) - (+! (-> obj root-override trans y) (lerp-scale -16384.0 0.0 f30-0 0.0 (-> curr-path-command 0 time))) + (get-point-in-path! path (-> obj root trans) (-> obj path-pos) 'interp) + (+! (-> obj root trans y) (lerp-scale -16384.0 0.0 f30-0 0.0 (-> curr-path-command 0 time))) (let* ((s3-0 (get-point-in-path! path (new 'stack-no-clear 'vector) (-> obj path-pos) 'interp)) (v1-26 (get-point-in-path! path @@ -2005,8 +2005,8 @@ ret ) (((tpath-command lower)) - (get-point-in-path! path (-> obj root-override trans) (-> obj path-pos) 'interp) - (+! (-> obj root-override trans y) (lerp-scale 0.0 -16384.0 f30-0 0.0 (-> curr-path-command 0 time))) + (get-point-in-path! path (-> obj root trans) (-> obj path-pos) 'interp) + (+! (-> obj root trans y) (lerp-scale 0.0 -16384.0 f30-0 0.0 (-> curr-path-command 0 time))) (if (-> obj first-time-command) (sound-play "target-dwn-slow") ) @@ -2041,7 +2041,7 @@ (forward-up-nopitch->quaternion (-> obj quat-ground) s4-6 *up-vector*) ) (quaternion-normalize! (-> obj quat-ground)) - (set! (-> obj root-override trans quad) (-> s3-3 quad)) + (set! (-> obj root trans quad) (-> s3-3 quad)) ) (set! (-> obj inout-percent) (lerp-scale 0.0 1.0 f30-0 0.0 (-> curr-path-command 0 time))) (set! (-> obj first-time-command) #f) @@ -2079,10 +2079,10 @@ (get-point-in-path! path s2-4 (-> obj path-pos) 'interp) (get-point-in-path! path s3-4 (* 0.007843138 (the float (-> curr-path-command 0 path-pos))) 'interp) (let ((v1-102 (new 'stack-no-clear 'vector))) - (set! (-> v1-102 quad) (-> obj root-override trans quad)) - (vector-float*! (-> obj root-override trans) s2-4 (- 1.0 f28-2)) - (let ((a0-63 (-> obj root-override trans))) - (let ((a1-23 (-> obj root-override trans))) + (set! (-> v1-102 quad) (-> obj root trans quad)) + (vector-float*! (-> obj root trans) s2-4 (- 1.0 f28-2)) + (let ((a0-63 (-> obj root trans))) + (let ((a1-23 (-> obj root trans))) (let ((a2-17 f28-2)) (.mov vf7 a2-17) ) @@ -2094,8 +2094,8 @@ (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) (.svf (&-> a0-63 quad) vf6) ) - (let ((a0-65 (-> obj root-override transv))) - (.lvf vf1 (&-> (vector-! (new 'stack-no-clear 'vector) (-> obj root-override trans) v1-102) quad)) + (let ((a0-65 (-> obj root transv))) + (.lvf vf1 (&-> (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) v1-102) quad)) (let ((f0-50 (-> pp clock frames-per-second))) (.mov at-0 f0-50) ) @@ -2110,14 +2110,12 @@ (set! (-> obj move-sound) (new-sound-id)) ) (let ((s4-7 (static-sound-spec "target-mov-slow" :volume 100.0 :fo-max 60 :mask (pitch)))) - (set! (-> s4-7 pitch-mod) - (the int (lerp-scale -1.0 1.0 (vector-length (-> obj root-override transv)) 0.0 81920.0)) - ) - (sound-play-by-spec s4-7 (-> obj move-sound) (-> obj root-override trans)) + (set! (-> s4-7 pitch-mod) (the int (lerp-scale -1.0 1.0 (vector-length (-> obj root transv)) 0.0 81920.0))) + (sound-play-by-spec s4-7 (-> obj move-sound) (-> obj root trans)) ) (when (< (-> obj next-spark) (current-time)) (set! (-> obj next-spark) (the-as int (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.0 0.3)))))) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) (set! (-> obj first-time-command) #f) (when (>= f30-0 (-> curr-path-command 0 time)) @@ -2138,7 +2136,7 @@ (((tpath-command wait)) (set! (-> obj score) (- (-> obj score) (* (-> obj score-speed) (-> pp clock seconds-per-frame)))) (set! (-> obj inout-percent) (fmax 0.0 (- (-> obj inout-percent) (* 4.0 (-> pp clock seconds-per-frame))))) - (get-point-in-path! path (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-in-path! path (-> obj root trans) (-> obj path-pos) 'interp) (set! (-> obj first-time-command) #f) (when (or (and (= (-> curr-path-command 0 time) -1.0) (< (-> obj hit-points) 0)) (and (!= (-> curr-path-command 0 time) -1.0) (>= f30-0 (-> curr-path-command 0 time))) @@ -2163,7 +2161,7 @@ (defmethod get-trans gun-dummy ((obj gun-dummy) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((root (-> obj root-override))) + (let ((root (-> obj root))) (case arg0 ((3 2) (let ((vec (new 'static 'vector :w 1.0))) @@ -2222,14 +2220,11 @@ (when (if (type? cshape collide-shape) cshape ) - (vector+float*! (-> self impact) (-> self root-override trans) *up-vector* 8192.0) + (vector+float*! (-> self impact) (-> self root trans) *up-vector* 8192.0) (vector+! (-> self impact) (-> self impact) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans)) - 4096.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) 4096.0) ) ) ) @@ -2305,7 +2300,7 @@ (break-dummy self) (set! (-> self hit-points) -1) ) - (+! (-> self root-override trans y) (-> self y-offset)) + (+! (-> self root trans y) (-> self y-offset)) (set! (-> self rot-y-offset) (- (-> self rot-y-offset) (* 8.0 (-> self clock seconds-per-frame) (-> self rot-y-offset))) ) @@ -2316,17 +2311,12 @@ 0 ) ) - (let ((vec-to-target (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans)))) + (let ((vec-to-target (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)))) (vector-normalize! vec-to-target 1.0) - (seek-toward-heading-vec! (-> self root-override) vec-to-target 65536.0 (seconds 0.5)) - ) - (quaternion-rotate-local-y! (-> self root-override quat) (-> self root-override quat) (-> self rot-y-offset)) - (quaternion-slerp! - (-> self root-override quat) - (-> self root-override quat) - (-> self quat-ground) - (-> self inout-percent) + (seek-toward-heading-vec! (-> self root) vec-to-target 65536.0 (seconds 0.5)) ) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (-> self rot-y-offset)) + (quaternion-slerp! (-> self root quat) (-> self root quat) (-> self quat-ground) (-> self inout-percent)) (transform-post) (none) ) @@ -2354,7 +2344,7 @@ (set! (-> cshape-moving backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape-moving backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape-moving) + (set! (-> obj root) cshape-moving) ) 0 (none) @@ -2390,9 +2380,9 @@ This commonly includes things such as: "Given a [[tpath-info]] use it to initialize the dummy with any relevant data or flags" (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) - (vector-identity! (-> obj root-override scale)) - (quaternion-copy! (-> obj quat) (-> obj root-override quat)) - (set! (-> obj root-override trans y) (+ -16384.0 (-> obj root-override trans y))) + (vector-identity! (-> obj root scale)) + (quaternion-copy! (-> obj quat) (-> obj root quat)) + (set! (-> obj root trans y) (+ -16384.0 (-> obj root trans y))) (if (not (logtest? (-> arg0 flags) (tpath-flags tpath-rand))) (set! *tpath-rand* (the-as uint (rand-vu-int-count 16))) ) @@ -2517,7 +2507,7 @@ This commonly includes things such as: (defmethod break-dummy gun-dummy-a ((obj gun-dummy-a)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2555,7 +2545,7 @@ This commonly includes things such as: (defmethod break-dummy gun-dummy-b ((obj gun-dummy-b)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2591,7 +2581,7 @@ This commonly includes things such as: (defmethod break-dummy gun-dummy-c ((obj gun-dummy-c)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2627,7 +2617,7 @@ This commonly includes things such as: (defmethod break-dummy gun-dummy-big ((obj gun-dummy-big)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2663,7 +2653,7 @@ This commonly includes things such as: (defmethod break-dummy gun-dummy-gold ((obj gun-dummy-gold)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2699,7 +2689,7 @@ This commonly includes things such as: (defmethod break-dummy gun-dummy-peace ((obj gun-dummy-peace)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2735,7 +2725,7 @@ This commonly includes things such as: (defmethod break-dummy gun-cit-a ((obj gun-cit-a)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2773,7 +2763,7 @@ This commonly includes things such as: (defmethod break-dummy gun-cit-b ((obj gun-cit-b)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2811,7 +2801,7 @@ This commonly includes things such as: (defmethod break-dummy gun-cit-c ((obj gun-cit-c)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2849,7 +2839,7 @@ This commonly includes things such as: (defmethod break-dummy gun-cit-d ((obj gun-cit-d)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) diff --git a/goal_src/jak2/levels/gungame/gungame-obs.gc b/goal_src/jak2/levels/gungame/gungame-obs.gc index 6a08c178fd..53709b6270 100644 --- a/goal_src/jak2/levels/gungame/gungame-obs.gc +++ b/goal_src/jak2/levels/gungame/gungame-obs.gc @@ -2047,7 +2047,7 @@ This commonly includes things such as: ) ) (quaternion-vector-angle! - (-> (the-as process-focusable sv-80) root-override quat) + (-> (the-as process-focusable sv-80) root quat) *up-vector* (+ -4551.1113 (-> *entrance-gungame-crates-pos* s0-0 pos w)) ) @@ -2103,7 +2103,7 @@ This commonly includes things such as: ) ) ) - (quaternion-vector-angle! (-> s1-1 root-override quat) *up-vector* (+ -4551.1113 (-> arg0 s2-0 pos w))) + (quaternion-vector-angle! (-> s1-1 root quat) *up-vector* (+ -4551.1113 (-> arg0 s2-0 pos w))) (set! (-> obj course-crates s2-0) (process->handle s1-1)) ) ) diff --git a/goal_src/jak2/levels/hideout/hideout-obs.gc b/goal_src/jak2/levels/hideout/hideout-obs.gc index 8769809dd1..b32a5114b0 100644 --- a/goal_src/jak2/levels/hideout/hideout-obs.gc +++ b/goal_src/jak2/levels/hideout/hideout-obs.gc @@ -61,7 +61,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/hiphog/hiphog-scenes.gc b/goal_src/jak2/levels/hiphog/hiphog-scenes.gc index 268b0bd060..1f4cc42988 100644 --- a/goal_src/jak2/levels/hiphog/hiphog-scenes.gc +++ b/goal_src/jak2/levels/hiphog/hiphog-scenes.gc @@ -62,7 +62,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/landing_pad/castle-obs.gc b/goal_src/jak2/levels/landing_pad/castle-obs.gc index 088d491ef4..e159da5be3 100644 --- a/goal_src/jak2/levels/landing_pad/castle-obs.gc +++ b/goal_src/jak2/levels/landing_pad/castle-obs.gc @@ -225,7 +225,7 @@ This commonly includes things such as: (set! (-> self speed) (seek-with-smooth (-> self speed) (-> self target-speed) 61440.0 0.1 409.6)) (cond ((< f30-0 0.0) - (quaternion-smooth-seek! (-> self root-override quat) (-> self root-override quat) (-> self quat180) 0.1) + (quaternion-smooth-seek! (-> self root quat) (-> self root quat) (-> self quat180) 0.1) (let ((t9-2 sp-launch-particles-var) (a0-2 *sp-particle-system-2d*) (a1-2 (-> *part-id-table* 5119)) @@ -236,7 +236,7 @@ This commonly includes things such as: ) ) (else - (quaternion-smooth-seek! (-> self root-override quat) (-> self root-override quat) (-> self quat0) 0.1) + (quaternion-smooth-seek! (-> self root quat) (-> self root quat) (-> self quat0) 0.1) (let ((t9-4 sp-launch-particles-var) (a0-4 *sp-particle-system-2d*) (a1-4 (-> *part-id-table* 5120)) @@ -305,7 +305,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (vector-rotate-x! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 5.0))) (vector-rotate-y! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 360.0))) - (set! (-> gp-0 start-pos quad) (-> self root-override trans quad)) + (set! (-> gp-0 start-pos quad) (-> self root trans quad)) (vector-normalize-copy! (-> gp-0 move-dist) s5-0 40960.0) (let ((v1-11 gp-0)) (set! (-> v1-11 radius) 409.6) @@ -392,7 +392,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -429,7 +429,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj quat0 quad) (-> obj root-override quat quad)) + (set! (-> obj quat0 quad) (-> obj root quat quad)) (quaternion-rotate-y! (-> obj quat180) (-> obj quat0) 32768.0) (set! (-> obj speed) (res-lump-float (-> obj entity) 'speed :default 30720.0)) (set! (-> obj target-speed) (-> obj speed)) @@ -489,7 +489,7 @@ This commonly includes things such as: (defstate die (cas-electric-fence) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -555,7 +555,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (vector-rotate-x! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 140.0))) (vector-rotate-y! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 360.0))) - (set! (-> gp-0 start-pos quad) (-> self root-override trans quad)) + (set! (-> gp-0 start-pos quad) (-> self root trans quad)) (set! (-> gp-0 start-pos y) (+ 15400.96 (-> gp-0 start-pos y))) (vector-normalize-copy! (-> gp-0 move-dist) s5-0 40960.0) (let ((v1-9 gp-0)) @@ -621,7 +621,7 @@ This commonly includes things such as: (let ((gp-2 *target*)) (when (and gp-2 (not (logtest? (-> gp-2 focus-status) (focus-status disable dead ignore inactive)))) (let ((s4-3 (get-trans gp-2 0))) - (when (< (vector-vector-distance s4-3 (-> self root-override trans)) 24576.0) + (when (< (vector-vector-distance s4-3 (-> self root trans)) 24576.0) (let ((s5-3 (new 'stack-no-clear 'event-message-block))) (set! (-> s5-3 from) (process->ppointer self)) (set! (-> s5-3 num-params) 2) @@ -635,7 +635,7 @@ This commonly includes things such as: (set! (-> s3-3 id) a0-29) ) (set! (-> s3-3 vector quad) - (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s4-3 (-> self root-override trans)) 1.0) quad) + (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s4-3 (-> self root trans)) 1.0) quad) ) (set! (-> s3-3 shove-back) 24576.0) (set! (-> s3-3 shove-up) 12288.0) @@ -649,7 +649,7 @@ This commonly includes things such as: (send-event-function gp-2 s5-3) ) (let ((s5-4 (new 'stack-no-clear 'vector))) - (set! (-> s5-4 quad) (-> self root-override trans quad)) + (set! (-> s5-4 quad) (-> self root trans quad)) (set! (-> s5-4 y) (+ 15400.96 (-> s5-4 y))) (process-spawn lightning-tracker @@ -696,7 +696,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -752,7 +752,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -850,7 +850,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch float vs none. (defmethod cas-elevator-method-49 cas-elevator ((obj cas-elevator)) - (let* ((f0-1 (fmax 0.0 (- (-> obj root-override trans y) (-> obj bottom-top 0)))) + (let* ((f0-1 (fmax 0.0 (- (-> obj root trans y) (-> obj bottom-top 0)))) (f0-3 (* 0.001171875 (- f0-1 (* (the float (the int (/ f0-1 30720.0))) 30720.0)))) (v1-6 (-> obj skel root-channel 0)) ) @@ -868,7 +868,7 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s5-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s5-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((a0-8 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) @@ -888,7 +888,7 @@ This commonly includes things such as: ) (when a0-2 (let* ((a0-3 (get-trans a0-2 0)) - (v1-2 (vector-! (new 'stack-no-clear 'vector) a0-3 (-> obj root-override trans))) + (v1-2 (vector-! (new 'stack-no-clear 'vector) a0-3 (-> obj root trans))) ) (< (sqrtf (+ (* (-> v1-2 x) (-> v1-2 x)) (* (-> v1-2 z) (-> v1-2 z)))) 28672.0) ) @@ -919,7 +919,7 @@ This commonly includes things such as: (t9-0) ) ) - (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root trans)) (none) ) :post (behavior () @@ -933,11 +933,11 @@ This commonly includes things such as: (let ((gp-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> gp-0 command) (sound-command set-param)) (set! (-> gp-0 id) (-> self sound-id)) - (let ((a1-0 (-> self root-override trans))) + (let ((a1-0 (-> self root trans))) (let ((s5-0 self)) (when (= a1-0 #t) - (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root-override))) - (set! a1-0 (-> s5-0 root-override trans)) + (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root))) + (set! a1-0 (-> s5-0 root trans)) (set! a1-0 (the-as vector #f)) ) ) @@ -1014,7 +1014,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1650,7 +1650,7 @@ This commonly includes things such as: ) (deftype cas-trapdoor (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -1721,7 +1721,7 @@ This commonly includes things such as: (defstate die (cas-trapdoor) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1796,10 +1796,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (if (not (task-node-closed? (game-task-node castle-boss-resolution))) - (set! (-> obj root-override penetrated-by) (penetrate flop)) + (set! (-> obj root penetrated-by) (penetrate flop)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1899,7 +1899,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -2639,8 +2639,8 @@ This commonly includes things such as: ) (deftype lightning-ball (process-drawable) - ((root-override collide-shape :offset 128) - (timer time-frame :offset-assert 200) + ((root collide-shape :override) + (timer time-frame :offset-assert 200) ) :heap-base #x50 :method-count-assert 21 @@ -2685,7 +2685,7 @@ This commonly includes things such as: (set! (-> s5-0 quad) (-> *x-vector* quad)) (vector-rotate-around-z! s5-0 s5-0 f30-1) (vector-rotate-around-y! s5-0 s5-0 f28-1) - (vector+float*! (-> gp-0 start-pos) (-> self root-override trans) s5-0 56320.0) + (vector+float*! (-> gp-0 start-pos) (-> self root trans) s5-0 56320.0) (vector-float*! (-> gp-0 move-dist) s5-0 81920.0) ) (let ((v1-11 gp-0)) @@ -2739,11 +2739,11 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (set! (-> obj timer) (current-time)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (go (method-of-object obj idle)) (none) ) diff --git a/goal_src/jak2/levels/landing_pad/roboguard-level.gc b/goal_src/jak2/levels/landing_pad/roboguard-level.gc index 518f0bdcbb..788ce85957 100644 --- a/goal_src/jak2/levels/landing_pad/roboguard-level.gc +++ b/goal_src/jak2/levels/landing_pad/roboguard-level.gc @@ -248,7 +248,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -314,9 +314,9 @@ (defbehavior roboguard-roll-travel-post roboguard-level () (let ((a1-0 (new 'stack-no-clear 'collide-query)) - (gp-0 (-> self root-override2)) + (gp-0 (-> self root)) ) - (if (find-ground gp-0 a1-0 (-> self enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) + (if (find-ground gp-0 a1-0 (-> self enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) (set! (-> gp-0 trans y) (-> gp-0 gspot-pos y)) ) ) @@ -346,7 +346,7 @@ (enemy-method-125 self a1-1 (collide-spec backgnd) 8192.0 81920.0 1024.0) ) (let* ((v1-11 (-> self nav)) - (a1-2 (-> self root-override2 gspot-pos)) + (a1-2 (-> self root gspot-pos)) (f0-0 (-> v1-11 extra-nav-sphere w)) ) (set! (-> v1-11 extra-nav-sphere quad) (-> a1-2 quad)) @@ -364,7 +364,7 @@ (enemy-method-129 self) (let ((a0-11 (handle->process (-> self focus handle)))) (if a0-11 - (point-toward-point! (-> self root-override2) (get-trans (the-as process-focusable a0-11) 0)) + (point-toward-point! (-> self root) (get-trans (the-as process-focusable a0-11) 0)) ) ) (none) @@ -383,7 +383,7 @@ (set! (-> a0-0 frame-num) 3.0) (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-identity) ) - (until (logtest? (-> self root-override2 status) (collide-status on-surface)) + (until (logtest? (-> self root status) (collide-status on-surface)) (nav-enemy-falling-post) (suspend) ) @@ -393,7 +393,7 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override2 gspot-pos quad)) + (set! (-> a1-0 quad) (-> self root gspot-pos quad)) (set! (-> a1-0 w) (-> self nav-radius-backup)) (if (not (add-root-sphere-to-hash! (-> self nav) a1-0 32)) (nav-enemy-falling-post) @@ -543,9 +543,9 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'collide-query)) - (gp-0 (-> self root-override2)) + (gp-0 (-> self root)) ) - (if (find-ground gp-0 a1-0 (-> self enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) + (if (find-ground gp-0 a1-0 (-> self enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) (set! (-> gp-0 trans y) (-> gp-0 gspot-pos y)) ) ) @@ -569,7 +569,7 @@ (logclear! (-> self enemy-flags) (enemy-flag drawn-mirrored)) (let ((gp-0 (-> self on-hostile))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -584,7 +584,7 @@ (set! (-> v1-23 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-23 enemy-flags)))) ) (set! (-> v1-23 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-23 enemy-flags)))) - (set! (-> v1-23 nav callback-info) (-> v1-23 enemy-info-override callback-info)) + (set! (-> v1-23 nav callback-info) (-> v1-23 enemy-info callback-info)) ) 0 (let ((v1-26 self)) @@ -594,7 +594,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (set! (-> self state-time) (current-time)) (roboguard-level-method-185 self (the-as symbol 1)) - (vector-z-quaternion! (-> self roll-dir) (-> self root-override2 quat)) + (vector-z-quaternion! (-> self roll-dir) (-> self root quat)) (set! (-> self roll-timer) 0) (set! (-> self roll-attack-count) (the-as uint 0)) 0 @@ -610,7 +610,7 @@ ) :trans (behavior () (let ((a0-0 (static-sound-spec "robo-roll"))) - (sound-play-by-spec a0-0 (-> self roll-sound) (-> self root-override2 trans)) + (sound-play-by-spec a0-0 (-> self roll-sound) (-> self root trans)) ) (cond ((logtest? (-> self flags) 64) @@ -644,12 +644,9 @@ ) (< 2 (the-as int (-> self focus aware))) ) - (let ((s5-2 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-2) 0) - (-> self root-override2 trans) - ) - ) + (let ((s5-2 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-2) 0) (-> self root trans)) + ) (s4-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-2 y) 0.0) @@ -660,7 +657,7 @@ ) (vector-rotate-around-y! s5-2 s5-2 16384.0) (vector+! s4-0 (get-trans (the-as process-focusable gp-2) 0) s5-2) - (vector-! (-> self roll-dir) s4-0 (-> self root-override2 trans)) + (vector-! (-> self roll-dir) s4-0 (-> self root trans)) ) (set! (-> self roll-dir y) 0.0) (vector-normalize! (-> self roll-dir) 1.0) @@ -668,7 +665,7 @@ ) ) (let ((gp-3 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) (new 'stack-no-clear 'vector) (set! (-> gp-3 quad) (-> self roll-dir quad)) (let ((s3-2 (new 'stack-no-clear 'vector)) @@ -678,7 +675,7 @@ (let ((s2-0 (-> self nav state current-poly))) (vector-xz-normalize-copy! s3-2 gp-3 20480.0) (set! (-> s4-1 quad) (-> s3-2 quad)) - (clamp-vector-to-mesh-no-gaps (-> self nav) (-> self root-override2 trans) s2-0 s4-1 s5-3) + (clamp-vector-to-mesh-no-gaps (-> self nav) (-> self root trans) s2-0 s4-1 s5-3) ) (when (-> s5-3 found-boundary) (let ((f30-1 (vector-length gp-3))) @@ -748,9 +745,9 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'collide-query)) - (gp-0 (-> self root-override2)) + (gp-0 (-> self root)) ) - (if (find-ground gp-0 a1-0 (-> self enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) + (if (find-ground gp-0 a1-0 (-> self enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) (set! (-> gp-0 trans y) (-> gp-0 gspot-pos y)) ) ) @@ -857,7 +854,7 @@ :trans (the-as (function none :behavior roboguard-level) #f) :code (behavior () (sound-play "robo-explode") - (let ((v1-2 (-> self root-override2 root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) @@ -873,7 +870,7 @@ ) (defmethod roboguard-level-method-185 roboguard-level ((obj roboguard-level) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim)) + (let ((v1-1 (-> obj root root-prim)) (a0-1 arg0) ) (cond @@ -1020,14 +1017,14 @@ (let ((s5-0 (find-offending-process-focusable a0-2 (the-as attack-info v1-3)))) (when s5-0 (new 'stack-no-clear 'vector) - (set! (-> (new 'stack-no-clear 'vector) quad) (-> s5-0 root-override trans quad)) + (set! (-> (new 'stack-no-clear 'vector) quad) (-> s5-0 root trans quad)) (if (< (-> obj roll-attack-count) (the-as uint 3)) (+! (-> obj roll-attack-count) 1) ) - (vector-! (-> obj roll-dir) (-> obj root-override2 trans) (-> s5-0 root-override trans)) + (vector-! (-> obj roll-dir) (-> obj root trans) (-> s5-0 root trans)) (set! (-> obj roll-dir y) 0.0) (vector-xz-normalize! (-> obj roll-dir) 1.0) - (set! (-> obj speed) (+ 245760.0 (vector-length (-> s5-0 root-override transv)))) + (set! (-> obj speed) (+ 245760.0 (vector-length (-> s5-0 root transv)))) (let ((a0-9 (-> obj nav state)) (v1-19 (vector-float*! (new 'stack-no-clear 'vector) (-> obj roll-dir) (-> obj speed))) ) @@ -1110,21 +1107,17 @@ ) ) (when (and s1-0 (logtest? (process-mask enemy) (-> s1-0 mask))) - (let ((s2-1 (vector-! - (new 'stack-no-clear 'vector) - (-> obj root-override2 trans) - (-> (the-as process-drawable s1-0) root trans) - ) - ) + (let ((s2-1 + (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> (the-as process-drawable s1-0) root trans)) + ) ) (new 'stack-no-clear 'vector) 0.0 (let ((s3-1 (new 'stack-no-clear 'vector))) (vector-normalize! s2-1 1.0) - (let ((f0-3 (- (vector-dot (-> obj root-override2 transv) s2-1) - (vector-dot (-> (the-as process-drawable s1-0) root transv) s2-1) - ) - ) + (let ((f0-3 + (- (vector-dot (-> obj root transv) s2-1) (vector-dot (-> (the-as process-drawable s1-0) root transv) s2-1)) + ) ) (let ((a1-5 (-> obj nav state))) (set! (-> s3-1 quad) (-> a1-5 velocity quad)) @@ -1190,7 +1183,7 @@ (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) (let ((gp-0 (new 'stack-no-clear 'quaternion)) - (s5-1 (-> obj root-override2 quat)) + (s5-1 (-> obj root quat)) ) (quaternion-set! gp-0 0.0 (-> s3-0 x) 0.0 (+ 1.0 (-> s3-0 z))) (quaternion-normalize! gp-0) @@ -1214,7 +1207,7 @@ (cond ((logtest? (enemy-flag enemy-flag38) (-> obj enemy-flags)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag38)))) - (set! (-> obj root-override2 gspot-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj root gspot-pos quad) (-> obj root trans quad)) ) (else (nav-enemy-method-142 obj (-> obj nav)) @@ -1224,7 +1217,7 @@ ) ) (track-target! obj) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -1304,7 +1297,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1323,9 +1316,9 @@ (set! (-> v1-8 nav-cull-radius) 81920.0) ) 0 - (set! (-> obj fact-info-override cam-horz) 98304.0) - (set! (-> obj fact-info-override cam-vert) 24576.0) - (set! (-> obj fact-info-override cam-notice-dist) 122880.0) + (set! (-> obj fact cam-horz) 98304.0) + (set! (-> obj fact cam-vert) 24576.0) + (set! (-> obj fact cam-notice-dist) 122880.0) (let ((v1-16 (-> obj nav))) (logclear! (-> v1-16 flags) (nav-control-flag limit-rotation-rate output-sphere-hash)) (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) @@ -1340,13 +1333,13 @@ 0 (logclear! (-> v1-16 flags) (nav-control-flag output-sphere-hash)) ) - (set! (-> obj enemy-info-override callback-info) *nav-enemy-physics-callback-info*) + (set! (-> obj enemy-info callback-info) *nav-enemy-physics-callback-info*) (let ((v1-18 obj)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-18 enemy-flags))) (set! (-> v1-18 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-18 enemy-flags)))) ) (set! (-> v1-18 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-18 enemy-flags)))) - (set! (-> v1-18 nav callback-info) (-> v1-18 enemy-info-override callback-info)) + (set! (-> v1-18 nav callback-info) (-> v1-18 enemy-info callback-info)) ) 0 (set! (-> obj roll-sound) (new-sound-id)) diff --git a/goal_src/jak2/levels/mars_tomb/left/chase/target-indax.gc b/goal_src/jak2/levels/mars_tomb/left/chase/target-indax.gc index 5de1b5f4e1..1aa5784fff 100644 --- a/goal_src/jak2/levels/mars_tomb/left/chase/target-indax.gc +++ b/goal_src/jak2/levels/mars_tomb/left/chase/target-indax.gc @@ -151,14 +151,14 @@ (case arg2 (('touched) (cond - ((< 0.0 (-> self fact-override shield-level)) + ((< 0.0 (-> self fact shield-level)) (let ((s4-1 (-> self control penetrate-using))) (set! (-> self control penetrate-using) (penetrate touch shield)) (let ((v0-0 (the-as object (target-send-attack arg0 'shield (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> self fact-override shield-attack-id)) + (the-as int (-> self fact shield-attack-id)) 0 (-> self control penetrate-using) ) @@ -278,7 +278,7 @@ (set! (-> self focus-status) (logior (focus-status indax) (-> self focus-status))) (set! (-> self control bend-target) 0.0) (target-collide-set! 'indax 0.0) - (set! (-> self fact-override health) (-> self fact-override health-max)) + (set! (-> self fact health) (-> self fact health-max)) (set! (-> self indax indax-start-time) (current-time)) (set! (-> self indax art-group-backup) (-> self draw art-group)) (set! (-> self draw art-group) (-> self sidekick 0 draw art-group)) @@ -316,7 +316,7 @@ (logclear! (-> self draw status) (draw-control-status no-draw-bounds2)) (send-event (ppointer->process (-> self sidekick)) 'matrix #f) (if (not (focus-test? self dead)) - (set! (-> self fact-override health) (-> self fact-override health-max)) + (set! (-> self fact health) (-> self fact health-max)) ) (target-exit) ) @@ -1318,7 +1318,7 @@ :trans (behavior () (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-indax-stance) ) ) @@ -1394,19 +1394,19 @@ (go target-indax-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-indax-death (-> gp-0 mode)) ) ) ) (('instant-death 'smush 'tomb-spider 'bot) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-indax-death (-> gp-0 mode)) ) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) ) ) (target-hit-effect gp-0) @@ -1423,7 +1423,7 @@ (target-indax-hit-setup-anim gp-0) (target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-falling-anim-trans 1.0) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-indax-death (-> gp-0 mode)) ) ) diff --git a/goal_src/jak2/levels/mars_tomb/left/chase/tomb-boulder.gc b/goal_src/jak2/levels/mars_tomb/left/chase/tomb-boulder.gc index a503f9f713..81ddff937d 100644 --- a/goal_src/jak2/levels/mars_tomb/left/chase/tomb-boulder.gc +++ b/goal_src/jak2/levels/mars_tomb/left/chase/tomb-boulder.gc @@ -99,7 +99,7 @@ ) (deftype tomb-spider (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -140,10 +140,8 @@ :code (behavior () (until #f ;; manually patched - (if (-> self parent) - (clone-anim-once (ppointer->handle (-> self parent)) #t "spider-") - ) - (update-transforms (-> self root-override)) + (clone-anim-once (ppointer->handle (-> self parent)) #t "spider-") + (update-transforms (-> self root)) (suspend) ) #f @@ -187,7 +185,7 @@ (set! (-> gp-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> gp-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> self root-override) gp-0) + (set! (-> self root) gp-0) ) (initialize-skeleton self @@ -200,8 +198,8 @@ ) (deftype tomb-boulder-stop (process-drawable) - ((root-override collide-shape-moving :offset 128) - (prefix string :offset-assert 200) + ((root collide-shape-moving :override) + (prefix string :offset-assert 200) ) :heap-base #x50 :method-count-assert 21 @@ -218,10 +216,8 @@ :code (behavior () (until #f ;; manually patched - (if (-> self parent) - (clone-anim-once (ppointer->handle (-> self parent)) #t (-> self prefix)) - ) - (update-transforms (-> self root-override)) + (clone-anim-once (ppointer->handle (-> self parent)) #t (-> self prefix)) + (update-transforms (-> self root)) (suspend) ) #f @@ -261,7 +257,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) (set! (-> self prefix) arg0) (initialize-skeleton @@ -275,8 +271,8 @@ ) (deftype tomb-boulder-pillar (process-drawable) - ((root-override collide-shape-moving :offset 128) - (prefix string :offset-assert 200) + ((root collide-shape-moving :override) + (prefix string :offset-assert 200) ) :heap-base #x50 :method-count-assert 21 @@ -294,12 +290,10 @@ :code (behavior () (until #f ;; manually patched - (if (-> self parent) - (clone-anim-once (ppointer->handle (-> self parent)) #t (-> self prefix)) - ) - (update-transforms (-> self root-override)) - (pull-riders! (-> self root-override)) - (do-push-aways (-> self root-override)) + (clone-anim-once (ppointer->handle (-> self parent)) #t (-> self prefix)) + (update-transforms (-> self root)) + (pull-riders! (-> self root)) + (do-push-aways (-> self root)) (suspend) ) #f @@ -330,7 +324,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) (set! (-> self prefix) arg0) (initialize-skeleton @@ -347,7 +341,7 @@ ) (deftype tomb-boulder (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (art-name string :offset-assert 200) (anim spool-anim :offset-assert 204) (loop-id sound-id :offset-assert 208) @@ -457,7 +451,7 @@ ((task-node-closed? (game-task-node tomb-poles-boulder)) (ja-channel-set! 0) (transform-post) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -468,7 +462,7 @@ (the-as basic (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-tomb-boulder-stick" (the-as (pointer uint32) #f)) #f @@ -478,9 +472,9 @@ ) ) ) - (let ((v1-9 (-> self root-override root-prim))) - (set! (-> v1-9 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-9 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-9 (-> self root root-prim))) + (set! (-> v1-9 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-9 prim-core collide-with) (-> self root backup-collide-with)) ) (ja-channel-set! 1) (ja :group! tomb-boulder-idle-ja) @@ -488,7 +482,7 @@ (until #f (when (and (not *scene-player*) *target* - (and (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + (and (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -580,7 +574,7 @@ (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-tomb-boulder-explode" (the-as (pointer uint32) #f)) #f @@ -597,7 +591,7 @@ (process-spawn manipy :init manipy-init - (-> self root-override trans) + (-> self root trans) (-> self entity) (art-group-get-by-name *level* "skel-tomb-boulder-wing-door" (the-as (pointer uint32) #f)) #f @@ -625,7 +619,7 @@ ) (cond ((< (-> self mode) (the-as uint 10)) - (set! (-> self root-override root-prim prim-core collide-with) (collide-spec jak player-list)) + (set! (-> self root root-prim prim-core collide-with) (collide-spec jak player-list)) (set! (-> self distance-adjust) (new 'static 'boxed-array :type float 0.0 15.0 @@ -646,7 +640,7 @@ ) ) (else - (set! (-> self root-override root-prim prim-core collide-with) (collide-spec)) + (set! (-> self root root-prim prim-core collide-with) (collide-spec)) (set! (-> self distance-adjust) (new 'static 'boxed-array :type float 0.0 15.0 @@ -1119,7 +1113,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-18 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1250,8 +1244,8 @@ This commonly includes things such as: ) (deftype spider-eyes (process-drawable) - ((root-override collide-shape-moving :offset 128) - (node-index uint32 :offset-assert 200) + ((root collide-shape-moving :override) + (node-index uint32 :offset-assert 200) ) :heap-base #x50 :method-count-assert 22 @@ -1278,12 +1272,12 @@ This commonly includes things such as: (gp-0 (new 'stack-no-clear 'vector)) ) (let ((f0-3 (* 0.25 (sin (* 0.5 (-> *camera-other-fov* data)))))) - (set-vector! (-> obj root-override scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> obj root scale) f0-3 f0-3 f0-3 1.0) ) (set! (-> gp-0 quad) (-> *camera-other-trans* quad)) (vector-normalize-copy! s5-0 (-> s3-0 vector 2) 1.0) - (matrix->quaternion (-> obj root-override quat) s3-0) - (let ((v1-8 (-> obj root-override trans))) + (matrix->quaternion (-> obj root quat) s3-0) + (let ((v1-8 (-> obj root trans))) (let ((a0-8 2048.0)) (.mov vf7 a0-8) ) @@ -1314,10 +1308,10 @@ This commonly includes things such as: (defbehavior spider-eyes-init-by-other spider-eyes ((arg0 entity-actor) (arg1 object) (arg2 uint)) (process-entity-set! self arg0) (set! (-> self node-index) arg2) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> *null-vector* quad)) - (quaternion-copy! (-> self root-override quat) *unity-quaternion*) - (vector-identity! (-> self root-override scale)) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> *null-vector* quad)) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (vector-identity! (-> self root scale)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-spider-eyes" (the-as (pointer uint32) #f))) diff --git a/goal_src/jak2/levels/mars_tomb/monster-frog.gc b/goal_src/jak2/levels/mars_tomb/monster-frog.gc index 9fd55835ec..a898bf7012 100644 --- a/goal_src/jak2/levels/mars_tomb/monster-frog.gc +++ b/goal_src/jak2/levels/mars_tomb/monster-frog.gc @@ -159,7 +159,7 @@ :walk-travel-speed (meters 11.44) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -219,7 +219,7 @@ (set! (-> v1-71 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-71 enemy-flags)))) ) (set! (-> v1-71 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-71 enemy-flags)))) - (set! (-> v1-71 nav callback-info) (-> v1-71 enemy-info-override callback-info)) + (set! (-> v1-71 nav callback-info) (-> v1-71 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.035)) @@ -229,7 +229,7 @@ 0 (nav-enemy-method-165 self) (let ((v1-78 (-> self nav))) - (set! (-> v1-78 target-speed) (* 1.4 (-> self enemy-info-override walk-travel-speed))) + (set! (-> v1-78 target-speed) (* 1.4 (-> self enemy-info walk-travel-speed))) ) 0 (let ((v1-80 self)) @@ -289,11 +289,11 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (let ((v1-12 (-> self root-override2 root-prim))) + (let ((v1-12 (-> self root root-prim))) (set! (-> v1-12 prim-core collide-as) (collide-spec)) (set! (-> v1-12 prim-core collide-with) (collide-spec)) ) @@ -305,7 +305,7 @@ (enemy-method-129 self) (let ((a0-2 (handle->process (-> self focus handle)))) (when a0-2 - (let* ((gp-0 (-> self root-override2)) + (let* ((gp-0 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-2) 0) (-> gp-0 trans)) @@ -327,9 +327,9 @@ (suspend) (ja :num! (seek!)) ) - (let ((v1-37 (-> self root-override2 root-prim))) - (set! (-> v1-37 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-37 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-37 (-> self root root-prim))) + (set! (-> v1-37 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-37 prim-core collide-with) (-> self root backup-collide-with)) ) (react-to-focus self) (none) @@ -359,7 +359,7 @@ (let ((a0-7 (handle->process (-> self focus handle)))) (if a0-7 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-7) 0) (* 98304.0 f30-0) (seconds 0.02) @@ -416,13 +416,10 @@ ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -436,13 +433,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -460,19 +454,16 @@ (set! (-> v1-121 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-121 enemy-flags)))) ) (set! (-> v1-121 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-121 enemy-flags)))) - (set! (-> v1-121 nav callback-info) (-> v1-121 enemy-info-override callback-info)) + (set! (-> v1-121 nav callback-info) (-> v1-121 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -536,7 +527,7 @@ ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) @@ -546,7 +537,7 @@ (let ((gp-0 (-> self focus aware))) (cond ((>= 1 (the-as int gp-0)) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) @@ -559,10 +550,8 @@ ) ) ) - (when (and (-> self enemy-info-override use-frustration) - (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)) - ) - (if (-> self enemy-info-override use-stop-chase) + (when (and (-> self enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> self enemy-flags))) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-stare self) ) @@ -581,9 +570,9 @@ (cond (a0-4 (let* ((s5-0 (get-trans (the-as process-focusable a0-4) 0)) - (a1-4 (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root-override2 trans))) + (a1-4 (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root trans))) (f30-0 (vector-length a1-4)) - (gp-1 (-> self enemy-info-override)) + (gp-1 (-> self enemy-info)) ) (let ((a1-5 (vector-normalize-copy! (new 'stack-no-clear 'vector) a1-4 1.0))) (if (not (enemy-method-94 self a1-5 6371.5557)) @@ -712,7 +701,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) 81920.0 (seconds 0.02) @@ -736,7 +725,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -750,11 +739,11 @@ (set! (-> v1-9 attack-id) a1-15) (set! (-> self attack-id) a1-15) ) - (let* ((gp-0 (-> self root-override2 trans)) + (let* ((gp-0 (-> self root trans)) (s5-1 (vector-! (new 'stack-no-clear 'vector) arg0 gp-0)) ) (let ((f0-0 (vector-length s5-1))) - (vector-normalize! s5-1 (fmin f0-0 (-> self enemy-info-override run-travel-speed))) + (vector-normalize! s5-1 (fmin f0-0 (-> self enemy-info run-travel-speed))) ) (let ((a0-3 (-> self nav state)) (v1-17 (vector+! (new 'stack-no-clear 'vector) gp-0 s5-1)) @@ -1045,7 +1034,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/mars_tomb/tomb-beetle.gc b/goal_src/jak2/levels/mars_tomb/tomb-beetle.gc index 22d7009223..5e11a1b5ec 100644 --- a/goal_src/jak2/levels/mars_tomb/tomb-beetle.gc +++ b/goal_src/jak2/levels/mars_tomb/tomb-beetle.gc @@ -177,7 +177,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 1080.0) + :maximum-rotation-rate (degrees 1080) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -206,7 +206,7 @@ ) (-> arg3 param 1) (cond - ((logtest? (-> obj fact-info-override enemy-options) (ash 1 (+ (-> obj round) 8))) + ((logtest? (-> obj fact enemy-options) (ash 1 (+ (-> obj round) 8))) (set! (-> v1-0 0) (the-as int (current-time))) (go (method-of-object obj go-to-door)) ) @@ -241,7 +241,7 @@ (let ((f30-0 81920.0) (s5-0 (new 'stack-no-clear 'collide-query)) ) - (set! (-> s5-0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> s5-0 start-pos quad) (-> obj root trans quad)) (set-vector! (-> s5-0 move-dist) 0.0 (- f30-0) 0.0 1.0) (let ((v1-6 s5-0)) (set! (-> v1-6 radius) 8192.0) @@ -259,7 +259,7 @@ ) 0 (-> s5-0 best-other-tri intersect) - (let ((a1-2 (-> obj root-override2 trans))) + (let ((a1-2 (-> obj root trans))) (-> a1-2 y) (let ((f0-6 (* f0-5 f30-0))) (shadow-control-method-14 @@ -298,8 +298,8 @@ (defstate dormant (tomb-beetle) :virtual #t :enter (behavior () - (set! (-> self root-override2 trans quad) (-> self entity extra trans quad)) - (quaternion-copy! (-> self root-override2 quat) (-> self entity quat)) + (set! (-> self root trans quad) (-> self entity extra trans quad)) + (quaternion-copy! (-> self root quat) (-> self entity quat)) (let ((t9-2 (-> (the-as (state enemy) (find-parent-method tomb-beetle 27)) enter))) (if t9-2 (t9-2) @@ -312,18 +312,18 @@ (defstate ambush (tomb-beetle) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 - (vector-reset! (-> self root-override2 transv)) - (set! (-> self move-dest quad) (-> self root-override2 trans quad)) - (+! (-> self root-override2 trans y) (* 4096.0 (rand-vu-float-range 32.0 52.0))) - (set! (-> self init-height) (-> self root-override2 trans y)) + (vector-reset! (-> self root transv)) + (set! (-> self move-dest quad) (-> self root trans quad)) + (+! (-> self root trans y) (* 4096.0 (rand-vu-float-range 32.0 52.0))) + (set! (-> self init-height) (-> self root trans y)) (quaternion-rotate-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* 182.04445 (rand-vu-float-range -180.0 180.0)) ) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) @@ -345,21 +345,21 @@ ) (setup-masks (-> self draw) 0 -1) (setup-masks (-> self draw) 2 0) - (if (logtest? (-> self fact-info-override enemy-options) (ash 1 (+ (-> self round) 8))) + (if (logtest? (-> self fact enemy-options) (ash 1 (+ (-> self round) 8))) (setup-masks (-> self draw) 4 0) (setup-masks (-> self draw) 8 0) ) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) :trans (behavior () - (if (< (fabs (- (-> self root-override2 trans y) (-> self move-dest y))) 4096.0) + (if (< (fabs (- (-> self root trans y) (-> self move-dest y))) 4096.0) (go-virtual land) ) (none) @@ -438,7 +438,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -452,13 +452,13 @@ (set! (-> gp-0 z) (* 4096.0 (rand-vu-float-range 3.0 9.0))) (set! (-> gp-0 w) 0.0) (let ((f30-1 (rand-vu-float-range 100.0 270.0))) - (vector-orient-by-quat! gp-0 gp-0 (-> self root-override2 quat)) + (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) (if (< 180.0 f30-1) (set! f30-1 (+ -360.0 f30-1)) ) (vector-rotate-y! gp-0 gp-0 (* 182.04445 f30-1)) ) - (vector+! (-> self move-dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self move-dest) (-> self root trans) gp-0) ) (cloest-point-on-mesh (-> self nav) (-> self move-dest) (-> self move-dest) (the-as nav-poly #f)) (let ((a0-23 (-> self nav state)) @@ -472,7 +472,7 @@ (none) ) :trans (behavior () - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest)) 16384.0) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self move-dest)) 16384.0) (go-virtual stand) ) (none) @@ -557,32 +557,32 @@ (let ((s5-0 (-> self fly-info)) (gp-0 (the-as (inline-array tomb-beetle-fly-info) (-> self fly-info 1))) ) - (set! (-> s5-0 0 dst quad) (the-as uint128 (the-as vector (-> self root-override2 trans quad)))) + (set! (-> s5-0 0 dst quad) (the-as uint128 (the-as vector (-> self root trans quad)))) (set! (-> gp-0 0 dst quad) (-> self entity extra trans quad)) (set! (-> gp-0 0 dst y) (+ 106496.0 (-> gp-0 0 dst y))) (vector-! (-> self fly-away-dir) (the-as vector (-> gp-0 0)) (the-as vector (-> s5-0 0))) (vector-normalize! (-> self fly-away-dir) 1.0) - (quaternion-copy! (-> s5-0 0 dst-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> s5-0 0 dst-quat) (-> self root quat)) (quaternion-look-at! (-> gp-0 0 dst-quat) (-> self fly-away-dir) *up-vector*) (set! (-> self speed) 0.0) (set! (-> self fly-away-radius) 0.0) - (set! (-> self fly-away-ry) (quaternion-y-angle (-> self root-override2 quat))) - (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root-override2 trans) (the-as vector (-> gp-0 0)))) + (set! (-> self fly-away-ry) (quaternion-y-angle (-> self root quat))) + (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> gp-0 0)))) ) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self fly-away-acc) (get-rand-float-range self 204800.0 512000.0)) (set! (-> self fly-away-ry-speed) (get-rand-float-range self 32768.0 109226.664)) (set! (-> self flying?) #f) (none) ) :trans (behavior () - (let ((f30-0 (- (-> self root-override2 trans y) (-> self fly-info 1 dst y)))) + (let ((f30-0 (- (-> self root trans y) (-> self fly-info 1 dst y)))) (when (>= f30-0 0.0) (send-event self 'death-end) (go empty-state) ) (let ((f0-2 (lerp-scale 1.0 0.0 f30-0 -40960.0 0.0))) - (set-vector! (-> self root-override2 scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> self root scale) f0-2 f0-2 f0-2 1.0) ) ) (none) @@ -654,7 +654,7 @@ ) (init-vf0-vector) (when (-> self flying?) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (+! (-> self speed) (* (-> self fly-away-acc) (-> self clock seconds-per-frame))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! s5-0 (-> self fly-away-dir) (-> self speed)) @@ -681,8 +681,8 @@ ) ) (quaternion-smooth-seek! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (-> self fly-info 1 dst-quat) (* 12.0 (-> self clock seconds-per-frame)) ) @@ -699,13 +699,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 1.8 2.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override die-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info die-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) frames num-frames) -1 ) ) @@ -736,7 +733,7 @@ ) ) (when gp-0 - (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (get-trans gp-0 0) (-> self root-override2 trans)))) + (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (get-trans gp-0 0) (-> self root trans)))) (when (< (vector-length s5-2) 16384.0) (vector-normalize! s5-2 1.0) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) @@ -764,7 +761,7 @@ ) ) ) - (let ((v1-16 (-> self root-override2 root-prim))) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) @@ -785,7 +782,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-15 a1-6 @@ -813,7 +810,7 @@ (defstate go-to-door (tomb-beetle) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -857,54 +854,54 @@ ) ) (else - (set! (-> (the-as vector (-> gp-0 0)) quad) (-> self root-override2 trans quad)) + (set! (-> (the-as vector (-> gp-0 0)) quad) (-> self root trans quad)) (set! (-> gp-0 0 dst y) (+ 16384.0 (-> gp-0 0 dst y))) ) ) - (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> gp-0 0)) (-> self root-override2 trans)))) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> gp-0 0)) (-> self root trans)))) (cond ((< (vector-length s4-2) 122880.0) - (set! (-> s5-0 0 dst quad) (-> self root-override2 trans quad)) + (set! (-> s5-0 0 dst quad) (-> self root trans quad)) ) (else (vector-float*! s4-2 s4-2 0.25) - (vector+! (the-as vector (-> s5-0 0)) (-> self root-override2 trans) s4-2) + (vector+! (the-as vector (-> s5-0 0)) (-> self root trans) s4-2) (set! (-> s5-0 0 dst y) (+ 20480.0 (-> gp-0 0 dst y))) ) ) (vector-normalize! s4-2 1.0) (forward-up-nopitch->quaternion (-> s5-0 0 dst-quat) s4-2 *up-vector*) ) - (quaternion-copy! (-> self src-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> self src-quat) (-> self root quat)) (quaternion-axis-angle! (-> gp-0 0 dst-quat) -1.0 0.0 0.0 16384.0) (quaternion-rotate-local-z! (-> gp-0 0 dst-quat) (-> gp-0 0 dst-quat) (-> gp-0 0 dst w)) (set! (-> s5-0 0 threshold) 16384.0) (set! (-> gp-0 0 threshold) 12288.0) - (set! (-> s5-0 0 dist) (vector-vector-distance (-> self root-override2 trans) (the-as vector (-> s5-0 0)))) - (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root-override2 trans) (the-as vector (-> gp-0 0)))) + (set! (-> s5-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> s5-0 0)))) + (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> gp-0 0)))) ) (set! (-> self dest-index) 0) (set! (-> self speed) 122880.0) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) :trans (behavior () (when (< (vector-length (vector-! (new 'stack-no-clear 'vector) - (-> self root-override2 trans) + (-> self root trans) (the-as vector (-> self fly-info (-> self dest-index))) ) ) (-> self fly-info (-> self dest-index) threshold) ) (when (= (-> self dest-index) 1) - (set! (-> self root-override2 trans quad) (-> (the-as vector (-> self fly-info 1)) quad)) - (quaternion-copy! (-> self root-override2 quat) (-> self fly-info 1 dst-quat)) + (set! (-> self root trans quad) (-> (the-as vector (-> self fly-info 1)) quad)) + (quaternion-copy! (-> self root quat) (-> self fly-info 1 dst-quat)) (go-virtual key) ) (set! (-> self speed) 81920.0) - (vector-normalize! (-> self root-override2 transv) (-> self speed)) - (quaternion-copy! (-> self src-quat) (-> self root-override2 quat)) + (vector-normalize! (-> self root transv) (-> self speed)) + (quaternion-copy! (-> self src-quat) (-> self root quat)) (+! (-> self dest-index) 1) ) (none) @@ -944,15 +941,15 @@ (init-vf0-vector) (when (-> self flying?) (let* ((gp-0 (-> self fly-info (-> self dest-index))) - (f30-0 (vector-vector-distance (-> self root-override2 trans) (-> gp-0 dst))) + (f30-0 (vector-vector-distance (-> self root trans) (-> gp-0 dst))) ) (seek! (-> self speed) (* 4.0 f30-0) (* 409600.0 (-> self clock seconds-per-frame))) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 dst) (-> self root-override2 trans)))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 dst) (-> self root trans)))) (vector-normalize! s5-1 (-> self speed)) - (vector-seek! (-> self root-override2 transv) s5-1 (* (-> self speed) (-> self clock seconds-per-frame))) + (vector-seek! (-> self root transv) s5-1 (* (-> self speed) (-> self clock seconds-per-frame))) ) (let ((v1-13 (new 'stack-no-clear 'vector))) - (.lvf vf1 (&-> (-> self root-override2 transv) quad)) + (.lvf vf1 (&-> (-> self root transv) quad)) (let ((f0-9 (-> self clock seconds-per-frame))) (.mov at-0 f0-9) ) @@ -960,10 +957,10 @@ (.mov.vf vf1 vf0 :mask #b1000) (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> v1-13 quad) vf1) - (vector+! (-> self root-override2 trans) (-> self root-override2 trans) v1-13) + (vector+! (-> self root trans) (-> self root trans) v1-13) ) (let ((f0-11 (/ f30-0 (-> gp-0 dist)))) - (quaternion-slerp! (-> self root-override2 quat) (-> self src-quat) (-> gp-0 dst-quat) (- 1.0 f0-11)) + (quaternion-slerp! (-> self root quat) (-> self src-quat) (-> gp-0 dst-quat) (- 1.0 f0-11)) ) ) ) @@ -1056,7 +1053,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/mars_tomb/tomb-obs.gc b/goal_src/jak2/levels/mars_tomb/tomb-obs.gc index 15d5658223..8549b593aa 100644 --- a/goal_src/jak2/levels/mars_tomb/tomb-obs.gc +++ b/goal_src/jak2/levels/mars_tomb/tomb-obs.gc @@ -54,7 +54,7 @@ (let ((f30-0 (get-norm! (-> self sync) 0))) (let ((s5-0 (-> self basetrans))) (let ((gp-0 (-> self position))) - (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) + (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((a0-3 (* -32768.0 f30-0))) (.mov vf7 a0-3) ) @@ -130,7 +130,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -149,7 +149,7 @@ This commonly includes things such as: (process-drawable-from-entity! obj arg0) (initialize-skeleton obj (the-as skeleton-group (get-art-group obj)) (the-as pair 0)) (set! (-> obj draw light-index) (the-as uint 1)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (stop-bouncing! obj) (base-plat-method-32 obj) (set! (-> obj fact) @@ -173,14 +173,14 @@ This commonly includes things such as: (initialize! (-> obj sync) a1-4) ) (set! (-> obj sound-id) (new 'static 'sound-id)) - (set! (-> obj position quad) (-> obj root-override trans quad)) + (set! (-> obj position quad) (-> obj root trans quad)) (set! (-> obj last-pos) 0.0) (go (method-of-object obj plat-idle)) (none) ) (deftype tomb-stair-block-spikes (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -199,7 +199,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs object. (defbehavior tomb-stair-block-collision tomb-stair-block-spikes ((arg0 symbol)) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (the-as object (cond (arg0 (set! (-> v1-1 prim-core collide-with) (collide-spec jak bot player-list)) @@ -226,7 +226,7 @@ This commonly includes things such as: (sound-play "tomb-spikes") ) (('set-position) - (let ((v0-1 (the-as object (-> self root-override trans)))) + (let ((v0-1 (the-as object (-> self root trans)))) (set! (-> (the-as vector v0-1) quad) (-> (the-as vector (-> event param 0)) quad)) v0-1 ) @@ -314,9 +314,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s5-0)) + (set! (-> self root) (the-as collide-shape-moving s5-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as @@ -326,7 +326,7 @@ This commonly includes things such as: (the-as pair 0) ) (set! (-> self draw light-index) (the-as uint 1)) - (quaternion-rotate-y! (-> self root-override quat) (-> self root-override quat) 16384.0) + (quaternion-rotate-y! (-> self root quat) (-> self root quat) 16384.0) (go-virtual idle) (none) ) @@ -345,12 +345,12 @@ This commonly includes things such as: (deftype tomb-stair-block (process-drawable) - ((root-override collide-shape-moving :offset 128) - (initial-y float :offset-assert 200) - (spike-info tomb-stair-block-spike-info 4 :inline :offset 208) - (camera-state int32 :offset 336) - (sink-sound sound-id :offset 340) - (rise-sound sound-id :offset 344) + ((root collide-shape-moving :override) + (initial-y float :offset-assert 200) + (spike-info tomb-stair-block-spike-info 4 :inline :offset 208) + (camera-state int32 :offset 336) + (sink-sound sound-id :offset 340) + (rise-sound sound-id :offset 344) ) :heap-base #xe0 :method-count-assert 25 @@ -468,7 +468,7 @@ This commonly includes things such as: (defstate sunk (tomb-stair-block) :virtual #t :enter (behavior () - (set! (-> self root-override trans y) (-> self initial-y)) + (set! (-> self root trans y) (-> self initial-y)) (ja :group! (-> self draw art-group data 4) :num! (identity (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) frames num-frames) -1))) ) @@ -544,10 +544,10 @@ This commonly includes things such as: (drop-pool 1) (suspend) ) - (while (< (-> self root-override trans y) (-> self initial-y)) - (let ((f0-4 (seek (-> self root-override trans y) (-> self initial-y) 204.8))) - (set! (-> self root-override trans y) f0-4) - (set! (-> self root-override trans y) f0-4) + (while (< (-> self root trans y) (-> self initial-y)) + (let ((f0-4 (seek (-> self root trans y) (-> self initial-y) 204.8))) + (set! (-> self root trans y) f0-4) + (set! (-> self root trans y) f0-4) ) (lift-pool 0) (drop-pool 1) @@ -611,9 +611,9 @@ This commonly includes things such as: ) :trans (behavior () (rider-trans) - (let ((f0-3 (seek (-> self root-override trans y) (+ -28672.0 (-> self initial-y)) 409.6))) - (set! (-> self root-override trans y) f0-3) - (set! (-> self root-override trans y) f0-3) + (let ((f0-3 (seek (-> self root trans y) (+ -28672.0 (-> self initial-y)) 409.6))) + (set! (-> self root trans y) f0-3) + (set! (-> self root trans y) f0-3) ) (position-spikes 0) (cond @@ -731,9 +731,9 @@ This commonly includes things such as: (none) ) :trans (behavior () - (let ((f0-3 (seek (-> self root-override trans y) (+ -104448.0 (-> self initial-y)) 409.6))) - (set! (-> self root-override trans y) f0-3) - (set! (-> self root-override trans y) f0-3) + (let ((f0-3 (seek (-> self root trans y) (+ -104448.0 (-> self initial-y)) 409.6))) + (set! (-> self root trans y) f0-3) + (set! (-> self root trans y) f0-3) ) (lift-pool 0) (drop-pool 1) @@ -869,7 +869,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-27 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-27 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -879,7 +879,7 @@ This commonly includes things such as: ) (set! (-> obj draw light-index) (the-as uint 1)) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! (-> obj initial-y) (-> obj root-override trans y)) + (set! (-> obj initial-y) (-> obj root trans y)) (ja-post) (set! (-> obj spike-info 0 joint) 4) (set! (-> obj spike-info 1 joint) 6) @@ -894,7 +894,7 @@ This commonly includes things such as: (set! (-> obj spike-info s4-2 sounded) #f) ) ) - (set! (-> obj root-override trans y) (+ -104448.0 (-> obj initial-y))) + (set! (-> obj root trans y) (+ -104448.0 (-> obj initial-y))) (let ((s5-3 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-3 @@ -1028,7 +1028,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) (none) ) @@ -1125,7 +1125,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) (none) ) @@ -1133,7 +1133,7 @@ This commonly includes things such as: (defmethod set-ambient-sound! tomb-elevator ((obj tomb-elevator)) "Sets the elevator's [[ambient-sound]] up" (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "tomb-elevator" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "tomb-elevator" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -1192,7 +1192,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1303,7 +1303,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1326,7 +1326,7 @@ This commonly includes things such as: ) (deftype tomb-boulder-door (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 22 @@ -1399,7 +1399,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1467,7 +1467,7 @@ This commonly includes things such as: (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) (set! (-> self path-pos) 0.0) - (set-vector! (-> self root-override scale) 0.0 0.0 0.0 0.0) + (set-vector! (-> self root scale) 0.0 0.0 0.0 0.0) (none) ) :exit (behavior () @@ -1484,7 +1484,7 @@ This commonly includes things such as: ) :code (the-as (function none :behavior tomb-plat-return) sleep-code) :post (behavior () - (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root trans)) (seek! (-> self path-pos) 1.0 (* 2.0 (-> self clock seconds-per-frame) (-> self path-speed))) (let ((f30-0 (-> self path-pos))) (get-point-at-percent-along-path! @@ -1493,7 +1493,7 @@ This commonly includes things such as: (ease-value-in-out f30-0 0.1) 'interp ) - (set-vector! (-> self root-override scale) f30-0 f30-0 f30-0 f30-0) + (set-vector! (-> self root scale) f30-0 f30-0 f30-0 f30-0) ) (plat-post) (none) @@ -1567,7 +1567,7 @@ This commonly includes things such as: ) :code (the-as (function none :behavior tomb-plat-return) sleep-code) :post (behavior () - (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root trans)) (seek! (-> self path-pos) (-> self dest-pos) (* (-> self path-speed) (-> self clock seconds-per-frame))) (get-point-at-percent-along-path! (-> self path) @@ -1646,7 +1646,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1686,7 +1686,7 @@ This commonly includes things such as: ) (let ((f30-0 (total-distance (-> obj path)))) (set! (-> obj path-speed) (/ (res-lump-float arg0 'speed :default 40960.0) f30-0)) - (set! (-> obj root-override pause-adjust-distance) (+ 204800.0 f30-0)) + (set! (-> obj root pause-adjust-distance) (+ 204800.0 f30-0)) ) (set! (-> obj sound-id) (new-sound-id)) (init-plat! obj) @@ -1787,10 +1787,10 @@ This commonly includes things such as: ) (deftype tomb-sphinx (process-drawable) - ((root-override collide-shape-moving :offset 128) - (target-actor entity-actor :offset-assert 200) - (sound-id sound-id :offset-assert 204) - (move-dir float :offset 216) + ((root collide-shape-moving :override) + (target-actor entity-actor :offset-assert 200) + (sound-id sound-id :offset-assert 204) + (move-dir float :offset 216) ) :heap-base #x60 :method-count-assert 23 @@ -1854,7 +1854,7 @@ This commonly includes things such as: ) (s5-1 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-1 quad) (-> self root-override trans quad)) + (set! (-> s5-1 quad) (-> self root trans quad)) (let ((s4-0 (new 'stack-no-clear 'vector))) (until #f (let ((s3-0 tomb-sphinx-draw-beam) @@ -1917,7 +1917,7 @@ This commonly includes things such as: ) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) @@ -1995,7 +1995,7 @@ This commonly includes things such as: - collision information - loading the skeleton group / bones - sounds" - (set! (-> obj root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape-moving (new 'process 'trsqv))) (process-drawable-from-entity! obj arg0) (set! (-> obj target-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj sound-id) (new-sound-id)) diff --git a/goal_src/jak2/levels/mars_tomb/tomb-water.gc b/goal_src/jak2/levels/mars_tomb/tomb-water.gc index 6ee65af3d2..959d5ffb36 100644 --- a/goal_src/jak2/levels/mars_tomb/tomb-water.gc +++ b/goal_src/jak2/levels/mars_tomb/tomb-water.gc @@ -477,7 +477,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -487,7 +487,7 @@ This commonly includes things such as: "Sets `event-going-down` to `'trigger`" (logior! (-> obj button-status) (button-status button-status-4)) (set! (-> obj event-going-down) 'cue-chase) - (set! (-> obj root-override trans y) (+ 204.8 (-> obj root-override trans y))) + (set! (-> obj root trans y) (+ 204.8 (-> obj root trans y))) (none) ) @@ -590,7 +590,7 @@ This commonly includes things such as: (when (>= (- (current-time) (-> self state-time)) (seconds 4)) (if (and *target* (focus-test? *target* grabbed) ;; pc port note : added this check to make the beetle button not break everything!! - (< (vector-vector-xz-distance (-> *target* control trans) (-> self root-override trans)) (meters 10))) + (< (vector-vector-xz-distance (-> *target* control trans) (-> self root trans)) (meters 10))) (process-release? *target*) ) (if (and *target* @@ -647,7 +647,7 @@ This commonly includes things such as: ) (let ((v1-2 *target*)) (cond - ((and v1-2 (< (vector-vector-xz-distance (-> v1-2 control trans) (-> self root-override trans)) 40960.0)) + ((and v1-2 (< (vector-vector-xz-distance (-> v1-2 control trans) (-> self root trans)) 40960.0)) (when (zero? (-> self entity extra perm user-uint8 1)) (tomb-beetle-button-method-39 self) (let ((v1-15 (-> self entity extra perm))) @@ -1185,7 +1185,7 @@ This commonly includes things such as: ) (when a0-12 (let ((v1-6 (get-trans a0-12 0)) - (a0-14 (-> self root-override trans)) + (a0-14 (-> self root trans)) ) (if (and (>= 8192.0 (fabs (- (-> v1-6 x) (-> a0-14 x)))) (>= 8192.0 (fabs (- (-> v1-6 z) (-> a0-14 z))))) (go-virtual dangerous) @@ -1367,7 +1367,7 @@ This commonly includes things such as: ) (when a0-1 (let ((v1-2 (get-trans a0-1 0)) - (a0-3 (-> self root-override trans)) + (a0-3 (-> self root trans)) ) (when (and (or (< 16384.0 (fabs (- (-> a0-3 x) (-> v1-2 x)))) (< 16384.0 (fabs (- (-> a0-3 z) (-> v1-2 z))))) (>= (- (current-time) (-> self ride-timer)) (seconds 0.25)) @@ -1477,7 +1477,7 @@ This commonly includes things such as: (suspend) ) ) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) (let ((gp-1 (current-time))) (until (>= (- (current-time) gp-1) (seconds 1)) (suspend) @@ -1487,10 +1487,10 @@ This commonly includes things such as: (none) ) :post (behavior () - (set! (-> self root-override transv y) - (- (-> self root-override transv y) (* (-> self move-rate) (-> self clock seconds-per-frame))) + (set! (-> self root transv y) + (- (-> self root transv y) (* (-> self move-rate) (-> self clock seconds-per-frame))) ) - (+! (-> self root-override trans y) (-> self root-override transv y)) + (+! (-> self root trans y) (-> self root transv y)) (transform-post) (none) ) @@ -1528,7 +1528,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) (none) ) @@ -1537,14 +1537,14 @@ This commonly includes things such as: (defbehavior tomb-simon-block-init-by-other tomb-simon-block ((arg0 vector) (arg1 int) (arg2 int) (arg3 int) (arg4 int)) (init-plat-collision! self) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set! (-> self base-height) (-> self root-override trans y)) - (set! (-> self root-override trans y) (+ -122880.0 (-> self root-override trans y))) - (quaternion-copy! (-> self root-override quat) *unity-quaternion*) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self base-height) (-> self root trans y)) + (set! (-> self root trans y) (+ -122880.0 (-> self root trans y))) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (vector-identity! (-> self root scale)) (initialize-skeleton self (the-as skeleton-group (get-art-group self)) (the-as pair 0)) (logclear! (-> self mask) (process-mask actor-pause)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (stop-bouncing! self) (set! (-> self my-idx) arg1) (set! (-> self next-idx) arg2) diff --git a/goal_src/jak2/levels/mars_tomb/widow-extras.gc b/goal_src/jak2/levels/mars_tomb/widow-extras.gc index d39c15dd4b..265376a959 100644 --- a/goal_src/jak2/levels/mars_tomb/widow-extras.gc +++ b/goal_src/jak2/levels/mars_tomb/widow-extras.gc @@ -8,8 +8,8 @@ ;; DECOMP BEGINS (deftype tomb-boss-catwalk (process-drawable) - ((root-override collide-shape-moving :offset 128) - (which-look int32 :offset-assert 200) + ((root collide-shape-moving :override) + (which-look int32 :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -73,7 +73,7 @@ (defstate shatter (tomb-boss-catwalk) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -111,7 +111,7 @@ (set-vector! gp-0 -188416.0 32768.0 -81920.0 1.0) ) ) - (vector+! gp-0 gp-0 (-> self root-override trans)) + (vector+! gp-0 gp-0 (-> self root trans)) (let ((s5-7 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-7 (let ((t9-8 (method-of-type part-tracker activate))) @@ -222,7 +222,7 @@ (set! (-> s3-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s3-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-0)) + (set! (-> obj root) (the-as collide-shape-moving s3-0)) ) ) ((2) @@ -241,7 +241,7 @@ (set! (-> s3-1 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s3-1 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-1)) + (set! (-> obj root) (the-as collide-shape-moving s3-1)) ) ) ((3) @@ -260,7 +260,7 @@ (set! (-> s3-2 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s3-2 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-2)) + (set! (-> obj root) (the-as collide-shape-moving s3-2)) ) ) ((4) @@ -279,7 +279,7 @@ (set! (-> s3-3 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s3-3 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-3)) + (set! (-> obj root) (the-as collide-shape-moving s3-3)) ) ) ((5) @@ -298,7 +298,7 @@ (set! (-> s3-4 backup-collide-as) (-> v1-29 prim-core collide-as)) (set! (-> s3-4 backup-collide-with) (-> v1-29 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-4)) + (set! (-> obj root) (the-as collide-shape-moving s3-4)) ) ) ((6) @@ -317,7 +317,7 @@ (set! (-> s3-5 backup-collide-as) (-> v1-35 prim-core collide-as)) (set! (-> s3-5 backup-collide-with) (-> v1-35 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-5)) + (set! (-> obj root) (the-as collide-shape-moving s3-5)) ) ) ((7) @@ -336,7 +336,7 @@ (set! (-> s3-6 backup-collide-as) (-> v1-41 prim-core collide-as)) (set! (-> s3-6 backup-collide-with) (-> v1-41 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-6)) + (set! (-> obj root) (the-as collide-shape-moving s3-6)) ) ) (else @@ -411,11 +411,11 @@ (set! (-> s3-7 backup-collide-as) (-> v1-68 prim-core collide-as)) (set! (-> s3-7 backup-collide-with) (-> v1-68 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-7)) + (set! (-> obj root) (the-as collide-shape-moving s3-7)) ) ) ) - (set! (-> obj root-override trans quad) (-> arg0 quad)) + (set! (-> obj root trans quad) (-> arg0 quad)) (case arg1 ((1) (initialize-skeleton @@ -505,9 +505,9 @@ ) ) ) - (set! (-> obj root-override pause-adjust-distance) 245760.0) + (set! (-> obj root pause-adjust-distance) 245760.0) (set! (-> obj which-look) arg1) - (quaternion-set! (-> obj root-override quat) 0.0 1.0 0.0 0.0) + (quaternion-set! (-> obj root quat) 0.0 1.0 0.0 0.0) (transform-post) 0 (none) @@ -648,7 +648,7 @@ This commonly includes things such as: ) ) ) - (vector-! gp-0 (-> self root-override trans) (-> (the-as widow arg0) root trans)) + (vector-! gp-0 (-> self root trans) (-> (the-as widow arg0) root trans)) (set! (-> gp-0 y) 0.0) (cond (v1-5 @@ -659,7 +659,7 @@ This commonly includes things such as: (s5-1 (new 'stack-no-clear 'vector)) ) (let ((f28-0 20480.0)) - (vector-! s4-1 s4-1 (-> self root-override trans)) + (vector-! s4-1 s4-1 (-> self root trans)) (let ((t9-2 vector-normalize!) (a0-14 gp-0) (v1-9 s4-1) @@ -691,8 +691,8 @@ This commonly includes things such as: ) ) ) - (vector+! gp-0 gp-0 (-> self root-override trans)) - (setup-from-to-duration-and-height! (-> self traj) (-> self root-override trans) gp-0 225.0 f30-0) + (vector+! gp-0 gp-0 (-> self root trans)) + (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-0 225.0 f30-0) ) (send-event (ppointer->process (-> self parent)) 'bomb-kicked) (go-virtual back-atcha) @@ -728,8 +728,8 @@ This commonly includes things such as: ) (when s5-0 (let ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> s5-0 node-list data 3)))) - (when (and (< (vector-vector-distance (-> self root-override trans) a1-3) 49152.0) (not (-> s5-0 flying))) - (send-event s5-0 'bomb-hit (-> self root-override trans) 1) + (when (and (< (vector-vector-distance (-> self root trans) a1-3) 49152.0) (not (-> s5-0 flying))) + (send-event s5-0 'bomb-hit (-> self root trans) 1) (go-virtual explode) ) ) @@ -739,7 +739,7 @@ This commonly includes things such as: (when (if (type? s5-1 widow) s5-1 ) - (send-event arg0 'bomb-hit (-> self root-override trans) 1) + (send-event arg0 'bomb-hit (-> self root trans) 1) (go-virtual explode) ) ) @@ -778,8 +778,8 @@ This commonly includes things such as: ) (else (vector-v++! - (-> self root-override transv) - (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root-override)) (new-stack-vector0) 1.0) + (-> self root transv) + (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root)) (new-stack-vector0) 1.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (collide-spec backgnd enemy obstacle hit-by-others-list pusher)) @@ -787,7 +787,7 @@ This commonly includes things such as: (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide (-> self root-override) (-> self root-override transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide (-> self root) (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -810,7 +810,7 @@ This commonly includes things such as: 4096.0 (collide-spec backgnd enemy obstacle hit-by-others-list player-list) ) - (let ((v1-5 (-> self root-override root-prim))) + (let ((v1-5 (-> self root root-prim))) (logior! (-> v1-5 prim-core collide-with) (collide-spec enemy)) (logclear! (-> v1-5 prim-core collide-with) (collide-spec jak)) ) @@ -825,15 +825,15 @@ This commonly includes things such as: (widow-bomb-method-34 self) (cond ((>= (- (current-time) (-> self state-time)) (the int (-> self traj time))) - (compute-transv-at-time (-> self traj) (-> self traj time) (-> self root-override transv)) - (vector-float*! (-> self root-override transv) (-> self root-override transv) 300.0) + (compute-transv-at-time (-> self traj) (-> self traj time) (-> self root transv)) + (vector-float*! (-> self root transv) (-> self root transv) 300.0) (go-virtual freefall) ) (else (compute-trans-at-time (-> self traj) (the float (- (current-time) (-> self state-time))) - (-> self root-override trans) + (-> self root trans) ) (update-from-cspace (-> self impact)) (when (>= (- (current-time) (-> self state-time)) 1) @@ -847,13 +847,13 @@ This commonly includes things such as: ) ) (when (< 0.0 f0-10) - (set! (-> self root-override trans quad) (-> self impact trans 1 quad)) + (set! (-> self root trans quad) (-> self impact trans 1 quad)) (compute-transv-at-time (-> self traj) (the float (- (current-time) (-> self state-time))) - (-> self root-override transv) + (-> self root transv) ) - (vector-float*! (-> self root-override transv) (-> self root-override transv) 300.0) + (vector-float*! (-> self root transv) (-> self root transv) 300.0) (go-virtual freefall) ) ) @@ -872,7 +872,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (let* ((a0-1 (target-pos 0)) - (f0-0 (vector-vector-distance-squared a0-1 (-> self root-override trans))) + (f0-0 (vector-vector-distance-squared a0-1 (-> self root trans))) (f1-0 16384.0) ) (when (< f0-0 (* f1-0 f1-0)) @@ -899,7 +899,7 @@ This commonly includes things such as: ) (activate! *camera-smush-control* 819.2 37 210 1.0 0.995 (-> self clock)) (ja-channel-set! 0) - (let ((v1-12 (-> self root-override root-prim))) + (let ((v1-12 (-> self root root-prim))) (set! (-> v1-12 prim-core collide-as) (collide-spec)) (set! (-> v1-12 prim-core collide-with) (collide-spec)) ) @@ -912,7 +912,7 @@ This commonly includes things such as: (cond ((< (- (current-time) (-> self state-time)) (seconds 2)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 y) (+ 2048.0 (-> a1-0 y))) (spawn (-> self explode-part) a1-0) ) @@ -929,7 +929,7 @@ This commonly includes things such as: (defmethod widow-bomb-method-32 widow-bomb ((obj widow-bomb)) (spawn-with-cspace (-> obj part) (-> obj node-list data 3)) - (sound-play "w-bomb-steam" :id (-> obj steam-sound) :position (-> obj root-override trans)) + (sound-play "w-bomb-steam" :id (-> obj steam-sound) :position (-> obj root trans)) (let ((s5-0 (the-as int (- (current-time) (-> obj state-time))))) (if (nonzero? (-> obj fizzle-timer)) (set! s5-0 @@ -1047,7 +1047,7 @@ This commonly includes things such as: ) ((= v1-0 'impact-control) (if (and (!= proc self) (!= proc (-> self parent))) - (send-event proc 'bomb-hit (-> self root-override trans) 1) + (send-event proc 'bomb-hit (-> self root trans) 1) ) ) ((= v1-0 'fizzle) @@ -1108,9 +1108,9 @@ This commonly includes things such as: (set! (-> self y-rotate) (+ -65536.0 (-> self y-rotate))) ) (widow-bomb-method-34 self) - (when (< (-> self root-override scale x) 1.0) - (let ((f0-17 (fmin 1.0 (+ 0.025 (-> self root-override scale x))))) - (set-vector! (-> self root-override scale) f0-17 f0-17 f0-17 1.0) + (when (< (-> self root scale x) 1.0) + (let ((f0-17 (fmin 1.0 (+ 0.025 (-> self root scale x))))) + (set-vector! (-> self root scale) f0-17 f0-17 f0-17 1.0) ) ) (cond @@ -1122,14 +1122,14 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (set! (-> self state-time) (current-time)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (the-as vector (-> self traj))))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self traj))))) (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 12288.0) - (vector+! gp-1 gp-1 (-> self root-override trans)) - (setup-from-to-duration-and-height! (-> self traj) (-> self root-override trans) gp-1 75.0 4096.0) + (vector+! gp-1 gp-1 (-> self root trans)) + (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-1 75.0 4096.0) ) (widow-bomb-method-33 self) (sound-play "w-bomb-part1") @@ -1139,14 +1139,14 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (set! (-> self state-time) (current-time)) - (let ((gp-4 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (the-as vector (-> self traj))))) + (let ((gp-4 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self traj))))) (set! (-> gp-4 y) 0.0) (vector-normalize! gp-4 4096.0) - (vector+! gp-4 gp-4 (-> self root-override trans)) - (setup-from-to-duration-and-height! (-> self traj) (-> self root-override trans) gp-4 37.5 1024.0) + (vector+! gp-4 gp-4 (-> self root trans)) + (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-4 37.5 1024.0) ) (widow-bomb-method-33 self) (sound-play "w-bomb-part2") @@ -1155,7 +1155,7 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (set! (-> self which-trajectory) 3) (let* ((gp-6 (-> self state-time)) @@ -1177,16 +1177,16 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (when (and (zero? (-> self which-trajectory)) (< (- (current-time) (-> self state-time)) (the int (* 0.75 (-> self traj time)))) ) (vector+float*! (-> self launch-pos) (-> self launch-pos) (-> self launch) (-> self clock time-adjust-ratio)) (vector-lerp! - (-> self root-override trans) + (-> self root trans) (-> self launch-pos) - (-> self root-override trans) + (-> self root trans) (parameter-ease-sin-clamp (* 1.3333334 (/ (the float (- (current-time) (-> self state-time))) (-> self traj time))) ) @@ -1218,7 +1218,7 @@ This commonly includes things such as: :code (the-as (function none :behavior widow-bomb) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1304,9 +1304,9 @@ This commonly includes things such as: (set! (-> s1-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s1-0 event-self) 'impact-control) - (set! (-> self root-override) s1-0) + (set! (-> self root) s1-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-widow-bomb" (the-as (pointer uint32) #f))) @@ -1318,7 +1318,7 @@ This commonly includes things such as: (set! (-> self warning-glow-part) (create-launch-control (-> *part-group-id-table* 724) self)) (set! (-> self warning-spark-part) (create-launch-control (-> *part-group-id-table* 723) self)) (set! (-> self skid-part) (create-launch-control (-> *part-group-id-table* 725) self)) - (set-vector! (-> self root-override scale) 0.5 0.5 0.5 1.0) + (set-vector! (-> self root scale) 0.5 0.5 0.5 1.0) (if (< (-> arg0 y) (-> arg1 y)) (set! arg3 (+ arg3 (- (-> arg1 y) (-> arg0 y)))) ) @@ -1329,7 +1329,7 @@ This commonly includes things such as: (vector-! v1-42 arg1 arg0) (set! (-> v1-42 y) 0.0) (let ((f30-1 (atan (-> v1-42 x) (-> v1-42 z)))) - (quaternion-set! (-> self root-override quat) 0.0 (sin (* 0.5 f30-1)) 0.0 (cos (* 0.5 f30-1))) + (quaternion-set! (-> self root quat) 0.0 (sin (* 0.5 f30-1)) 0.0 (cos (* 0.5 f30-1))) ) ) (set! (-> self which-trajectory) 0) @@ -1339,7 +1339,7 @@ This commonly includes things such as: (set! (-> self spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) self 3)) (set! (-> self firework-sound-played) #f) (set! (-> self steam-sound) (new 'static 'sound-id)) - (set! (-> self launch-pos quad) (-> self root-override trans quad)) + (set! (-> self launch-pos quad) (-> self root trans quad)) (set! (-> self launch quad) (-> arg4 quad)) (set! (-> self fizzle-timer) 0) (go-virtual idle) @@ -1347,7 +1347,7 @@ This commonly includes things such as: ) (deftype heart-mar (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -1409,16 +1409,16 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defbehavior heart-mar-init-by-other heart-mar ((arg0 vector)) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-heart-mar" (the-as (pointer uint32) #f))) (the-as pair 0) ) (setup-masks (-> self draw) 0 2) - (quaternion-set! (-> self root-override quat) 0.0 1.0 0.0 0.0) - (set! (-> self root-override pause-adjust-distance) 245760.0) + (quaternion-set! (-> self root quat) 0.0 1.0 0.0 0.0) + (set! (-> self root pause-adjust-distance) 245760.0) (ja-post) (add-connection *part-engine* self 3 self 3253 (new 'static 'vector :w 819200.0)) (set! (-> self draw light-index) (the-as uint 17)) @@ -1428,7 +1428,7 @@ This commonly includes things such as: ) (deftype tomb-boss-pillar (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (explode-part sparticle-launch-control :offset-assert 200) (segs-shot int32 :offset-assert 204) (last-pillar-hit time-frame :offset-assert 208) @@ -1505,7 +1505,7 @@ This commonly includes things such as: ) (defbehavior tomb-boss-pillar-shrink-collision tomb-boss-pillar () - (let ((v1-1 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-1 (the-as collide-shape-prim-group (-> self root root-prim)))) (let ((a0-1 (-> v1-1 child 0))) (set! (-> a0-1 prim-core collide-as) (collide-spec)) (set! (-> a0-1 prim-core collide-with) (collide-spec)) @@ -1592,7 +1592,7 @@ This commonly includes things such as: :to *entity-pool* ) (set! (-> self last-pillar-hit) (current-time)) - (sound-play "pillar-hit" :position (-> self root-override trans)) + (sound-play "pillar-hit" :position (-> self root trans)) ) ) ) @@ -1601,7 +1601,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1675,7 +1675,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1699,7 +1699,7 @@ This commonly includes things such as: ) (deftype tomb-boss-firepot (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 23 @@ -1719,7 +1719,7 @@ This commonly includes things such as: ) (defbehavior tomb-boss-firepot-shrink-collision tomb-boss-firepot () - (let ((v1-1 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-1 (the-as collide-shape-prim-group (-> self root root-prim)))) (let ((a0-1 (-> v1-1 child 0))) (set! (-> a0-1 prim-core collide-as) (collide-spec)) (set! (-> a0-1 prim-core collide-with) (collide-spec)) @@ -1774,7 +1774,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-4 a1-4 @@ -1822,17 +1822,17 @@ This commonly includes things such as: (let* ((a3-1 (the-as object (-> event param 0))) (a1-4 (-> (the-as touching-shapes-entry a3-1) head)) ) - (get-intersect-point gp-1 a1-4 (-> self root-override) (the-as touching-shapes-entry a3-1)) + (get-intersect-point gp-1 a1-4 (-> self root) (the-as touching-shapes-entry a3-1)) ) - (vector-! gp-1 (-> self root-override trans) gp-1) + (vector-! gp-1 (-> self root trans) gp-1) ) ) - (let ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (vector-flatten! gp-1 gp-1 (-> s5-1 vector 1)) (when (!= (vector-normalize-ret-len! gp-1 1.0) 0.0) (set! (-> s5-1 vector 2 quad) (-> gp-1 quad)) (vector-cross! (the-as vector (-> s5-1 vector)) (-> s5-1 vector 1) (-> s5-1 vector 2)) - (matrix->quaternion (-> self root-override quat) s5-1) + (matrix->quaternion (-> self root quat) s5-1) ) ) ) @@ -1843,7 +1843,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1890,7 +1890,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1898,7 +1898,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-firepot" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> obj root-override pause-adjust-distance) 245760.0) + (set! (-> obj root pause-adjust-distance) 245760.0) (transform-post) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj broken)) diff --git a/goal_src/jak2/levels/mars_tomb/widow-more-extras.gc b/goal_src/jak2/levels/mars_tomb/widow-more-extras.gc index 86346a3262..2a1811e0e9 100644 --- a/goal_src/jak2/levels/mars_tomb/widow-more-extras.gc +++ b/goal_src/jak2/levels/mars_tomb/widow-more-extras.gc @@ -8,12 +8,12 @@ ;; DECOMP BEGINS (deftype tomb-boss-debris (process-drawable) - ((root-override collide-shape-moving :offset 128) - (y-velocity float :offset-assert 200) - (floor float :offset-assert 204) - (sound-floor float :offset-assert 208) - (rot quaternion :inline :offset-assert 224) - (look int32 :offset-assert 240) + ((root collide-shape-moving :override) + (y-velocity float :offset-assert 200) + (floor float :offset-assert 204) + (sound-floor float :offset-assert 208) + (rot quaternion :inline :offset-assert 224) + (look int32 :offset-assert 240) ) :heap-base #x80 :method-count-assert 22 @@ -74,7 +74,7 @@ (defstate die (tomb-boss-debris) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -118,7 +118,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-8 a1-7 @@ -156,7 +156,7 @@ (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-16 a1-13 @@ -194,7 +194,7 @@ (t2-2 #f) (t3-2 *launch-matrix*) ) - (set! (-> t3-2 trans quad) (-> self root-override trans quad)) + (set! (-> t3-2 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-10) a0-21 a1-17 @@ -223,22 +223,22 @@ ) :trans (behavior () (local-vars (sv-16 float)) - (+! (-> self root-override trans y) (* (-> self y-velocity) (-> self clock time-adjust-ratio))) + (+! (-> self root trans y) (* (-> self y-velocity) (-> self clock time-adjust-ratio))) (set! (-> self y-velocity) (fmax -3686.4 (- (-> self y-velocity) (* 204.8 (-> self clock time-adjust-ratio)))) ) - (if (< (-> self root-override trans y) (-> self floor)) + (if (< (-> self root trans y) (-> self floor)) (deactivate self) ) (when (and (logtest? (-> self draw status) (draw-control-status on-screen)) - (< (-> self root-override trans y) (+ (-> (camera-pos) y) (-> self sound-floor))) + (< (-> self root trans y) (+ (-> (camera-pos) y) (-> self sound-floor))) ) (sound-play "wid-debris-fall") (set! (-> self sound-floor) -4096000.0) ) - (quaternion-normalize! (quaternion*! (-> self root-override quat) (-> self rot) (-> self root-override quat))) - (let ((f30-1 (lerp-scale 1.0 0.0 (-> self root-override trans y) -368640.0 -442368.0))) - (when (< -442368.0 (-> self root-override trans y)) + (quaternion-normalize! (quaternion*! (-> self root quat) (-> self rot) (-> self root quat))) + (let ((f30-1 (lerp-scale 1.0 0.0 (-> self root trans y) -368640.0 -442368.0))) + (when (< -442368.0 (-> self root trans y)) (let ((f28-0 (-> *part-id-table* 3266 init-specs 6 initial-valuef)) (f26-0 (-> *part-id-table* 3266 init-specs 6 random-rangef)) (f24-0 (-> *part-id-table* 3266 init-specs 7 initial-valuef)) @@ -264,7 +264,7 @@ (set! (-> *part-id-table* 3266 init-specs 8 random-rangef) (* (-> *part-id-table* 3266 init-specs 8 random-rangef) f30-1) ) - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (set! (-> *part-id-table* 3266 init-specs 6 initial-valuef) f28-0) (set! (-> *part-id-table* 3266 init-specs 6 random-rangef) f26-0) (set! (-> *part-id-table* 3266 init-specs 7 initial-valuef) f24-0) @@ -285,7 +285,7 @@ (set! (-> a1-0 options) (overlaps-others-options oo0)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (none) ) @@ -331,9 +331,9 @@ (set! (-> s4-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (let ((v1-15 arg1)) (cond ((zero? v1-15) @@ -351,7 +351,7 @@ ) ) ((= v1-15 2) - (set! (-> self root-override root-prim local-sphere w) 5120.0) + (set! (-> self root root-prim local-sphere w) 5120.0) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-c" (the-as (pointer uint32) #f))) @@ -359,7 +359,7 @@ ) ) ((= v1-15 3) - (set! (-> self root-override root-prim local-sphere w) 3276.8) + (set! (-> self root root-prim local-sphere w) 3276.8) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-d" (the-as (pointer uint32) #f))) @@ -367,7 +367,7 @@ ) ) ((= v1-15 4) - (set! (-> self root-override root-prim local-sphere w) 3276.8) + (set! (-> self root root-prim local-sphere w) 3276.8) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-e" (the-as (pointer uint32) #f))) @@ -375,7 +375,7 @@ ) ) ((= v1-15 5) - (set! (-> self root-override root-prim local-sphere w) 4096.0) + (set! (-> self root root-prim local-sphere w) 4096.0) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-f" (the-as (pointer uint32) #f))) @@ -383,7 +383,7 @@ ) ) ((= v1-15 6) - (set! (-> self root-override root-prim local-sphere w) 1638.4) + (set! (-> self root root-prim local-sphere w) 1638.4) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-g" (the-as (pointer uint32) #f))) @@ -391,7 +391,7 @@ ) ) ((= v1-15 7) - (set! (-> self root-override root-prim local-sphere w) 1638.4) + (set! (-> self root root-prim local-sphere w) 1638.4) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-h" (the-as (pointer uint32) #f))) @@ -399,7 +399,7 @@ ) ) (else - (set! (-> self root-override root-prim local-sphere w) 1638.4) + (set! (-> self root root-prim local-sphere w) 1638.4) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-i" (the-as (pointer uint32) #f))) @@ -410,7 +410,7 @@ ) (set! (-> self look) arg1) (set! (-> self y-velocity) -409.6) - (set! (-> self floor) (+ -655360.0 (-> self root-override trans y))) + (set! (-> self floor) (+ -655360.0 (-> self root trans y))) (logclear! (-> self mask) (process-mask actor-pause)) (let ((f30-0 (rand-vu-float-range 0.0 65536.0)) (f28-0 (rand-vu-float-range 546.13336 1638.4)) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-extras.gc b/goal_src/jak2/levels/nest/boss/metalkor-extras.gc index 4b836a4347..bf1230d234 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-extras.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-extras.gc @@ -43,7 +43,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (ja-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -53,8 +53,8 @@ :enter (behavior () (send-event (ppointer->process (-> self parent)) 'setup-flitter-gem) (let ((s5-0 (new 'stack-no-clear 'enemy-init-by-other-params))) - (set! (-> s5-0 trans quad) (-> self root-override trans quad)) - (quaternion-copy! (-> s5-0 quat) (-> self root-override quat)) + (set! (-> s5-0 trans quad) (-> self root trans quad)) + (quaternion-copy! (-> s5-0 quat) (-> self root quat)) (set! (-> s5-0 entity) (-> self entity)) (set! (-> s5-0 directed?) #f) (set! (-> s5-0 no-initial-move-to-ground?) #f) @@ -106,7 +106,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (ja-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -127,8 +127,8 @@ ) (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override transv quad)) - (.lvf vf1 (&-> (-> self root-override transv) quad)) + (set! (-> gp-0 quad) (-> self root transv quad)) + (.lvf vf1 (&-> (-> self root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -147,8 +147,8 @@ ) (else (vector-v++! - (-> self root-override transv) - (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root-override)) (new-stack-vector0) 1.0) + (-> self root transv) + (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root)) (new-stack-vector0) 1.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (collide-spec backgnd enemy obstacle hit-by-others-list pusher)) @@ -157,8 +157,8 @@ (set! (-> a2-1 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) (set! (-> a2-1 action-mask) (collide-action solid)) (fill-cache-integrate-and-collide - (the-as collide-shape-moving (-> self root-override)) - (-> (the-as collide-shape-moving (-> self root-override)) transv) + (the-as collide-shape-moving (-> self root)) + (-> (the-as collide-shape-moving (-> self root)) transv) a2-1 (meters 0) ) @@ -180,7 +180,7 @@ ((and (< f0-3 v1-27) (let* ((f0-4 81920.0) (f0-6 (* f0-4 f0-4)) ) - (.lvf vf1 (&-> (-> self root-override transv) quad)) + (.lvf vf1 (&-> (-> self root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -218,7 +218,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -259,15 +259,15 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (ja-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) (defun metalkor-shot-move ((arg0 metalkor-shot)) - (set! (-> arg0 old-transv quad) (-> arg0 root-override transv quad)) + (set! (-> arg0 old-transv quad) (-> arg0 root transv quad)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -288,13 +288,13 @@ ;; WARN: Return type mismatch vector vs none. (defmethod init-proj-settings! metalkor-shot ((obj metalkor-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'metalhead-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalkor-shot-move) (set! (-> obj timeout) (seconds 0.767)) - (set-gravity-length (-> obj root-override dynam) 573440.0) - (set! (-> obj old-transv quad) (-> obj root-override transv quad)) + (set-gravity-length (-> obj root dynam) 573440.0) + (set! (-> obj old-transv quad) (-> obj root transv quad)) (none) ) @@ -305,7 +305,7 @@ (sv-240 vector) (sv-256 entity-actor) ) - (let* ((s4-0 (-> obj root-override)) + (let* ((s4-0 (-> obj root)) (v0-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s4-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -348,7 +348,7 @@ ) ) (let ((s4-2 (new 'stack-no-clear 'vector))) - (set! (-> s4-2 quad) (-> obj root-override trans quad)) + (set! (-> s4-2 quad) (-> obj root trans quad)) (let ((gp-1 (new 'stack-no-clear 'quaternion))) (let ((s3-0 (lambda :behavior metalkor-shot () @@ -473,7 +473,7 @@ ((or (= arg0 2) (= arg0 3)) (let ((v0-0 (new 'static 'vector :w 1.0))) (set! (-> v0-0 quad) - (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 0 prim-core world-sphere quad) + (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 0 prim-core world-sphere quad) ) (set! (-> v0-0 y) (+ 32768.0 (-> v0-0 y))) v0-0 @@ -564,10 +564,10 @@ ) (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'collide-query)) - (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) ) (let ((v1-1 (-> gp-0 bbox)) - (a0-2 (-> self root-override trans)) + (a0-2 (-> self root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 32768.0) @@ -577,7 +577,7 @@ (vector-! (the-as vector v1-1) a0-2 a1-1) ) (let ((v1-3 (-> gp-0 bbox max)) - (a0-4 (-> self root-override trans)) + (a0-4 (-> self root trans)) (a1-2 (new 'stack-no-clear 'vector)) ) (set! (-> a1-2 x) 32768.0) @@ -642,10 +642,7 @@ ) (let ((f0-12 (probe-using-line-sphere *collide-cache* gp-0))) (when (>= f0-12 0.0) - (let ((f1-2 - (vector-dot (-> s5-0 vector 1) (vector-! (new 'stack-no-clear 'vector) s2-0 (-> self root-override trans))) - ) - ) + (let ((f1-2 (vector-dot (-> s5-0 vector 1) (vector-! (new 'stack-no-clear 'vector) s2-0 (-> self root trans))))) (cond ((>= 409.6 f1-2) (vector+float*! s3-0 (-> gp-0 start-pos) (-> gp-0 move-dist) f0-12) @@ -741,17 +738,17 @@ :code (the-as (function none :behavior metalkor-legs) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) (define *metalkor-lowtorso-spinner-setup* (new 'static 'boxed-array :type metalkor-spinner-info - (new 'static 'metalkor-spinner-info :joint-index #x29 :launch-angle 18204.445) - (new 'static 'metalkor-spinner-info :joint-index #x1e :launch-angle 25486.223) - (new 'static 'metalkor-spinner-info :joint-index #x26 :launch-angle -18204.445) - (new 'static 'metalkor-spinner-info :joint-index #x21 :launch-angle -25486.223) + (new 'static 'metalkor-spinner-info :joint-index 41 :launch-angle 18204.445) + (new 'static 'metalkor-spinner-info :joint-index 30 :launch-angle 25486.223) + (new 'static 'metalkor-spinner-info :joint-index 38 :launch-angle -18204.445) + (new 'static 'metalkor-spinner-info :joint-index 33 :launch-angle -25486.223) ) ) @@ -1299,7 +1296,7 @@ #f ) (('spinner) - (let ((v1-10 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((v1-10 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (the-as object (metalkor-lowtorso-start-spinner (the-as int (-> event param 0)) (-> v1-10 vector 2))) ) ) @@ -1358,12 +1355,9 @@ ) (when v1-36 (let ((s3-2 (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable v1-36) root trans) s4-0)) - (s4-2 (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable v1-36) root trans) - (-> self root-override trans) - ) - ) + (s4-2 + (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable v1-36) root trans) (-> self root trans)) + ) ) (set! (-> s3-2 y) 0.0) (set! (-> s4-2 y) 0.0) @@ -1392,7 +1386,7 @@ ) (when (send-event-function proc a1-14) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-52 (-> self root-override root-prim))) + (let ((v1-52 (-> self root root-prim))) (set! (-> v1-52 prim-core collide-as) (collide-spec)) (set! (-> v1-52 prim-core collide-with) (collide-spec)) ) @@ -1414,9 +1408,9 @@ ) :trans (behavior () (when (>= (- (current-time) (-> self no-collision-timer)) (seconds 0.1)) - (let ((v1-5 (-> self root-override root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) ) (clone-anim-once (ppointer->handle (-> self parent)) #t (-> self prefix)) @@ -1480,7 +1474,7 @@ :code (the-as (function none :behavior metalkor-lowtorso) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1534,7 +1528,7 @@ 318 (new 'static 'vector :x -942.08 :y -860.16 :z 1269.76 :w 163840.0) ) - (set-gravity-length (-> obj root-override2 dynam) 491520.0) + (set-gravity-length (-> obj root dynam) 491520.0) (set! (-> obj minimap) #f) (none) ) @@ -1543,7 +1537,7 @@ "Cleans-up the enemy and any associated resources. Potentially spawns skull gems" (with-pp (when (not (logtest? (enemy-flag recover-applied-velocity) (-> obj enemy-flags))) - (when (and (>= (-> obj enemy-info-override gem-joint) 0) + (when (and (>= (-> obj enemy-info gem-joint) 0) (not (logtest? (enemy-flag cam-attack-mode) (-> obj enemy-flags))) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) (process->ppointer pp)) @@ -1559,18 +1553,18 @@ (remove-from-process *part-engine* obj) (setup-masks (-> obj draw) - (the-as int (-> obj enemy-info-override gem-no-seg)) - (the-as int (-> obj enemy-info-override gem-seg)) + (the-as int (-> obj enemy-info gem-no-seg)) + (the-as int (-> obj enemy-info gem-seg)) ) (let ((v1-30 (ppointer->process (birth-pickup-at-point - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj enemy-info-override gem-joint))) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj enemy-info gem-joint))) (pickup-type gem) 1.0 #t (ppointer->process (-> obj parent)) - (-> obj fact-info-override) + (-> obj fact) ) ) ) @@ -1615,7 +1609,7 @@ 1.0 #t *entity-pool* - (-> obj fact-info-override) + (-> obj fact) ) ) ) @@ -2070,8 +2064,8 @@ This commonly includes things such as: ) (let ((f30-0 4096.0)) (let ((f28-1 (* 0.00013563369 (tan (* 0.5 (-> *math-camera* fov))) f30-0))) - (matrix->quaternion (-> self root-override quat) s5-0) - (set-vector! (-> self root-override scale) f28-1 f28-1 f28-1 1.0) + (matrix->quaternion (-> self root quat) s5-0) + (set-vector! (-> self root scale) f28-1 f28-1 f28-1 1.0) ) (let ((t9-3 vector<-cspace!) (a0-3 gp-0) @@ -2090,7 +2084,7 @@ This commonly includes things such as: (vector-! gp-0 gp-0 (camera-pos)) (vector-normalize! gp-0 f30-0) ) - (vector+! (-> self root-override trans) (camera-pos) gp-0) + (vector+! (-> self root trans) (camera-pos) gp-0) ) 0 (none) @@ -2349,35 +2343,35 @@ This commonly includes things such as: (define *metalkor-bomb-collide-joints* (new 'static 'boxed-array :type int8 5 - #x8 - #xb - #xe - #x11 - #x14 - #x17 - #x1a - #x1d - #x20 - #x23 - #x26 - #x29 - #x2c - #x2f - #x32 - #x35 - #x38 - #x3b - #x3e - #x41 - #x44 - #x47 - #x4a - #x4d - #x50 - #x53 - #x56 - #x59 - #x5c + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 29 + 32 + 35 + 38 + 41 + 44 + 47 + 50 + 53 + 56 + 59 + 62 + 65 + 68 + 71 + 74 + 77 + 80 + 83 + 86 + 89 + 92 ) ) @@ -2391,7 +2385,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (let ((s5-0 (new 'stack-no-clear 'bounding-box))) (let ((a1-0 (new 'stack-no-clear 'sphere))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 r) 204800.0) (set-from-sphere! s5-0 a1-0) ) @@ -2407,14 +2401,14 @@ This commonly includes things such as: (let ((s5-1 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'vector)) ) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (vector<-cspace! - (-> self root-override trans) + (-> self root trans) (-> self node-list data (-> *metalkor-bomb-collide-joints* (+ (-> *metalkor-bomb-collide-joints* length) -1))) ) (dotimes (s4-0 (-> *metalkor-bomb-collide-joints* length)) (vector<-cspace! s5-1 (-> self node-list data (-> *metalkor-bomb-collide-joints* s4-0))) - (vector-! s5-1 s5-1 (-> self root-override trans)) + (vector-! s5-1 s5-1 (-> self root trans)) (let ((v1-26 s5-1)) (.lvf vf1 (&-> s5-1 quad)) (let ((f0-1 (-> self clock frames-per-second))) @@ -2425,9 +2419,9 @@ This commonly includes things such as: (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> v1-26 quad) vf1) ) - (integrate-and-collide! (-> self root-override) s5-1) + (integrate-and-collide! (-> self root) s5-1) ) - (let ((v0-6 (-> self root-override trans))) + (let ((v0-6 (-> self root trans))) (set! (-> v0-6 quad) (-> gp-1 quad)) v0-6 ) @@ -2439,7 +2433,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (let ((s5-0 (new 'stack-no-clear 'bounding-box))) (let ((a1-0 (new 'stack-no-clear 'sphere))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 r) 204800.0) (set-from-sphere! s5-0 a1-0) ) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-setup.gc b/goal_src/jak2/levels/nest/boss/metalkor-setup.gc index d58401341d..03d512cbaf 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-setup.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-setup.gc @@ -83,8 +83,8 @@ ) (deftype metalkor-bomb (process-drawable) - ((root-override collide-shape-moving :offset 128) - (joint-mods joint-mod 49 :offset-assert 200) + ((root collide-shape-moving :override) + (joint-mods joint-mod 49 :offset-assert 200) ) :heap-base #x110 :method-count-assert 21 @@ -213,7 +213,7 @@ (deftype metalkor-distort (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -382,7 +382,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 1) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -631,35 +631,35 @@ (define *metalkor-bomb-probe-joints* (new 'static 'boxed-array :type int8 3 4 - #x7 - #xa - #xd - #x10 - #x13 - #x16 - #x19 - #x1c - #x1f - #x22 - #x25 - #x28 - #x2b - #x2e - #x31 - #x34 - #x37 - #x3a - #x3d - #x40 - #x43 - #x46 - #x49 - #x4c - #x4f - #x52 - #x55 - #x58 - #x5b + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 28 + 31 + 34 + 37 + 40 + 43 + 46 + 49 + 52 + 55 + 58 + 61 + 64 + 67 + 70 + 73 + 76 + 79 + 82 + 85 + 88 + 91 ) ) @@ -688,10 +688,10 @@ (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override quat)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-metalkor-bomb" (the-as (pointer uint32) #f))) @@ -789,9 +789,9 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defbehavior metalkor-distort-init-by-other metalkor-distort ((arg0 vector) (arg1 quaternion)) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-metalkor-distort" (the-as (pointer uint32) #f))) @@ -1035,10 +1035,10 @@ This commonly includes things such as: ) (set! (-> s3-0 event-self) 'touched) (set! (-> s3-0 max-iteration-count) (the-as uint 3)) - (set! (-> self root-override) s3-0) + (set! (-> self root) s3-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set! (-> self root-override transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-metalkor-egg" (the-as (pointer uint32) #f))) @@ -1259,10 +1259,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-50 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override pause-adjust-distance) 409600.0) - (set! (-> self root-override trans quad) (-> arg1 quad)) + (set! (-> self root pause-adjust-distance) 409600.0) + (set! (-> self root trans quad) (-> arg1 quad)) (set! (-> self prefix) arg0) (initialize-skeleton self @@ -1502,10 +1502,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-56 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override pause-adjust-distance) 409600.0) - (set! (-> self root-override trans quad) (-> arg1 quad)) + (set! (-> self root pause-adjust-distance) 409600.0) + (set! (-> self root trans quad) (-> arg1 quad)) (set! (-> self prefix) (the-as string arg0)) (initialize-skeleton self @@ -1538,9 +1538,9 @@ This commonly includes things such as: (dotimes (v1-91 3) (set! (-> (the-as metalkor-lowtorso (+ (the-as uint self) (* v1-91 16))) ja-float-info 0 float-anim) #f) ) - (let ((v1-95 (-> self root-override root-prim))) - (set! (-> self root-override backup-collide-as) (-> v1-95 prim-core collide-as)) - (set! (-> self root-override backup-collide-with) (-> v1-95 prim-core collide-with)) + (let ((v1-95 (-> self root root-prim))) + (set! (-> self root backup-collide-as) (-> v1-95 prim-core collide-as)) + (set! (-> self root backup-collide-with) (-> v1-95 prim-core collide-with)) ) (set! (-> self no-collision-timer) 0) (set! (-> self egg-toss-joint-1) (new 'process 'joint-mod (joint-mod-mode joint-set*) self 5)) @@ -1608,9 +1608,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> obj root-override pause-adjust-distance) 409600.0) + (set! (-> obj root pause-adjust-distance) 409600.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -1627,7 +1627,7 @@ This commonly includes things such as: (dotimes (v1-36 3) (set! (-> obj wasps v1-36) (the-as handle #f)) ) - (set! (-> obj initial-y) (-> obj root-override trans y)) + (set! (-> obj initial-y) (-> obj root trans y)) (set! (-> obj hud) (the-as handle #f)) (set! (-> obj legs) (the-as handle #f)) (set! (-> obj kid) (the-as handle #f)) @@ -1708,9 +1708,9 @@ This commonly includes things such as: (set! (-> obj previous-flat-travel-timer) 0) (set! (-> obj previous-flat-travel-long-timer) 0) (set! (-> obj countdown-to-roar) 3) - (let ((v1-88 (-> obj root-override root-prim))) - (set! (-> obj root-override backup-collide-as) (-> v1-88 prim-core collide-as)) - (set! (-> obj root-override backup-collide-with) (-> v1-88 prim-core collide-with)) + (let ((v1-88 (-> obj root root-prim))) + (set! (-> obj root backup-collide-as) (-> v1-88 prim-core collide-as)) + (set! (-> obj root backup-collide-with) (-> v1-88 prim-core collide-with)) ) (set! (-> obj no-collision-timer) 0) (set! (-> obj wing-sound) (new-sound-id)) diff --git a/goal_src/jak2/levels/nest/boss/metalkor-states.gc b/goal_src/jak2/levels/nest/boss/metalkor-states.gc index dd175de90c..bbb01f96b2 100644 --- a/goal_src/jak2/levels/nest/boss/metalkor-states.gc +++ b/goal_src/jak2/levels/nest/boss/metalkor-states.gc @@ -9,10 +9,10 @@ (define *metalkor-spinner-setup* (new 'static 'boxed-array :type metalkor-spinner-info - (new 'static 'metalkor-spinner-info :joint-index #x43 :launch-angle 7281.778) - (new 'static 'metalkor-spinner-info :joint-index #x40 :launch-angle 14563.556) - (new 'static 'metalkor-spinner-info :joint-index #x46 :launch-angle -7281.778) - (new 'static 'metalkor-spinner-info :joint-index #x3d :launch-angle -14563.556) + (new 'static 'metalkor-spinner-info :joint-index 67 :launch-angle 7281.778) + (new 'static 'metalkor-spinner-info :joint-index 64 :launch-angle 14563.556) + (new 'static 'metalkor-spinner-info :joint-index 70 :launch-angle -7281.778) + (new 'static 'metalkor-spinner-info :joint-index 61 :launch-angle -14563.556) ) ) @@ -109,7 +109,7 @@ ) (defbehavior metalkor-all-spinners-on metalkor () - (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (dotimes (s5-0 4) (metalkor-start-spinner s5-0 (-> gp-0 vector 2)) ) @@ -242,9 +242,9 @@ (metalkor-go-next-stage) ) (when (>= (- (current-time) (-> self no-collision-timer)) (seconds 0.1)) - (let ((v1-25 (-> self root-override root-prim))) - (set! (-> v1-25 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-25 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-25 (-> self root root-prim))) + (set! (-> v1-25 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-25 prim-core collide-with) (-> self root backup-collide-with)) ) ) (case (-> self stage) @@ -269,7 +269,7 @@ ) (set! (-> self trackable) #t) (let ((t0-2 (new 'static 'vector))) - (set! (-> t0-2 quad) (-> self root-override trans quad)) + (set! (-> t0-2 quad) (-> self root trans quad)) (set! (-> t0-2 y) (+ 16384.0 (-> t0-2 y))) (set-setting! 'point-of-interest 'abs t0-2 0) ) @@ -277,7 +277,7 @@ (dotimes (gp-2 10) (let ((a0-24 (handle->process (-> self flitters gp-2)))) (when a0-24 - (if (< (-> (the-as process-drawable a0-24) root trans y) (+ -204800.0 (-> self root-override trans y))) + (if (< (-> (the-as process-drawable a0-24) root trans y) (+ -204800.0 (-> self root trans y))) (send-event a0-24 'die-fast) (+! (-> self live-flitters) 1) ) @@ -320,7 +320,7 @@ ((or (= arg0 2) (= arg0 3)) (set! s5-0 (new 'static 'vector)) (set! (-> s5-0 quad) - (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 0 prim-core world-sphere quad) + (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 0 prim-core world-sphere quad) ) (set! (-> s5-0 w) 61440.0) s5-0 @@ -336,7 +336,7 @@ (vector<-cspace! s5-0 (-> obj node-list data 3)) ) (else - (set! (-> s5-0 quad) (-> obj root-override trans quad)) + (set! (-> s5-0 quad) (-> obj root trans quad)) (set! (-> s5-0 y) (+ 8192.0 (-> s5-0 y))) ) ) @@ -395,7 +395,7 @@ (let ((v1-28 (-> self stage))) (cond ((zero? v1-28) - (set! (-> self root-override trans y) (+ -12288.0 (-> self entity trans y))) + (set! (-> self root trans y) (+ -12288.0 (-> self entity trans y))) (go-virtual hidden) ) ((= v1-28 1) @@ -403,10 +403,10 @@ (set! (-> self hud) (ppointer->handle (process-spawn hud-metalkor :init hud-init-by-other :to self))) (metalkor-update-hud) (set! (-> self lowtorso) - (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root-override trans) :to self)) + (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root trans) :to self)) ) (set! (-> self kid) (ppointer->handle (process-spawn metalkor-kid (-> self entity trans) :to self))) - (let ((gp-4 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-4 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (dotimes (s5-1 4) (metalkor-start-spinner s5-1 (-> gp-4 vector 2)) ) @@ -455,7 +455,7 @@ (set! (-> v1-106 quad) (-> self entity trans quad)) (set! (-> v1-106 x) (+ 90112.0 (-> v1-106 x))) (set! (-> v1-106 z) (+ -90112.0 (-> v1-106 z))) - (set! (-> self root-override trans quad) (-> v1-106 quad)) + (set! (-> self root trans quad) (-> v1-106 quad)) ) (when (not (handle->process (-> self hud))) (set! (-> self hud) (ppointer->handle (process-spawn hud-metalkor :init hud-init-by-other :to self))) @@ -463,15 +463,13 @@ ) (if (not (handle->process (-> self lowtorso))) (set! (-> self lowtorso) - (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root-override trans) :to self)) + (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root trans) :to self)) ) ) (if (not (handle->process (-> self kid))) (set! (-> self kid) (ppointer->handle (process-spawn metalkor-kid (-> self entity trans) :to self))) ) - (set! (-> self legs) - (ppointer->handle (process-spawn metalkor-legs "" (-> self root-override trans) :to self)) - ) + (set! (-> self legs) (ppointer->handle (process-spawn metalkor-legs "" (-> self root trans) :to self))) (set-setting! 'fov 'abs (degrees 84.0) 0) (go-virtual chase-target) ) @@ -479,9 +477,7 @@ ) ((= v1-28 4) (set-setting! 'music 'danger4 0.0 0) - (set! (-> self wings) - (ppointer->handle (process-spawn metalkor-wings "" (-> self root-override trans) :to self)) - ) + (set! (-> self wings) (ppointer->handle (process-spawn metalkor-wings "" (-> self root trans) :to self))) (send-event (handle->process (-> self hud)) 'hide-and-die) (go-virtual last-gasp) ) @@ -501,7 +497,7 @@ (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-6 (the-as number (logior #x3f800000 v1-5))) (f30-1 (+ f30-0 (+ -1.0 (the-as float v1-6)))) - (s2-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (s2-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s1-1 (new 'stack-no-clear 'attack-info)) ) (attack-info-method-9 arg0 s1-1 arg1 self) @@ -793,7 +789,7 @@ (('touch) (when ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) + (-> self root) (the-as uint 1) ) (let* ((s4-3 arg0) @@ -803,7 +799,7 @@ ) ) (when gp-5 - (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s4-4 (new 'stack-no-clear 'vector)) ) (if (>= (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 42))) 0) @@ -831,7 +827,7 @@ ) (when (send-event-function gp-5 a1-43) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-175 (-> self root-override root-prim))) + (let ((v1-175 (-> self root root-prim))) (set! (-> v1-175 prim-core collide-as) (collide-spec)) (set! (-> v1-175 prim-core collide-with) (collide-spec)) ) @@ -881,13 +877,13 @@ (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (let ((v1-19 (handle->process (-> self lowtorso)))) (if v1-19 (vector<-cspace! s5-0 (-> (the-as process-focusable v1-19) node-list data 11)) ) ) - (let ((s2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((s2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (set-vector! s4-0 (* 102400.0 (sin (-> self egg-angle))) 81920.0 (* 102400.0 (cos (-> self egg-angle))) 1.0) (vector-matrix*! s4-0 s4-0 s2-0) ) @@ -935,11 +931,11 @@ (defbehavior metalkor-face-to-vector metalkor ((arg0 vector) (arg1 float) (arg2 float)) (let ((s4-0 (new 'stack-no-clear 'matrix)) - (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (gp-0 (new 'stack-no-clear 'matrix)) ) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s3-0 arg0 (-> self root-override trans)) + (vector-! s3-0 arg0 (-> self root trans)) (vector-flatten! s3-0 s3-0 (-> s5-0 vector 1)) (vector-normalize! s3-0 1.0) (matrix-from-two-vectors-max-angle-partial! @@ -961,8 +957,8 @@ (set! (-> self last-rotation) 0.0) ) (else - (matrix->quaternion (-> self root-override quat) gp-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) gp-0) + (quaternion-normalize! (-> self root quat)) ) ) ) @@ -978,10 +974,10 @@ ((and (and v1-2 (= v1-2 (-> self draw art-group data 33))) (begin (ja :num! (seek!)) (not (ja-done? 0)))) ) (else - (let* ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) arg0)) + (let* ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) arg0)) (v1-16 s5-1) (f26-0 (sqrtf (+ (* (-> v1-16 x) (-> v1-16 x)) (* (-> v1-16 z) (-> v1-16 z))))) - (v1-19 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (v1-19 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) ) 0.0 (let ((f30-0 0.0) @@ -1207,12 +1203,12 @@ ;; WARN: Return type mismatch symbol vs none. (defbehavior rotate-and-update-hang-anim metalkor () (let ((s5-0 (new 'stack-no-clear 'matrix)) - (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s4-0 (new 'stack-no-clear 'vector)) ) (let ((s3-0 (new 'stack-no-clear 'vector))) (set! (-> s3-0 quad) (-> (target-pos 0) quad)) - (vector-! s4-0 s3-0 (-> self root-override trans)) + (vector-! s4-0 s3-0 (-> self root trans)) ) (vector-flatten! s4-0 s4-0 (-> gp-0 vector 1)) (vector-normalize! s4-0 1.0) @@ -1418,8 +1414,8 @@ (matrix-axis-angle! s5-0 (-> gp-0 vector 1) (* 0.5 (-> self clock time-adjust-ratio) f30-0)) (matrix*! gp-0 gp-0 s5-0) (matrix-remove-z-rot gp-0 (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override quat) gp-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) gp-0) + (quaternion-normalize! (-> self root quat)) ) ) ) @@ -1535,7 +1531,7 @@ (let ((v1-4 (the-as entity-actor (metalkor-get-ring self)))) (when v1-4 (let ((s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> v1-4 quat))) - (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) ) (let ((s4-0 (new 'stack-no-clear 'matrix))) (vector-negate! (-> s5-0 vector 2) (-> s5-0 vector 2)) @@ -1543,21 +1539,16 @@ (matrix*! gp-0 gp-0 s4-0) ) (matrix-remove-z-rot gp-0 (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override quat) gp-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) gp-0) + (quaternion-normalize! (-> self root quat)) (let ((f0-1 (vector-dot (-> gp-0 vector 1) (new 'static 'vector :y 1.0)))) (let* ((f1-0 1.0) (f2-0 f0-1) (f1-2 (sqrtf (- f1-0 (* f2-0 f2-0)))) ) - (vector+float*! - (-> self root-override trans) - (-> self hit-ring-trans) - (-> self hit-ring-offset) - (* 73728.0 f1-2) - ) + (vector+float*! (-> self root trans) (-> self hit-ring-trans) (-> self hit-ring-offset) (* 73728.0 f1-2)) ) - (+! (-> self root-override trans y) (* 73728.0 (- 1.0 f0-1))) + (+! (-> self root trans y) (* 73728.0 (- 1.0 f0-1))) ) ) ) @@ -1584,8 +1575,8 @@ (ja-channel-set! 0) (set! (-> self explode) (ppointer->handle (process-spawn metalkor-explode - (-> self root-override trans) - (-> self root-override quat) + (-> self root trans) + (-> self root quat) (process->handle (-> (metalkor-get-ring self) extra process)) :to self ) @@ -1611,7 +1602,7 @@ ) ) ) - (process-spawn metalkor-distort (-> self root-override trans) (-> self root-override quat) :to self) + (process-spawn metalkor-distort (-> self root trans) (-> self root quat) :to self) ) ) ) @@ -1622,7 +1613,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1632,7 +1623,7 @@ :enter (behavior () (process-grab? *target* #f) (set! (-> self been-to-entity) #f) - (sound-play "nboss-hover" :id (-> self wing-sound) :position (-> self root-override trans)) + (sound-play "nboss-hover" :id (-> self wing-sound) :position (-> self root trans)) (set! (-> self wing-sound-playing) #t) (init (-> self flying-speed) 0.0 0.01 0.1 0.9) (set! (-> self flying-speed target) 1.0) @@ -1671,7 +1662,7 @@ (set! (-> self wing-sound-playing) #f) ) (vector+float*! (-> self hit-ring-trans) (-> self hit-ring-trans) (-> self hit-ring-offset) 32768.0) - (set! (-> self root-override trans quad) (-> self hit-ring-trans quad)) + (set! (-> self root trans quad) (-> self hit-ring-trans quad)) (remove-setting! 'entity-name) (send-event *camera* 'change-target #f) (remove-setting! 'teleport-on-entity-change) @@ -1697,12 +1688,12 @@ (cond ((-> self been-to-entity) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> self hit-ring-trans) (* 3072.0 (-> self flying-speed value)) 0.5 ) - (let ((f0-4 (vector-vector-distance-squared (-> self root-override trans) (-> self hit-ring-trans))) + (let ((f0-4 (vector-vector-distance-squared (-> self root trans) (-> self hit-ring-trans))) (f1-1 4096.0) ) (cond @@ -1721,8 +1712,8 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self entity trans quad)) (set! (-> gp-1 y) (+ -61440.0 (-> gp-1 y))) - (vector-seek-3d-smooth! (-> self root-override trans) gp-1 (* 3072.0 (-> self flying-speed value)) 0.5) - (let ((f0-10 (vector-vector-distance-squared (-> self root-override trans) gp-1)) + (vector-seek-3d-smooth! (-> self root trans) gp-1 (* 3072.0 (-> self flying-speed value)) 0.5) + (let ((f0-10 (vector-vector-distance-squared (-> self root trans) gp-1)) (f1-9 12288.0) ) (when (< f0-10 (* f1-9 f1-9)) @@ -1746,7 +1737,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1809,7 +1800,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1840,7 +1831,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1922,7 +1913,7 @@ (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) ) (when (and (< f30-0 6.0) (>= (ja-aframe-num 0) 6.0)) - (process-spawn metalkor-bomb (-> self root-override trans) (-> self entity) :to self :stack-size #x6000) + (process-spawn metalkor-bomb (-> self root trans) (-> self entity) :to self :stack-size #x6000) (set-action! *gui-control* (gui-action play) @@ -1961,7 +1952,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1983,7 +1974,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2007,7 +1998,7 @@ ) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (set! sv-864 (target-pos 0)) (metalkor-face-to-vector sv-864 546.13336 0.005) (when (and (nonzero? (-> self previous-flat-travel-long-timer)) @@ -2024,7 +2015,7 @@ (let ((f30-0 (* 4096.0 (* 0.25 (-> self clock time-adjust-ratio)))) (s1-0 #f) ) - (set! (-> s3-0 quad) (-> self root-override trans quad)) + (set! (-> s3-0 quad) (-> self root trans quad)) (vector-! s4-0 s3-0 sv-864) (set! (-> s4-0 y) 0.0) (let* ((f0-5 arg0) @@ -2106,7 +2097,7 @@ (label cfg-43) (vector+! s4-0 s3-0 s4-0) ) - (vector-! s4-0 s4-0 (-> self root-override trans)) + (vector-! s4-0 s4-0 (-> self root trans)) (.lvf vf1 (&-> s4-0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -2121,30 +2112,18 @@ (vector-reset! s4-0) ) ) - (vector+! (-> self root-override trans) (-> self root-override trans) s4-0) + (vector+! (-> self root trans) (-> self root trans) s4-0) ) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (let ((s4-1 (new 'stack 'collide-query))) - (if (above-ground? - (-> self root-override) - s4-1 - (-> self root-override trans) - (collide-spec backgnd) - 12288.0 - 122880.0 - 1024.0 - ) - (set! (-> self root-override trans y) (-> s4-1 best-other-tri intersect y)) + (if (above-ground? (-> self root) s4-1 (-> self root trans) (collide-spec backgnd) 12288.0 122880.0 1024.0) + (set! (-> self root trans y) (-> s4-1 best-other-tri intersect y)) ) ) (update-walk-anim s5-0 arg1) - (let ((v1-98 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) s5-0))) + (let ((v1-98 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) s5-0))) (vector-float*! v1-98 v1-98 0.5) (set! (-> v1-98 y) 0.0) (send-event (handle->process (-> self lowtorso)) 'move-chain v1-98) @@ -2178,13 +2157,13 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) (defbehavior metalkor-set-deadly metalkor ((arg0 metalkor) (arg1 symbol) (arg2 int)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child arg2))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child arg2))) (cond (arg1 (set! (-> v1-3 prim-core collide-as) (collide-spec enemy)) @@ -2204,8 +2183,8 @@ :virtual #t :event metalkor-handler :enter (behavior () - (let ((s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) - (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (-> self entity trans))) + (let ((s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) + (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self entity trans))) ) (vector-flatten! gp-1 gp-1 (-> s5-0 vector 1)) (cond @@ -2278,7 +2257,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2296,7 +2275,7 @@ (go-virtual chase-target) ) ((let ((f0-0 57344.0)) - (< (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> self root-override trans) (target-pos 0))) + (< (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> self root trans) (target-pos 0))) ) ) ((or (< (-> self last-close-attack) -1) @@ -2323,7 +2302,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2334,12 +2313,8 @@ :enter (behavior () (set! (-> self state-time) (current-time)) (set! (-> self shots-fired) 0) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (none) ) @@ -2390,7 +2365,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2400,12 +2375,8 @@ :event metalkor-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (none) ) @@ -2441,7 +2412,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2478,13 +2449,13 @@ (ja :num! (seek!)) (cond ((and (< f30-0 84.0) (>= (ja-aframe-num 0) 84.0)) - (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (metalkor-start-spinner 1 (-> gp-0 vector 2)) (metalkor-start-spinner 3 (-> gp-0 vector 2)) ) ) ((and (< f30-0 85.0) (>= (ja-aframe-num 0) 85.0)) - (let ((gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (metalkor-start-spinner 0 (-> gp-1 vector 2)) (metalkor-start-spinner 2 (-> gp-1 vector 2)) ) @@ -2506,7 +2477,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2576,7 +2547,7 @@ ) ) (set! (-> s5-0 trans quad) (-> s4-0 trans quad)) - (quaternion-copy! (-> s5-0 quat) (-> self root-override quat)) + (quaternion-copy! (-> s5-0 quat) (-> self root quat)) (set! (-> s5-0 entity) s4-0) (set! (-> s5-0 directed?) #f) (set! (-> s5-0 no-initial-move-to-ground?) #f) @@ -2686,7 +2657,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2719,12 +2690,8 @@ :event metalkor-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (ja :group! (-> self draw art-group data 5)) (none) @@ -2746,17 +2713,17 @@ (s1-0 (new 'stack-no-clear 'matrix)) (gp-0 (new 'stack-no-clear 'vector)) ) - (set! (-> gp-0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> s4-0 y) (analog-input (the-as int (-> *cpad-list* cpads 1 rightx)) 128.0 48.0 110.0 1.0)) (set! (-> s2-0 z) (analog-input (the-as int (-> *cpad-list* cpads 1 lefty)) 128.0 48.0 110.0 1.0)) (vector-float*! s4-0 s4-0 -364.0889) - (quaternion->matrix s1-0 (-> self root-override quat)) + (quaternion->matrix s1-0 (-> self root quat)) (matrix-rotate-y! s5-0 (-> s4-0 y)) (set! (-> self last-rotation) (-> s4-0 y)) (matrix*! s1-0 s5-0 s1-0) (matrix-remove-z-rot s1-0 (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override quat) s1-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) s1-0) + (quaternion-normalize! (-> self root quat)) (when (and (nonzero? (-> self previous-flat-travel-long-timer)) (>= (+ (current-time) (seconds -1.2)) (-> self previous-flat-travel-long-timer)) ) @@ -2769,7 +2736,7 @@ ) (let ((s4-1 (new 'stack-no-clear 'vector))) (let ((f0-5 2048.0)) - (set! (-> s4-1 quad) (-> self root-override trans quad)) + (set! (-> s4-1 quad) (-> self root trans quad)) (vector-float*! s5-1 (-> s1-0 vector 2) (* (-> s2-0 z) (- f0-5))) ) (set! (-> s5-1 y) 0.0) @@ -2811,7 +2778,7 @@ (label cfg-30) (vector+! s5-1 s4-1 s5-1) ) - (vector-! s5-1 s5-1 (-> self root-override trans)) + (vector-! s5-1 s5-1 (-> self root trans)) (.lvf vf1 (&-> s5-1 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -2826,38 +2793,26 @@ (vector-float*! s5-1 s5-1 (/ 1024.0 (sqrtf f0-14))) ) ) - (vector+! (-> self root-override trans) (-> self root-override trans) s5-1) + (vector+! (-> self root trans) (-> self root trans) s5-1) ) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (let ((s5-2 (new 'stack 'collide-query))) - (if (above-ground? - (-> self root-override) - s5-2 - (-> self root-override trans) - (collide-spec backgnd) - 12288.0 - 122880.0 - 1024.0 - ) - (set! (-> self root-override trans y) (-> s5-2 best-other-tri intersect y)) + (if (above-ground? (-> self root) s5-2 (-> self root trans) (collide-spec backgnd) 12288.0 122880.0 1024.0) + (set! (-> self root trans y) (-> s5-2 best-other-tri intersect y)) ) ) (update-walk-anim gp-0 #f) ) (let ((s4-2 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info)) - (v1-94 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (v1-94 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s3-1 (new 'stack-no-clear 'vector)) (s5-3 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'vector)) ) (let ((f0-18 81920.0)) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> s5-3 quad) (-> v1-94 vector 2 quad)) (set! (-> s5-3 y) 0.0) (vector-normalize! s5-3 f0-18) @@ -2908,7 +2863,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) diff --git a/goal_src/jak2/levels/nest/flying-spider.gc b/goal_src/jak2/levels/nest/flying-spider.gc index 6f692746bc..07060b3b7d 100644 --- a/goal_src/jak2/levels/nest/flying-spider.gc +++ b/goal_src/jak2/levels/nest/flying-spider.gc @@ -191,13 +191,13 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) (logclear! (-> self enemy-flags) (enemy-flag lock-focus death-start)) (set! (-> self path-du) (get-rand-float-range self 0.2 0.5)) - (set-vector! (-> self root-override2 scale) 0.0 0.0 0.0 0.0) + (set-vector! (-> self root scale) 0.0 0.0 0.0 0.0) (none) ) :trans (behavior () @@ -222,7 +222,7 @@ (none) ) :post (behavior () - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) (-> self path-u) 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) (-> self path-u) 'interp) (set! (-> self path-u) (seek-ease (-> self path-u) 1.0 @@ -232,7 +232,7 @@ ) ) (let ((f0-7 (-> self path-u))) - (set-vector! (-> self root-override2 scale) f0-7 f0-7 f0-7 0.0) + (set-vector! (-> self root scale) f0-7 f0-7 f0-7 0.0) ) (let ((a1-3 (displacement-between-points-at-percent-normalized! (-> self path) @@ -241,7 +241,7 @@ ) ) ) - (forward-up-nopitch->quaternion (-> self root-override2 quat) a1-3 *y-vector*) + (forward-up-nopitch->quaternion (-> self root quat) a1-3 *y-vector*) ) (nav-enemy-simple-post) (none) @@ -260,10 +260,10 @@ (suspend) (ja :num! (seek!)) ) - (until (logtest? (-> self root-override2 status) (collide-status on-ground)) + (until (logtest? (-> self root status) (collide-status on-ground)) (suspend) ) - (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (gp-0 (new 'stack-no-clear 'quaternion)) ) (set! (-> s5-0 y) 0.0) @@ -274,12 +274,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! - (-> self root-override2 quat) - (-> self root-override2 quat) - gp-0 - (* 2.0 (-> self clock seconds-per-frame)) - ) + (quaternion-slerp! (-> self root quat) (-> self root quat) gp-0 (* 2.0 (-> self clock seconds-per-frame))) (suspend) (ja :num! (seek!)) ) @@ -290,12 +285,9 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (enemy-method-125 self a1-0 (-> self root-override2 root-prim prim-core collide-with) 8192.0 81920.0 1024.0) - ) - (flying-spider-method-182 - self - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) + (enemy-method-125 self a1-0 (-> self root root-prim prim-core collide-with) 8192.0 81920.0 1024.0) ) + (flying-spider-method-182 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (nav-enemy-falling-post) (none) ) @@ -312,9 +304,7 @@ ) (let ((a0-1 (handle->process (-> self focus handle)))) (when (and a0-1 - (< (vector-vector-distance (get-trans (the-as process-focusable a0-1) 0) (-> self root-override2 trans)) - 81920.0 - ) + (< (vector-vector-distance (get-trans (the-as process-focusable a0-1) 0) (-> self root trans)) 81920.0) ) (if (not (enemy-method-96 self 5461.3335 #t)) (go-virtual turn-to-focus) @@ -348,14 +338,11 @@ (let ((s3-0 (handle->process (-> self focus handle)))) (cond (s3-0 - (let ((gp-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) - (s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) - (s5-1 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable s3-0) 0) - (-> self root-override2 trans) - ) - ) + (let ((gp-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + (s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + (s5-1 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s3-0) 0) (-> self root trans)) + ) ) (set! (-> gp-0 y) 0.0) (set! (-> s4-0 y) 0.0) @@ -418,10 +405,7 @@ (none) ) :post (behavior () - (flying-spider-method-182 - self - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) + (flying-spider-method-182 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (nav-enemy-face-focus-post) (none) ) @@ -459,7 +443,7 @@ ((or (not a0-1) (>= 2 (the-as int (-> self focus aware)))) (go-stare self) ) - ((< 98304.0 (vector-vector-distance (get-trans a0-1 0) (-> self root-override2 trans))) + ((< 98304.0 (vector-vector-distance (get-trans a0-1 0) (-> self root trans))) (go-hostile self) ) ((not (enemy-method-96 self 5461.3335 #t)) @@ -583,13 +567,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override die-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info die-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) frames num-frames) -1 ) ) @@ -603,7 +584,7 @@ ) ) (send-event self 'death-end) - (let ((v1-34 (-> self root-override2 root-prim))) + (let ((v1-34 (-> self root root-prim))) (set! (-> v1-34 prim-core collide-as) (collide-spec)) (set! (-> v1-34 prim-core collide-with) (collide-spec)) ) @@ -646,7 +627,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -671,7 +652,7 @@ #t ) (('death-start) - (let ((v1-52 (-> obj root-override2 root-prim))) + (let ((v1-52 (-> obj root root-prim))) (set! (-> v1-52 prim-core collide-as) (collide-spec)) (set! (-> v1-52 prim-core collide-with) (collide-spec)) ) @@ -697,11 +678,11 @@ (defmethod enemy-method-125 flying-spider ((obj flying-spider) (arg0 collide-query) (arg1 collide-spec) (arg2 float) (arg3 float) (arg4 float)) (the-as pat-surface - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) - (set! (-> obj root-override2 ground-pat) (-> arg0 best-other-tri pat)) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) + (set! (-> obj root ground-pat) (-> arg0 best-other-tri pat)) (when (>= (- (current-time) (-> obj gspot-timer)) (seconds 0.2)) (let ((a1-2 (new 'stack-no-clear 'collide-query))) - (set! (-> a1-2 start-pos quad) (-> obj root-override2 gspot-pos quad)) + (set! (-> a1-2 start-pos quad) (-> obj root gspot-pos quad)) (set! (-> a1-2 start-pos y) (+ 2048.0 (-> a1-2 start-pos y))) (set-vector! (-> a1-2 move-dist) 0.0 -6144.0 0.0 0.0) (let ((v1-10 a1-2)) @@ -709,7 +690,7 @@ (set! (-> v1-10 collide-with) arg1) (set! (-> v1-10 ignore-process0) obj) (set! (-> v1-10 ignore-process1) #f) - (set! (-> v1-10 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-10 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-10 action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* a1-2) @@ -742,11 +723,11 @@ (defmethod flying-spider-method-182 flying-spider ((obj flying-spider) (arg0 vector)) (with-pp (cond - ((= (-> obj root-override2 gspot-pos y) -40959590.0) + ((= (-> obj root gspot-pos y) -40959590.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (quaternion-set! (-> obj root-override2 quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) - (quaternion-normalize! (-> obj root-override2 quat)) + (quaternion-set! (-> obj root quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) + (quaternion-normalize! (-> obj root quat)) ) (else (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -761,7 +742,7 @@ (vector-normalize! s3-1 1.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (forward-up->quaternion (-> obj root-override2 quat) arg0 s3-1) + (forward-up->quaternion (-> obj root quat) arg0 s3-1) ) ) ) @@ -798,7 +779,7 @@ ) (defmethod enemy-method-51 flying-spider ((obj flying-spider)) - (quaternion-y-angle (-> obj root-override2 quat)) + (quaternion-y-angle (-> obj root quat)) ) (defmethod coin-flip? flying-spider ((obj flying-spider)) @@ -865,7 +846,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -885,9 +866,9 @@ (set-vector! (-> v1-5 twist-max) 11832.889 11832.889 0.0 1.0) (set! (-> v1-5 ignore-angle) 30947.555) ) - (set! (-> obj root-override2 dynam gravity y) 327680.0) - (set! (-> obj root-override2 dynam gravity-length) 327680.0) - (set! (-> obj root-override2 dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (set! (-> obj path-u) 0.0) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) diff --git a/goal_src/jak2/levels/nest/mammoth.gc b/goal_src/jak2/levels/nest/mammoth.gc index 3a15090e35..fae8690391 100644 --- a/goal_src/jak2/levels/nest/mammoth.gc +++ b/goal_src/jak2/levels/nest/mammoth.gc @@ -197,16 +197,14 @@ (align-vel-and-quat-only! (-> self align) (align-opts adjust-xz-vel) - (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) 65536.0) + (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) 65536.0) #x3f800000 1.0 1.0 ) - (+! (-> self root-override2 transv y) - (* (-> self enemy-info-override movement-gravity) (-> self clock seconds-per-frame)) - ) + (+! (-> self root transv y) (* (-> self enemy-info movement-gravity) (-> self clock seconds-per-frame))) (let ((a2-1 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-9 (-> self enemy-info-override))) + (let ((v1-9 (-> self enemy-info))) (set! (-> a2-1 gnd-collide-with) (the-as collide-spec (-> self gnd-collide))) (set! (-> a2-1 popup) 8192.0) (set! (-> a2-1 dont-move-if-overlaps?) #f) @@ -216,14 +214,11 @@ ) (set! (-> a2-1 overlaps-params tlist) *touching-list*) (-> a2-1 overlaps-params) - (enemy-method-128 self (-> self root-override2 transv) a2-1) + (enemy-method-128 self (-> self root transv) a2-1) ) - (do-push-aways (-> self root-override2)) + (do-push-aways (-> self root)) (let ((s5-1 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> self travel-dest) (-> self root-override2 trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> self travel-dest) (-> self root trans)) 1.0) ) (gp-1 (new 'stack-no-clear 'quaternion)) ) @@ -231,12 +226,7 @@ (vector-normalize! s5-1 1.0) (quaternion-set! gp-1 0.0 (-> s5-1 x) 0.0 (+ 1.0 (-> s5-1 z))) (quaternion-normalize! gp-1) - (quaternion-slerp! - (-> self root-override2 quat) - (-> self root-override2 quat) - gp-1 - (* 0.3 (-> self clock seconds-per-frame)) - ) + (quaternion-slerp! (-> self root quat) (-> self root quat) gp-1 (* 0.3 (-> self clock seconds-per-frame))) ) (nav-enemy-simple-post) (none) @@ -245,9 +235,7 @@ ;; WARN: Return type mismatch object vs none. (defbehavior mammoth-walk-check-end mammoth () (let ((a1-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-pos 1) (the-as vector (-> self move-pos)))) - (gp-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self move-pos))) - ) + (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self move-pos)))) ) (if (< (vector-length a1-1) (vector-dot gp-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) a1-1 1.0))) (go-virtual turning) @@ -290,7 +278,7 @@ ) (vector-normalize! s5-1 65536.0) (vector-line-distance-point! - (-> self root-override2 trans) + (-> self root trans) (the-as vector (-> self move-pos)) (-> self move-pos 1) s4-0 @@ -382,10 +370,10 @@ (none) ) :code (behavior () - (move-to-ground (-> self root-override2) 40960.0 122880.0 #t (collide-spec backgnd)) + (move-to-ground (-> self root) 40960.0 122880.0 #t (collide-spec backgnd)) (dotimes (v1-2 4) - (set! (-> self ik-handle-pos v1-2 quad) (-> self root-override2 trans quad)) - (set! (-> self ik-handle-y v1-2) (-> self root-override2 trans y)) + (set! (-> self ik-handle-pos v1-2 quad) (-> self root trans quad)) + (set! (-> self ik-handle-y v1-2) (-> self root trans y)) ) (ja-channel-push! 1 (seconds 0.1)) (until #f @@ -414,7 +402,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -451,7 +439,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -527,7 +515,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -540,7 +528,7 @@ :trans (behavior () (when (and (< (- (current-time) (-> self lightning-timer)) (seconds 3)) (< (-> self spawn-timer) (current-time))) (let ((s5-0 *mammoth-lightning-joint-tbl*)) - (mammoth-method-185 self (-> self root-override2 trans) (-> s5-0 (get-rand-int self (-> s5-0 length)))) + (mammoth-method-185 self (-> self root trans) (-> s5-0 (get-rand-int self (-> s5-0 length)))) ) (set! (-> self spawn-timer) (+ (current-time) (the int (* 300.0 (get-rand-float-range self 0.0 0.1))))) ) @@ -585,12 +573,12 @@ :event mammoth-walk-handler :enter (behavior () (next-path-index) - (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> gp-0 y) 0.0) (vector-xz-normalize! gp-0 1.0) - (vector-! s5-0 (-> self move-pos 1) (-> self root-override2 trans)) + (vector-! s5-0 (-> self move-pos 1) (-> self root trans)) (set! (-> s5-0 y) 0.0) (vector-xz-normalize! s5-0 1.0) (set! (-> self turn-angle) (deg- (vector-y-angle s5-0) (vector-y-angle gp-0))) @@ -647,8 +635,8 @@ (ja-channel-push! 1 (seconds 0.1)) (when (!= (-> self turn-anim-start) -1) (let ((gp-0 (-> self draw art-group data (-> self turn-anim-start)))) - (let ((v1-7 (vector-z-quaternion! (-> self root-override2 transv) (-> self root-override2 quat))) - (a0-6 (-> self root-override2 trans)) + (let ((v1-7 (vector-z-quaternion! (-> self root transv) (-> self root quat))) + (a0-6 (-> self root trans)) ) (set! (-> (new 'stack-no-clear 'vector) quad) (-> a0-6 quad)) (vector+float*! (new 'stack-no-clear 'vector) a0-6 v1-7 (-> self turn-move-start)) @@ -684,8 +672,8 @@ ) (when (!= (-> self turn-anim-end) -1) (let ((gp-1 (-> self draw art-group data (-> self turn-anim-end)))) - (let ((v1-68 (vector-z-quaternion! (-> self root-override2 transv) (-> self root-override2 quat))) - (a0-23 (-> self root-override2 trans)) + (let ((v1-68 (vector-z-quaternion! (-> self root transv) (-> self root quat))) + (a0-23 (-> self root trans)) ) (set! (-> (new 'stack-no-clear 'vector) quad) (-> a0-23 quad)) (vector+float*! (new 'stack-no-clear 'vector) a0-23 v1-68 (-> self turn-move-end)) @@ -786,10 +774,7 @@ (let ((s1-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data arg1))) (s2-0 (new 'stack-no-clear 'vector)) ) - (let ((s4-1 - (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) 16384.0) - ) - ) + (let ((s4-1 (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) 16384.0))) (vector-! s2-0 s1-0 arg0) (set! (-> s2-0 y) 0.0) (vector-xz-normalize! s2-0 49152.0) @@ -870,15 +855,12 @@ (with-pp (the-as pat-surface - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) - (set! (-> obj root-override2 ground-pat) (-> arg0 best-other-tri pat)) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) + (set! (-> obj root ground-pat) (-> arg0 best-other-tri pat)) (let ((s3-0 (new 'stack-no-clear 'collide-query))) - (let ((s2-1 - (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 gspot-pos) (-> obj root-override2 trans)) - ) - ) + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root gspot-pos) (-> obj root trans)))) (vector-normalize! s2-1 1.0) - (vector+float*! (-> s3-0 start-pos) (-> obj root-override2 gspot-pos) s2-1 -4096.0) + (vector+float*! (-> s3-0 start-pos) (-> obj root gspot-pos) s2-1 -4096.0) (vector-float*! (-> s3-0 move-dist) s2-1 8192.0) ) (let ((v1-9 s3-0)) @@ -886,7 +868,7 @@ (set! (-> v1-9 collide-with) arg1) (set! (-> v1-9 ignore-process0) obj) (set! (-> v1-9 ignore-process1) #f) - (set! (-> v1-9 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-9 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-9 action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* s3-0) @@ -909,13 +891,13 @@ ) (vector-normalize-copy! (-> obj gspot-normal) s4-1 1.0) ) - (let ((f0-4 (-> obj root-override2 gspot-pos y))) + (let ((f0-4 (-> obj root gspot-pos y))) (if (= (-> obj y-level) -40959590.0) (set! (-> obj y-level) f0-4) (seek! (-> obj y-level) f0-4 (* 8192.0 (-> pp clock seconds-per-frame))) ) ) - (set! (-> obj root-override2 gspot-pos y) (-> obj y-level)) + (set! (-> obj root gspot-pos y) (-> obj y-level)) (set! (-> arg0 best-other-tri intersect y) (-> obj y-level)) #t ) @@ -926,11 +908,11 @@ (defmethod mammoth-method-183 mammoth ((obj mammoth)) (with-pp (cond - ((= (-> obj root-override2 gspot-pos y) -40959590.0) + ((= (-> obj root gspot-pos y) -40959590.0) (quaternion-copy! (-> obj tilt-quat) *unity-quaternion*) ) (else - (let ((s1-0 (-> obj root-override2 trans)) + (let ((s1-0 (-> obj root trans)) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> obj gspot-normal quad)) @@ -972,7 +954,7 @@ ) (vector-normalize! s5-0 1.0) (let ((s4-1 (new 'stack-no-clear 'quaternion))) - (let ((s0-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)))) + (let ((s0-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (set! (-> s0-1 y) 0.0) (vector-xz-normalize! s0-1 1.0) (vector-rotate-y! s5-0 s5-0 (- (vector-y-angle s0-1))) @@ -1004,7 +986,7 @@ (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (let ((s2-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as mammoth s0-0) root-override2 quat))) + (let ((s2-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as mammoth s0-0) root quat))) (s1-0 (new 'stack-no-clear 'vector)) ) (set! (-> s1-0 quad) (-> (the-as mammoth s0-0) my-up-vector quad)) @@ -1166,7 +1148,7 @@ ) (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'collide-query)) - (s5-0 (-> self root-override2)) + (s5-0 (-> self root)) ) (dotimes (s4-0 4) (let ((s3-0 (-> self joint-ik s4-0))) @@ -1277,7 +1259,7 @@ (set! (-> s3-0 user-normal quad) (-> s1-0 quad)) ) (else - (set! (-> s0-0 y) (-> self root-override2 trans y)) + (set! (-> s0-0 y) (-> self root trans y)) (set! (-> s3-0 user-position quad) (-> s0-0 quad)) (set! (-> s3-0 user-normal quad) (-> *y-vector* quad)) ) @@ -1331,7 +1313,7 @@ ) (set! (-> s4-0 quad) (-> v1-8 quad)) (let ((s2-0 (new 'stack-no-clear 'collide-query)) - (f30-0 (- (- (-> s4-0 y) (-> s3-0 ground-dist)) (-> obj root-override2 trans y))) + (f30-0 (- (- (-> s4-0 y) (-> s3-0 ground-dist)) (-> obj root trans y))) ) (when #t (let ((a1-5 (-> s2-0 bbox)) @@ -1449,10 +1431,10 @@ (set! (-> s2-0 move-dist y) -40960.0) (let ((v1-27 s2-0)) (set! (-> v1-27 radius) 2048.0) - (set! (-> v1-27 collide-with) (-> obj enemy-info-override gnd-collide-with)) + (set! (-> v1-27 collide-with) (-> obj enemy-info gnd-collide-with)) (set! (-> v1-27 ignore-process0) obj) (set! (-> v1-27 ignore-process1) #f) - (set! (-> v1-27 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-27 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-27 action-mask) (collide-action solid)) ) (if (>= (fill-and-probe-using-line-sphere *collide-cache* s2-0) 0.0) @@ -1476,7 +1458,7 @@ (let ((s5-2 *target*)) (when s5-2 (let* ((v1-47 (get-trans s5-2 0)) - (s0-1 (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root-override2 trans))) + (s0-1 (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root trans))) ) (when (< (vector-length s0-1) 57344.0) (let ((s4-1 (new 'stack-no-clear 'event-message-block))) @@ -1492,7 +1474,7 @@ (set! (-> s3-1 id) a1-12) ) (set! (-> s3-1 vector quad) - (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root-override2 trans)) 1.0) quad) + (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root trans)) 1.0) quad) ) (set! (-> s3-1 shove-back) 24576.0) (set! (-> s3-1 shove-up) 12288.0) @@ -1505,7 +1487,7 @@ ) (send-event-function s5-2 s4-1) ) - (let ((s2-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s2-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s1-0 *mammoth-lightning-joint-tbl*) (s4-2 (new 'stack-no-clear 'array 'uint32 4)) (s3-2 0) @@ -1513,7 +1495,7 @@ (let ((f30-0 (vector-dot s0-1 s2-1))) (dotimes (s0-2 (-> s1-0 length)) (let* ((v0-9 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> s1-0 s0-2)))) - (f0-12 (vector-dot (vector-! (new 'stack-no-clear 'vector) v0-9 (-> obj root-override2 trans)) s2-1)) + (f0-12 (vector-dot (vector-! (new 'stack-no-clear 'vector) v0-9 (-> obj root trans)) s2-1)) ) (when (or (and (< 0.0 f0-12) (< 0.0 f30-0)) (and (< f0-12 0.0) (< f30-0 0.0))) (set! (-> s4-2 s3-2) (the-as uint (-> s1-0 s0-2))) @@ -1684,7 +1666,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-36 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-36 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1699,7 +1681,7 @@ ) (init-enemy-behaviour-and-stats! obj *mammoth-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (set! (-> obj y-level) -40959590.0) (set! (-> obj foot-flags) (the-as uint 0)) (set! (-> obj old-foot-flags) (the-as uint 0)) @@ -1732,15 +1714,15 @@ (set! (-> obj path-index) 0) (set! (-> obj path-index-dir) 1) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) - (get-point-in-path! (-> obj path) (-> obj root-override2 trans) 0.0 'interp) - (set! (-> obj move-pos 0 quad) (-> obj root-override2 trans quad)) - (set! (-> obj move-pos 1 quad) (-> obj root-override2 trans quad)) + (get-point-in-path! (-> obj path) (-> obj root trans) 0.0 'interp) + (set! (-> obj move-pos 0 quad) (-> obj root trans quad)) + (set! (-> obj move-pos 1 quad) (-> obj root trans quad)) (forward-up-nopitch->quaternion - (-> obj root-override2 quat) + (-> obj root quat) (vector-! (new 'stack-no-clear 'vector) (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) (the float (+ (-> obj path-index) 1)) 'interp) - (-> obj root-override2 trans) + (-> obj root trans) ) *up-vector* ) diff --git a/goal_src/jak2/levels/nest/mantis.gc b/goal_src/jak2/levels/nest/mantis.gc index e7b54b049d..8fb4cab0a2 100644 --- a/goal_src/jak2/levels/nest/mantis.gc +++ b/goal_src/jak2/levels/nest/mantis.gc @@ -388,7 +388,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -471,19 +471,19 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (let ((v1-12 (-> self root-override2 root-prim))) + (let ((v1-12 (-> self root root-prim))) (set! (-> v1-12 prim-core collide-as) (collide-spec)) (set! (-> v1-12 prim-core collide-with) (collide-spec)) ) 0 (let ((gp-1 (new 'stack-no-clear 'collide-query))) - (if (enemy-above-ground? self gp-1 (-> self root-override2 trans) (collide-spec backgnd) 8192.0 81920.0 1024.0) + (if (enemy-above-ground? self gp-1 (-> self root trans) (collide-spec backgnd) 8192.0 81920.0 1024.0) (set! (-> self base-height) (-> gp-1 best-other-tri intersect y)) - (set! (-> self base-height) (-> self root-override2 trans y)) + (set! (-> self base-height) (-> self root trans y)) ) ) (let* ((gp-2 *target*) @@ -493,7 +493,7 @@ ) ) (when a0-5 - (let* ((gp-3 (-> self root-override2)) + (let* ((gp-3 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-5 0) (-> gp-3 trans)) 1.0)) (f0-2 (deg-diff (quaternion-y-angle (-> gp-3 quat)) (vector-y-angle s3-0))) ) @@ -505,7 +505,7 @@ ) :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ -18841.6 (-> gp-0 y))) (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-0 @@ -568,7 +568,7 @@ :event (the-as (function process int symbol event-message-block object :behavior mantis) enemy-event-handler) :code (behavior () (look-at-target! self (enemy-flag lock-focus)) - (set! (-> self root-override2 trans y) (-> self base-height)) + (set! (-> self root trans y) (-> self base-height)) (ja-channel-push! 1 0) (ja-no-eval :group! mantis-ground-crawl-out-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim mantis-ground-crawl-out-ja) frames num-frames) -1))) @@ -578,9 +578,9 @@ (suspend) (ja :num! (seek!)) ) - (let ((v1-28 (-> self root-override2 root-prim))) - (set! (-> v1-28 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-28 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-28 (-> self root root-prim))) + (set! (-> v1-28 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-28 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual hostile) (none) @@ -597,7 +597,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -606,8 +606,8 @@ 0 (look-at-target! self (enemy-flag lock-focus)) (set! (-> self state-time) (current-time)) - (set! (-> self root-override2 trans y) (+ -18841.6 (-> self base-height))) - (let ((gp-0 (-> self root-override2))) + (set! (-> self root trans y) (+ -18841.6 (-> self base-height))) + (let ((gp-0 (-> self root))) (let ((v1-11 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> gp-0 quat)))) (vector-reset! (-> gp-0 transv)) (set! (-> v1-11 y) 0.0) @@ -623,7 +623,7 @@ :num! (seek! (the float (+ (-> (the-as art-joint-anim mantis-ground-jump-out-ja) frames num-frames) -1))) ) (until #f - (if (< (-> self base-height) (-> self root-override2 trans y)) + (if (< (-> self base-height) (-> self root trans y)) (goto cfg-5) ) (suspend) @@ -632,10 +632,10 @@ #f (until #f (label cfg-5) - (when (< (+ 819.2 (-> self base-height)) (-> self root-override2 trans y)) - (let ((v1-32 (-> self root-override2 root-prim))) - (set! (-> v1-32 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-32 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (< (+ 819.2 (-> self base-height)) (-> self root trans y)) + (let ((v1-32 (-> self root root-prim))) + (set! (-> v1-32 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-32 prim-core collide-with) (-> self root backup-collide-with)) ) (goto cfg-9) ) @@ -645,10 +645,10 @@ #f (until #f (label cfg-9) - (if (or (and (>= (fabs (* 4096.0 (-> self clock seconds-per-frame))) (-> self root-override2 transv y)) - (>= (-> self base-height) (-> self root-override2 trans y)) + (if (or (and (>= (fabs (* 4096.0 (-> self clock seconds-per-frame))) (-> self root transv y)) + (>= (-> self base-height) (-> self root trans y)) ) - (logtest? (-> self root-override2 status) (collide-status on-ground)) + (logtest? (-> self root status) (collide-status on-ground)) ) (goto cfg-24) ) @@ -670,7 +670,7 @@ ) (let ((gp-0 (current-time))) (until (>= (- (current-time) gp-0) (seconds 1)) - (if (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (logtest? (-> self root status) (collide-status on-ground)) (goto cfg-32) ) (suspend) @@ -706,7 +706,7 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 (let* ((s4-0 (-> self focus-pos)) - (s5-1 (vector-! (new 'stack-no-clear 'vector) s4-0 (-> self root-override2 trans))) + (s5-1 (vector-! (new 'stack-no-clear 'vector) s4-0 (-> self root trans))) ) (let ((s2-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable gp-0) 0))) (s1-0 s5-1) @@ -787,7 +787,7 @@ :exit (behavior () (change-to (nav-mesh-from-res-tag (-> self entity) 'nav-mesh-actor 0) self) (let ((v1-2 (-> self nav))) - (set! (-> v1-2 max-rotation-rate) (-> self enemy-info-override maximum-rotation-rate)) + (set! (-> v1-2 max-rotation-rate) (-> self enemy-info maximum-rotation-rate)) ) 0 (none) @@ -823,9 +823,9 @@ (go-virtual idle) ) (else - (let* ((s5-0 (-> self root-override2 trans)) + (let* ((s5-0 (-> self root trans)) (s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) s5-0)) - (s0-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (s0-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s2-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) @@ -883,7 +883,7 @@ (set! (-> v1-73 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-73 enemy-flags)))) ) (set! (-> v1-73 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-73 enemy-flags)))) - (set! (-> v1-73 nav callback-info) (-> v1-73 enemy-info-override callback-info)) + (set! (-> v1-73 nav callback-info) (-> v1-73 enemy-info callback-info)) ) 0 (dotimes (gp-2 (get-rand-int-range self 3 5)) @@ -898,7 +898,7 @@ (if (and (>= (- (current-time) (-> self attack-timer)) (seconds 5)) (< 1 (the-as int (-> self focus aware)))) (go-virtual hostile) ) - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest)) 13107.2) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self move-dest)) 13107.2) (goto cfg-38) ) ) @@ -920,7 +920,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (set! (-> self attack-timer) (current-time)) @@ -970,7 +970,7 @@ (set! (-> v1-63 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-63 enemy-flags)))) ) (set! (-> v1-63 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-63 enemy-flags)))) - (set! (-> v1-63 nav callback-info) (-> v1-63 enemy-info-override callback-info)) + (set! (-> v1-63 nav callback-info) (-> v1-63 enemy-info callback-info)) ) 0 (go-hostile self) @@ -1008,7 +1008,7 @@ (let ((a0-5 (handle->process (-> self focus handle)))) (if a0-5 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-5) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1023,7 +1023,7 @@ (set! (-> v1-36 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-36 enemy-flags)))) ) (set! (-> v1-36 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-36 enemy-flags)))) - (set! (-> v1-36 nav callback-info) (-> v1-36 enemy-info-override callback-info)) + (set! (-> v1-36 nav callback-info) (-> v1-36 enemy-info callback-info)) ) 0 (logior! (-> self focus-status) (focus-status dangerous)) @@ -1062,7 +1062,7 @@ (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-102 enemy-flags)))) ) (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-102 enemy-flags)))) - (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info-override callback-info)) + (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info callback-info)) ) 0 (go-hostile self) @@ -1075,16 +1075,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior mantis) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 0.0) - (vector-normalize! (-> self root-override2 transv) -88064.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 0.0) + (vector-normalize! (-> self root transv) -88064.0) (let ((v1-6 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-6 enemy-flags))) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.2)) @@ -1117,18 +1117,18 @@ (let ((a0-0 self)) (when (logtest? (enemy-flag enemy-flag36) (-> a0-0 enemy-flags)) (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new 'stack-no-clear 'vector) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (-> self root) (new 'stack-no-clear 'vector) 0.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (a0-5 (-> self root-override2)) + (a0-5 (-> self root)) ) (set! (-> a2-1 collide-with) (-> a0-5 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (-> a0-5 pat-ignore-mask)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide a0-5 (-> self root-override2 transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide a0-5 (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -1141,16 +1141,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior mantis) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 27443.2) - (vector-xz-normalize! (-> self root-override2 transv) 102400.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 27443.2) + (vector-xz-normalize! (-> self root transv) 102400.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.067)) @@ -1193,7 +1193,7 @@ (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) @@ -1223,7 +1223,7 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 (let* ((v1-5 (-> self focus-pos)) - (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> self root-override2 trans))) + (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> self root trans))) ) (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable gp-0) 0)))) (if (and (>= (vector-length s5-1) 122880.0) (mantis-method-194 self)) @@ -1315,7 +1315,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -1425,11 +1425,11 @@ (defmethod enemy-method-125 mantis ((obj mantis) (arg0 collide-query) (arg1 collide-spec) (arg2 float) (arg3 float) (arg4 float)) (the-as pat-surface - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) - (set! (-> obj root-override2 ground-pat) (-> arg0 best-other-tri pat)) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) + (set! (-> obj root ground-pat) (-> arg0 best-other-tri pat)) (when (>= (- (current-time) (-> obj gspot-timer)) (seconds 0.2)) (let ((a1-2 (new 'stack-no-clear 'collide-query))) - (set! (-> a1-2 start-pos quad) (-> obj root-override2 gspot-pos quad)) + (set! (-> a1-2 start-pos quad) (-> obj root gspot-pos quad)) (set! (-> a1-2 start-pos y) (+ 2048.0 (-> a1-2 start-pos y))) (set-vector! (-> a1-2 move-dist) 0.0 -6144.0 0.0 0.0) (let ((v1-10 a1-2)) @@ -1437,7 +1437,7 @@ (set! (-> v1-10 collide-with) arg1) (set! (-> v1-10 ignore-process0) obj) (set! (-> v1-10 ignore-process1) #f) - (set! (-> v1-10 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-10 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-10 action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* a1-2) @@ -1473,8 +1473,8 @@ (gp-0 (new 'stack-no-clear 'vector)) ) (the-as symbol (and a0-2 - (nav-mesh-method-10 a0-2 gp-0 (-> obj root-override2 trans) (the-as nav-poly #f)) - (< (vector-vector-xz-distance gp-0 (-> obj root-override2 trans)) 2048.0) + (nav-mesh-method-10 a0-2 gp-0 (-> obj root trans) (the-as nav-poly #f)) + (< (vector-vector-xz-distance gp-0 (-> obj root trans)) 2048.0) ) ) ) @@ -1483,11 +1483,11 @@ (defmethod mantis-method-193 mantis ((obj mantis) (arg0 vector)) (with-pp (cond - ((= (-> obj root-override2 gspot-pos y) -40959590.0) + ((= (-> obj root gspot-pos y) -40959590.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (quaternion-set! (-> obj root-override2 quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) - (quaternion-normalize! (-> obj root-override2 quat)) + (quaternion-set! (-> obj root quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) + (quaternion-normalize! (-> obj root quat)) ) (else (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -1501,7 +1501,7 @@ (vector-normalize! s3-1 1.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (forward-up-nopitch->quaternion (-> obj root-override2 quat) arg0 s3-1) + (forward-up-nopitch->quaternion (-> obj root quat) arg0 s3-1) ) ) ) @@ -1547,8 +1547,8 @@ ;; WARN: Return type mismatch object vs none. (defmethod mantis-method-187 mantis ((obj mantis)) - (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s4-0 (-> obj root-override2)) + (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s4-0 (-> obj root)) (s5-0 (lambda ((arg0 mantis) (arg1 collide-shape-moving) (arg2 vector)) (let ((s3-0 (new 'stack-no-clear 'vector)) (f30-0 (vector-length arg2)) @@ -1569,7 +1569,7 @@ ) ((let ((a1-5 (new 'stack-no-clear 'vector))) (set! (-> a1-5 quad) (-> s3-0 quad)) - (set! (-> a1-5 w) (-> arg0 root-override2 nav-radius)) + (set! (-> a1-5 w) (-> arg0 root nav-radius)) (add-root-sphere-to-hash! (-> arg0 nav) a1-5 1134) ) #f @@ -1621,7 +1621,7 @@ (let ((s5-0 (handle->process (-> obj focus handle)))) (when s5-0 (let* ((v1-4 (-> obj focus-pos)) - (s4-1 (vector-! (new 'stack-no-clear 'vector) v1-4 (-> obj root-override2 trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) v1-4 (-> obj root trans))) ) (let ((s2-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s5-0) 0))) (s1-0 s4-1) @@ -1650,9 +1650,7 @@ (defmethod go-stare mantis ((obj mantis)) (let ((a0-2 (handle->process (-> obj focus handle)))) (if (and a0-2 - (and (< 81920.0 - (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable a0-2) 0)) - ) + (and (< 81920.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable a0-2) 0))) (mantis-method-194 obj) ) ) @@ -1740,7 +1738,7 @@ (s3-1 (lambda ((arg0 mantis) (arg1 vector) (arg2 float) (arg3 float) (arg4 vector)) (local-vars (v0-3 vector)) - (let* ((s3-0 (-> arg0 root-override2 trans)) + (let* ((s3-0 (-> arg0 root trans)) (a0-2 (vector-rotate-y! (new 'stack-no-clear 'vector) arg1 arg3)) (s5-1 (vector+float*! (new 'stack-no-clear 'vector) s3-0 a0-2 arg2)) (s2-0 (new 'stack-no-clear 'vector)) @@ -1761,7 +1759,7 @@ (let ((a1-7 (new 'stack-no-clear 'collide-query))) (set! (-> a1-7 start-pos quad) (-> s3-0 quad)) (set! (-> a1-7 move-dist quad) (-> s2-0 quad)) - (+! (-> a1-7 start-pos y) (* 1.5 (-> arg0 enemy-info-override jump-height-min))) + (+! (-> a1-7 start-pos y) (* 1.5 (-> arg0 enemy-info jump-height-min))) (let ((v1-17 a1-7)) (set! (-> v1-17 radius) 409.6) (set! (-> v1-17 collide-with) (collide-spec backgnd)) @@ -1771,7 +1769,7 @@ (set! (-> v1-17 action-mask) (collide-action solid)) ) (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-7) 0.0) - (set! (-> s5-1 w) (-> arg0 root-override2 nav-radius)) + (set! (-> s5-1 w) (-> arg0 root nav-radius)) (when (not (add-root-sphere-to-hash! (-> arg0 nav) s5-1 #x8046e)) (set! (-> arg4 quad) (-> s5-1 quad)) (return arg4) @@ -1837,7 +1835,7 @@ (when (or (zero? v1-0) (= v1-0 1) (= v1-0 2) (= v1-0 3)) (let ((a0-4 obj)) (when (logtest? (enemy-flag enemy-flag37) (-> a0-4 enemy-flags)) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg1 vertex2) (-> obj root-override2 trans)))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg1 vertex2) (-> obj root trans)))) (vector-normalize! s5-1 1.0) (let ((v1-5 (-> obj jump direction))) (cond @@ -1854,7 +1852,7 @@ ) ) ) - (seek-toward-heading-vec! (-> obj root-override2) s5-1 (-> obj nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> obj root) s5-1 (-> obj nav max-rotation-rate) (seconds 0.02)) ) ) ) @@ -1988,7 +1986,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-29 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-29 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) diff --git a/goal_src/jak2/levels/palace/boss/squid-extras.gc b/goal_src/jak2/levels/palace/boss/squid-extras.gc index fd29df5090..2947f8e9bc 100644 --- a/goal_src/jak2/levels/palace/boss/squid-extras.gc +++ b/goal_src/jak2/levels/palace/boss/squid-extras.gc @@ -80,7 +80,7 @@ :code (the-as (function none :behavior squid-tentacle) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -97,7 +97,7 @@ :code (the-as (function none :behavior squid-tentacle) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -117,8 +117,8 @@ ) ) (let ((gp-1 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-1 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-1 spawn-quat) (-> self root-override quat)) + (set! (-> gp-1 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-1 spawn-quat) (-> self root quat)) (set! (-> gp-1 radius) 16384.0) (set! (-> gp-1 group) (-> *part-group-id-table* 1121)) (set! (-> gp-1 collide-with) @@ -191,10 +191,10 @@ ) ) ) - (vector-! (-> arg0 root-override transv) s5-0 (-> arg0 root-override trans)) + (vector-! (-> arg0 root transv) s5-0 (-> arg0 root trans)) ) - (let ((v1-33 (-> arg0 root-override transv))) - (.lvf vf1 (&-> (-> arg0 root-override transv) quad)) + (let ((v1-33 (-> arg0 root transv))) + (.lvf vf1 (&-> (-> arg0 root transv) quad)) (let ((f0-28 (-> pp clock frames-per-second))) (.mov at-0 f0-28) ) @@ -203,17 +203,17 @@ (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> v1-33 quad) vf1) ) - (let* ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> arg0 root-override quat))) - (a2-6 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root-override transv) 1.0)) + (let* ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> arg0 root quat))) + (a2-6 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root transv) 1.0)) (a1-16 (quaternion-from-two-vectors! (new 'stack-no-clear 'quaternion) (-> s5-1 vector 2) a2-6)) ) - (quaternion-normalize! (quaternion*! (-> arg0 root-override quat) a1-16 (-> arg0 root-override quat))) + (quaternion-normalize! (quaternion*! (-> arg0 root quat) a1-16 (-> arg0 root quat))) ) (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) - (sound-play "sqd-missl-trail" :id (-> arg0 fly-sound) :position (-> arg0 root-override trans)) + (sound-play "sqd-missl-trail" :id (-> arg0 fly-sound) :position (-> arg0 root trans)) 0 (none) ) @@ -273,9 +273,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (initialize-skeleton @@ -307,16 +307,16 @@ (set! (-> obj stop-speed) 4.096) (set! (-> obj fly-sound) (new-sound-id)) (set! (-> obj traj-timer) (current-time)) - (vector+! (-> obj traj-dest) (-> obj root-override trans) (-> obj root-override transv)) + (vector+! (-> obj traj-dest) (-> obj root trans) (-> obj root transv)) (set! (-> obj traj-duration) - (fmax 600.0 (* 0.0018310547 (vector-vector-xz-distance (-> obj root-override trans) (-> obj traj-dest)))) + (fmax 600.0 (* 0.0018310547 (vector-vector-xz-distance (-> obj root trans) (-> obj traj-dest)))) ) (+! (-> obj traj-duration) (* 75.0 (rand-vu))) (let ((f0-8 32768.0)) - (if (< (-> obj root-override trans y) (-> obj traj-dest y)) - (+! f0-8 (- (-> obj traj-dest y) (-> obj root-override trans y))) + (if (< (-> obj root trans y) (-> obj traj-dest y)) + (+! f0-8 (- (-> obj traj-dest y) (-> obj root trans y))) ) - (setup-from-to-duration-and-height! (-> obj traj) (-> obj root-override trans) (-> obj traj-dest) 1.0 f0-8) + (setup-from-to-duration-and-height! (-> obj traj) (-> obj root trans) (-> obj traj-dest) 1.0 f0-8) ) (none) ) diff --git a/goal_src/jak2/levels/palace/boss/squid-setup.gc b/goal_src/jak2/levels/palace/boss/squid-setup.gc index fd014936ee..9067a79078 100644 --- a/goal_src/jak2/levels/palace/boss/squid-setup.gc +++ b/goal_src/jak2/levels/palace/boss/squid-setup.gc @@ -82,7 +82,7 @@ (deftype squid-tentacle (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (chain-joints squid-tentacle-chain 11 :inline :offset-assert 208) (gravity vector :inline :offset-assert 912) (gravity-target vector :inline :offset-assert 928) @@ -1146,9 +1146,9 @@ (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s4-0)) + (set! (-> self root) (the-as collide-shape-moving s4-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-squid-tentacle" (the-as (pointer uint32) #f))) @@ -1225,7 +1225,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (when arg0 (let ((a1-1 (-> arg0 head))) - (get-intersect-point gp-0 a1-1 (-> self root-override) arg0) + (get-intersect-point gp-0 a1-1 (-> self root) arg0) ) ) (when arg2 @@ -1263,7 +1263,7 @@ ) (if (logtest? (attack-info-mask attacker-velocity) (-> arg1 mask)) (set! (-> gp-0 quad) (-> arg1 attacker-velocity quad)) - (vector-! gp-0 (-> self root-override trans) gp-0) + (vector-! gp-0 (-> self root trans) gp-0) ) (vector-normalize-copy! (-> self hit-reaction vel) gp-0 1.0) ) @@ -1790,7 +1790,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-56 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1802,22 +1802,22 @@ This commonly includes things such as: (logior! (-> obj skel status) (joint-control-status sync-math)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! (-> obj trans quad) (-> obj root-override trans quad)) + (set! (-> obj trans quad) (-> obj root trans quad)) (set! (-> obj force-onto-mesh) #t) (set! (-> obj mesh-forced) #f) - (quaternion-copy! (-> obj quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj quat) (-> obj root quat)) (dotimes (s5-2 6) (set! (-> obj tentacles s5-2) - (ppointer->handle (process-spawn squid-tentacle (-> obj root-override trans) s5-2 :to obj)) + (ppointer->handle (process-spawn squid-tentacle (-> obj root trans) s5-2 :to obj)) ) ) - (set! (-> obj baron) (the-as squid-baron (process-spawn squid-baron (-> obj root-override trans) :to obj))) + (set! (-> obj baron) (the-as squid-baron (process-spawn squid-baron (-> obj root trans) :to obj))) (set! (-> obj driver) (process-spawn squid-driver "driver-" :to obj)) (init (-> obj driver-blend) 0.0 0.0025 0.025 0.5) (set-params! (-> obj hit-reaction) (the-as vector #f) 0.2 1.0 0.5) (let ((s5-6 (vector+! (new 'stack-no-clear 'vector) - (-> obj root-override trans) + (-> obj root trans) (new 'static 'vector :x -20480.0 :y 23388.16 :z 143360.0) ) ) @@ -2403,7 +2403,7 @@ This commonly includes things such as: ) (matrix-identity! s4-0) (send-event (ppointer->process (-> obj driver)) 'matrix s4-0) - (vector+float*! (-> obj root-override trans) (-> obj trans) (-> s4-0 trans) f30-1) + (vector+float*! (-> obj root trans) (-> obj trans) (-> s4-0 trans) f30-1) (matrix->quaternion (the-as quaternion s5-1) s4-0) (cond ((< (-> s5-1 w) (cos 1.8204443)) @@ -2413,20 +2413,15 @@ This commonly includes things such as: (vector-float*! s5-1 s5-1 (/ (sin f30-2) (sin f28-1))) (set! (-> s5-1 w) (cos f30-2)) ) - (quaternion-normalize! (quaternion*! (-> obj root-override quat) (the-as quaternion s5-1) (-> obj quat))) + (quaternion-normalize! (quaternion*! (-> obj root quat) (the-as quaternion s5-1) (-> obj quat))) ) (else - (quaternion-copy! (-> obj root-override quat) (-> obj quat)) + (quaternion-copy! (-> obj root quat) (-> obj quat)) ) ) ) (update! (-> obj hit-reaction) (the-as vector #f)) - (vector+float*! - (-> obj root-override trans) - (-> obj root-override trans) - (the-as vector (-> obj hit-reaction)) - 4096.0 - ) + (vector+float*! (-> obj root trans) (-> obj root trans) (the-as vector (-> obj hit-reaction)) 4096.0) (update! (-> obj tentacle-base-rotation-speed) 0.0) (let ((f0-14 (+ (-> obj tentacle-base-rotation) (* 910.2222 (-> obj tentacle-base-rotation-speed value))))) (set! (-> obj tentacle-base-rotation) (- f0-14 (* (the float (the int (/ f0-14 65536.0))) 65536.0))) @@ -2461,7 +2456,7 @@ This commonly includes things such as: (remove-setting! 'point-of-interest) ) (transform-post) - (do-push-aways (-> obj root-override)) + (do-push-aways (-> obj root)) (dotimes (s5-4 10) (let ((a0-46 (handle->process (-> obj grenade s5-4 marker)))) (when a0-46 @@ -2502,7 +2497,7 @@ This commonly includes things such as: ) ) ) - (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root-override trans)) + (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root trans)) (set! v0-33 #t) (set! (-> obj tentacle-sound-playing) (the-as symbol v0-33)) v0-33 @@ -2513,7 +2508,7 @@ This commonly includes things such as: (sound-play "tentacles-up") ) ((-> obj tentacle-sound-playing) - (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root-override trans)) + (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root trans)) ) ) ) @@ -2521,7 +2516,7 @@ This commonly includes things such as: (when (-> obj rush-sound-playing) (cond ((or (zero? (-> obj rush-end-time)) (< (- (current-time) (-> obj rush-end-time)) (seconds 0.1))) - (the-as int (sound-play "squid-rush" :id (-> obj rush-sound) :position (-> obj root-override trans))) + (the-as int (sound-play "squid-rush" :id (-> obj rush-sound) :position (-> obj root trans))) ) (else (sound-stop (-> obj rush-sound)) @@ -2569,7 +2564,7 @@ This commonly includes things such as: (the int (* 1524.0 f30-6)) 0 (sound-group sfx) - (-> obj root-override trans) + (-> obj root trans) ) ) (set! (-> obj jet-sound-playing) #t) @@ -2620,7 +2615,7 @@ This commonly includes things such as: (set! (-> obj shield-shattered) #t) (sound-play "sqd-shield-brk") (let ((s4-10 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> s4-10 fountain-rand-transv-lo quad) (-> obj root-override trans quad)) + (set! (-> s4-10 fountain-rand-transv-lo quad) (-> obj root trans quad)) (set! (-> s4-10 fountain-rand-transv-lo y) (+ -12288.0 (-> s4-10 fountain-rand-transv-lo y))) (set! (-> s4-10 fountain-rand-transv-hi x) 16424.96) (set! (-> s4-10 fountain-rand-transv-hi y) 32808.96) @@ -2732,12 +2727,12 @@ This commonly includes things such as: ) (let ((s3-0 (new 'stack-no-clear 'vector))) (send-event (handle->process (-> obj tentacles 0)) 'get-joint-pos 13 gp-0) - (vector-! s4-0 s4-0 (-> obj root-override trans)) + (vector-! s4-0 s4-0 (-> obj root trans)) (set! (-> s4-0 y) 0.0) (vector-normalize! s4-0 1.0) - (vector+float*! s3-0 (-> obj root-override trans) s4-0 16384.0) + (vector+float*! s3-0 (-> obj root trans) s4-0 16384.0) ) - (process-spawn squid-whirlwind gp-0 (-> obj root-override trans) (-> obj nav state mesh) s4-0 :to obj) + (process-spawn squid-whirlwind gp-0 (-> obj root trans) (-> obj nav state mesh) s4-0 :to obj) ) ) @@ -2810,7 +2805,7 @@ This commonly includes things such as: (defun squid-shot-move ((arg0 squid-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -2821,7 +2816,7 @@ This commonly includes things such as: ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (go (method-of-object arg0 impact)) @@ -2834,14 +2829,14 @@ This commonly includes things such as: (defmethod init-proj-settings! squid-shot ((obj squid-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'squid-shot) (set! (-> obj max-speed) 983040.0) (set! (-> obj move) squid-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.417)) (logior! (-> obj options) (projectile-options account-for-target-velocity)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj options) (logior (projectile-options respect-invinc-time) (-> obj options))) (set! (-> obj invinc-time) (seconds 3.5)) (none) @@ -2866,7 +2861,7 @@ This commonly includes things such as: (defmethod spawn-impact-particles squid-shot ((obj squid-shot)) "Spawns associated particles with the projectile if applicable" - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -2921,7 +2916,7 @@ This commonly includes things such as: (defmethod spawn-shell-particles squid-shot ((obj squid-shot)) "TODO - confirm" - (let* ((s3-0 (-> obj root-override)) + (let* ((s3-0 (-> obj root)) (s4-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s3-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) diff --git a/goal_src/jak2/levels/palace/boss/squid-states.gc b/goal_src/jak2/levels/palace/boss/squid-states.gc index 4cd24f4077..b7ecc7c336 100644 --- a/goal_src/jak2/levels/palace/boss/squid-states.gc +++ b/goal_src/jak2/levels/palace/boss/squid-states.gc @@ -458,15 +458,15 @@ ((zero? v1-8) (get-point-at-percent-along-path! (-> self first-path) gp-0 f30-0 'interp) (if (and (-> self gate-intact) - (< (+ -2895.872 (-> *squid-first-pole* x)) (-> self root-override trans x)) - (< (+ -2895.872 (-> *squid-first-pole* z)) (-> self root-override trans z)) + (< (+ -2895.872 (-> *squid-first-pole* x)) (-> self root trans x)) + (< (+ -2895.872 (-> *squid-first-pole* z)) (-> self root trans z)) ) (go-through-wall) ) ) ((= v1-8 1) (get-point-at-percent-along-path! (-> self second-path) gp-0 f30-0 'interp) - (if (and (-> self gate-intact) (< (+ -4096.0 (-> *squid-second-pole* z)) (-> self root-override trans z))) + (if (and (-> self gate-intact) (< (+ -4096.0 (-> *squid-second-pole* z)) (-> self root trans z))) (go-through-wall) ) ) @@ -679,7 +679,7 @@ ) ) ) - (sound-play "squid-spin" :id (-> self spin-sound) :position (-> self root-override trans)) + (sound-play "squid-spin" :id (-> self spin-sound) :position (-> self root trans)) (set! (-> self spin-sound-playing) #t) (none) ) diff --git a/goal_src/jak2/levels/palace/cable/palcab-obs.gc b/goal_src/jak2/levels/palace/cable/palcab-obs.gc index 79fbf140fc..006bc765c5 100644 --- a/goal_src/jak2/levels/palace/cable/palcab-obs.gc +++ b/goal_src/jak2/levels/palace/cable/palcab-obs.gc @@ -32,7 +32,7 @@ (deftype pal-electric-fan (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (poles pal-fan-pole 3 :inline :offset-assert 200) (no-collision-timer time-frame :offset 536) (sound-timer time-frame :offset-assert 544) @@ -70,15 +70,12 @@ ) (when (and gp-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> event param 0)) - (-> self root-override) + (-> self root) (the-as uint 1) ) ) - (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) - (let ((v1-5 - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root-override quat)) - ) - ) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) + (let ((v1-5 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root quat)))) (if (< 0.0 (vector-dot s4-1 v1-5)) (vector-float*! s4-1 s4-1 -1.0) ) @@ -102,7 +99,7 @@ ) (when (send-event-function gp-0 a1-7) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-19 (-> self root-override root-prim))) + (let ((v1-19 (-> self root root-prim))) (set! (-> v1-19 prim-core collide-as) (collide-spec)) (set! (-> v1-19 prim-core collide-with) (collide-spec)) ) @@ -126,9 +123,9 @@ (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)) ) ) - (let ((v1-7 (-> self root-override root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self no-collision-timer) 0) 0 @@ -145,7 +142,7 @@ (vf6 :class vf) ) (init-vf0-vector) - (let ((v1-0 (-> self root-override)) + (let ((v1-0 (-> self root)) (f30-0 4369.067) (f28-0 (* (-> self rotate-speed) (-> self clock seconds-per-frame))) (gp-0 (new 'stack-no-clear 'vector)) @@ -162,14 +159,14 @@ (s0-0 (-> s4-0 rings s3-0)) (s1-0 (quaternion-rotate-local-z! (new 'stack-no-clear 'quaternion) - (-> self root-override quat) + (-> self root quat) (+ (-> s4-0 z-rotate) (* 0.2 f28-0)) ) ) ) (set-vector! s2-0 0.0 (-> s0-0 dist) 0.0 1.0) (vector-orient-by-quat! s2-0 s2-0 s1-0) - (vector+! s2-0 s2-0 (-> self root-override trans)) + (vector+! s2-0 s2-0 (-> self root trans)) (set! sv-112 (new 'stack-no-clear 'vector)) (set! sv-128 (new 'stack-no-clear 'vector)) (set! sv-144 (-> s0-0 lightning)) @@ -289,7 +286,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -370,7 +367,7 @@ This commonly includes things such as: ) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "fan-blade-motor" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "fan-blade-motor" :fo-max 70) (-> obj root trans)) ) (set! (-> obj sound-id) (new-sound-id)) (let ((a0-40 (-> obj skel root-channel 0))) @@ -384,7 +381,7 @@ This commonly includes things such as: ) (deftype pal-cable-nut (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (sync sync-linear :inline :offset-assert 200) (init-quat quaternion :inline :offset-assert 224) (sound-played? symbol 2 :offset-assert 240) @@ -425,10 +422,7 @@ This commonly includes things such as: (cond ((< (-> self hold-percentage) f30-1) (when (< (-> self wiggle-percentage) f30-1) - (when (not (or (-> self sound-played? 0) - (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root-override trans))) - ) - ) + (when (not (or (-> self sound-played? 0) (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root trans))))) (sound-play "cab-nut-wiggle") (set! (-> self sound-played? 0) #t) (set! (-> self sound-played? 1) #f) @@ -436,7 +430,7 @@ This commonly includes things such as: (let ((f0-17 (* 182.04445 (sin (the float (sar (shl (the int (* 524288.0 f30-1)) 48) 48)))))) (* f0-17 (/ (- f30-1 (-> self wiggle-percentage)) (- 1.0 (-> self wiggle-percentage)))) (quaternion-rotate-local-z! - (-> self root-override quat) + (-> self root quat) (-> self init-quat) (the float (sar (shl (the int (+ 10922.667 f0-17 f28-0)) 48) 48)) ) @@ -444,15 +438,12 @@ This commonly includes things such as: ) ) (else - (when (not (or (-> self sound-played? 1) - (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root-override trans))) - ) - ) + (when (not (or (-> self sound-played? 1) (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root trans))))) (sound-play "cab-nut-turn") (set! (-> self sound-played? 1) #t) (set! (-> self sound-played? 0) #f) ) - (quaternion-rotate-local-z! (-> self root-override quat) (-> self init-quat) f26-0) + (quaternion-rotate-local-z! (-> self root quat) (-> self init-quat) f26-0) ) ) ) @@ -500,9 +491,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-18 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> obj root-override rider-max-momentum) 8192.0) + (set! (-> obj root rider-max-momentum) 8192.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -525,7 +516,7 @@ This commonly includes things such as: ) (set! (-> obj hold-percentage) 0.3) (set! (-> obj wiggle-percentage) 0.8) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (let* ((f0-15 (* 6.0 (get-current-phase-no-mod (-> obj sync)))) (f1-4 (the float (the int f0-15))) (f0-16 (- f0-15 f1-4)) @@ -534,11 +525,11 @@ This commonly includes things such as: ) (if (< (-> obj hold-percentage) f0-16) (quaternion-rotate-local-z! - (-> obj root-override quat) + (-> obj root quat) (-> obj init-quat) (the float (sar (shl (the int (+ 10922.667 f1-8)) 48) 48)) ) - (quaternion-rotate-local-z! (-> obj root-override quat) (-> obj init-quat) f2-4) + (quaternion-rotate-local-z! (-> obj root quat) (-> obj init-quat) f2-4) ) ) (let ((a0-26 (-> obj skel root-channel 0))) @@ -562,7 +553,7 @@ This commonly includes things such as: (defmethod spawn-impact-particles pal-rot-gun-shot ((obj pal-rot-gun-shot)) "Spawns associated particles with the projectile if applicable" - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -631,7 +622,7 @@ This commonly includes things such as: (defmethod spawn-shell-particles pal-rot-gun-shot ((obj pal-rot-gun-shot)) "TODO - confirm" - (let* ((s3-0 (-> obj root-override)) + (let* ((s3-0 (-> obj root)) (s5-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s3-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -694,10 +685,10 @@ This commonly includes things such as: (let ((v1-0 arg0)) (cond ((zero? v1-0) - (sound-play "rot-gun-fire" :position (-> obj root-override trans)) + (sound-play "rot-gun-fire" :position (-> obj root trans)) ) ((= v1-0 (projectile-options lose-altitude)) - (sound-play "pal-rot-gun-sho" :position (-> obj root-override trans)) + (sound-play "pal-rot-gun-sho" :position (-> obj root trans)) ) ) ) @@ -715,7 +706,7 @@ This commonly includes things such as: (defun pal-rot-gun-shot-move ((arg0 pal-rot-gun-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector)) (f0-0 36864.0) ) @@ -758,9 +749,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -769,7 +760,7 @@ This commonly includes things such as: (defmethod init-proj-settings! pal-rot-gun-shot ((obj pal-rot-gun-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'pal-rot-gun-shot) (set! (-> obj move) pal-rot-gun-shot-move) (set! (-> obj max-speed) 630784.0) diff --git a/goal_src/jak2/levels/palace/pal-obs.gc b/goal_src/jak2/levels/palace/pal-obs.gc index 2345bfa4d8..5507540870 100644 --- a/goal_src/jak2/levels/palace/pal-obs.gc +++ b/goal_src/jak2/levels/palace/pal-obs.gc @@ -10,7 +10,7 @@ ;; DECOMP BEGINS (deftype pal-falling-plat (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 22 @@ -38,7 +38,7 @@ ) ) :enter (behavior () - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) (none) ) :trans (the-as (function none :behavior pal-falling-plat) rider-trans) @@ -58,7 +58,7 @@ (('touch) (when ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> event param 0)) - (-> self root-override) + (-> self root) (the-as uint 8) ) (when (< 18.0 (ja-frame-num 0)) @@ -86,7 +86,7 @@ (suspend) (ja :num! (seek!)) ) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) frames num-frames) -1))) :frame-num 0.0 @@ -157,7 +157,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-24 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-24 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -209,7 +209,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -308,7 +308,7 @@ This commonly includes things such as: :enter (behavior () (sound-play "grind-ring-expl") (let ((gp-1 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-1 fountain-rand-transv-lo quad) (-> self root-override trans quad)) + (set! (-> gp-1 fountain-rand-transv-lo quad) (-> self root trans quad)) (set! (-> gp-1 fountain-rand-transv-hi x) 8192.0) (set! (-> gp-1 fountain-rand-transv-hi y) 32768.0) (set! (-> gp-1 fountain-rand-transv-hi z) 24576.0) @@ -323,7 +323,7 @@ This commonly includes things such as: :to self ) ) - (let ((v1-16 (-> self root-override root-prim))) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) @@ -364,7 +364,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -447,7 +447,7 @@ This commonly includes things such as: (none) ) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (ja-post) (none) ) @@ -479,7 +479,7 @@ This commonly includes things such as: (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-4 a1-3 @@ -498,13 +498,13 @@ This commonly includes things such as: ) :trans (behavior () (+! (-> self speed-y) (* -163840.0 (-> self clock seconds-per-frame))) - (+! (-> self root-override trans y) (* (-> self speed-y) (-> self clock seconds-per-frame))) - (when (< (-> self root-override trans y) 1441792.0) + (+! (-> self root trans y) (* (-> self speed-y) (-> self clock seconds-per-frame))) + (when (< (-> self root trans y) 1441792.0) (when (not (-> self hit-sound-played?)) (sound-play "grind-ring-hit") (set! (-> self hit-sound-played?) (the-as basic #t)) ) - (set! (-> self root-override trans y) 1441792.0) + (set! (-> self root trans y) 1441792.0) (set! (-> self speed-y) (* -0.3 (-> self speed-y))) ) (none) @@ -547,7 +547,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -636,7 +636,7 @@ This commonly includes things such as: :trans (the-as (function none :behavior pal-ent-glass) #f) :code (behavior () (sound-play "glass-crash") - (let ((v1-2 (-> self root-override root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) @@ -709,7 +709,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -820,7 +820,7 @@ This commonly includes things such as: ) (set! (-> gp-0 quad) (-> s4-0 vector 2 quad)) (let ((f0-2 (* 5097.2446 (sin f30-0)))) - (quaternion-rotate-local-y! (-> self root-override quat) (-> self entity quat) f0-2) + (quaternion-rotate-local-y! (-> self root quat) (-> self entity quat) f0-2) ) (when (< (the-as time-frame (-> self next-shoot)) (current-time)) (set-palent-turret-flash! 1.0) @@ -897,7 +897,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-19 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -997,7 +997,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior pal-breakable-window) #f) :trans (the-as (function none :behavior pal-breakable-window) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1069,7 +1069,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/palace/roof/palboss-texture.gc b/goal_src/jak2/levels/palace/roof/palboss-texture.gc index 2e4a939b1c..a888cdc64a 100644 --- a/goal_src/jak2/levels/palace/roof/palboss-texture.gc +++ b/goal_src/jak2/levels/palace/roof/palboss-texture.gc @@ -105,7 +105,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -127,7 +127,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) ) ) diff --git a/goal_src/jak2/levels/palace/roof/palroof-obs.gc b/goal_src/jak2/levels/palace/roof/palroof-obs.gc index 50e3601ac1..10384d96b2 100644 --- a/goal_src/jak2/levels/palace/roof/palroof-obs.gc +++ b/goal_src/jak2/levels/palace/roof/palroof-obs.gc @@ -78,7 +78,7 @@ ) (deftype pal-prong (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 23 @@ -154,7 +154,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -171,7 +171,7 @@ This commonly includes things such as: ) (defbehavior pal-prong-small-collision pal-prong () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -231,7 +231,7 @@ This commonly includes things such as: ) :trans (behavior () (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 y) (+ 36864.0 (-> a1-0 y))) (spawn (-> self part) a1-0) ) diff --git a/goal_src/jak2/levels/power_station/vinroom-obs.gc b/goal_src/jak2/levels/power_station/vinroom-obs.gc index 8c08d14d87..88679060e3 100644 --- a/goal_src/jak2/levels/power_station/vinroom-obs.gc +++ b/goal_src/jak2/levels/power_station/vinroom-obs.gc @@ -290,7 +290,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/goal_src/jak2/levels/ruins/breakable-wall.gc b/goal_src/jak2/levels/ruins/breakable-wall.gc index c850deddde..80b56020d0 100644 --- a/goal_src/jak2/levels/ruins/breakable-wall.gc +++ b/goal_src/jak2/levels/ruins/breakable-wall.gc @@ -239,7 +239,7 @@ (set! (-> obj draw origin-joint-index) (the-as uint v1-12)) ) ) - (let ((v1-14 (-> obj root-override root-prim)) + (let ((v1-14 (-> obj root root-prim)) (a1-15 (-> obj side break-prim-mask)) ) (set! (-> v1-14 local-sphere quad) (-> obj side break-root-prim-sphere quad)) @@ -305,17 +305,17 @@ ) ) :enter (behavior () - (let ((gp-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((gp-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 20480.0 :z 4096.0 :w 1.0) gp-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 20480.0 :z -4096.0 :w 1.0) gp-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) ) @@ -348,20 +348,20 @@ (defstate hit (ruins-breakable-wall) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (if (-> self nav-mesh) - (logclear! (-> self root-override nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) ) (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> self root-override quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set! (-> s4-0 y) 0.0) - (vector-! s5-0 (target-pos 0) (-> self root-override trans)) + (vector-! s5-0 (target-pos 0) (-> self root trans)) (set! (-> s5-0 y) 0.0) (let ((gp-2 0)) (when (>= (vector-dot s4-0 s5-0) 0.0) @@ -381,9 +381,9 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -473,7 +473,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-22 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) ) ((= (the-as uint v1-5) 1) @@ -508,7 +508,7 @@ This commonly includes things such as: (set! (-> s4-1 backup-collide-as) (-> v1-38 prim-core collide-as)) (set! (-> s4-1 backup-collide-with) (-> v1-38 prim-core collide-with)) ) - (set! (-> obj root-override) s4-1) + (set! (-> obj root) s4-1) ) ) ((= (the-as uint v1-5) 2) @@ -543,7 +543,7 @@ This commonly includes things such as: (set! (-> s4-2 backup-collide-as) (-> v1-54 prim-core collide-as)) (set! (-> s4-2 backup-collide-with) (-> v1-54 prim-core collide-with)) ) - (set! (-> obj root-override) s4-2) + (set! (-> obj root) s4-2) ) ) ((= (the-as uint v1-5) 3) @@ -573,7 +573,7 @@ This commonly includes things such as: (set! (-> s4-3 backup-collide-as) (-> v1-68 prim-core collide-as)) (set! (-> s4-3 backup-collide-with) (-> v1-68 prim-core collide-with)) ) - (set! (-> obj root-override) s4-3) + (set! (-> obj root) s4-3) ) ) ((= (the-as uint v1-5) 4) @@ -608,7 +608,7 @@ This commonly includes things such as: (set! (-> s4-4 backup-collide-as) (-> v1-84 prim-core collide-as)) (set! (-> s4-4 backup-collide-with) (-> v1-84 prim-core collide-with)) ) - (set! (-> obj root-override) s4-4) + (set! (-> obj root) s4-4) ) ) (else @@ -638,7 +638,7 @@ This commonly includes things such as: (set! (-> s4-5 backup-collide-as) (-> v1-98 prim-core collide-as)) (set! (-> s4-5 backup-collide-with) (-> v1-98 prim-core collide-with)) ) - (set! (-> obj root-override) s4-5) + (set! (-> obj root) s4-5) ) ) ) diff --git a/goal_src/jak2/levels/ruins/mechtest-obs.gc b/goal_src/jak2/levels/ruins/mechtest-obs.gc index d5ddd2e709..e4e7a05af6 100644 --- a/goal_src/jak2/levels/ruins/mechtest-obs.gc +++ b/goal_src/jak2/levels/ruins/mechtest-obs.gc @@ -8,7 +8,7 @@ ;; DECOMP BEGINS (deftype mechblock (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (origin vector :inline :offset-assert 208) (drop-point vector :inline :offset 256) (allow-drag? symbol :offset-assert 272) @@ -75,27 +75,27 @@ :virtual #t :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) :trans (behavior () (when (or (not *target*) (< 40960.0 (vector-vector-distance (-> self origin) (-> *target* control trans)))) (move-to-point! - (-> self root-override) + (-> self root) (vector+! (new 'stack-no-clear 'vector) (-> self origin) (new 'static 'vector :y 81920.0 :w 1.0)) ) - (quaternion-copy! (-> self root-override quat) (the-as quaternion (&-> self stack 96))) - (set-vector! (-> self root-override transv) 0.0 -4096.0 0.0 1.0) + (quaternion-copy! (-> self root quat) (the-as quaternion (&-> self stack 96))) + (set-vector! (-> self root transv) 0.0 -4096.0 0.0 1.0) (set! (-> self drop-point quad) (-> self origin quad)) (go-virtual fall) ) (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -116,8 +116,8 @@ (-> self carry) ) (('drop) - (set! (-> self root-override transv quad) (-> (the-as vector (-> event param 1)) quad)) - (set! (-> self drop-point quad) (-> self root-override trans quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> event param 1)) quad)) + (set! (-> self drop-point quad) (-> self root trans quad)) (go-virtual fall) ) ) @@ -127,7 +127,7 @@ (ja-post) (carry-info-method-9 (-> self carry)) (carry-info-method-13 (-> self carry)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (none) ) ) @@ -149,12 +149,12 @@ (if (handle->process (-> self carry other)) (drop! (the-as carry-info (send-event (handle->process (-> self carry other)) 'carry-info)) (-> self carry)) ) - (set! (-> self root-override transv quad) (-> (the-as vector (-> event param 1)) quad)) - (set! (-> self drop-point quad) (-> self root-override trans quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> event param 1)) quad)) + (set! (-> self drop-point quad) (-> self root trans quad)) (go-virtual fall) ) (('move) - (let ((s4-0 (-> self root-override)) + (let ((s4-0 (-> self root)) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> s4-0 trans quad)) @@ -219,7 +219,7 @@ ) (when (nonzero? (-> self nav)) (let ((v1-44 (-> self nav)) - (a0-41 (-> self root-override root-prim prim-core)) + (a0-41 (-> self root root-prim prim-core)) (a1-9 (new 'stack-no-clear 'nav-find-poly-parms)) ) (vector-! (-> a1-9 point) (the-as vector a0-41) (-> v1-44 state mesh bounds)) @@ -227,13 +227,13 @@ (set! (-> a1-9 ignore) (the-as uint 2)) (let ((v1-46 (find-poly-containing-point-local (-> v1-44 state mesh) a1-9))) (when v1-46 - (when (< (-> self root-override trans y) (-> v1-46 vertex0 y)) - (let* ((a0-47 (-> self root-override)) + (when (< (-> self root trans y) (-> v1-46 vertex0 y)) + (let* ((a0-47 (-> self root)) (t9-7 (method-of-object a0-47 move-by-vector!)) (a1-11 (new 'stack-no-clear 'vector)) ) (set! (-> a1-11 x) 0.0) - (set! (-> a1-11 y) (- (-> v1-46 vertex0 y) (-> self root-override trans y))) + (set! (-> a1-11 y) (- (-> v1-46 vertex0 y) (-> self root trans y))) (set! (-> a1-11 z) 0.0) (set! (-> a1-11 w) 1.0) (t9-7 a0-47 a1-11) @@ -260,7 +260,7 @@ (ja-post) (carry-info-method-9 (-> self carry)) (translate! (-> self carry)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (none) ) ) @@ -310,21 +310,19 @@ (-> self carry) ) ) - (set! (-> self root-override status) (collide-status)) - (set! (-> self root-override root-prim local-sphere w) (-> self carry carry-radius)) + (set! (-> self root status) (collide-status)) + (set! (-> self root root-prim local-sphere w) (-> self carry carry-radius)) (none) ) :trans (behavior () - (when (or (and (logtest? (-> self root-override status) (collide-status on-surface)) - (< 0.8 (-> self root-override surface-angle)) - ) + (when (or (and (logtest? (-> self root status) (collide-status on-surface)) (< 0.8 (-> self root surface-angle))) (>= (- (current-time) (-> self state-time)) (seconds 5)) ) - (vector-reset! (-> self root-override transv)) - (set! (-> self root-override root-prim local-sphere w) (-> self carry backup-radius)) + (vector-reset! (-> self root transv)) + (set! (-> self root root-prim local-sphere w) (-> self carry backup-radius)) (cond ((and (-> self reset-on-land?) - (and (or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root-override trans))) + (and (or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root trans))) (>= (- (current-time) (-> self state-time)) (seconds 5)) ) (and (-> self next-entity) @@ -348,7 +346,7 @@ (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-11 a1-4 @@ -365,7 +363,7 @@ ) (go-virtual wait) ) - ((or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root-override trans))) + ((or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root trans))) (>= (- (current-time) (-> self state-time)) (seconds 5)) ) (sound-play "block-break") @@ -384,7 +382,7 @@ (t2-3 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-12) a0-18 a1-9 @@ -410,34 +408,27 @@ ) :code (the-as (function none :behavior mechblock) sleep-code) :post (behavior () - (vector-v++! - (-> self root-override transv) - (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 0.0)) (let ((v1-2 (new-stack-vector0)) - (f0-1 (vector-dot (-> self root-override dynam gravity-normal) (-> self root-override transv))) + (f0-1 (vector-dot (-> self root dynam gravity-normal) (-> self root transv))) ) 0.0 - (vector-! - v1-2 - (-> self root-override transv) - (vector-float*! v1-2 (-> self root-override dynam gravity-normal) f0-1) - ) + (vector-! v1-2 (-> self root transv) (vector-float*! v1-2 (-> self root dynam gravity-normal) f0-1)) (let* ((f1-2 (vector-length v1-2)) (f2-0 f1-2) ) - (if (< f0-1 (- (-> self root-override dynam gravity-max))) - (set! f0-1 (- (-> self root-override dynam gravity-max))) + (if (< f0-1 (- (-> self root dynam gravity-max))) + (set! f0-1 (- (-> self root dynam gravity-max))) ) (vector+! - (-> self root-override transv) - (vector-float*! (-> self root-override transv) (-> self root-override dynam gravity-normal) f0-1) + (-> self root transv) + (vector-float*! (-> self root transv) (-> self root dynam gravity-normal) f0-1) (vector-float*! v1-2 v1-2 (/ f1-2 f2-0)) ) ) ) (let ((a2-8 (new 'stack-no-clear 'collide-query)) - (gp-1 (-> self root-override)) + (gp-1 (-> self root)) ) (set! (-> gp-1 root-prim type) collide-shape-prim-sphere) (set! (-> a2-8 collide-with) @@ -503,7 +494,7 @@ This commonly includes things such as: ) (set! (-> s4-0 max-iteration-count) (the-as uint 4)) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -511,7 +502,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-throwblock" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root-override trans)) 48) + (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root trans)) 48) (set! (-> obj allow-drag?) #f) (set! (-> obj reset-on-land?) #t) (let* ((v1-18 *game-info*) @@ -581,7 +572,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s4-0 max-iteration-count) (the-as uint 4)) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -589,7 +580,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-pushblock" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root-override trans)) 48) + (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root trans)) 48) (set! (-> obj reset-on-land?) #f) (set! (-> obj allow-drag?) #t) (let* ((v1-17 *game-info*) diff --git a/goal_src/jak2/levels/ruins/pillar-collapse.gc b/goal_src/jak2/levels/ruins/pillar-collapse.gc index a2fb5ee1a5..bb08435bea 100644 --- a/goal_src/jak2/levels/ruins/pillar-collapse.gc +++ b/goal_src/jak2/levels/ruins/pillar-collapse.gc @@ -8,7 +8,7 @@ ;; DECOMP BEGINS (deftype ruins-pillar-collapse (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (player-attack-id int32 :offset-assert 200) (fall-anim-index int32 :offset-assert 204) (hit-points int8 :offset-assert 208) @@ -54,11 +54,9 @@ (when (task-node-closed? (game-task-node ruins-mech-introduction)) (let* ((gp-1 (the-as attack-info (-> event param 1))) (s4-0 (-> gp-1 id)) - (s5-0 (vector-x-quaternion! (new-stack-vector0) (-> self root-override quat))) - (a0-6 (vector-z-quaternion! (new-stack-vector0) (-> self root-override quat))) - (v1-4 - (vector-! (new-stack-vector0) (-> (the-as process-drawable proc) root trans) (-> self root-override trans)) - ) + (s5-0 (vector-x-quaternion! (new-stack-vector0) (-> self root quat))) + (a0-6 (vector-z-quaternion! (new-stack-vector0) (-> self root quat))) + (v1-4 (vector-! (new-stack-vector0) (-> (the-as process-drawable proc) root trans) (-> self root trans))) ) 0.0 0.0 @@ -103,18 +101,18 @@ ) ) :enter (behavior () - (let ((s5-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((s5-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (if (string= (-> self name) "ruins-pillar-collapse-9") (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18432.0 :z 8192.0 :w 1.0) s5-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18432.0 :z -8192.0 :w 1.0) s5-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) ) @@ -180,23 +178,19 @@ (a1-4 (if s5-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry s5-0) - (-> self root-override) + (-> self root) (the-as uint 2) ) ) ) ) (when (and gp-0 a1-4) - (let ((s4-1 (get-intersect-point - (new 'stack-no-clear 'vector) - a1-4 - (-> self root-override) - (the-as touching-shapes-entry s5-0) - ) - ) + (let ((s4-1 + (get-intersect-point (new 'stack-no-clear 'vector) a1-4 (-> self root) (the-as touching-shapes-entry s5-0)) + ) ) (when (and (< (-> (get-trans (the-as process-focusable gp-0) 3) y) (-> s4-1 y)) - (< 40960.0 (vector-vector-distance s4-1 (-> self root-override trans))) + (< 40960.0 (vector-vector-distance s4-1 (-> self root trans))) ) (let ((a1-8 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-8 from) (process->ppointer self)) @@ -226,11 +220,11 @@ :code (behavior ((arg0 symbol)) (set! (-> self draw bounds z) 61440.0) (set! (-> self draw bounds w) 217088.0) - (set! (-> self root-override root-prim local-sphere w) 217088.0) - (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0 prim-core collide-with) + (set! (-> self root root-prim local-sphere w) 217088.0) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0 prim-core collide-with) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0 prim-core collide-as) (collide-spec) ) (process-entity-status! self (entity-perm-status subtask-complete) #t) @@ -357,7 +351,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-30 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-30 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (set! (-> obj mesh-trans 0) (the-as uint 1)) @@ -367,7 +361,7 @@ This commonly includes things such as: (set! (-> obj art-name) (the-as string s5-1)) (cond ((string= (the-as string s5-1) "ruins-pillar-collapse-1") - (let ((v1-38 (-> obj root-override root-prim local-sphere))) + (let ((v1-38 (-> obj root root-prim local-sphere))) (set! (-> v1-38 y) 49152.0) (set! (-> v1-38 z) 65536.0) (set! (-> v1-38 w) 122880.0) @@ -388,7 +382,7 @@ This commonly includes things such as: :command-list '() ) ) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (+ 32768.0 (y-angle (-> obj root-override)))) + (set-yaw-angle-clear-roll-pitch! (-> obj root) (+ 32768.0 (y-angle (-> obj root)))) ) ((string= (the-as string s5-1) "ruins-pillar-collapse-3") (set! (-> obj anim) (new 'static 'spool-anim @@ -398,7 +392,7 @@ This commonly includes things such as: :command-list '() ) ) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (+ 32768.0 (y-angle (-> obj root-override)))) + (set-yaw-angle-clear-roll-pitch! (-> obj root) (+ 32768.0 (y-angle (-> obj root)))) ) ) (initialize-skeleton-by-name obj (the-as string s5-1)) diff --git a/goal_src/jak2/levels/ruins/rapid-gunner.gc b/goal_src/jak2/levels/ruins/rapid-gunner.gc index 4a2e4b1bf8..e50468c9da 100644 --- a/goal_src/jak2/levels/ruins/rapid-gunner.gc +++ b/goal_src/jak2/levels/ruins/rapid-gunner.gc @@ -217,7 +217,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 60.0) + :maximum-rotation-rate (degrees 60) :notice-nav-radius (meters 100) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -274,14 +274,11 @@ ((zero? (-> obj hit-points)) (let ((a0-3 (-> obj skel root-channel 0))) (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) ) (set! (-> a0-3 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) frames num-frames) -1 ) ) @@ -290,7 +287,7 @@ (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group! a0-3 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) num-func-seek! ) ) @@ -371,7 +368,7 @@ ) (else (ja-channel-push! 1 (seconds 0.067)) - (let ((a1-28 (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (let ((a1-28 (-> obj draw art-group data (-> obj enemy-info knocked-anim))) (a0-43 (-> obj skel root-channel 0)) ) (set! (-> a0-43 frame-group) (the-as art-joint-anim a1-28)) @@ -390,7 +387,7 @@ (defmethod enemy-method-52 rapid-gunner ((obj rapid-gunner) (arg0 vector)) (cond ((> (-> obj hit-points) 0) - (-> obj enemy-info-override) + (-> obj enemy-info) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4)) (vector-reset! arg0) @@ -430,7 +427,7 @@ (((knocked-type knocked-type-5)) (when (zero? (-> obj hit-points)) (ja-channel-push! 1 (seconds 0.067)) - (let ((a1-5 (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (let ((a1-5 (-> obj draw art-group data (-> obj enemy-info die-anim))) (a0-10 (-> obj skel root-channel 0)) ) (set! (-> a0-10 frame-group) (the-as art-joint-anim a1-5)) @@ -443,7 +440,7 @@ ) ) (else - (let ((a1-6 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-6 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-13 (-> obj skel root-channel 0)) ) (set! (-> a0-13 frame-group) (the-as art-joint-anim a1-6)) @@ -465,10 +462,8 @@ @returns true/false" (let ((t9-0 (method-of-type nav-enemy in-aggro-range?))) (and (t9-0 obj arg0 arg1) - (or (not (logtest? (-> obj fact-info-override enemy-options) (enemy-option user8))) - (and (not (focus-test? arg0 in-air)) - (>= 4096.0 (fabs (- (-> (get-trans arg0 0) y) (-> obj root-override2 trans y)))) - ) + (or (not (logtest? (-> obj fact enemy-options) (enemy-option user8))) + (and (not (focus-test? arg0 in-air)) (>= 4096.0 (fabs (- (-> (get-trans arg0 0) y) (-> obj root trans y))))) ) ) ) @@ -482,7 +477,7 @@ (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> s5-0 quad) (-> arg0 quad)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 quad) (-> obj root-override2 root-prim prim-core world-sphere quad)) + (set! (-> s4-0 quad) (-> obj root root-prim prim-core world-sphere quad)) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) s5-0 s4-0))) (set! (-> s4-0 w) 1.0) (when (< (vector-vector-distance s5-0 s4-0) 29491.2) @@ -607,7 +602,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -647,13 +642,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -675,7 +667,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (* 196608.0 (-> self clock frames-per-second)) (seconds 0.2) @@ -737,11 +729,11 @@ (go-virtual hostile) ) (let ((s5-0 (get-trans (the-as process-focusable gp-0) 0)) - (f0-3 (vector-vector-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans))) + (f0-3 (vector-vector-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans))) ) (cond ((and (< f0-3 20480.0) - (and (< (fabs (- (-> s5-0 y) (-> self root-override2 trans y))) 6144.0) + (and (< (fabs (- (-> s5-0 y) (-> self root trans y))) 6144.0) gp-0 (not (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable dead ignore grabbed))) ) @@ -843,7 +835,7 @@ ) ) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-2) 3) (* 0.5 (-> self nav max-rotation-rate)) (seconds 0.5) @@ -884,7 +876,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -922,7 +914,7 @@ (init-vf0-vector) (set! (-> self shots-fired) (the-as uint (min 12 (the-as int (+ (-> self shots-fired) 2))))) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (-> self root-override2 trans))) + (let ((s5-0 (-> self root trans))) (let ((a2-0 (new 'stack-no-clear 'vector))) (let ((v1-3 s5-0)) (let ((a0-2 (-> self hop-dir))) @@ -980,7 +972,7 @@ (joint-control-channel-group! a0-17 (the-as art-joint-anim rapid-gunner-idle-ja) num-func-seek!) ) (until (ja-done? 0) - (let ((s5-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) gp-0 (-> self root-override2 quat)))) + (let ((s5-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) gp-0 (-> self root quat)))) (rapid-gunner-method-186 self 0 (-> s5-1 x) 10 11) (rapid-gunner-method-186 self 1 (-> s5-1 z) 8 9) ) @@ -1070,7 +1062,7 @@ ) ) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-2) 3) (* 4.0 (-> self nav max-rotation-rate)) (seconds 0.5) @@ -1189,16 +1181,16 @@ (none) ) :trans (behavior () - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 (let* ((s5-0 (get-trans (the-as process-focusable gp-0) 0)) - (f30-0 (vector-vector-distance s5-0 (-> self root-override2 trans))) + (f30-0 (vector-vector-distance s5-0 (-> self root trans))) ) (if (and (< f30-0 20480.0) - (and (< (fabs (- (-> s5-0 y) (-> self root-override2 trans y))) 6144.0) + (and (< (fabs (- (-> s5-0 y) (-> self root trans y))) 6144.0) gp-0 (not (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable dead ignore grabbed))) ) @@ -1215,7 +1207,7 @@ ) ) (when (skip-check-los? (-> self los) 1500) - (let ((a1-6 (vector-! (new 'stack-no-clear 'vector) (-> self start-pos) (-> self root-override2 trans)))) + (let ((a1-6 (vector-! (new 'stack-no-clear 'vector) (-> self start-pos) (-> self root trans)))) (when (< 4096.0 (vector-length a1-6)) (vector-normalize-copy! (-> self hop-dir) a1-6 1.0) (go-virtual hop) @@ -1302,7 +1294,7 @@ (set! (-> v1-9 attack-id) a0-7) (set! (-> self attack-id) a0-7) ) - (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-13 prim-core action) (collide-action deadly)) (set! (-> v1-13 local-sphere w) 7372.8) ) @@ -1313,7 +1305,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-9 prim-core action) (collide-action)) (set! (-> v1-9 local-sphere w) 4096.0) ) @@ -1338,7 +1330,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1369,13 +1361,10 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (when (not (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) - :num! (loop!) - :frame-num 0.0 - ) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop!) :frame-num 0.0) ) ) (until #f @@ -1476,7 +1465,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1515,11 +1504,11 @@ (set! (-> obj neck ear) (the-as uint 0)) (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd obstacle)) (set! (-> obj joint) (new 'process 'joint-mod (joint-mod-mode joint-set*-world) obj 5)) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) - (let ((a0-13 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) + (let ((a0-13 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (v1-14 (new 'stack-no-clear 'vector)) ) - (let ((a1-7 (-> obj root-override2 trans))) + (let ((a1-7 (-> obj root trans))) (let ((a2-5 409600.0)) (.mov vf7 a2-5) ) @@ -1554,7 +1543,7 @@ 0 (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag43)))) - (set! (-> obj start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj start-pos quad) (-> obj root trans quad)) (set! (-> obj roam-radius) 16384.0) (add-connection *part-engine* obj 8 obj 1310 (new 'static 'vector :x 1146.88 :y 450.56 :z 901.12 :w 163840.0)) (add-connection diff --git a/goal_src/jak2/levels/ruins/ruins-obs.gc b/goal_src/jak2/levels/ruins/ruins-obs.gc index 8689474bc8..6ee9ebef4a 100644 --- a/goal_src/jak2/levels/ruins/ruins-obs.gc +++ b/goal_src/jak2/levels/ruins/ruins-obs.gc @@ -51,7 +51,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -98,8 +98,8 @@ ) (set! (-> obj float-height-offset) 4096.0) (alloc-and-init-rigid-body-control obj *ruins-sinking-platform-constants*) - (set! (-> obj anchor-point quad) (-> obj root-override-2 trans quad)) - (let ((s5-1 (-> obj info-override control-point-count))) + (set! (-> obj anchor-point quad) (-> obj root trans quad)) + (let ((s5-1 (-> obj info control-point-count))) (dotimes (s4-1 s5-1) (let ((s3-0 (-> obj control-point-array data s4-1))) (let ((f30-0 (* 65536.0 (/ (the float s4-1) (the float s5-1))))) @@ -136,8 +136,8 @@ (none) ) :post (behavior () - (set! (-> self info-override) *ruins-sinking-platform-constants*) - (set! (-> self rbody state info) (-> self info-override info)) + (set! (-> self info) *ruins-sinking-platform-constants*) + (set! (-> self rbody state info) (-> self info info)) (rigid-body-object-method-37 self) (none) ) @@ -256,20 +256,20 @@ and translate the platform via the `smush` (process-entity-status! self (entity-perm-status subtask-complete) #t) (set! (-> self draw bounds y) -102400.0) (set! (-> self draw bounds w) 163840.0) - (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0))) + (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0))) (set! (-> v1-7 prim-core collide-with) (collide-spec)) (set! (-> v1-7 prim-core collide-as) (collide-spec)) ) 0 - (let ((v1-12 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-12 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-12 prim-core collide-as) (collide-spec obstacle pusher)) (set! (-> v1-12 prim-core collide-with) (collide-spec jak player-list)) ) - (let ((v1-16 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 2))) + (let ((v1-16 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (set! (-> v1-16 prim-core collide-as) (collide-spec obstacle pusher)) (set! (-> v1-16 prim-core collide-with) (collide-spec jak player-list)) ) - (let ((v1-20 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 3))) + (let ((v1-20 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (set! (-> v1-20 prim-core collide-as) (collide-spec obstacle pusher)) (set! (-> v1-20 prim-core collide-with) (collide-spec jak player-list)) ) @@ -288,7 +288,7 @@ and translate the platform via the `smush` ) ) (suspend) - (let ((v1-33 (-> self root-override root-prim))) + (let ((v1-33 (-> self root root-prim))) (set! (-> v1-33 prim-core collide-as) (collide-spec)) (set! (-> v1-33 prim-core collide-with) (collide-spec)) ) @@ -357,7 +357,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-25 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -369,7 +369,7 @@ This commonly includes things such as: (set! (-> obj anim) (new 'static 'spool-anim :name "ruins-bridge-1" :anim-name "1-crumble" :parts 2 :command-list '()) ) - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj fall) #t) (go (method-of-object obj idle)) @@ -452,12 +452,12 @@ and translate the platform via the `smush` :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (case event-type (('collide-shape) - (let ((v1-2 (-> self root-override root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) 0 - (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-7 prim-core collide-with) (collide-spec)) (set! (-> v1-7 prim-core collide-as) (collide-spec)) ) @@ -486,9 +486,9 @@ and translate the platform via the `smush` (new 'static 'vector :x 20480.0 :z 20480.0 :w 1.0) (new 'static 'vector :x 20480.0 :w 1.0) ) - (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (-> self hit-point) (-> self root-override trans)))) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (-> self hit-point) (-> self root trans)))) (set! (-> s4-2 y) 0.0) - (vector-rotate-y! s4-2 s4-2 (- (y-angle (-> self root-override)))) + (vector-rotate-y! s4-2 s4-2 (- (y-angle (-> self root)))) ) (let ((s3-2 0)) (format (clear (-> self break-anim-name)) "~S-break-~S" (-> self art-name) (-> s5-1 s3-2)) @@ -509,10 +509,10 @@ and translate the platform via the `smush` (none) ) :post (behavior () - (when (and (nonzero? (-> self root-override root-prim prim-core collide-as)) + (when (and (nonzero? (-> self root root-prim prim-core collide-as)) (>= (- (current-time) (-> self state-time)) (seconds 0.25)) ) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -570,7 +570,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (let ((s5-1 ((method-of-type res-lump get-property-struct) @@ -705,7 +705,7 @@ This commonly includes things such as: ) (set! (-> obj draw force-lod) 1) (set! (-> obj break-anim-name) (new 'process 'string 128 (the-as string #f))) - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (set! (-> obj bounce-scale) 0.0) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj fall) #t) diff --git a/goal_src/jak2/levels/sewer/escort/grim.gc b/goal_src/jak2/levels/sewer/escort/grim.gc index 1ddea77449..14906180cd 100644 --- a/goal_src/jak2/levels/sewer/escort/grim.gc +++ b/goal_src/jak2/levels/sewer/escort/grim.gc @@ -74,7 +74,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 6)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -115,7 +115,7 @@ (set! (-> v1-14 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 16.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) diff --git a/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc b/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc index 2ab56e6b82..638e6098c8 100644 --- a/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc +++ b/goal_src/jak2/levels/sewer/escort/jinx-bomb.gc @@ -56,9 +56,9 @@ (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (sleep-code) (none) @@ -71,14 +71,14 @@ :code (behavior () (set! (-> self state-time) (current-time)) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) 0 (let ((gp-0 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-0 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-0 spawn-quat) (-> self root-override quat)) + (set! (-> gp-0 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-0 spawn-quat) (-> self root quat)) (set! (-> gp-0 radius) 40960.0) (set! (-> gp-0 group) (-> *part-group-id-table* 151)) (set! (-> gp-0 collide-with) (collide-spec jak bot player-list)) @@ -128,9 +128,9 @@ (set! (-> s4-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (let ((v1-9 (-> self root-override))) + (let ((v1-9 (-> self root))) (let ((a0-11 (-> v1-9 root-prim))) (set! (-> v1-9 backup-collide-as) (-> a0-11 prim-core collide-as)) (set! (-> v1-9 backup-collide-with) (-> a0-11 prim-core collide-with)) @@ -141,10 +141,10 @@ ) ) 0 - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) - (vector-identity! (-> self root-override scale)) - (vector-reset! (-> self root-override transv)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) + (vector-identity! (-> self root scale)) + (vector-reset! (-> self root transv)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-jinx-bomb" (the-as (pointer uint32) #f))) diff --git a/goal_src/jak2/levels/sewer/escort/jinx-shot.gc b/goal_src/jak2/levels/sewer/escort/jinx-shot.gc index 18574f431c..804c5887f6 100644 --- a/goal_src/jak2/levels/sewer/escort/jinx-shot.gc +++ b/goal_src/jak2/levels/sewer/escort/jinx-shot.gc @@ -272,7 +272,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((v1-1 (-> obj root-override trans)) + (let* ((v1-1 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0)) (gp-0 (new 'stack-no-clear 'vector)) @@ -353,7 +353,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -389,7 +389,7 @@ (defmethod made-impact? jinx-shot ((obj jinx-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -406,7 +406,7 @@ (defun jinx-shot-move ((arg0 jinx-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -422,7 +422,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-9) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (method-of-object arg0 impact)) ) @@ -475,9 +475,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (let ((v1-23 (-> obj parent))) @@ -490,7 +490,7 @@ (bot-flags attacked) ) ) - (let* ((a0-17 (-> obj root-override)) + (let* ((a0-17 (-> obj root)) (v1-27 (-> a0-17 root-prim)) ) (countdown (a0-18 (-> a0-17 total-prims)) @@ -521,7 +521,7 @@ (defmethod init-proj-settings! jinx-shot ((obj jinx-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 307200.0) (set! (-> obj move) jinx-shot-move) diff --git a/goal_src/jak2/levels/sewer/escort/jinx-states.gc b/goal_src/jak2/levels/sewer/escort/jinx-states.gc index c6b8f22b17..49443efd40 100644 --- a/goal_src/jak2/levels/sewer/escort/jinx-states.gc +++ b/goal_src/jak2/levels/sewer/escort/jinx-states.gc @@ -178,11 +178,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -366,11 +366,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -515,12 +515,7 @@ 0 ) (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (bot-method-223 self #t) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1)) (or (not (bot-method-214 self)) (not (ruffian-method-237 self))) @@ -658,7 +653,7 @@ (s5-0 (new 'stack-no-clear 'quaternion)) ) (vector<-matrix! gp-2 a1-5) - (set! (-> gp-2 y) (+ -122.88 (-> self root-override2 gspot-pos y))) + (set! (-> gp-2 y) (+ -122.88 (-> self root gspot-pos y))) (quaternion-identity! s5-0) (set! (-> self bomb-handle) (ppointer->handle diff --git a/goal_src/jak2/levels/sewer/escort/jinx.gc b/goal_src/jak2/levels/sewer/escort/jinx.gc index fe1e90b92a..3e47be2e7e 100644 --- a/goal_src/jak2/levels/sewer/escort/jinx.gc +++ b/goal_src/jak2/levels/sewer/escort/jinx.gc @@ -202,7 +202,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 8) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -309,7 +309,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 6)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -353,31 +353,29 @@ ;; WARN: Return type mismatch (pointer process) vs none. (defmethod fire-gun jinx ((obj jinx) (arg0 vector)) - (with-pp - (set! (-> obj next-fire-time) (+ (-> pp clock frame-counter) (get-rand-int-range obj 150 600))) - (+! (-> obj fired-gun-count) 1) - (let ((s4-1 (new 'stack-no-clear 'projectile-init-by-other-params))) - (set! (-> s4-1 ent) (-> obj entity)) - (set! (-> s4-1 charge) 1.0) - (set! (-> s4-1 options) (projectile-options account-for-target-velocity proj-options-8000)) - (set! (-> s4-1 notify-handle) (the-as handle #f)) - (set! (-> s4-1 owner-handle) (the-as handle #f)) - (set! (-> s4-1 ignore-handle) (process->handle obj)) - (let* ((v1-12 *game-info*) - (a0-7 (+ (-> v1-12 attack-id) 1)) - ) - (set! (-> v1-12 attack-id) a0-7) - (set! (-> s4-1 attack-id) a0-7) - ) - (set! (-> s4-1 timeout) (seconds 4)) - (vector<-cspace! (-> s4-1 pos) (-> obj node-list data 24)) - (set! (-> s4-1 vel quad) (-> arg0 quad)) - (vector-! (-> s4-1 vel) (-> s4-1 vel) (-> s4-1 pos)) - (vector-normalize! (-> s4-1 vel) 307200.0) - (spawn-projectile jinx-shot s4-1 obj *default-dead-pool*) + (set! (-> obj next-fire-time) (+ (current-time) (get-rand-int-range obj 150 600))) + (+! (-> obj fired-gun-count) 1) + (let ((s4-1 (new 'stack-no-clear 'projectile-init-by-other-params))) + (set! (-> s4-1 ent) (-> obj entity)) + (set! (-> s4-1 charge) 1.0) + (set! (-> s4-1 options) (projectile-options account-for-target-velocity proj-options-8000)) + (set! (-> s4-1 notify-handle) (the-as handle #f)) + (set! (-> s4-1 owner-handle) (the-as handle #f)) + (set! (-> s4-1 ignore-handle) (process->handle obj)) + (let* ((v1-12 *game-info*) + (a0-7 (+ (-> v1-12 attack-id) 1)) + ) + (set! (-> v1-12 attack-id) a0-7) + (set! (-> s4-1 attack-id) a0-7) ) - (none) + (set! (-> s4-1 timeout) (seconds 4)) + (vector<-cspace! (-> s4-1 pos) (-> obj node-list data 24)) + (set! (-> s4-1 vel quad) (-> arg0 quad)) + (vector-! (-> s4-1 vel) (-> s4-1 vel) (-> s4-1 pos)) + (vector-normalize! (-> s4-1 vel) 307200.0) + (spawn-projectile jinx-shot s4-1 obj *default-dead-pool*) ) + (none) ) (defmethod ruffian-method-244 jinx ((obj jinx)) @@ -400,7 +398,7 @@ (set! (-> v1-14 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 16.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) @@ -446,7 +444,7 @@ (s5-1 (new 'stack-no-clear 'vector)) ) (enemy-method-50 obj s4-0) - (vector-z-quaternion! s5-1 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-1 (-> obj root quat)) (cond ((>= (vector-dot s4-0 s5-1) 0.0) (let* ((v1-7 (enemy-method-120 obj 3 (ash 1 (-> *jinx-global-info* prev-blue-hit-back)))) @@ -527,7 +525,7 @@ (let ((s4-1 (new 'stack-no-clear 'vector))) 0.0 0.0 - (vector-z-quaternion! s4-1 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-1 (-> obj root quat)) (let ((f30-0 (atan (-> s4-1 x) (-> s4-1 z)))) (enemy-method-50 obj s4-1) (let* ((f0-24 (atan (-> s4-1 x) (-> s4-1 z))) @@ -705,7 +703,7 @@ (defmethod enemy-method-84 jinx ((obj jinx) (arg0 enemy-jump-info)) (let ((f0-0 (vector-vector-xz-distance (-> arg0 start-pos) (-> arg0 dest-pos)))) - (fmax (-> obj enemy-info-override jump-height-min) (* (-> obj enemy-info-override jump-height-factor) f0-0)) + (fmax (-> obj enemy-info jump-height-min) (* (-> obj enemy-info jump-height-factor) f0-0)) ) (let ((f0-3 3072.0)) (setup-from-to-height! (-> arg0 traj) (-> arg0 start-pos) (-> arg0 dest-pos) f0-3 -4.551111) diff --git a/goal_src/jak2/levels/sewer/escort/mog.gc b/goal_src/jak2/levels/sewer/escort/mog.gc index 81d0b9804d..0bf210cf2e 100644 --- a/goal_src/jak2/levels/sewer/escort/mog.gc +++ b/goal_src/jak2/levels/sewer/escort/mog.gc @@ -166,7 +166,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 8) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -264,7 +264,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 6)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -278,7 +278,7 @@ (set-enemy-info! obj *mog-nav-enemy-info*) (set! (-> obj channel) (the-as uint 23)) (set! (-> obj spot-color) (the-as uint #x50ff0000)) - (set-vector! (-> obj root-override2 scale) 1.15 1.15 1.15 1.0) + (set-vector! (-> obj root scale) 1.15 1.15 1.15 1.0) (set! (-> obj skel prebind-function) mog-prebind-function) (set! (-> obj min-speed) 14336.0) (set! (-> obj max-speed) 32768.0) @@ -308,7 +308,7 @@ (set! (-> v1-14 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 20.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) diff --git a/goal_src/jak2/levels/sewer/gator.gc b/goal_src/jak2/levels/sewer/gator.gc index a94ae77cbe..1280bda086 100644 --- a/goal_src/jak2/levels/sewer/gator.gc +++ b/goal_src/jak2/levels/sewer/gator.gc @@ -167,13 +167,13 @@ (defmethod adjust-depth! gator ((obj gator)) "Changes the height based on the ocean depth @see [[get-height]]" - (set! (-> obj ocean-y) (get-height *ocean* (-> obj root-override2 trans) #t)) - (set! (-> obj root-override2 trans y) (+ -10240.0 (-> obj ocean-y))) + (set! (-> obj ocean-y) (get-height *ocean* (-> obj root trans) #t)) + (set! (-> obj root trans y) (+ -10240.0 (-> obj ocean-y))) ) (defmethod update-facing! gator ((obj gator) (arg0 vector)) "Updates the `new-facing` vector" - (let ((matrix (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root-override2 quat)))) + (let ((matrix (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)))) (set! (-> arg0 quad) (-> matrix vector 2 quad)) ) arg0 @@ -339,9 +339,7 @@ ) (let ((enemy-target (get-enemy-target self))) (when enemy-target - (let ((dir-to-target - (vector-! (new 'stack-no-clear 'vector) (get-trans enemy-target 0) (-> self root-override2 trans)) - ) + (let ((dir-to-target (vector-! (new 'stack-no-clear 'vector) (get-trans enemy-target 0) (-> self root trans))) (nav-state (-> self nav state)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -380,7 +378,7 @@ (set! (-> _self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> _self enemy-flags)))) ) (set! (-> _self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> _self enemy-flags)))) - (set! (-> _self nav callback-info) (-> _self enemy-info-override callback-info)) + (set! (-> _self nav callback-info) (-> _self enemy-info callback-info)) ) 0 (let ((__self self)) @@ -388,7 +386,7 @@ ) 0 (let ((nav-state (-> self nav state))) - (set! (-> nav-state speed) (* 1.25 (-> self enemy-info-override run-travel-speed))) + (set! (-> nav-state speed) (* 1.25 (-> self enemy-info run-travel-speed))) ) 0 (set! (-> self lock-nav-target) #f) @@ -424,7 +422,7 @@ ) (set! (-> self lock-nav-target) #t) (let ((nav (-> self nav))) - (set! (-> nav target-speed) (-> self enemy-info-override walk-travel-speed)) + (set! (-> nav target-speed) (-> self enemy-info walk-travel-speed)) ) 0 (let ((_nav (-> self nav))) @@ -436,7 +434,7 @@ (set! (-> velocity quad) (-> nav-state velocity quad)) ) (vector-normalize! velocity 32768.0) - (vector+! velocity velocity (-> self root-override2 trans)) + (vector+! velocity velocity (-> self root trans)) (let ((_nav-state (-> self nav state))) (logclear! (-> _nav-state flags) (nav-state-flag directional-mode)) (logior! (-> _nav-state flags) (nav-state-flag target-poly-dirty)) @@ -473,7 +471,7 @@ (let ((nav-state (-> self nav state))) (set! (-> target-pos quad) (-> nav-state target-post quad)) ) - (if (and (-> self lock-nav-target) (< (vector-vector-distance (-> self root-override2 trans) target-pos) 8192.0)) + (if (and (-> self lock-nav-target) (< (vector-vector-distance (-> self root trans) target-pos) 8192.0)) (react-to-focus self) ) ) @@ -603,7 +601,7 @@ (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) (set! (-> cshape max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -621,7 +619,7 @@ (set! (-> nav speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (adjust-depth! obj) (set! (-> obj turn-time) 0) diff --git a/goal_src/jak2/levels/sewer/grim2-course.gc b/goal_src/jak2/levels/sewer/grim2-course.gc index 75fd976265..e649d8ec9c 100644 --- a/goal_src/jak2/levels/sewer/grim2-course.gc +++ b/goal_src/jak2/levels/sewer/grim2-course.gc @@ -53,15 +53,15 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ruf-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ruf-course spots 0))) (let ((a1-1 (new 'stack-no-clear 'vector))) (set-vector! a1-1 0.0 9102.223 0.0 1.0) - (quaternion-zxy! (-> arg0 root-override2 quat) a1-1) + (quaternion-zxy! (-> arg0 root quat) a1-1) ) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 0 quad)) (set! (-> arg0 focus-mode) 1) @@ -116,11 +116,11 @@ ) (new 'static 'bot-waypoint :waypoint-id 2 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (let ((v1-5 (-> arg0 actor-group 0 data 2 actor))) (set! (-> arg0 poi-handle) (process->handle (if v1-5 @@ -154,7 +154,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -183,7 +183,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -193,7 +193,7 @@ (the-as (function ruft-wait-spot ruffian symbol) (lambda ((arg0 object) (arg1 grim-sewer)) - (when (or (< (-> arg1 spot center x) (-> arg1 root-override2 trans x)) + (when (or (< (-> arg1 spot center x) (-> arg1 root trans x)) (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) @@ -213,7 +213,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 6 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -223,7 +223,7 @@ (the-as (function ruft-wait-spot ruffian symbol) (lambda ((arg0 object) (arg1 grim-sewer)) - (when (or (< (-> arg1 spot center x) (-> arg1 root-override2 trans x)) + (when (or (< (-> arg1 spot center x) (-> arg1 root trans x)) (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) ) (let* ((v1-7 (-> arg1 actor-group 0 data 1 actor)) @@ -255,7 +255,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 7 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -284,7 +284,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 8 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -318,7 +318,7 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index 1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 1 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -363,7 +363,7 @@ (function ruft-wait-spot ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 grim-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -649,7 +649,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index 2 - :skip-to #x22 + :skip-to 34 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 28672.0) @@ -684,9 +684,9 @@ :on-skipping-here (lambda ((arg0 grim-sewer)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 ruf-course spots 16)) - (let ((v1-10 (-> arg0 root-override2 root-prim))) - (set! (-> v1-10 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-10 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-10 (-> arg0 root root-prim))) + (set! (-> v1-10 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-10 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -952,7 +952,7 @@ (new 'static 'bot-waypoint :waypoint-id 34 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 6 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -993,7 +993,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index 4 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1021,7 +1021,7 @@ (new 'static 'bot-waypoint :waypoint-id 36 :nav-mesh-index 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-choose-jump arg0))) (set! (-> v1-1 bytes 5) 2) @@ -1035,7 +1035,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 grim-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 26 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 26 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 37 #f) @@ -1055,7 +1055,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> arg0 enemy-flags))) (set! (-> arg0 bot-flags) (logior (bot-flags bf19) (-> arg0 bot-flags))) @@ -1087,7 +1087,7 @@ (new 'static 'bot-waypoint :waypoint-id 38 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 7 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1116,7 +1116,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 20480.0) @@ -1153,7 +1153,7 @@ (new 'static 'bot-waypoint :waypoint-id 45 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 40960.0) @@ -1185,7 +1185,7 @@ (new 'static 'bot-waypoint :waypoint-id 46 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1214,7 +1214,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1248,7 +1248,7 @@ (new 'static 'bot-waypoint :waypoint-id 50 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1278,7 +1278,7 @@ (new 'static 'bot-waypoint :waypoint-id 51 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1307,7 +1307,7 @@ (new 'static 'bot-waypoint :waypoint-id 52 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1336,7 +1336,7 @@ (new 'static 'bot-waypoint :waypoint-id 53 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1652,7 +1652,7 @@ (new 'static 'bot-speech-info :flags (speech-flags sf01) :hold-time #x5a :slave-id -1 :name "hal164") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 2 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve 11 :trans? #t) (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 1 :trans? #f) ) :spots (new 'static 'inline-array bot-spot 50 diff --git a/goal_src/jak2/levels/sewer/hal2-course.gc b/goal_src/jak2/levels/sewer/hal2-course.gc index 82d3e9d599..1f363ccd23 100644 --- a/goal_src/jak2/levels/sewer/hal2-course.gc +++ b/goal_src/jak2/levels/sewer/hal2-course.gc @@ -206,7 +206,7 @@ (defmethod hal-sewer-method-230 hal-sewer ((obj hal-sewer) (arg0 process-focusable) (arg1 process-focusable)) (when (and arg0 arg1) (let ((gp-0 (new 'stack-no-clear 'collide-query))) - (set! (-> gp-0 start-pos quad) (-> arg0 root-override trans quad)) + (set! (-> gp-0 start-pos quad) (-> arg0 root trans quad)) (set! (-> gp-0 start-pos y) (+ 8192.0 (-> gp-0 start-pos y))) (vector-! (-> gp-0 move-dist) (get-trans arg1 3) (-> gp-0 start-pos)) (let ((v1-5 gp-0)) @@ -484,7 +484,7 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -535,7 +535,7 @@ (new 'static 'bot-waypoint :waypoint-id 3 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (play-speech arg0 0) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) @@ -589,7 +589,7 @@ (ai-task-control-method-10 (-> arg1 ai-ctrl) arg1) #t ) - ((and (>= (- (-> (target-pos 0) x) (-> arg1 root-override2 trans x)) -65536.0) + ((and (>= (- (-> (target-pos 0) x) (-> arg1 root trans x)) -65536.0) (or (not s3-0) (>= (the-as int (send-event s3-0 'query 'waypoint)) 3)) (or (not s4-0) (>= (the-as int (send-event s4-0 'query 'waypoint)) 3)) (or (not s5-0) (>= (the-as int (send-event s5-0 'query 'waypoint)) 3)) @@ -614,7 +614,7 @@ (new 'static 'bot-waypoint :waypoint-id 4 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (if (not (logtest? (bot-flags bf19 bf20 bf21) (-> arg0 bot-flags))) (play-speech arg0 1) @@ -1548,7 +1548,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index -1 - :skip-to #x1d + :skip-to 29 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -2304,7 +2304,7 @@ (new 'static 'bot-waypoint :waypoint-id 29 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (play-speech arg0 39) @@ -2439,7 +2439,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -2607,7 +2607,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -2642,9 +2642,9 @@ (play-speech arg1 48) ) (when (or (>= (-> (target-pos 0) x) 5207572.5) - (>= (-> (the-as process-focusable s3-0) root-override trans x) 5120000.0) - (>= (-> (the-as process-focusable s4-0) root-override trans x) 5120000.0) - (>= (-> (the-as process-focusable s5-0) root-override trans x) 5120000.0) + (>= (-> (the-as process-focusable s3-0) root trans x) 5120000.0) + (>= (-> (the-as process-focusable s4-0) root trans x) 5120000.0) + (>= (-> (the-as process-focusable s5-0) root trans x) 5120000.0) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 41 #f) @@ -2665,7 +2665,7 @@ (new 'static 'bot-waypoint :waypoint-id 41 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a0-1 (-> arg0 actor-group 0 data 18 actor))) @@ -2833,7 +2833,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (if (zero? (get-rand-int arg0 2)) @@ -2931,7 +2931,7 @@ (new 'static 'bot-waypoint :waypoint-id 43 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (logclear! (-> arg0 bot-flags) (bot-flags bf24)) @@ -3030,7 +3030,7 @@ (new 'static 'bot-waypoint :waypoint-id 44 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -3155,7 +3155,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (logclear! (-> arg0 bot-flags) (bot-flags bf24)) @@ -3483,9 +3483,7 @@ ) ) (if (and s4-1 - (>= 65536.0 - (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable s4-1) root-override trans)) - ) + (>= 65536.0 (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable s4-1) root trans))) ) (play-speech arg1 67) ) @@ -3937,15 +3935,9 @@ (play-speech arg1 76) ) (else - (when (and (>= (vector4-dot (-> (the-as process-focusable s3-0) root-override trans) (the-as vector (-> arg1 test-plane))) - 0.0 - ) - (>= (vector4-dot (-> (the-as process-focusable s4-0) root-override trans) (the-as vector (-> arg1 test-plane))) - 0.0 - ) - (>= (vector4-dot (-> (the-as process-focusable s5-0) root-override trans) (the-as vector (-> arg1 test-plane))) - 0.0 - ) + (when (and (>= (vector4-dot (-> (the-as process-focusable s3-0) root trans) (the-as vector (-> arg1 test-plane))) 0.0) + (>= (vector4-dot (-> (the-as process-focusable s4-0) root trans) (the-as vector (-> arg1 test-plane))) 0.0) + (>= (vector4-dot (-> (the-as process-focusable s5-0) root trans) (the-as vector (-> arg1 test-plane))) 0.0) ) (let ((a0-18 *target*)) (when (and a0-18 @@ -4134,8 +4126,8 @@ (new 'static 'bot-speech-info :hold-time #x5a :name "hal114") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 2 - (new 'static 'bot-speech-tuning :fo-min 10 :fo-max 70 :fo-curve #xb :trans? #t) - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x96 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 10 :fo-max 70 :fo-curve 11 :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x96 :fo-curve 11 :trans? #t) ) :dirs (new 'static 'inline-array vector 8 (new 'static 'vector :x 1.0 :w 1.0) diff --git a/goal_src/jak2/levels/sewer/hosehead.gc b/goal_src/jak2/levels/sewer/hosehead.gc index 016831c213..9f8849016f 100644 --- a/goal_src/jak2/levels/sewer/hosehead.gc +++ b/goal_src/jak2/levels/sewer/hosehead.gc @@ -296,7 +296,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 16) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 20) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -374,7 +374,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-24 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -586,8 +586,8 @@ (hosehead-method-189 obj) (let ((gp-0 (new 'stack-no-clear 'collide-query))) (let ((s4-0 (-> gp-0 start-pos))) - (let ((s3-0 (-> obj root-override2 trans))) - (let ((v1-4 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)))) + (let ((s3-0 (-> obj root trans))) + (let ((v1-4 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-4 6144.0)) (.mov vf7 a0-4) ) @@ -779,7 +779,7 @@ (defmethod enemy-method-88 hosehead ((obj hosehead) (arg0 enemy-jump-info)) (ja-channel-push! 1 (seconds 0.075)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override jump-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info jump-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) @@ -842,8 +842,8 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (let ((s2-0 gp-0)) - (let ((s1-0 (-> obj root-override2 trans))) - (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)))) + (let ((s1-0 (-> obj root trans))) + (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-3 8192.0)) (.mov vf7 a0-3) ) @@ -862,7 +862,7 @@ (set! (-> s3-0 start-pos quad) (-> gp-0 quad)) (vector-float*! (-> s3-0 move-dist) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) -16384.0 ) (let ((v1-9 s3-0)) @@ -895,7 +895,7 @@ (set! (-> s3-0 start-pos quad) (-> s5-0 quad)) (vector-float*! (-> s3-0 move-dist) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) -16384.0 ) (let ((v1-16 s3-0)) @@ -926,7 +926,7 @@ ) ) (let ((s2-6 (vector-! (new 'stack-no-clear 'vector) gp-0 s5-0)) - (s1-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (s1-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s3-1 (new 'stack-no-clear 'quaternion)) ) (let ((s0-0 (new 'stack-no-clear 'matrix))) @@ -936,14 +936,9 @@ (vector-rotate*! s2-6 s2-6 s0-0) ) (quaternion-look-at! s3-1 s2-6 *up-vector*) - (quaternion-pseudo-seek - (-> obj root-override2 quat) - (-> obj root-override2 quat) - s3-1 - (-> pp clock seconds-per-frame) - ) + (quaternion-pseudo-seek (-> obj root quat) (-> obj root quat) s3-1 (-> pp clock seconds-per-frame)) ) - (vector-average! (-> obj root-override2 trans) gp-0 s5-0) + (vector-average! (-> obj root trans) gp-0 s5-0) ) (none) ) @@ -974,10 +969,7 @@ (when (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (let ((a0-3 (handle->process (-> self focus handle)))) (when a0-3 - (let ((f0-0 - (vector-vector-xz-distance (get-trans (the-as process-focusable a0-3) 0) (-> self root-override2 trans)) - ) - ) + (let ((f0-0 (vector-vector-xz-distance (get-trans (the-as process-focusable a0-3) 0) (-> self root trans)))) (if (>= 98304.0 f0-0) (hosehead-method-185 self) ) @@ -989,7 +981,7 @@ (set! (-> self focus collide-with) (collide-spec jak bot player-list jak-vehicle)) (let ((gp-1 (-> self on-stop-sentry))) (if gp-1 - (script-eval (the-as pair gp-1) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-1) :vector (-> self root trans)) ) ) (go-virtual active) @@ -1042,8 +1034,8 @@ ) (init-vf0-vector) (let ((gp-0 (-> self target-pos))) - (let ((s5-0 (-> self root-override2 trans))) - (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((s5-0 (-> self root trans))) + (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((a0-2 40960.0)) (.mov vf7 a0-2) ) @@ -1066,10 +1058,7 @@ (when (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (let ((a0-8 (handle->process (-> self focus handle)))) (when a0-8 - (let ((f0-6 - (vector-vector-xz-distance (get-trans (the-as process-focusable a0-8) 0) (-> self root-override2 trans)) - ) - ) + (let ((f0-6 (vector-vector-xz-distance (get-trans (the-as process-focusable a0-8) 0) (-> self root trans)))) (if (>= 98304.0 f0-6) (hosehead-method-185 self) ) @@ -1081,7 +1070,7 @@ (set! (-> self focus collide-with) (collide-spec jak bot player-list jak-vehicle)) (let ((gp-2 (-> self on-stop-sentry))) (if gp-2 - (script-eval (the-as pair gp-2) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-2) :vector (-> self root trans)) ) ) (go-hostile self) @@ -1260,7 +1249,7 @@ ;; WARN: Return type mismatch float vs none. (defmethod hosehead-method-191 hosehead ((obj hosehead) (arg0 vector) (arg1 vector)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user10)) + ((logtest? (-> obj fact enemy-options) (enemy-option user10)) (countdown (s3-0 8) (if (hosehead-method-192 obj arg1) (goto cfg-7) @@ -1273,7 +1262,7 @@ ) ) (else - (set! (-> arg1 quad) (-> obj root-override2 trans quad)) + (set! (-> arg1 quad) (-> obj root trans quad)) (set! (-> arg0 quad) (-> arg1 quad)) (set! (-> arg0 y) (+ 81920.0 (-> arg0 y))) ) @@ -1284,11 +1273,11 @@ (defstate directed (hosehead) :virtual #t :enter (behavior () - (when (or (logtest? (-> self fact-info-override enemy-options) (enemy-option user8)) - (logtest? (-> self fact-info-override enemy-options) (enemy-option user10)) + (when (or (logtest? (-> self fact enemy-options) (enemy-option user8)) + (logtest? (-> self fact enemy-options) (enemy-option user10)) ) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-10 (-> self root-override2 root-prim))) + (let ((v1-10 (-> self root root-prim))) (set! (-> v1-10 prim-core collide-as) (collide-spec)) (set! (-> v1-10 prim-core collide-with) (collide-spec)) ) @@ -1316,7 +1305,7 @@ (set! (-> v1-3 enemy-flags) (the-as enemy-flag (logclear (-> v1-3 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (let ((v1-6 (-> self root-override2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -1325,7 +1314,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -1333,12 +1322,12 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) (hosehead-method-191 self gp-1 s5-0) - (set! (-> self root-override2 trans quad) (-> s5-0 quad)) + (set! (-> self root trans quad) (-> s5-0 quad)) (set! (-> self jump-point quad) (-> s5-0 quad)) ) (let ((a0-13 (enemy-method-97 self))) (when a0-13 - (let* ((s5-1 (-> self root-override2)) + (let* ((s5-1 (-> self root)) (s2-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-13) 0) (-> s5-1 trans)) @@ -1351,18 +1340,18 @@ ) ) ) - (set! (-> self root-override2 trans quad) (-> gp-1 quad)) + (set! (-> self root trans quad) (-> gp-1 quad)) ) (transform-post) (logior! (-> self focus-status) (focus-status dangerous)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let* ((v1-37 *game-info*) (a0-22 (+ (-> v1-37 attack-id) 1)) ) (set! (-> v1-37 attack-id) a0-22) (set! (-> self attack-id) a0-22) ) - (if (logtest? (enemy-option water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> self enemy-flags))) ) (logclear! (-> self draw status) (draw-control-status no-draw)) @@ -1373,10 +1362,10 @@ (none) ) :trans (behavior () - (when (>= 61440.0 (- (-> self root-override2 trans y) (-> self jump-point y))) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (>= 61440.0 (- (-> self root trans y) (-> self jump-point y))) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) ) (none) @@ -1399,7 +1388,7 @@ ) :post (behavior () (nav-enemy-falling-post) - (if (logtest? (-> self root-override2 status) (collide-status on-surface)) + (if (logtest? (-> self root status) (collide-status on-surface)) (go-virtual ambush-land) ) (none) @@ -1435,7 +1424,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1479,7 +1468,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (f30-0 0.0) ) (vector-float*! s5-0 s5-0 20480.0) @@ -1489,7 +1478,7 @@ ) (vector-rotate-around-y! s1-0 s5-0 (* 182.04445 (the float (+ (* 11 s4-0) -90)))) (let ((v1-7 s3-0)) - (let ((a0-5 (-> obj root-override2 trans))) + (let ((a0-5 (-> obj root trans))) (let ((a1-3 s1-0)) (let ((a2-2 1.0)) (.mov vf7 a2-2) @@ -1599,8 +1588,8 @@ ) (while (not gp-0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let ((s4-0 (-> self root-override2 trans))) - (let ((v0-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((s4-0 (-> self root trans))) + (let ((v0-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((v1-15 f30-0)) (.mov vf7 v1-15) ) @@ -1670,14 +1659,12 @@ :frame-num 0.0 ) (until (ja-done? 0) - (set! (-> self root-override2 trans y) - (- (-> self root-override2 trans y) (* 36864.0 (-> self clock seconds-per-frame))) - ) + (set! (-> self root trans y) (- (-> self root trans y) (* 36864.0 (-> self clock seconds-per-frame)))) (hosehead-method-186 self) (suspend) (ja :num! (seek! max 1.5)) ) - (when (< (- (-> self root-override2 trans y) (-> self jump-point y)) 40960.0) + (when (< (- (-> self root trans y) (-> self jump-point y)) 40960.0) (hosehead-method-196 self) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag vulnerable)))) (send-event self 'jump 0 (-> self jump-point)) @@ -1711,7 +1698,7 @@ (defstate knocked (hosehead) :virtual #t :enter (behavior () - (if (logtest? (enemy-option water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> self enemy-flags))) ) (let ((t9-0 (-> (method-of-type nav-enemy knocked) enter))) @@ -1726,7 +1713,7 @@ (defstate jump (hosehead) :virtual #t :enter (behavior () - (if (logtest? (enemy-option water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> self enemy-flags))) ) (let ((t9-0 (-> (method-of-type nav-enemy jump) enter))) @@ -1763,8 +1750,8 @@ (set! (-> self attack-id) a0-2) ) (set! (-> self fire-beam?) #f) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self target-pos) (-> self root-override2 trans))) - (a2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self target-pos) (-> self root trans))) + (a2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> gp-1 y) 0.0) @@ -1792,7 +1779,7 @@ (set! (-> self head-angle) (deg-diff (vector-y-angle gp-1) - (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root-override2 trans))) + (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root trans))) ) ) ) @@ -1975,7 +1962,7 @@ ) ) (hosehead-method-189 self) - (let ((f30-0 (vector-vector-xz-distance (-> self target-pos) (-> self root-override2 trans)))) + (let ((f30-0 (vector-vector-xz-distance (-> self target-pos) (-> self root trans)))) (if (and (enemy-method-96 self 6371.5557 #t) (< f30-0 18432.0)) (go-virtual attack) ) @@ -2022,13 +2009,10 @@ (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) (new 'stack-no-clear 'vector) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -2040,12 +2024,8 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-4) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-4) 0) (-> self root trans)) 131072.0 (seconds 0.05) ) @@ -2096,7 +2076,7 @@ (let ((a0-1 (-> obj node-list data 9 bone transform))) (matrix->trans a0-1 s1-0) ) - (vector-z-quaternion! s0-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s0-0 (-> obj root quat)) (vector-! sv-128 arg0 s1-0) (vector-normalize! sv-128 1.0) (rot-zxy-from-vector! s4-0 s0-0) @@ -2171,7 +2151,7 @@ (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'collide-query))) (let ((v1-0 (-> s5-0 bbox)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) (a1-0 (new 'stack-no-clear 'vector)) ) (set! (-> a1-0 x) 14336.0) @@ -2181,7 +2161,7 @@ (vector-! (the-as vector v1-0) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) - (a0-4 (-> obj root-override2 trans)) + (a0-4 (-> obj root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 14336.0) @@ -2263,8 +2243,8 @@ (let* ((f0-14 (- (-> s2-0 y) (-> s1-0 y))) (f0-15 (lerp-scale 1.0 0.0 f0-14 0.0 8192.0)) ) - (- (-> s1-0 y) (-> obj root-override2 trans y)) - (let ((f1-5 (vector-dot s3-0 (vector-! (new 'stack-no-clear 'vector) s1-0 (-> obj root-override2 trans)))) + (- (-> s1-0 y) (-> obj root trans y)) + (let ((f1-5 (vector-dot s3-0 (vector-! (new 'stack-no-clear 'vector) s1-0 (-> obj root trans)))) (v1-29 s2-0) ) (let ((a0-23 s2-0)) @@ -2356,7 +2336,7 @@ (set! sv-16 (new 'static 'res-tag)) (let ((a0-5 (res-lump-data (-> obj entity) 'trans-offset (pointer float) :tag-ptr (& sv-16)))) (when a0-5 - (let ((v1-7 (-> obj root-override2))) + (let ((v1-7 (-> obj root))) (+! (-> v1-7 trans x) (-> a0-5 0)) (+! (-> v1-7 trans y) (-> a0-5 1)) (+! (-> v1-7 trans z) (-> a0-5 2)) @@ -2365,7 +2345,7 @@ ) (let ((f0-6 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-6 0.0) - (quaternion-rotate-local-y! (-> obj root-override2 quat) (-> obj root-override2 quat) f0-6) + (quaternion-rotate-local-y! (-> obj root quat) (-> obj root quat) f0-6) ) ) (let ((f0-7 (res-lump-float (-> obj entity) 'extra-float-param :default 30.0))) @@ -2377,16 +2357,16 @@ (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag vulnerable-backup) (-> obj enemy-flags)))) ) (init-enemy-behaviour-and-stats! obj *hosehead-nav-enemy-info*) - (set! (-> obj sentry?) (logtest? (-> obj fact-info-override enemy-options) (enemy-option user9))) + (set! (-> obj sentry?) (logtest? (-> obj fact enemy-options) (enemy-option user9))) (when (-> obj sentry?) - (set! (-> obj root-override2 pause-adjust-distance) 409600.0) + (set! (-> obj root pause-adjust-distance) 409600.0) (set! (-> obj on-stop-sentry) (res-lump-struct (-> obj entity) 'on-stop-sentry function)) ) (let ((v1-34 (-> obj nav))) (set! (-> v1-34 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (add-connection *part-engine* obj 9 obj 318 (new 'static 'vector :x 2048.0 :y -40.96 :z 1392.64 :w 163840.0)) (add-connection *part-engine* obj 9 obj 318 (new 'static 'vector :x -2048.0 :y -40.96 :z 1392.64 :w 163840.0)) (if (-> obj on-wall?) diff --git a/goal_src/jak2/levels/sewer/jinx2-course.gc b/goal_src/jak2/levels/sewer/jinx2-course.gc index 228568db7a..11dc925be1 100644 --- a/goal_src/jak2/levels/sewer/jinx2-course.gc +++ b/goal_src/jak2/levels/sewer/jinx2-course.gc @@ -78,12 +78,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ruf-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ruf-course spots 0))) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 0 quad)) (set! (-> arg0 focus-mode) 1) (let ((v1-16 (-> arg0 actor-group 0 data 3 actor))) @@ -137,11 +137,11 @@ ) (new 'static 'bot-waypoint :waypoint-id 2 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (let ((v1-5 (-> arg0 actor-group 0 data 3 actor))) (set! (-> arg0 poi-handle) (process->handle (if v1-5 @@ -175,7 +175,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -204,7 +204,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -232,7 +232,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 7 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -260,7 +260,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 8 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -294,7 +294,7 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index 1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 1 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -339,7 +339,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 jinx-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 4 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 4 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -501,7 +501,7 @@ #t ) ((or (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (>= (-> arg1 root-override2 trans z) (-> arg1 spot center z)) + (>= (-> arg1 root trans z) (-> arg1 spot center z)) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 16 #f) @@ -716,7 +716,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index 2 - :skip-to #x22 + :skip-to 34 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 bot-flags) (logior (bot-flags bf23) (-> arg0 bot-flags))) @@ -751,9 +751,9 @@ :on-skipping-here (lambda ((arg0 jinx-sewer)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 ruf-course spots 18)) - (let ((v1-10 (-> arg0 root-override2 root-prim))) - (set! (-> v1-10 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-10 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-10 (-> arg0 root root-prim))) + (set! (-> v1-10 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-10 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -1019,7 +1019,7 @@ (new 'static 'bot-waypoint :waypoint-id 34 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 6 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1060,7 +1060,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index 4 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1088,7 +1088,7 @@ (new 'static 'bot-waypoint :waypoint-id 36 :nav-mesh-index 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-choose-jump arg0))) (set! (-> v1-1 bytes 5) 3) @@ -1104,7 +1104,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 jinx-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 32 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 32 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 37 #f) @@ -1124,7 +1124,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> arg0 enemy-flags))) (set! (-> arg0 bot-flags) (logior (bot-flags bf19) (-> arg0 bot-flags))) @@ -1156,7 +1156,7 @@ (new 'static 'bot-waypoint :waypoint-id 38 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 7 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1185,7 +1185,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 24576.0) @@ -1222,7 +1222,7 @@ (new 'static 'bot-waypoint :waypoint-id 45 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 49152.0) @@ -1254,7 +1254,7 @@ (new 'static 'bot-waypoint :waypoint-id 46 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1283,7 +1283,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1317,7 +1317,7 @@ (new 'static 'bot-waypoint :waypoint-id 50 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1347,7 +1347,7 @@ (new 'static 'bot-waypoint :waypoint-id 51 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1376,7 +1376,7 @@ (new 'static 'bot-waypoint :waypoint-id 52 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1782,7 +1782,7 @@ (new 'static 'bot-speech-info :flags (speech-flags sf01) :hold-time #x5a :slave-id -1 :name "hal117") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 2 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve 11 :trans? #t) (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 1 :trans? #f) ) :spots (new 'static 'inline-array bot-spot 62 diff --git a/goal_src/jak2/levels/sewer/mog2-course.gc b/goal_src/jak2/levels/sewer/mog2-course.gc index be6f8d4638..982d055fae 100644 --- a/goal_src/jak2/levels/sewer/mog2-course.gc +++ b/goal_src/jak2/levels/sewer/mog2-course.gc @@ -48,12 +48,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ruf-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ruf-course spots 0))) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 0 quad)) (set! (-> arg0 focus-mode) 1) (let ((v1-16 (-> arg0 actor-group 0 data 1 actor))) @@ -107,11 +107,11 @@ ) (new 'static 'bot-waypoint :waypoint-id 2 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (let ((v1-5 (-> arg0 actor-group 0 data 1 actor))) (set! (-> arg0 poi-handle) (process->handle (if v1-5 @@ -145,7 +145,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -174,7 +174,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -184,7 +184,7 @@ (the-as (function ruft-wait-spot ruffian symbol) (lambda ((arg0 object) (arg1 mog-sewer)) - (when (or (< (-> arg1 spot center x) (-> arg1 root-override2 trans x)) + (when (or (< (-> arg1 spot center x) (-> arg1 root trans x)) (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) @@ -222,7 +222,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 6 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -265,7 +265,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 7 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -293,7 +293,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 8 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -327,7 +327,7 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index 1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 1 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -370,7 +370,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 mog-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -658,7 +658,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index 2 - :skip-to #x22 + :skip-to 34 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 24576.0) @@ -693,9 +693,9 @@ :on-skipping-here (lambda ((arg0 mog-sewer)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 ruf-course spots 14)) - (let ((v1-10 (-> arg0 root-override2 root-prim))) - (set! (-> v1-10 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-10 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-10 (-> arg0 root root-prim))) + (set! (-> v1-10 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-10 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -961,7 +961,7 @@ (new 'static 'bot-waypoint :waypoint-id 34 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 6 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1002,7 +1002,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index 4 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1030,7 +1030,7 @@ (new 'static 'bot-waypoint :waypoint-id 36 :nav-mesh-index 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-choose-jump arg0))) (set! (-> v1-1 bytes 5) 3) @@ -1046,7 +1046,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 mog-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 24 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 24 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 37 #f) @@ -1066,7 +1066,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> arg0 enemy-flags))) (set! (-> arg0 bot-flags) (logior (bot-flags bf19) (-> arg0 bot-flags))) @@ -1098,7 +1098,7 @@ (new 'static 'bot-waypoint :waypoint-id 38 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 7 quad)) (set! (-> arg0 min-speed) 32768.0) @@ -1130,7 +1130,7 @@ (new 'static 'bot-waypoint :waypoint-id 39 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1159,7 +1159,7 @@ (new 'static 'bot-waypoint :waypoint-id 40 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1187,7 +1187,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 24576.0) @@ -1224,7 +1224,7 @@ (new 'static 'bot-waypoint :waypoint-id 45 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 32768.0) @@ -1256,7 +1256,7 @@ (new 'static 'bot-waypoint :waypoint-id 46 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1285,7 +1285,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1319,7 +1319,7 @@ (new 'static 'bot-waypoint :waypoint-id 49 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1349,7 +1349,7 @@ (new 'static 'bot-waypoint :waypoint-id 50 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1378,7 +1378,7 @@ (new 'static 'bot-waypoint :waypoint-id 51 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1407,7 +1407,7 @@ (new 'static 'bot-waypoint :waypoint-id 52 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1436,7 +1436,7 @@ (new 'static 'bot-waypoint :waypoint-id 53 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1744,7 +1744,7 @@ (new 'static 'bot-speech-info :flags (speech-flags sf01) :hold-time #x5a :slave-id -1 :name "hal150") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 53 (new 'static 'bot-spot :center (new 'static 'vector :x 4627374.0 :y -207216.64 :z 2092523.5 :w 8192.0)) diff --git a/goal_src/jak2/levels/sewer/sewer-obs.gc b/goal_src/jak2/levels/sewer/sewer-obs.gc index 5448ba4f1b..37b43b7ea1 100644 --- a/goal_src/jak2/levels/sewer/sewer-obs.gc +++ b/goal_src/jak2/levels/sewer/sewer-obs.gc @@ -87,9 +87,7 @@ ) ) (when hit-proc - (let ((hit-direction - (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root-override trans) (-> self root trans)) - ) + (let ((hit-direction (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root trans) (-> self root trans))) (v1-5 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (if (< (vector-dot v1-5 hit-direction) 0.0) @@ -568,9 +566,7 @@ This commonly includes things such as: ) ) (when hit-proc - (let ((hit-direction - (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root-override trans) (-> self root trans)) - ) + (let ((hit-direction (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root trans) (-> self root trans))) (v1-5 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (if (< (vector-dot v1-5 hit-direction) 0.0) @@ -706,9 +702,7 @@ This commonly includes things such as: ) ) (when hit-proc - (let ((hit-direction - (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root-override trans) (-> self root-overide trans)) - ) + (let ((hit-direction (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root trans) (-> self root-overide trans))) (v1-5 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-overide quat))) ) (if (< (vector-dot v1-5 hit-direction) 0.0) diff --git a/goal_src/jak2/levels/sewer/sewer-obs2.gc b/goal_src/jak2/levels/sewer/sewer-obs2.gc index 13ca4a81a5..4e81b3704f 100644 --- a/goal_src/jak2/levels/sewer/sewer-obs2.gc +++ b/goal_src/jak2/levels/sewer/sewer-obs2.gc @@ -38,11 +38,11 @@ @see [[path-control]] and [[elevator]]" (let ((path-point-a (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-a 'interp)) (path-point-b (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-b 'interp)) - (elevator-pos (-> obj root-override trans)) + (elevator-pos (-> obj root trans)) ) (when (and (< (-> path-point-b y) (-> path-point-a y)) (< (-> arg1 y) (+ -8192.0 (-> elevator-pos y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg1 elevator-pos))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -59,9 +59,9 @@ ) (when target-proc (let* ((target-pos (get-trans target-proc 0)) - (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root-override trans))) + (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root trans))) ) - (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root-override quat)) + (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root quat)) (and (< (fabs (-> dist-from-center x)) 20480.0) (< 0.0 (-> dist-from-center z)) (< (-> dist-from-center z) 40960.0) @@ -74,7 +74,7 @@ (defmethod configure-collision sew-elevator ((obj sew-elevator) (collide-with-jak? symbol)) "Appropriately sets the collision on the elevator @param collide-with-jak? If set, the elevator will collide with Jak" - (let ((prim-group (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((prim-group (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (collide-with-jak? (set! (-> prim-group prim-core collide-as) (collide-spec obstacle pusher)) @@ -112,7 +112,7 @@ ((the-as (function none) func)) ) ) - (sound-play "sew-elevator-lp" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "sew-elevator-lp" :id (-> self sound-id) :position (-> self root trans)) (none) ) ) @@ -212,7 +212,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (configure-collision obj #f) (none) @@ -414,7 +414,7 @@ This commonly includes things such as: (deftype sew-mar-statue (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (spawned-debris? symbol :offset-assert 200) ) :heap-base #x50 @@ -577,7 +577,7 @@ This commonly includes things such as: :virtual #t :event sew-mar-statue-event-handler :enter (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -612,7 +612,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -668,7 +668,7 @@ and translate the platform via the `smush` (process-entity-status! self (entity-perm-status subtask-complete) #t) (set! (-> self draw bounds y) -102400.0) (set! (-> self draw bounds w) 163840.0) - (set! (-> self root-override root-prim local-sphere w) 163840.0) + (set! (-> self root root-prim local-sphere w) 163840.0) (set! (-> self draw force-lod) 0) (let* ((art-group (-> self draw art-group)) (art (method-of-object art-group get-art-by-name-method)) @@ -767,7 +767,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -779,7 +779,7 @@ This commonly includes things such as: (set! (-> obj anim) (new 'static 'spool-anim :name "sew-catwalk-1" :anim-name "1-break" :parts 3 :command-list '()) ) - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj fall) #t) (go (method-of-object obj idle)) @@ -788,8 +788,8 @@ This commonly includes things such as: ) (deftype sew-mine (process-drawable) - ((root-override collide-shape-moving :offset 128) - (last-time time-frame :offset-assert 200) + ((root collide-shape-moving :override) + (last-time time-frame :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -815,12 +815,11 @@ This commonly includes things such as: ) ) (when focus-proc - (let ((a0-4 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> focus-proc root-override trans) (-> self root-override trans)) - 1.0 - ) - ) + (let ((a0-4 (vector-normalize! + (vector-! (new 'stack-no-clear 'vector) (-> focus-proc root trans) (-> self root trans)) + 1.0 + ) + ) (evt (new 'stack-no-clear 'event-message-block)) ) (set! (-> evt from) (process->ppointer self)) @@ -854,7 +853,7 @@ This commonly includes things such as: ) :code (the-as (function none :behavior sew-mine) transform-and-sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (let ((gp-0 (mod (-> *display* part-clock frame-counter) 100))) (if (< gp-0 (-> self last-time)) (sound-play "sew-mine-flash") @@ -868,14 +867,14 @@ This commonly includes things such as: (defstate die (sew-mine) :virtual #t :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "sew-mine-b") - (process-spawn touch-tracker :init touch-tracker-init (-> self root-override trans) #x47200000 30 :to self) + (process-spawn touch-tracker :init touch-tracker-init (-> self root trans) #x47200000 30 :to self) (let ((part (get-process *default-dead-pool* part-tracker #x4000))) (when part (let ((func (method-of-type part-tracker activate))) @@ -891,7 +890,7 @@ This commonly includes things such as: (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-7) a0-8 a1-6 @@ -959,7 +958,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving cshape)) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -1009,8 +1008,8 @@ This commonly includes things such as: (go-virtual die) ) ) - (set! (-> self root-override trans quad) (-> self center quad)) - (set! (-> self root-override trans y) (+ (-> self center y) (* 819.2 f28-0))) + (set! (-> self root trans quad) (-> self center quad)) + (set! (-> self root trans y) (+ (-> self center y) (* 819.2 f28-0))) ) (transform-post) (none) @@ -1041,7 +1040,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving cshape)) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -1064,9 +1063,9 @@ This commonly includes things such as: ) (set! (-> obj time-skew) (the-as uint (the int (* 300.0 (rand-vu-float-range 0.1 1.4))))) (set! (-> obj period) (* 300.0 (rand-vu-float-range 1.2 1.8))) - (set! (-> obj center quad) (-> obj root-override trans quad)) + (set! (-> obj center quad) (-> obj root trans quad)) (set! (-> obj base-height) (+ -216498.17 (-> obj base-height))) - (set! (-> obj root-override pause-adjust-distance) 532480.0) + (set! (-> obj root pause-adjust-distance) 532480.0) (go (method-of-object obj idle)) (none) ) @@ -1103,14 +1102,14 @@ This commonly includes things such as: (with-pp (let ((target *target*)) (when target - (let ((dist-from-wall (vector-vector-xz-distance (get-trans target 0) (-> obj root-override trans))) + (let ((dist-from-wall (vector-vector-xz-distance (get-trans target 0) (-> obj root trans))) (deadly-radius (-> obj deadly-radius)) (prev-deadly-radius (-> obj prev-deadly-radius)) ) (set! (-> obj prev-deadly-radius) deadly-radius) (when (and (>= deadly-radius dist-from-wall) (>= dist-from-wall (+ -4096.0 prev-deadly-radius))) (let ((cquery (new 'stack-no-clear 'collide-query))) - (set! (-> cquery start-pos quad) (-> obj root-override trans quad)) + (set! (-> cquery start-pos quad) (-> obj root trans quad)) (set! (-> cquery start-pos y) (+ 12288.0 (-> cquery start-pos y))) (vector-! (-> cquery move-dist) (get-trans target 3) (-> cquery start-pos)) (let ((v1-9 cquery)) @@ -1199,7 +1198,7 @@ This commonly includes things such as: (if (not (-> self first-wall?)) (set! arg0 #t) ) - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> (the-as collide-shape-prim-group root-prim) child 0 prim-core collide-with) (collide-spec)) (set! (-> (the-as collide-shape-prim-group root-prim) child 0 prim-core collide-as) (collide-spec)) (if (-> self first-wall?) @@ -1208,7 +1207,7 @@ This commonly includes things such as: ) (set! (-> self draw bounds quad) (-> root-prim local-sphere quad)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let* ((art-group (-> self draw art-group)) (s4-0 (method-of-object art-group get-art-by-name-method)) ) @@ -1228,7 +1227,7 @@ This commonly includes things such as: ) ) (set! (-> self deadly-radius) -1.0) - (let* ((_root-prim (-> self root-override root-prim)) + (let* ((_root-prim (-> self root root-prim)) (collide-with (-> _root-prim prim-core collide-with)) (collide-as (-> _root-prim prim-core collide-as)) ) @@ -1327,7 +1326,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1342,7 +1341,7 @@ This commonly includes things such as: (set! (-> obj anim) (new 'static 'spool-anim :name "sew-wall-2" :anim-name "2-break" :parts 1 :command-list '()) ) - (set! (-> obj root-override trans z) (+ 26624.0 (-> obj root-override trans z))) + (set! (-> obj root trans z) (+ 26624.0 (-> obj root trans z))) (set! (-> obj first-wall?) #f) ) (else @@ -1546,7 +1545,7 @@ This commonly includes things such as: :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 1) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -1579,10 +1578,10 @@ This commonly includes things such as: ) (when target-proc (cond - ((< (vector-vector-distance (-> self root-override2 trans) (get-trans target-proc 0)) 20480.0) + ((< (vector-vector-distance (-> self root trans) (get-trans target-proc 0)) 20480.0) (go-virtual scare) ) - ((< (vector-vector-distance (-> self root-override2 trans) (get-trans target-proc 0)) 102400.0) + ((< (vector-vector-distance (-> self root trans) (get-trans target-proc 0)) 102400.0) (gui-control-method-12 *gui-control* self @@ -1635,7 +1634,7 @@ This commonly includes things such as: (process-spawn manipy :init manipy-init - (-> self root-override2 trans) + (-> self root trans) (-> actor-proc entity) (art-group-get-by-name *level* "skel-sew-grill" (the-as (pointer uint32) #f)) #f @@ -1679,7 +1678,7 @@ This commonly includes things such as: (the-as (function process-drawable symbol) false-func) ) ) - (let ((root-prim (-> self root-override2 root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -1692,7 +1691,7 @@ This commonly includes things such as: ) :post (behavior () (let* ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) - (f1-0 (vector-vector-xz-distance (-> self root-override2 trans) a1-1)) + (f1-0 (vector-vector-xz-distance (-> self root trans) a1-1)) ) (vector-lerp! (-> self draw color-mult) @@ -1701,20 +1700,17 @@ This commonly includes things such as: (fmax 0.0 (fmin 1.0 (* 0.00001994613 f1-0))) ) ) - (let ((scale - (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root-override2 trans) (camera-pos)) 65536.0 204800.0) - ) - ) + (let ((scale (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (camera-pos)) 65536.0 204800.0))) (when *sound-player-enable* (let ((set-sound-param (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> set-sound-param command) (sound-command set-param)) (set! (-> set-sound-param id) (-> self spooled-sound-id)) (set! (-> set-sound-param params volume) (the int (* 1024.0 scale))) - (let ((position (-> self root-override2 trans))) + (let ((position (-> self root trans))) (let ((_self self)) (when (= position #t) - (if (and _self (type? _self process-drawable) (nonzero? (-> _self root-override2))) - (set! position (-> _self root-override2 trans)) + (if (and _self (type? _self process-drawable) (nonzero? (-> _self root))) + (set! position (-> _self root trans)) (set! position (the-as vector #f)) ) ) @@ -1819,7 +1815,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) (set! (-> cshape max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -1840,6 +1836,6 @@ This commonly includes things such as: (let ((func (method-of-type grunt init-enemy!))) (func obj) ) - (set! (-> obj root-override2 trans y) (+ -3276.8 (-> obj root-override2 trans y))) + (set! (-> obj root trans y) (+ -3276.8 (-> obj root trans y))) (none) ) diff --git a/goal_src/jak2/levels/stadium/jetboard/skatea-obs.gc b/goal_src/jak2/levels/stadium/jetboard/skatea-obs.gc index 3c63f6d7db..d9318727f9 100644 --- a/goal_src/jak2/levels/stadium/jetboard/skatea-obs.gc +++ b/goal_src/jak2/levels/stadium/jetboard/skatea-obs.gc @@ -1516,7 +1516,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) s5-0 ) ) @@ -1643,7 +1643,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) s5-0 ) ) @@ -1846,7 +1846,7 @@ This commonly includes things such as: (t9-1 (method-of-object a0-1 spawn)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-6 (-> self root-override trans))) + (let ((v1-6 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 16384.0)) (.mov vf7 a3-1) @@ -1861,7 +1861,7 @@ This commonly includes things such as: (.svf (&-> a1-0 quad) vf6) (t9-1 a0-1 a1-0) ) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self pos-y) (* 2048.0 (cos (* 18204.445 (+ (-> self offset) (* 0.0033333334 (the float (current-time))))))) ) @@ -1893,7 +1893,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1918,15 +1918,11 @@ This commonly includes things such as: (the-as pair 0) ) (set! (-> obj mask) (logior (process-mask crate) (-> obj mask))) - (set! (-> obj pos-y) (-> obj root-override trans y)) + (set! (-> obj pos-y) (-> obj root trans y)) (set! (-> obj offset) (rand-vu)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 539) obj)) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (static-sound-spec "fire-ring" :fo-min 10 :fo-max 30) - (-> obj root-override trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "fire-ring" :fo-min 10 :fo-max 30) (-> obj root trans)) ) (go (method-of-object obj idle)) (none) diff --git a/goal_src/jak2/levels/stadium/racebike.gc b/goal_src/jak2/levels/stadium/racebike.gc index 05c002bc34..408f2feafd 100644 --- a/goal_src/jak2/levels/stadium/racebike.gc +++ b/goal_src/jak2/levels/stadium/racebike.gc @@ -836,7 +836,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -907,7 +907,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/stadium/stadium-obs.gc b/goal_src/jak2/levels/stadium/stadium-obs.gc index a648679216..01a9ebe0e5 100644 --- a/goal_src/jak2/levels/stadium/stadium-obs.gc +++ b/goal_src/jak2/levels/stadium/stadium-obs.gc @@ -348,8 +348,8 @@ This commonly includes things such as: (case arg2 (('get-position) (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> self root-override-2 trans quad)) - (let ((s4-0 (-> self root-override-2 quat))) + (set! (-> s5-1 quad) (-> self root trans quad)) + (let ((s4-0 (-> self root quat))) (case (-> arg3 param 0) (('left) (vector+float*! s5-1 s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) s4-0) 24576.0) @@ -391,24 +391,24 @@ This commonly includes things such as: s4-1 ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry gp-1) - (-> self root-override-2) + (-> self root) (collide-action no-standon) (collide-action) ) - (not (logtest? (-> self root-override-2 penetrated-by) + (not (logtest? (-> self root penetrated-by) (-> (the-as collide-shape (-> (the-as process-drawable s4-1) root)) penetrate-using) ) ) ) - (send-shoves (-> self root-override-2) arg0 (the-as touching-shapes-entry gp-1) 0.7 6144.0 16384.0) + (send-shoves (-> self root) arg0 (the-as touching-shapes-entry gp-1) 0.7 6144.0 16384.0) ) ) ) (('trans) - (-> self root-override-2 trans) + (-> self root trans) ) (('quat) - (-> self root-override-2 quat) + (-> self root quat) ) (('hold) (set! (-> self escort-force (-> arg3 param 0) y) @@ -429,7 +429,7 @@ This commonly includes things such as: (if (not (-> self escort-actor 1)) (set! (-> self escort-actor 1) (entity-actor-lookup (-> self entity) 'alt-actor 1)) ) - (let ((gp-0 (-> self root-override-2))) + (let ((gp-0 (-> self root))) (let ((v1-4 (new 'stack-no-clear 'vector))) (set! (-> v1-4 quad) (-> self dest-pos quad)) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -539,7 +539,7 @@ This commonly includes things such as: (s0-3 0.0) ) (set! sv-752 self) - (set! sv-768 (-> self root-override-2 trans)) + (set! sv-768 (-> self root trans)) (let ((a2-11 (target-pos 0))) (set! (-> self speed) (* f30-1 (s2-1 s1-2 s0-3 (s3-0 sv-752 sv-768 a2-11 s4-0) 143360.0 245760.0))) ) @@ -555,7 +555,7 @@ This commonly includes things such as: (vector-v++! (-> gp-0 trans) (-> gp-0 transv)) ) 0 - (let ((v1-43 (-> self root-override-2)) + (let ((v1-43 (-> self root)) (a2-14 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-14 collide-with) (collide-spec backgnd)) @@ -586,10 +586,10 @@ This commonly includes things such as: (gp-0 (new 'stack-no-clear 'vector)) ) (let ((f30-0 (* (-> obj rbody state info mass) (-> obj info extra gravity)))) - (let ((a1-2 (quaternion-conjugate! (new 'stack-no-clear 'quaternion) (-> obj root-override-2 quat)))) + (let ((a1-2 (quaternion-conjugate! (new 'stack-no-clear 'quaternion) (-> obj root quat)))) (vector-z-quaternion! (new 'stack-no-clear 'vector) a1-2) ) - (let ((f28-0 (fmax 0.0 (fmin 1.0 (* 0.000020345053 (- (-> obj dest-pos y) (-> obj root-override-2 trans y))))))) + (let ((f28-0 (fmax 0.0 (fmin 1.0 (* 0.000020345053 (- (-> obj dest-pos y) (-> obj root trans y))))))) (vector-reset! s5-0) (set! (-> s5-0 y) (* -1.0 f30-0)) (let ((v1-10 (-> obj rbody)) @@ -602,7 +602,7 @@ This commonly includes things such as: *y-vector* (fmin 20480.0 (* 1.5 f30-0 f28-0 (fmax 0.2 (* (-> obj escort-force 0 y) (-> obj escort-force 1 y))))) ) - (set! (-> gp-0 quad) (-> obj root-override-2 trans quad)) + (set! (-> gp-0 quad) (-> obj root trans quad)) (let ((v1-17 (-> obj rbody)) (a1-5 gp-0) (a2-1 s5-0) @@ -610,11 +610,11 @@ This commonly includes things such as: (rigid-body-method-18 (-> v1-17 state) a1-5 a2-1) ) (vector-reset! s5-0) - (vector-! s5-0 (-> obj dest-pos) (-> obj root-override-2 trans)) + (vector-! s5-0 (-> obj dest-pos) (-> obj root trans)) (vector-float*! s5-0 s5-0 8.0) (set! (-> s5-0 y) 0.0) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 0) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 0) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-27 (-> obj rbody)) (a1-12 gp-0) (a2-3 s5-0) @@ -622,16 +622,16 @@ This commonly includes things such as: (rigid-body-method-18 (-> v1-27 state) a1-12 a2-3) ) (vector-normalize-copy! s5-0 *y-vector* (* 0.5 f30-0 f28-0 (-> obj escort-force 0 y))) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 1) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 1) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-34 (-> obj rbody)) (a1-17 gp-0) (a2-6 s5-0) ) (rigid-body-method-18 (-> v1-34 state) a1-17 a2-6) ) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 2) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 2) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-40 (-> obj rbody)) (a1-21 gp-0) (a2-8 s5-0) @@ -641,16 +641,16 @@ This commonly includes things such as: (vector-normalize-copy! s5-0 *y-vector* (* 0.5 f30-0 f28-0 (-> obj escort-force 1 y))) ) ) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 3) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 3) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-47 (-> obj rbody)) (a1-26 gp-0) (a2-11 s5-0) ) (rigid-body-method-18 (-> v1-47 state) a1-26 a2-11) ) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 4) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 4) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (rigid-body-method-18 (-> obj rbody state) gp-0 s5-0) ) 0 @@ -688,7 +688,7 @@ This commonly includes things such as: (set! (-> self speed) 0.0) (set! (-> self height) 49152.0) (set! (-> self hover-volume) 0.0) - (set! (-> self dest-pos quad) (-> self root-override-2 trans quad)) + (set! (-> self dest-pos quad) (-> self root trans quad)) (none) ) :exit (behavior () @@ -699,7 +699,7 @@ This commonly includes things such as: (dotimes (gp-0 2) (seek! (-> self escort-force gp-0 y) 0.0 (* 0.3 (-> self clock seconds-per-frame))) ) - (let ((f30-0 (get-furthest-point-on-path (-> self path) (-> self root-override-2 trans)))) + (let ((f30-0 (get-furthest-point-on-path (-> self path) (-> self root trans)))) (if (< 8.0 f30-0) (go-virtual defend-stadium-land) ) @@ -741,10 +741,10 @@ This commonly includes things such as: 0 0 (sound-group sfx) - (-> self root-override-2 trans) + (-> self root trans) ) (seek! (-> self hover-volume) 1.0 (-> self clock seconds-per-frame)) - (spawn (-> self part) (-> self root-override-2 trans)) + (spawn (-> self part) (-> self root trans)) (rift-rider-travel-post) (none) ) @@ -755,7 +755,7 @@ This commonly includes things such as: :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (case event-type (('get-position) - (set! (-> (the-as vector (-> event param 1)) quad) (-> self root-override-2 trans quad)) + (set! (-> (the-as vector (-> event param 1)) quad) (-> self root trans quad)) (set! (-> (the-as vector (-> event param 1)) y) (-> (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (-> self path-pos) 'interp) y) ) @@ -788,9 +788,9 @@ This commonly includes things such as: ) ) ) - (let ((f0-0 (get-furthest-point-on-path (-> self path) (-> self root-override-2 trans)))) + (let ((f0-0 (get-furthest-point-on-path (-> self path) (-> self root trans)))) (set! (-> self height) - (- (-> self root-override-2 trans y) + (- (-> self root trans y) (-> (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) f0-0 'interp) y) ) ) @@ -809,7 +809,7 @@ This commonly includes things such as: :trans (behavior () (if (< (vector-vector-xz-distance (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (get-num-segments (-> self path)) 'interp) - (-> self root-override-2 trans) + (-> self root trans) ) 12288.0 ) @@ -822,13 +822,12 @@ This commonly includes things such as: (seek! (-> self height) 4096.0 (* 6144.0 (-> self clock seconds-per-frame))) (get-point-in-path! (-> self path) (-> self dest-pos) (-> self path-pos) 'interp) (+! (-> self dest-pos y) (-> self height)) - (set! (-> self path-pos) - (fmin - (get-num-segments (-> self path)) - (+ 0.1 (get-furthest-point-on-path (-> self path) (-> self root-override-2 trans))) - ) + (set! (-> self path-pos) (fmin + (get-num-segments (-> self path)) + (+ 0.1 (get-furthest-point-on-path (-> self path) (-> self root trans))) + ) ) - (let ((gp-0 (-> self root-override-2))) + (let ((gp-0 (-> self root))) (let ((v1-10 (new 'stack-no-clear 'vector))) (set! (-> v1-10 quad) (-> self dest-pos quad)) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -860,7 +859,7 @@ This commonly includes things such as: ) ) ) - (spawn (-> self part) (-> self root-override-2 trans)) + (spawn (-> self part) (-> self root trans)) (pusher-post) (none) ) @@ -918,7 +917,7 @@ This commonly includes things such as: (dotimes (gp-0 2) (seek! (-> self escort-force gp-0 y) 0.0 (* 1.6 (-> self clock seconds-per-frame))) ) - (let ((v1-8 (-> self root-override-2)) + (let ((v1-8 (-> self root)) (a2-1 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-1 collide-with) (collide-spec backgnd)) @@ -952,7 +951,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override-2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -1036,7 +1035,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1063,12 +1062,12 @@ This commonly includes things such as: (new 'process 'shadow-control 0.0 0.0 614400.0 (shadow-flags shdf02 shdf03 shdf04 disable-draw) 245760.0) ) (quad-copy! (the-as pointer (-> obj draw shadow-ctrl settings)) (the-as pointer *default-shadow-settings*) 5) - (set! (-> obj root-override-2 dynam gravity y) 81920.0) - (set! (-> obj root-override-2 dynam gravity-length) 81920.0) - (set! (-> obj root-override-2 dynam gravity-max) 81920.0) + (set! (-> obj root dynam gravity y) 81920.0) + (set! (-> obj root dynam gravity-length) 81920.0) + (set! (-> obj root dynam gravity-max) 81920.0) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0 (the-as entity #f) #t)) (set! (-> obj height) 0.0) - (set! (-> obj init-height) (-> obj root-override-2 trans y)) + (set! (-> obj init-height) (-> obj root trans y)) (set! (-> obj escort-actor 0) #f) (set! (-> obj escort-actor 1) #f) (set! (-> obj brutter-balloon-actor) #f) @@ -1189,7 +1188,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1321,7 +1320,7 @@ This commonly includes things such as: (define *stad-samos-lightning-joint-tbl* (new 'static 'boxed-array :type int32 14 15 16 18 19 20 22 23)) (deftype stad-samos (process-focusable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (rift-rider-actor entity-actor :offset-assert 204) (lightning handle 4 :offset-assert 208) (speed float :offset-assert 240) @@ -1371,7 +1370,7 @@ This commonly includes things such as: (defbehavior stad-samos-post stad-samos () (when (>= (- (current-time) (-> self cquery-timer)) (seconds 0.32)) - (move-to-ground (-> self root-override2) 40960.0 40960.0 #t (collide-spec backgnd)) + (move-to-ground (-> self root) 40960.0 40960.0 #t (collide-spec backgnd)) (set! (-> self cquery-timer) (current-time)) ) (when (and (nonzero? (-> self focus-disable-timer)) (< (-> self focus-disable-timer) (current-time))) @@ -1452,7 +1451,7 @@ This commonly includes things such as: #f ) (('trans) - (-> self root-override2 trans) + (-> self root trans) ) (('touched) (send-event arg0 'touch (-> arg3 param 0)) @@ -1469,7 +1468,7 @@ This commonly includes things such as: ) (cond (a0-14 - (vector-! (-> self hit-dir) (-> self root-override2 trans) (-> (the-as process-drawable a0-14) root trans)) + (vector-! (-> self hit-dir) (-> self root trans) (-> (the-as process-drawable a0-14) root trans)) (vector-normalize! (-> self hit-dir) 1.0) ) ((logtest? (attack-info-mask attacker-velocity) (-> (the-as attack-info s5-1) mask)) @@ -1738,14 +1737,14 @@ This commonly includes things such as: (let ((a2-2 (-> self nav state))) (set! (-> v1-25 quad) (-> a2-2 velocity quad)) ) - (let ((a0-15 (-> self root-override2 transv))) + (let ((a0-15 (-> self root transv))) (set! (-> a0-15 x) (-> v1-25 x)) (set! (-> a0-15 y) 0.0) (set! (-> a0-15 z) (-> v1-25 z)) ) ) 0 - (let ((gp-2 (-> self root-override2))) + (let ((gp-2 (-> self root))) (let ((a2-5 (new 'stack-no-clear 'move-above-ground-params))) (set! (-> a2-5 gnd-collide-with) (collide-spec backgnd)) (set! (-> a2-5 popup) 8192.0) @@ -1767,12 +1766,7 @@ This commonly includes things such as: (vector-normalize! s4-0 1.0) (quaternion-set! s5-0 0.0 (-> s4-0 x) 0.0 (+ 1.0 (-> s4-0 z))) (quaternion-normalize! s5-0) - (quaternion-slerp! - (-> self root-override2 quat) - (-> self root-override2 quat) - s5-0 - (* 8.0 (-> self clock seconds-per-frame)) - ) + (quaternion-slerp! (-> self root quat) (-> self root quat) s5-0 (* 8.0 (-> self clock seconds-per-frame))) ) (seek! (-> self observed-speed) @@ -1807,17 +1801,15 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 12288.0 49152.0 f30-0)) (set! (-> gp-0 y) (lerp 32768.0 65536.0 f30-0)) ) (cond - ((< (-> (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root-override2 quat)) - z - ) + ((< (-> (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root quat)) z) 0.0 ) (set! (-> self knocked-anim) (-> self knocked-back-anim)) @@ -1874,10 +1866,10 @@ This commonly includes things such as: (suspend) (ja :num! (seek!)) ) - (while (not (logtest? (-> self root-override2 status) (collide-status on-surface))) + (while (not (logtest? (-> self root status) (collide-status on-surface))) (suspend) ) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self falling?) #f) (ja-no-eval :group! (-> self draw art-group data (-> self knocked-land-anim)) :num! (seek! @@ -1899,12 +1891,9 @@ This commonly includes things such as: ) :post (behavior () (if (-> self falling?) - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 1.0)) ) - (let ((gp-1 (-> self root-override2))) + (let ((gp-1 (-> self root))) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (-> gp-1 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) @@ -1960,9 +1949,9 @@ This commonly includes things such as: ) :code (behavior () (send-event *camera* 'change-target self) - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 24576.0 65536.0 f30-0)) (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) @@ -2090,7 +2079,6 @@ This commonly includes things such as: - collision information - loading the skeleton group / bones - sounds" - (stack-size-set! (-> obj main-thread) #x180) ;; added (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) (set! (-> s4-0 reaction) cshape-reaction-default) @@ -2138,7 +2126,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override2) s4-0) + (set! (-> obj root) s4-0) ) (set! (-> obj hud) (the-as handle #f)) (set! (-> obj hud-bot-index) 0) @@ -2247,8 +2235,8 @@ This commonly includes things such as: (v1-25 (t9-3 a0-3 a1-3)) ) (when v1-25 - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (the-as vector v1-25) (-> self root-override2 trans))) - (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (the-as vector v1-25) (-> self root trans))) + (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (set! (-> gp-1 y) 0.0) (vector-xz-normalize! gp-1 1.0) @@ -2476,7 +2464,7 @@ This commonly includes things such as: (let ((s4-1 run-function-in-process) (s2-0 s3-0) (s1-0 manipy-init) - (s0-0 (-> obj root-override trans)) + (s0-0 (-> obj root trans)) ) (set! sv-256 (-> obj entity)) (let ((t0-0 (art-group-get-by-name *level* "skel-generic-ripples" (the-as (pointer uint32) #f))) @@ -2510,8 +2498,8 @@ This commonly includes things such as: (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root scale) 1.0 1.0 1.0 1.0) (let ((s2-1 (-> arg0 head))) (while s2-1 - (get-touched-prim s2-1 (-> obj root-override) arg0) - (set! sv-272 (get-touched-tri s2-1 (-> obj root-override) arg0)) + (get-touched-prim s2-1 (-> obj root) arg0) + (set! sv-272 (get-touched-tri s2-1 (-> obj root) arg0)) (when sv-272 (quaternion-look-at! (-> (the-as process-drawable (-> s4-0 0)) root quat) (-> sv-272 normal) *up-vector*) (set! (-> obj plane quad) (-> sv-272 normal quad)) @@ -2736,7 +2724,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/goal_src/jak2/levels/stadium/stadium-scenes.gc b/goal_src/jak2/levels/stadium/stadium-scenes.gc index f5ed26f4a7..dba52f292b 100644 --- a/goal_src/jak2/levels/stadium/stadium-scenes.gc +++ b/goal_src/jak2/levels/stadium/stadium-scenes.gc @@ -1930,7 +1930,7 @@ (set! (-> gp-0 info sky) #f) ) ) - (the-as object (race-start 2 #f #t)) + (the-as object (race-start 2 (the-as process #f) #t)) ) ) ) diff --git a/goal_src/jak2/levels/strip/strip-drop.gc b/goal_src/jak2/levels/strip/strip-drop.gc index 08771d045c..d5e3538a68 100644 --- a/goal_src/jak2/levels/strip/strip-drop.gc +++ b/goal_src/jak2/levels/strip/strip-drop.gc @@ -476,7 +476,7 @@ This commonly includes things such as: ) (deftype cranecrate (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (unknown-pad-n12jn3123123 int32 52 :offset-assert 200) ) :heap-base #x120 @@ -547,7 +547,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -555,7 +555,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-cranecrate" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> obj root-override trans y) (+ -163348.48 (-> obj root-override trans y))) + (set! (-> obj root trans y) (+ -163348.48 (-> obj root trans y))) (when (or (demo?) (and (= *kernel-boot-message* 'kiosk) (task-node-open? (game-task-node strip-drop-resolution)))) (let ((s5-2 (new 'stack-no-clear 'task-arrow-params))) (set! (-> s5-2 pos quad) (-> (new 'static 'vector :x 9920120.0 :y 288036.03 :z -179639.1 :w 1.0) quad)) @@ -658,7 +658,7 @@ This commonly includes things such as: ) (when (and v1-2 ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s5-0) - (-> v1-2 root-override) + (-> v1-2 root) (collide-action solid) (collide-action) ) diff --git a/goal_src/jak2/levels/strip/strip-obs.gc b/goal_src/jak2/levels/strip/strip-obs.gc index 9f21d36e56..7a5f3f4121 100644 --- a/goal_src/jak2/levels/strip/strip-obs.gc +++ b/goal_src/jak2/levels/strip/strip-obs.gc @@ -45,7 +45,7 @@ ) (deftype strip-hazard (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (sync sync-linear :inline :offset-assert 200) (shove-vec vector :inline :offset-assert 224) (no-collision-timer uint64 :offset-assert 240) @@ -74,8 +74,8 @@ ) ) (when gp-0 - (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) - (let* ((v1-4 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> gp-0 root-override quat))) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) + (let* ((v1-4 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> gp-0 root quat))) (f0-1 (vector-dot s4-1 v1-4)) ) (if (< 0.0 f0-1) @@ -101,7 +101,7 @@ ) (when (send-event-function gp-0 a1-7) (set! (-> self no-collision-timer) (the-as uint (current-time))) - (let ((v1-18 (-> self root-override root-prim))) + (let ((v1-18 (-> self root root-prim))) (set! (-> v1-18 prim-core collide-as) (collide-spec)) (set! (-> v1-18 prim-core collide-with) (collide-spec)) ) @@ -121,9 +121,9 @@ (when (and (nonzero? (-> self no-collision-timer)) (>= (- (current-time) (the-as int (-> self no-collision-timer))) (seconds 0.3)) ) - (let ((v1-7 (-> self root-override root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self no-collision-timer) (the-as uint 0)) 0 @@ -132,7 +132,7 @@ (set! (-> a1-0 options) (overlaps-others-options oo0)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (none) ) @@ -241,8 +241,8 @@ This commonly includes things such as: ) ) (quaternion-rotate-local-x! - (-> self root-override quat) - (-> self root-override quat) + (-> self root quat) + (-> self root quat) (* (-> self spin) (-> self clock seconds-per-frame)) ) (strip-trans) @@ -291,7 +291,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-19 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -302,7 +302,7 @@ This commonly includes things such as: (let ((t9-9 (method-of-type strip-hazard init-from-entity!))) (t9-9 obj arg0) ) - (quaternion-copy! (-> obj start-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj start-quat) (-> obj root quat)) (set! sv-16 "#f") (let ((a0-24 (entity-lookup-part-group arg0 (& sv-16) 'art-name))) (when a0-24 @@ -373,7 +373,7 @@ This commonly includes things such as: ) ) (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) - (let ((f0-0 (quaternion-y-angle (-> self root-override quat)))) + (let ((f0-0 (quaternion-y-angle (-> self root quat)))) (set! (-> *pitspikes-rotate-pos* quad) (-> gp-0 quad)) (set! (-> *pitspikes-rotate-pos* w) f0-0) ) @@ -421,7 +421,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -485,7 +485,7 @@ This commonly includes things such as: (set! (-> gp-0 z) 0.0) (set! (-> gp-0 w) 1.0) (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) - (vector-orient-by-quat! gp-0 gp-0 (-> self root-override quat)) + (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) (vector+! s5-0 s5-0 gp-0) (spawn (-> self part) s5-0) ) @@ -521,7 +521,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -546,7 +546,7 @@ This commonly includes things such as: ) (deftype grenade-point (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (camera-name string :offset-assert 200) (parented? symbol :offset-assert 204) (lightning-time time-frame :offset-assert 208) @@ -802,11 +802,11 @@ This commonly includes things such as: ) :code (the-as (function none :behavior grenade-point) sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (when (< (-> self lightning-time) (current-time)) (set! (-> self lightning-time) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.6 1.4))))) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (let* ((gp-1 (-> self strike-table (-> self last-strike-index))) (s4-1 (vector-! (new 'stack-no-clear 'vector) gp-1 s5-0)) (a1-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) s4-1 13107.2)) @@ -869,13 +869,13 @@ This commonly includes things such as: (stop! (-> self sound)) (set! (-> self sound spec) (static-sound-spec "eco-plume2" :fo-min 5 :fo-max 90)) (while (not (task-complete? *game-info* (-> self entity extra perm task))) - (spawn (-> self part2) (-> self root-override trans)) + (spawn (-> self part2) (-> self root trans)) (update! (-> self sound)) (suspend) ) (kill-and-free-particles (-> self part2)) (until #f - (spawn (-> self part3) (-> self root-override trans)) + (spawn (-> self part3) (-> self root trans)) (update! (-> self sound)) (suspend) ) @@ -913,7 +913,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (set! (-> obj camera-name) (res-lump-struct (-> obj entity) 'camera-name string)) @@ -929,14 +929,10 @@ This commonly includes things such as: ) (set! (-> obj last-strike-index) (rand-vu-int-range 0 19)) (set! (-> obj speed) (res-lump-float (-> obj entity) 'speed :default 118784.0)) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (static-sound-spec "eco-plume1" :fo-min 5 :fo-max 90) - (-> obj root-override trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "eco-plume1" :fo-min 5 :fo-max 90) (-> obj root trans)) ) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (logclear! (-> obj mask) (process-mask actor-pause)) (if (or (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (task-complete? *game-info* (game-task strip-grenade)) @@ -1156,7 +1152,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -1205,7 +1201,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -1254,7 +1250,7 @@ This commonly includes things such as: (let ((a0-3 (-> v1-1 root)) (a1-2 (new 'stack-no-clear 'collide-query)) ) - (let ((v1-4 (-> self root-override root-prim prim-core)) + (let ((v1-4 (-> self root root-prim prim-core)) (a0-5 (-> (the-as collide-shape a0-3) root-prim prim-core)) ) 0.0 @@ -1266,7 +1262,7 @@ This commonly includes things such as: (set! (-> v1-5 collide-with) (collide-spec backgnd)) (set! (-> v1-5 ignore-process0) self) (set! (-> v1-5 ignore-process1) #f) - (set! (-> v1-5 ignore-pat) (-> self root-override pat-ignore-mask)) + (set! (-> v1-5 ignore-pat) (-> self root pat-ignore-mask)) (set! (-> v1-5 action-mask) (collide-action solid)) ) (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-2) 0.0) @@ -1302,7 +1298,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-set! 0) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 local-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core world-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core collide-with) @@ -1310,15 +1306,15 @@ This commonly includes things such as: ) (set! (-> v1-1 prim-core collide-as) (collide-spec enemy)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (suspend) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -1339,32 +1335,29 @@ This commonly includes things such as: (defmethod grenade-method-40 grenade ((obj grenade)) (let ((s5-0 (the-as process-drawable (-> obj end-target process 0)))) (when s5-0 - (set! (-> obj root-override transv x) (* 4.0 (- (-> s5-0 root trans x) (-> obj root-override trans x)))) - (set! (-> obj root-override transv z) (* 4.0 (- (-> s5-0 root trans z) (-> obj root-override trans z)))) - (let ((v1-12 (-> obj root-override transv))) + (set! (-> obj root transv x) (* 4.0 (- (-> s5-0 root trans x) (-> obj root trans x)))) + (set! (-> obj root transv z) (* 4.0 (- (-> s5-0 root trans z) (-> obj root trans z)))) + (let ((v1-12 (-> obj root transv))) (if (< (sqrtf (+ (* (-> v1-12 x) (-> v1-12 x)) (* (-> v1-12 z) (-> v1-12 z)))) 16384.0) - (vector-xz-normalize! (-> obj root-override transv) 16384.0) + (vector-xz-normalize! (-> obj root transv) 16384.0) ) ) - (if (or (logtest? (-> obj root-override status) (collide-status on-surface on-ground)) - (< (vector-vector-distance (-> s5-0 root trans) (-> obj root-override trans)) 4096.0) + (if (or (logtest? (-> obj root status) (collide-status on-surface on-ground)) + (< (vector-vector-distance (-> s5-0 root trans) (-> obj root trans)) 4096.0) ) (go (method-of-object obj impact)) ) ) ) - (vector-v++! - (-> obj root-override transv) - (compute-acc-due-to-gravity (-> obj root-override) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> obj root transv) (compute-acc-due-to-gravity (-> obj root) (new-stack-vector0) 1.0)) 0 (none) ) (defmethod grenade-method-41 grenade ((obj grenade)) - (quaternion*! (-> obj root-override quat) (-> obj root-override quat) (-> obj tumble-quat)) + (quaternion*! (-> obj root quat) (-> obj root quat) (-> obj tumble-quat)) (projectile-move-fill-all-dirs obj) - (set-setting! 'point-of-interest 'abs (-> obj root-override trans) 0) + (set-setting! 'point-of-interest 'abs (-> obj root trans) 0) 0 (none) ) @@ -1396,7 +1389,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -1410,18 +1403,18 @@ This commonly includes things such as: (the-as pair 0) ) (logclear! (-> obj options) (projectile-options proj-options-4)) - (vector-normalize! (-> obj root-override transv) 1.0) - (set! (-> obj root-override transv y) (+ 1.0 (-> obj root-override transv y))) - (vector-normalize! (-> obj root-override transv) 184320.0) + (vector-normalize! (-> obj root transv) 1.0) + (set! (-> obj root transv y) (+ 1.0 (-> obj root transv y))) + (vector-normalize! (-> obj root transv) 184320.0) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj blast-radius) 20480.0) (set! (-> obj max-speed) 184320.0) (set! (-> obj timeout) (seconds 3.6)) (set! (-> obj update-velocity) (method-of-object obj grenade-method-40)) (set! (-> obj move) (method-of-object obj grenade-method-41)) - (set! (-> obj root-override dynam gravity y) 327680.0) - (set! (-> obj root-override dynam gravity-length) 327680.0) - (set! (-> obj root-override dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (let ((f0-7 1092.2667)) (quaternion-axis-angle! (-> obj tumble-quat) 1.0 0.0 0.0 f0-7) ) @@ -1750,7 +1743,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1763,7 +1756,7 @@ This commonly includes things such as: ) (logclear! (-> obj mask) (process-mask actor-pause)) (let ((a3-5 (new 'stack-no-clear 'vector))) - (set! (-> a3-5 quad) (-> obj root-override trans quad)) + (set! (-> a3-5 quad) (-> obj root trans quad)) (set! (-> a3-5 x) (+ 57344.0 (-> a3-5 x))) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "drill-plat-a" :fo-max 90) a3-5)) ) diff --git a/goal_src/jak2/levels/strip/strip-rescue.gc b/goal_src/jak2/levels/strip/strip-rescue.gc index 05bcf9eaba..1a8ed42978 100644 --- a/goal_src/jak2/levels/strip/strip-rescue.gc +++ b/goal_src/jak2/levels/strip/strip-rescue.gc @@ -13,7 +13,7 @@ ) (deftype cntrlrm-door (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (unknown-pad-k1jhb2n3k1j int32 52 :offset-assert 200) ) :heap-base #x120 @@ -96,7 +96,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -117,7 +117,7 @@ This commonly includes things such as: ) (deftype cntrlrm-button (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (unknown-pad-n12jn3123123 int32 52 :offset-assert 200) ) :heap-base #x120 @@ -179,7 +179,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton diff --git a/goal_src/jak2/levels/temple/mountain-obs.gc b/goal_src/jak2/levels/temple/mountain-obs.gc index 278619ffcd..a55caf50a7 100644 --- a/goal_src/jak2/levels/temple/mountain-obs.gc +++ b/goal_src/jak2/levels/temple/mountain-obs.gc @@ -111,7 +111,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -272,7 +272,7 @@ ) (deftype mtn-dice (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (incoming-attack-id uint32 :offset-assert 200) (watervol entity-actor :offset-assert 204) (face-matrix matrix 6 :inline :offset-assert 208) @@ -373,7 +373,7 @@ (dotimes (gp-0 6) (matrix-rotate-xyz! (-> self face-matrix gp-0) (-> *dice-angle-array* gp-0)) (set! (-> self face-matrix gp-0 trans quad) (-> *dice-position-array* gp-0 quad)) - (vector+! (-> self face-matrix gp-0 trans) (-> self face-matrix gp-0 trans) (-> self root-override trans)) + (vector+! (-> self face-matrix gp-0 trans) (-> self face-matrix gp-0 trans) (-> self root trans)) (set! (-> self face-matrix gp-0 trans y) (+ 8192.0 (-> self face-matrix gp-0 trans y))) (let* ((v1-40 (-> self face-matrix-back gp-0)) (a3-0 (-> self face-matrix gp-0)) @@ -388,7 +388,7 @@ (set! (-> v1-40 trans quad) a3-1) ) (set! (-> self face-status gp-0) 0) - (let ((v1-44 (-> self root-override root-prim))) + (let ((v1-44 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-44) child gp-0 prim-core action) (collide-action rideable)) ) ) @@ -420,7 +420,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s3-0 (-> arg0 root-override)) + (let* ((s3-0 (-> arg0 root)) (s4-0 (if (type? s3-0 collide-shape) s3-0 ) @@ -439,7 +439,7 @@ ) (let ((s1-1 (-> arg1 head))) (while s1-1 - (let ((v1-4 (get-touched-prim s1-1 (-> obj root-override) arg1))) + (let ((v1-4 (get-touched-prim s1-1 (-> obj root) arg1))) (-> v1-4 cshape) (set! sv-128 (new 'stack-no-clear 'vector)) (set! (-> sv-128 quad) (the-as uint128 0)) @@ -542,19 +542,16 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s3-0 (-> arg1 root-override)) + (let* ((s3-0 (-> arg1 root)) (s0-0 (if (type? s3-0 collide-shape) s3-0 ) ) ) (when s0-0 - (let ((s5-1 ((method-of-type touching-prims-entry get-touched-prim) - (the-as touching-prims-entry arg0) - (-> obj root-override) - arg2 - ) - ) + (let ((s5-1 + ((method-of-type touching-prims-entry get-touched-prim) (the-as touching-prims-entry arg0) (-> obj root) arg2) + ) ) (-> s5-1 cshape) (let ((s1-0 (new-stack-vector0)) @@ -751,7 +748,7 @@ (the-as process-focusable s2-0) ) ) - (s2-1 (-> (the-as process-focusable s3-0) root-override)) + (s2-1 (-> (the-as process-focusable s3-0) root)) (s3-1 (if (type? s2-1 collide-shape) s2-1 ) @@ -762,8 +759,8 @@ (s1-0 (-> (the-as touching-shapes-entry s2-2) head)) ) (while s1-0 - (let ((s0-0 (get-touched-tri s1-0 (-> self root-override) (the-as touching-shapes-entry s2-2))) - (a1-13 (get-touched-prim s1-0 (-> self root-override) (the-as touching-shapes-entry s2-2))) + (let ((s0-0 (get-touched-tri s1-0 (-> self root) (the-as touching-shapes-entry s2-2))) + (a1-13 (get-touched-prim s1-0 (-> self root) (the-as touching-shapes-entry s2-2))) (v1-30 (new 'stack-no-clear 'matrix)) ) (let* ((a3-6 (-> self node-list data (+ (-> a1-13 prim-id) 4) bone transform)) @@ -834,7 +831,7 @@ ) ) ) - (let ((s5-3 (-> (the-as process-focusable s3-2) root-override))) + (let ((s5-3 (-> (the-as process-focusable s3-2) root))) (if (type? s5-3 collide-shape) (empty) ) @@ -890,8 +887,8 @@ (set! (-> self color z) (-> self color x)) (set! (-> self draw color-mult quad) (-> self color quad)) (when (zero? (-> self active)) - (let* ((v1-15 (the int (* 0.00024414062 (-> self root-override trans x)))) - (a0-5 (the int (* 0.00024414062 (-> self root-override trans z)))) + (let* ((v1-15 (the int (* 0.00024414062 (-> self root trans x)))) + (a0-5 (the int (* 0.00024414062 (-> self root trans z)))) (s5-0 (/ (- *dice-offset-x* v1-15) -4)) (gp-0 (/ (- *dice-offset-z* a0-5) -4)) ) @@ -905,7 +902,7 @@ (set! (-> *dice-last-safe-position* y) (+ 8192.0 (-> *dice-last-safe-position* y))) ) (when (not (dice-wrong-way?)) - (set! (-> *dice-back-way* *dice-back-way-num* quad) (-> self root-override trans quad)) + (set! (-> *dice-back-way* *dice-back-way-num* quad) (-> self root trans quad)) (set! *dice-back-way-num* (+ *dice-back-way-num* 1)) ) (set! (-> *dice-blocked-array* gp-0) @@ -1140,7 +1137,7 @@ ) (else (when (!= (-> gp-0 free-face) 5) - (let ((a0-47 (-> gp-0 root-override root-prim))) + (let ((a0-47 (-> gp-0 root root-prim))) (logior! (-> (the-as collide-shape-prim-group a0-47) child s2-0 prim-core action) (collide-action rideable)) ) ) @@ -1302,15 +1299,13 @@ (s3-1 (new 'stack-no-clear 'vector)) ) (vector-average! s2-1 s4-0 s5-0) - (vector-! s2-1 s2-1 (-> gp-0 root-override trans)) + (vector-! s2-1 s2-1 (-> gp-0 root trans)) (vector-! s3-1 s5-0 s4-0) (set! (-> gp-0 draw bounds quad) (-> s2-1 quad)) (set! (-> gp-0 draw bounds w) (+ 16384.0 (* 0.5 (vector-length s3-1)))) ) ) - (set! (-> (the-as collide-shape (-> gp-0 root-override)) root-prim local-sphere quad) - (-> gp-0 draw bounds quad) - ) + (set! (-> (the-as collide-shape (-> gp-0 root)) root-prim local-sphere quad) (-> gp-0 draw bounds quad)) (vector-rotate90-around-y! (-> gp-0 draw bounds) (-> gp-0 draw bounds)) ) 0 @@ -1383,7 +1378,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1398,9 +1393,9 @@ This commonly includes things such as: (set! (-> obj first) (the-as uint 1)) ) ) - (let* ((a0-48 (the int (* 0.00024414062 (-> obj root-override trans x)))) - (v1-37 (the int (* 0.00024414062 (-> obj root-override trans y)))) - (a1-21 (the int (* 0.00024414062 (-> obj root-override trans z)))) + (let* ((a0-48 (the int (* 0.00024414062 (-> obj root trans x)))) + (v1-37 (the int (* 0.00024414062 (-> obj root trans y)))) + (a1-21 (the int (* 0.00024414062 (-> obj root trans z)))) (a0-49 (- a0-48 *dice-offset-x*)) (a2-13 (- a1-21 *dice-offset-z*)) (a1-22 (+ a0-49 1)) @@ -1411,14 +1406,14 @@ This commonly includes things such as: (a1-24 (+ a1-23 *dice-offset-x*)) (a0-52 (+ a0-51 *dice-offset-z*)) ) - (set! (-> obj root-override trans x) (* 4096.0 (the float a1-24))) - (set! (-> obj root-override trans y) (* 4096.0 (the float v1-38))) - (set! (-> obj root-override trans z) (* 4096.0 (the float a0-52))) + (set! (-> obj root trans x) (* 4096.0 (the float a1-24))) + (set! (-> obj root trans y) (* 4096.0 (the float v1-38))) + (set! (-> obj root trans z) (* 4096.0 (the float a0-52))) ) (dotimes (s4-2 6) (matrix-rotate-xyz! (-> obj face-matrix s4-2) (-> *dice-angle-array* s4-2)) (set! (-> obj face-matrix s4-2 trans quad) (-> *dice-position-array* s4-2 quad)) - (vector+! (-> obj face-matrix s4-2 trans) (-> obj face-matrix s4-2 trans) (-> obj root-override trans)) + (vector+! (-> obj face-matrix s4-2 trans) (-> obj face-matrix s4-2 trans) (-> obj root trans)) (set! (-> obj face-matrix s4-2 trans y) (+ 8192.0 (-> obj face-matrix s4-2 trans y))) ) (mem-set32! (the-as pointer *dice-blocked-array*) 13 0) @@ -1487,7 +1482,7 @@ This commonly includes things such as: (defmethod set-ambient-sound! mtn-plat-elevator ((obj mtn-plat-elevator)) "Sets the elevator's [[ambient-sound]] up" (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "mtn-elevator-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "mtn-elevator-lp" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -1503,7 +1498,7 @@ This commonly includes things such as: (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) ) (and (< (-> a0-3 y) (-> s4-0 y)) - (< (-> arg0 y) (+ -4096.0 (-> obj root-override trans y))) + (< (-> arg0 y) (+ -4096.0 (-> obj root trans y))) (< (vector-vector-xz-distance a0-3 arg0) 24576.0) ) ) @@ -1527,7 +1522,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1603,7 +1598,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1840,7 +1835,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1862,7 +1857,7 @@ This commonly includes things such as: (the-as pair 0) ) (stop-bouncing! obj) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (base-plat-method-32 obj) (set! (-> obj fact) (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) @@ -2718,7 +2713,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -2748,10 +2743,10 @@ This commonly includes things such as: (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (let ((f30-0 (total-distance (-> obj path)))) (set! (-> obj path-speed) (/ (res-lump-float arg0 'speed :default 40960.0) f30-0)) - (set! (-> obj root-override pause-adjust-distance) (+ 204800.0 f30-0)) + (set! (-> obj root pause-adjust-distance) (+ 204800.0 f30-0)) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 70) (-> obj root trans)) ) (init-plat! obj) (mtn-plat-return-method-37 obj) @@ -3260,7 +3255,7 @@ This commonly includes things such as: ) ) (let ((gp-0 (new 'stack-no-clear 'task-arrow-params))) - (set! (-> gp-0 pos quad) (-> self root-override trans quad)) + (set! (-> gp-0 pos quad) (-> self root trans quad)) (quaternion-identity! (-> gp-0 quat)) (set! (-> gp-0 flags) (task-arrow-flags)) (set! (-> gp-0 map-icon) (the-as uint 15)) @@ -3289,14 +3284,14 @@ This commonly includes things such as: (cond ((task-node-closed? (game-task-node forest-scouts-introduction)) (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) ) (else (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-8 (-> self root-override root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) diff --git a/goal_src/jak2/levels/temple/mountain-obs2.gc b/goal_src/jak2/levels/temple/mountain-obs2.gc index 855dc6f453..68640cbb1b 100644 --- a/goal_src/jak2/levels/temple/mountain-obs2.gc +++ b/goal_src/jak2/levels/temple/mountain-obs2.gc @@ -8,7 +8,7 @@ ;; DECOMP BEGINS (deftype mtn-iris-door (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -36,9 +36,9 @@ (none) ) :code (behavior () - (let ((root-prim (-> self root-override root-prim))) - (set! (-> root-prim prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> root-prim prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((root-prim (-> self root root-prim))) + (set! (-> root-prim prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> root-prim prim-core collide-with) (-> self root backup-collide-with)) ) (ja :num-func num-func-identity :frame-num 0.0) (ja-post) @@ -56,7 +56,7 @@ (none) ) :code (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -91,7 +91,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -151,7 +151,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) 0 (none) @@ -179,7 +179,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> obj hint-count) 5.0) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -219,7 +219,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> self state-flip) (the-as uint 1)) ) (set! (-> self hint-count) -1.0) - (vector-! (-> self axe-flip) (-> cshape trans) (-> self root-override trans)) + (vector-! (-> self axe-flip) (-> cshape trans) (-> self root trans)) (set! (-> self axe-flip y) 0.0) (vector-normalize! (-> self axe-flip) 1.0) (vector-rotate90-around-y! (-> self axe-flip) (-> self axe-flip)) @@ -254,7 +254,7 @@ For example for an elevator pre-compute the distance between the first and last ) ((and *target* (-> self disable-track-under) - (< (-> *target* control trans y) (+ -20480.0 (-> self root-override trans y))) + (< (-> *target* control trans y) (+ -20480.0 (-> self root trans y))) ) #f ) @@ -301,7 +301,7 @@ For example for an elevator pre-compute the distance between the first and last ) (+! (-> self angle-flip-vel) (* -6.0 (-> self clock seconds-per-frame) (-> self angle-flip-vel))) (+! (-> self angle-flip) (-> self angle-flip-vel)) - (quaternion-vector-angle! (-> self root-override quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) + (quaternion-vector-angle! (-> self root quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) (when (and (>= (- (current-time) (-> self state-time)) (the int (+ -300.0 (-> self time-flip)))) (= 1 (-> self state-flip)) ) @@ -321,15 +321,10 @@ For example for an elevator pre-compute the distance between the first and last ) (vector-normalize! s5-2 1.0) (quaternion-vector-angle! gp-2 s5-2 1820.4445) - (quaternion-pseudo-seek - (-> self root-override quat) - (-> self root-override quat) - gp-2 - (-> self clock seconds-per-frame) - ) + (quaternion-pseudo-seek (-> self root quat) (-> self root quat) gp-2 (-> self clock seconds-per-frame)) ) ) - (quaternion-normalize! (-> self root-override quat)) + (quaternion-normalize! (-> self root quat)) (let ((func (-> (method-of-type plat plat-path-active) trans))) (if func (func) diff --git a/goal_src/jak2/levels/temple/mountain-scenes.gc b/goal_src/jak2/levels/temple/mountain-scenes.gc index c6fa1b9f96..1cdf2d0880 100644 --- a/goal_src/jak2/levels/temple/mountain-scenes.gc +++ b/goal_src/jak2/levels/temple/mountain-scenes.gc @@ -1628,7 +1628,7 @@ ) (deftype mtn-plat-buried-rocks (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -1681,7 +1681,7 @@ ) (ja-channel-set! 1) (set! (-> self draw bounds w) 491520.0) - (set! (-> self root-override root-prim local-sphere w) 409600.0) + (set! (-> self root root-prim local-sphere w) 409600.0) (format (clear *temp-string*) "~S-end" (-> self type)) (ja :group! (get-art-by-name (-> self draw art-group) *temp-string* art-joint-anim)) (transform-post) @@ -1717,7 +1717,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -1786,10 +1786,10 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 100) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 100) (-> obj root trans)) ) (set! (-> obj options) (res-lump-value (-> obj entity) 'options actor-option :time -1000000000.0)) 0 @@ -3146,7 +3146,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -3248,7 +3248,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -3357,7 +3357,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton diff --git a/goal_src/jak2/levels/temple/rhino-wall.gc b/goal_src/jak2/levels/temple/rhino-wall.gc index 3894b85527..b44caa8e50 100644 --- a/goal_src/jak2/levels/temple/rhino-wall.gc +++ b/goal_src/jak2/levels/temple/rhino-wall.gc @@ -37,7 +37,7 @@ ;; WARN: Return type mismatch vector vs none. (defmethod rhino-wall-method-30 rhino-wall ((obj rhino-wall)) - (let ((v1-1 (-> obj root-override root-prim))) + (let ((v1-1 (-> obj root root-prim))) (countdown (a1-0 (-> v1-1 specific 0)) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a1-0))) (cond @@ -216,7 +216,7 @@ This commonly includes things such as: (set! (-> s4-1 backup-collide-as) (-> v1-38 prim-core collide-as)) (set! (-> s4-1 backup-collide-with) (-> v1-38 prim-core collide-with)) ) - (set! (-> obj root-override) s4-1) + (set! (-> obj root) s4-1) ) (set! s4-0 (art-group-get-by-name *level* "skel-rhino-wall-1" (the-as (pointer uint32) #f))) (set! (-> obj anim) @@ -291,7 +291,7 @@ This commonly includes things such as: (set! (-> s4-2 backup-collide-as) (-> v1-74 prim-core collide-as)) (set! (-> s4-2 backup-collide-with) (-> v1-74 prim-core collide-with)) ) - (set! (-> obj root-override) s4-2) + (set! (-> obj root) s4-2) ) (set! s4-0 (art-group-get-by-name *level* "skel-rhino-wall-2" (the-as (pointer uint32) #f))) (set! (-> obj anim) diff --git a/goal_src/jak2/levels/temple/rhino.gc b/goal_src/jak2/levels/temple/rhino.gc index e4acab70a2..5724ab7559 100644 --- a/goal_src/jak2/levels/temple/rhino.gc +++ b/goal_src/jak2/levels/temple/rhino.gc @@ -309,7 +309,7 @@ :walk-travel-speed (meters 1) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 4) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -333,7 +333,7 @@ (cond ((and (-> obj can-hit?) gp-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry gp-0) - (-> obj root-override2) + (-> obj root) (the-as uint 1) ) ) @@ -341,9 +341,9 @@ (gp-1 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) - (vector-x-quaternion! gp-1 (-> obj root-override2 quat)) - (vector-! s5-1 (-> (the-as process-drawable s2-0) root trans) (-> obj root-override2 trans)) + (vector-z-quaternion! s4-0 (-> obj root quat)) + (vector-x-quaternion! gp-1 (-> obj root quat)) + (vector-! s5-1 (-> (the-as process-drawable s2-0) root trans) (-> obj root trans)) (if (and (< 0.0 (vector-dot s5-1 s4-0)) (< (fabs (vector-dot s5-1 gp-1)) 10240.0)) #t #f @@ -432,9 +432,9 @@ (s4-0 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s3-0 (-> obj root-override2 quat)) - (vector-x-quaternion! s4-0 (-> obj root-override2 quat)) - (vector-! s5-1 (-> (the-as process-focusable s2-0) root-override trans) (-> obj root-override2 trans)) + (vector-z-quaternion! s3-0 (-> obj root quat)) + (vector-x-quaternion! s4-0 (-> obj root quat)) + (vector-! s5-1 (-> (the-as process-focusable s2-0) root trans) (-> obj root trans)) (set! (-> s5-1 y) 0.0) (vector-normalize! s5-1 1.0) (let* ((f30-0 (vector-dot s3-0 s5-1)) @@ -477,7 +477,7 @@ ((= v1-0 'event-slide-poof) (let ((s5-2 (-> arg3 param 1))) (cond - ((= (-> obj root-override2 ground-pat material) (pat-material grass)) + ((= (-> obj root ground-pat material) (pat-material grass)) (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s4-1 (let ((t9-14 (method-of-type part-tracker activate))) @@ -564,7 +564,7 @@ ) ) ((= v1-0 'death-end) - (let ((v1-74 (-> obj root-override2 root-prim))) + (let ((v1-74 (-> obj root root-prim))) (set! (-> v1-74 prim-core collide-as) (collide-spec)) (set! (-> v1-74 prim-core collide-with) (collide-spec)) ) @@ -615,7 +615,7 @@ (debug-draw (-> self path-intro)) (when (and (>= (the-as int (-> self focus aware)) (the-as int (-> self charge-aware))) *target* - (and (>= 122880.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) + (and (>= 122880.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -650,13 +650,10 @@ (let ((f30-0 (get-rand-float-range self 0.8 1.2)) (gp-0 #t) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override die-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info die-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) frames num-frames) -1 ) ) @@ -689,13 +686,10 @@ (local-vars (v1-67 enemy-flag) (v1-75 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -795,14 +789,14 @@ (cond ((and (focus-test? obj dangerous) ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -816,11 +810,11 @@ ) (((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action no-standon) (collide-action) ) - (send-shoves (-> obj root-override2) arg0 touch-entry 0.7 6144.0 16384.0) + (send-shoves (-> obj root) arg0 touch-entry 0.7 6144.0 16384.0) ) ) ) @@ -835,7 +829,7 @@ ) (let* ((s2-0 (if (-> obj smush-target) 'smush - (-> obj enemy-info-override attack-mode) + (-> obj enemy-info attack-mode) ) ) (s1-0 arg0) @@ -845,10 +839,10 @@ ) (s1-1 (new 'stack-no-clear 'vector)) ) - (vector-! s1-1 (get-trans (the-as process-focusable a0-3) 0) (-> obj root-override2 trans)) + (vector-! s1-1 (get-trans (the-as process-focusable a0-3) 0) (-> obj root trans)) (set! (-> s1-1 y) 0.0) (vector-normalize! s1-1 1.0) - (vector+float*! s1-1 s1-1 (-> obj root-override2 transv) 0.5) + (vector+float*! s1-1 s1-1 (-> obj root transv) 0.5) (set! (-> s1-1 y) 20480.0) (let ((a1-6 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-6 from) (process->ppointer self)) @@ -902,13 +896,13 @@ (t9-0) ) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-as) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-with) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-with) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core action) (collide-action deadly) ) (set! (-> self can-hit?) #t) @@ -930,10 +924,10 @@ (t9-0) ) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-as) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-with) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-with) (collide-spec) ) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -952,13 +946,13 @@ (suspend) (ja :num! (seek!)) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-as) (collide-spec enemy) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-with) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-with) (collide-spec jak bot player-list) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core action) (collide-action solid no-standon) ) (until #f @@ -973,9 +967,7 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (cond (gp-0 - (if (or (< 10240.0 - (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - ) + (if (or (< 10240.0 (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans))) (and gp-0 (not (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable dead ignore grabbed))) ) @@ -999,7 +991,7 @@ (set! (-> v1-68 attack-id) a0-24) (set! (-> self attack-id) a0-24) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core action) (collide-action deadly) ) (logior! (-> self focus-status) (focus-status dangerous)) @@ -1028,9 +1020,7 @@ (cond (a0-37 (cond - ((< 22528.0 - (vector-vector-xz-distance (get-trans (the-as process-focusable a0-37) 0) (-> self root-override2 trans)) - ) + ((< 22528.0 (vector-vector-xz-distance (get-trans (the-as process-focusable a0-37) 0) (-> self root trans))) (ja-channel-push! 1 (seconds 0.075)) (react-to-focus self) ) @@ -1060,14 +1050,14 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-7 enemy-flags)))) ) 0 - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let ((s5-0 (-> self path curve num-cverts))) (if (<= s5-0 0) @@ -1080,7 +1070,7 @@ ) (dotimes (s3-0 s5-0) (get-point-in-path! (-> self path) s4-0 (the float s3-0) 'interp) - (let ((f0-2 (vector-vector-xz-distance s4-0 (-> self root-override2 trans)))) + (let ((f0-2 (vector-vector-xz-distance s4-0 (-> self root trans)))) (when (< f30-0 f0-2) (set! f30-0 f0-2) (set! (-> gp-0 quad) (-> s4-0 quad)) @@ -1157,18 +1147,16 @@ ) 0.0 0.0 - (vector-z-quaternion! s5-0 (-> self root-override2 quat)) - (vector-! s1-0 s2-0 (-> self root-override2 trans)) + (vector-z-quaternion! s5-0 (-> self root quat)) + (vector-! s1-0 s2-0 (-> self root trans)) (let ((f28-0 (vector-dot s1-0 s5-0))) (vector-normalize! s1-0 1.0) (let ((f30-0 (vector-dot s1-0 s5-0))) - (vector-! gp-0 s2-0 (-> self root-override2 trans)) + (vector-! gp-0 s2-0 (-> self root trans)) (vector-normalize! gp-0 (+ 16384.0 (vector-length gp-0))) - (vector+! s4-0 (-> self root-override2 trans) gp-0) + (vector+! s4-0 (-> self root trans) gp-0) (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) - (if (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root-override2 trans)) - 40960.0 - ) + (if (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root trans)) 40960.0) (< 0.9 f30-0) ) (set! (-> self charge-straight) #t) @@ -1178,9 +1166,7 @@ ((-> self charge-straight) (cond ((>= (- (current-time) (-> self state-time)) (-> self reaction-time)) - (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root-override2 trans)) - 20480.0 - ) + (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root trans)) 20480.0) (go-virtual attack) ) (when (and (< f30-0 0.7) (>= 9.0 (ja-frame-num 0))) @@ -1207,7 +1193,7 @@ (vector-float*! gp-0 s5-0 40960.0) (let* ((s5-1 (-> self nav)) (v1-67 s5-1) - (a0-31 (-> self root-override2 trans)) + (a0-31 (-> self root trans)) (a1-12 (new 'stack-no-clear 'nav-find-poly-parms)) ) (vector-! (-> a1-12 point) a0-31 (-> v1-67 state mesh bounds)) @@ -1217,7 +1203,7 @@ (s4-2 (new 'stack 'clamp-travel-vector-to-mesh-return-info)) ) (when s3-1 - (clamp-vector-to-mesh-no-gaps s5-1 (-> self root-override2 trans) s3-1 gp-0 s4-2) + (clamp-vector-to-mesh-no-gaps s5-1 (-> self root trans) s3-1 gp-0 s4-2) (when (-> s4-2 found-boundary) (if (and (< (vector-length gp-0) 32768.0) (and (-> self charge-straight) (>= 9.0 (ja-frame-num 0)))) (go-virtual stop-run) @@ -1233,7 +1219,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f @@ -1270,14 +1256,14 @@ (set! (-> v1-4 attack-id) a0-2) (set! (-> self attack-id) a0-2) ) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (nav-enemy-method-166 self) (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (vector-float*! gp-0 gp-0 40960.0) - (vector+! (-> self dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self dest) (-> self root trans) gp-0) ) (let ((a0-10 (-> self nav state)) (v1-17 (-> self dest)) @@ -1328,7 +1314,7 @@ (defmethod nav-enemy-method-142 rhino ((obj rhino) (arg0 nav-control)) (if (-> obj in-stop-run) (quaternion*! - (-> obj root-override2 quat) + (-> obj root quat) (-> obj quat) (quaternion-axis-angle! (new 'stack-no-clear 'quaternion) 0.0 1.0 0.0 (* 182.04445 (* 180.0 (-> obj angle)))) ) @@ -1344,12 +1330,12 @@ :enter (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (vector-float*! gp-0 gp-0 40960.0) - (vector+! (-> self dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self dest) (-> self root trans) gp-0) (let* ((s5-0 (-> self nav)) (v1-6 s5-0) - (a0-5 (-> self root-override2 trans)) + (a0-5 (-> self root trans)) (a1-3 (new 'stack-no-clear 'nav-find-poly-parms)) ) (vector-! (-> a1-3 point) a0-5 (-> v1-6 state mesh bounds)) @@ -1359,9 +1345,9 @@ (s4-0 (new 'stack 'clamp-travel-vector-to-mesh-return-info)) ) (when s3-0 - (clamp-vector-to-mesh-no-gaps s5-0 (-> self root-override2 trans) s3-0 gp-0 s4-0) + (clamp-vector-to-mesh-no-gaps s5-0 (-> self root trans) s3-0 gp-0 s4-0) (if (-> s4-0 found-boundary) - (vector+! (-> self dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self dest) (-> self root trans) gp-0) ) ) ) @@ -1377,7 +1363,7 @@ 0 (set! (-> self skid-speed) 57344.0) (set! (-> self in-stop-run) #t) - (quaternion-copy! (-> self quat) (-> self root-override2 quat)) + (quaternion-copy! (-> self quat) (-> self root quat)) (set! (-> self angle) 0.0) (set! (-> self angle-speed) 0.0) (set! (-> self num-hit-flinch) 0) @@ -1390,7 +1376,7 @@ ) 0 (let ((v1-3 (-> self nav))) - (set! (-> v1-3 target-speed) (-> self enemy-info-override walk-travel-speed)) + (set! (-> v1-3 target-speed) (-> self enemy-info walk-travel-speed)) ) 0 (set! (-> self in-stop-run) #f) @@ -1416,10 +1402,10 @@ (gp-0 (new 'stack-no-clear 'vector)) ) 0.0 - (vector-! s5-0 (get-trans (the-as process-focusable a0-5) 0) (-> self root-override2 trans)) + (vector-! s5-0 (get-trans (the-as process-focusable a0-5) 0) (-> self root trans)) (vector-normalize! s5-0 1.0) - (vector-x-quaternion! gp-0 (-> self root-override2 quat)) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-x-quaternion! gp-0 (-> self root quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set! (-> self angle-speed) (* 0.5 (- 1.0 (vector-dot s5-0 s4-0)))) (set! v1-30 (cond ((< (vector-dot s5-0 gp-0) 0.0) @@ -1481,7 +1467,7 @@ (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1593,7 +1579,7 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info walk-anim)))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1607,7 +1593,7 @@ (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-15 enemy-flags)))) ) (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-15 enemy-flags)))) - (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info-override callback-info)) + (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info callback-info)) ) 0 (let ((v1-18 self)) @@ -1619,14 +1605,14 @@ ) 0 (let ((v1-22 (-> self nav))) - (set! (-> v1-22 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> v1-22 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((v1-24 (-> self nav))) - (set! (-> v1-24 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-24 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 - (let ((gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (let ((gp-0 (-> self draw art-group data (-> self enemy-info walk-anim)))) (let ((v1-32 (ja-group))) (if (not (and v1-32 (= v1-32 gp-0))) (ja-channel-push! 1 (seconds 0.1)) @@ -1648,7 +1634,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-59 self)) (set! (-> v1-59 enemy-flags) (the-as enemy-flag (logclear (-> v1-59 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-59 nav callback-info) *nav-enemy-null-callback-info*) @@ -1658,20 +1644,17 @@ (set! (-> v1-62 enemy-flags) (the-as enemy-flag (logclear (-> v1-62 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((v1-68 (ja-group))) - (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info-override victory-anim))))) + (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info victory-anim))))) (ja-channel-push! 1 (seconds 0.1)) ) ) (let ((f30-2 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info victory-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override victory-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info victory-anim))) frames num-frames) -1 ) ) @@ -1757,7 +1740,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1800,7 +1783,7 @@ ) (when (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (format #t "~S : sub task done~%" (-> obj name)) - (get-point-in-path! (-> obj path-intro) (-> obj root-override2 trans) 1.0 'exact) + (get-point-in-path! (-> obj path-intro) (-> obj root trans) 1.0 'exact) (set! (-> obj wall) #f) ) ) @@ -1839,7 +1822,7 @@ (set! (-> v1-38 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (logior! (-> obj focus-status) (focus-status dangerous)) (logior! (-> obj enemy-flags) (enemy-flag check-water)) diff --git a/goal_src/jak2/levels/undefined/hal-task.gc b/goal_src/jak2/levels/undefined/hal-task.gc index 64dd4004ff..96e18b80a9 100644 --- a/goal_src/jak2/levels/undefined/hal-task.gc +++ b/goal_src/jak2/levels/undefined/hal-task.gc @@ -31,7 +31,7 @@ 20 ) ) - (set! (-> arg0 root-override2 trans quad) (-> arg0 spot center quad)) + (set! (-> arg0 root trans quad) (-> arg0 spot center quad)) ((-> obj check-done) obj (the-as hal arg0)) (none) ) diff --git a/goal_src/jak2/levels/undefined/hal.gc b/goal_src/jak2/levels/undefined/hal.gc index 300efd9bce..470ff1f8f6 100644 --- a/goal_src/jak2/levels/undefined/hal.gc +++ b/goal_src/jak2/levels/undefined/hal.gc @@ -94,7 +94,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 1) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -291,7 +291,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -327,12 +327,12 @@ (set! (-> obj spot-color) (the-as uint #x5000ffff)) (set! (-> obj notice-enemy-dist) 0.0) (logior! (-> obj focus-status) (focus-status disable)) - (let ((v1-13 (-> obj root-override2 root-prim))) + (let ((v1-13 (-> obj root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) - (set! (-> obj root-override2 backup-collide-as) (collide-spec)) - (set! (-> obj root-override2 backup-collide-with) (collide-spec)) + (set! (-> obj root backup-collide-as) (collide-spec)) + (set! (-> obj root backup-collide-with) (collide-spec)) 0 (logior! (-> obj draw status) (draw-control-status no-draw)) (remove-process-drawable (-> obj nav state mesh) obj) @@ -480,7 +480,7 @@ (the-as object (skip-waypoint obj)) ) (('move-trans) - (move-to-point! (-> obj root-override2) (the-as vector (-> arg3 param 0))) + (move-to-point! (-> obj root) (the-as vector (-> arg3 param 0))) #t ) (('die-fast) diff --git a/goal_src/jak2/levels/undefined/ruf-states.gc b/goal_src/jak2/levels/undefined/ruf-states.gc index 3b55a311a8..5ba3713615 100644 --- a/goal_src/jak2/levels/undefined/ruf-states.gc +++ b/goal_src/jak2/levels/undefined/ruf-states.gc @@ -88,12 +88,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -177,12 +172,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -241,12 +231,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -262,7 +247,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -416,12 +401,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) diff --git a/goal_src/jak2/levels/undefined/ruf-task.gc b/goal_src/jak2/levels/undefined/ruf-task.gc index 0bd4eaaf76..1d450ad828 100644 --- a/goal_src/jak2/levels/undefined/ruf-task.gc +++ b/goal_src/jak2/levels/undefined/ruf-task.gc @@ -80,7 +80,7 @@ (defmethod ruft-choose-jump-method-13 ruft-choose-jump ((obj ruft-choose-jump) (arg0 ruffian)) (let ((gp-0 0)) (let ((f30-0 -1.0) - (s3-0 (-> arg0 root-override2 trans)) + (s3-0 (-> arg0 root trans)) ) (countdown (s2-0 (-> obj num-spots)) (let* ((s1-0 (-> arg0 ruf-course spots (-> obj src-spot-indexes s2-0))) diff --git a/goal_src/jak2/levels/undefined/ruf.gc b/goal_src/jak2/levels/undefined/ruf.gc index 1c3ee8abf0..4566de984f 100644 --- a/goal_src/jak2/levels/undefined/ruf.gc +++ b/goal_src/jak2/levels/undefined/ruf.gc @@ -44,7 +44,7 @@ (or (= v1-25 'alert-idle) (= v1-25 'waiting-idle) (= v1-25 'scared-idle)) ) ) - (zero? (logand (-> obj focus-status) (focus-status grabbed))) + (not (logtest? (-> obj focus-status) (focus-status grabbed))) ) (go (method-of-object obj bomb-recoil)) ) @@ -65,9 +65,9 @@ "Were we attacked by the player?" (the-as symbol - (and (and arg0 (zero? (logand (-> arg0 focus-status) (focus-status disable dead ignore grabbed)))) + (and (and arg0 (not (logtest? (-> arg0 focus-status) (focus-status disable dead ignore grabbed)))) (or (and (logtest? (process-mask enemy) (-> arg0 mask)) - (>= 40960.0 (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans arg0 3))) + (>= 40960.0 (vector-vector-xz-distance (-> obj root trans) (get-trans arg0 3))) ) (and (logtest? (-> arg0 mask) (process-mask target)) (logtest? (-> obj bot-flags) (bot-flags attacked))) ) @@ -76,9 +76,9 @@ ) (defmethod ruffian-method-245 ruffian ((obj ruffian)) - (-> obj root-override2) + (-> obj root) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (target-pos 0) (-> obj root-override2 trans)) + (vector-! s5-0 (target-pos 0) (-> obj root trans)) (let* ((f0-1 (vector-dot (-> obj follow-dir) s5-0)) (f0-2 (- (- (-> obj follow-offset)) f0-1)) ) @@ -99,101 +99,99 @@ ) (defmethod enemy-method-97 ruffian ((obj ruffian)) - (with-pp - (let* ((s5-0 (handle->process (-> obj attacker-handle))) - (v1-3 (if (type? s5-0 process-focusable) - s5-0 - ) - ) + (let* ((s5-0 (handle->process (-> obj attacker-handle))) + (v1-3 (if (type? s5-0 process-focusable) + s5-0 + ) + ) + ) + (when v1-3 + (cond + ((= (-> v1-3 type) target) + (when (or (not (logtest? (-> obj bot-flags) (bot-flags attacked))) + (>= (- (current-time) (-> obj attacker-time)) (seconds 1.5)) + ) + (if (logtest? (-> obj bot-flags) (bot-flags attacked)) + (reset-attacker! obj) + ) + (set! v1-3 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) ) - (when v1-3 - (cond - ((= (-> v1-3 type) target) - (when (or (not (logtest? (-> obj bot-flags) (bot-flags attacked))) - (>= (- (-> pp clock frame-counter) (-> obj attacker-time)) (seconds 1.5)) - ) - (if (logtest? (-> obj bot-flags) (bot-flags attacked)) - (reset-attacker! obj) - ) - (set! v1-3 (the-as process #f)) - (set! (-> obj attacker-handle) (the-as handle #f)) - ) - ) - (else - (when (>= (- (-> pp clock frame-counter) (-> obj attacker-time)) (seconds 6)) - (set! v1-3 (the-as process #f)) - (set! (-> obj attacker-handle) (the-as handle #f)) - ) + ) + (else + (when (>= (- (current-time) (-> obj attacker-time)) (seconds 6)) + (set! v1-3 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) ) ) ) - (let ((a0-21 (-> obj focus-mode)) - (s5-1 (the-as process #f)) - ) - (cond - ((zero? a0-21) - (cond - (v1-3 - (set! s5-1 v1-3) - ) - ((begin (set! s5-1 (select-focus! obj)) s5-1) - (empty) - ) - (else - (let ((s4-0 (handle->process (-> obj poi-handle)))) - (set! s5-1 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) - (if s5-1 - (empty) - (set! s5-1 *target*) - ) - ) - ) - ) - ((= a0-21 1) - (cond - (v1-3 - (set! s5-1 v1-3) - ) - (else - (let ((s4-1 (handle->process (-> obj poi-handle)))) - (set! s5-1 (if (type? s4-1 process-focusable) - s4-1 - ) - ) - ) - (cond - (s5-1 - (empty) - ) - ((begin (set! s5-1 (select-focus! obj)) s5-1) - (empty) - ) - (else - (set! s5-1 *target*) - ) - ) - ) - ) - ) + ) + (let ((a0-21 (-> obj focus-mode)) + (s5-1 (the-as process #f)) ) - (cond - (s5-1 - (try-update-focus (-> obj focus) (the-as process-focusable s5-1) obj) - (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s5-1 type) target)) - (logclear! (-> obj bot-flags) (bot-flags attacked)) + (cond + ((zero? a0-21) + (cond + (v1-3 + (set! s5-1 v1-3) + ) + ((begin (set! s5-1 (select-focus! obj)) s5-1) + (empty) + ) + (else + (let ((s4-0 (handle->process (-> obj poi-handle)))) + (set! s5-1 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + ) + (if s5-1 + (empty) + (set! s5-1 *target*) + ) + ) + ) + ) + ((= a0-21 1) + (cond + (v1-3 + (set! s5-1 v1-3) + ) + (else + (let ((s4-1 (handle->process (-> obj poi-handle)))) + (set! s5-1 (if (type? s4-1 process-focusable) + s4-1 + ) + ) + ) + (cond + (s5-1 + (empty) + ) + ((begin (set! s5-1 (select-focus! obj)) s5-1) + (empty) ) - ) - (else - (clear-focused (-> obj focus)) - (logclear! (-> obj bot-flags) (bot-flags attacked)) - ) - ) - s5-1 + (else + (set! s5-1 *target*) + ) + ) + ) + ) + ) ) + (cond + (s5-1 + (try-update-focus (-> obj focus) (the-as process-focusable s5-1) obj) + (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s5-1 type) target)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + (else + (clear-focused (-> obj focus)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + s5-1 ) ) ) @@ -280,19 +278,17 @@ ) (defmethod ruffian-method-237 ruffian ((obj ruffian)) - (with-pp - (or (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (= (-> obj focus-info fproc type) target)) - (and (>= 40960.0 (-> obj focus-info bullseye-xz-dist)) - (= (-> obj focus-info los) 1) - (>= (-> pp clock frame-counter) (-> obj next-fire-time)) - ) - ) - ) + (or (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (= (-> obj focus-info fproc type) target)) + (and (>= 40960.0 (-> obj focus-info bullseye-xz-dist)) + (= (-> obj focus-info los) 1) + (>= (current-time) (-> obj next-fire-time)) + ) + ) ) (defmethod ruffian-method-243 ruffian ((obj ruffian)) (let ((v1-0 (-> obj bot-flags))) - (and (logtest? (bot-flags bf20) v1-0) (zero? (logand (bot-flags bf21) v1-0))) + (and (logtest? (bot-flags bf20) v1-0) (not (logtest? (bot-flags bf21) v1-0))) ) ) diff --git a/goal_src/jak2/levels/underport/centipede.gc b/goal_src/jak2/levels/underport/centipede.gc index cb439e0cfb..60b94a3178 100644 --- a/goal_src/jak2/levels/underport/centipede.gc +++ b/goal_src/jak2/levels/underport/centipede.gc @@ -163,7 +163,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 6) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 90.0) + :maximum-rotation-rate (degrees 90) :notice-nav-radius (meters 7) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -218,10 +218,10 @@ (let ((centipede-cam (-> obj cam))) (let ((cam-dir (new 'stack-no-clear 'vector))) (set! (-> cam-dir quad) (-> centipede-cam dir quad)) - (vector-z-quaternion! (-> centipede-cam dir) (-> obj root-override2 quat)) + (vector-z-quaternion! (-> centipede-cam dir) (-> obj root quat)) (set! (-> centipede-cam dir y) 0.0) (vector-normalize! (-> centipede-cam dir) 1.0) - (set! (-> centipede-cam trans quad) (-> obj root-override2 trans quad)) + (set! (-> centipede-cam trans quad) (-> obj root trans quad)) (set! (-> centipede-cam trans y) (+ 32768.0 (* (+ (* 2048.0 (cos (* 218.45334 (the float (mod (current-time) 300))))) (* 614.4 (cos (* 68.91272 (the float (mod (current-time) 951))))) @@ -246,7 +246,7 @@ ) ) (let ((s2-0 (new 'stack-no-clear 'vector))) - (vector-! s2-0 (get-trans (the-as process-focusable proc) 0) (-> obj root-override2 trans)) + (vector-! s2-0 (get-trans (the-as process-focusable proc) 0) (-> obj root trans)) (vector-normalize! s2-0 1.0) (when (>= (vector-dot s2-0 (-> centipede-cam dir)) 0.342) (let ((f0-23 (fmax @@ -451,7 +451,7 @@ (t9-0 obj arg0) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! s5-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-0 (-> obj root quat)) (vector-normalize! s5-0 1.0) (let ((s3-0 (handle->process (-> obj focus handle))) (s4-0 #f) @@ -475,7 +475,7 @@ ) (when s3-0 (let ((s3-1 (new 'stack-no-clear 'vector))) - (vector-! s3-1 (-> obj focus-pos-hist (+ (-> obj focus-pos-hist-count) -1)) (-> obj root-override2 trans)) + (vector-! s3-1 (-> obj focus-pos-hist (+ (-> obj focus-pos-hist-count) -1)) (-> obj root trans)) (vector-normalize! s3-1 1.0) (when (>= (vector-dot s3-1 s5-0) 0.342) (let ((f0-9 @@ -504,7 +504,7 @@ ) (vector-rotate90-around-y! s3-2 s5-0) (quaternion-vector-angle! s4-1 s3-2 (+ 4551.1113 (-> obj track-focus-tilt))) - (quaternion*! (-> obj root-override2 quat) s4-1 (-> obj root-override2 quat)) + (quaternion*! (-> obj root quat) s4-1 (-> obj root quat)) ) ) (none) @@ -527,13 +527,13 @@ (set! arg1 (get-trans arg0 0)) ) (when arg1 - (let* ((f0-0 (-> obj root-override2 trans y)) - (v1-4 (-> obj root-override2)) + (let* ((f0-0 (-> obj root trans y)) + (v1-4 (-> obj root)) (f1-0 (-> v1-4 trans y)) - (a0-2 (-> obj fact-info-override)) + (a0-2 (-> obj fact)) ) (when (and (< f0-0 (+ f1-0 (-> a0-2 notice-top))) (< (- f1-0 (-> a0-2 notice-bottom)) f0-0)) - (let* ((f30-0 (-> obj enemy-info-override notice-nav-radius)) + (let* ((f30-0 (-> obj enemy-info notice-nav-radius)) (f0-1 f30-0) ) (or (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (-> v1-4 trans) arg1)) @@ -562,10 +562,10 @@ (let ((targ (get-enemy-target obj))) (when targ (let* ((targ-pos (get-trans targ 0)) - (y-off (- (-> targ-pos y) (-> obj root-override2 trans y))) + (y-off (- (-> targ-pos y) (-> obj root trans y))) (dist 28672.0) ) - (and (>= (* dist dist) (vector-vector-xz-distance-squared (-> obj root-override2 trans) targ-pos)) + (and (>= (* dist dist) (vector-vector-xz-distance-squared (-> obj root trans) targ-pos)) (or (>= y-off -12288.0) (or (>= 24576.0 y-off) (focus-test? targ edge-grab))) ) ) @@ -582,34 +582,34 @@ (set! (-> overlap-parms options) (overlaps-others-options)) (set! (-> overlap-parms collide-with-filter) (the-as collide-spec -1)) (set! (-> overlap-parms tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override2) overlap-parms) + (find-overlapping-shapes (-> obj root) overlap-parms) ) ) (let* ((travel-speed (-> *centipede-nav-enemy-info* run-travel-speed)) - (f0-2 (fmin 1.0 (/ (vector-length (-> obj root-override2 transv)) travel-speed))) + (f0-2 (fmin 1.0 (/ (vector-length (-> obj root transv)) travel-speed))) ) (seek! (-> obj bobbing-intensity) f0-2 (* 4.0 (-> pp clock seconds-per-frame))) ) - (quaternion-copy! (-> obj bobbing quat) (-> obj root-override2 quat)) - (set! (-> obj bobbing trans quad) (-> obj root-override2 trans quad)) + (quaternion-copy! (-> obj bobbing quat) (-> obj root quat)) + (set! (-> obj bobbing trans quad) (-> obj root trans quad)) (let ((s5-0 (new 'stack-no-clear 'vector)) (f30-1 (* 2662.4 (cos (* 283.70563 (the float (mod (current-time) 231)))))) (bob-trans (-> obj bobbing trans)) ) - (vector-z-quaternion! s5-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-0 (-> obj root quat)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 (* f30-1 (-> obj bobbing-intensity))) (vector+! (the-as vector (&-> bob-trans x)) (the-as vector (&-> bob-trans x)) s5-0) ) ) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (when (!= (-> obj talking-volume) (-> obj desired-talking-volume)) (seek! (-> obj talking-volume) (-> obj desired-talking-volume) (* 4.0 (-> pp clock seconds-per-frame))) (update-vol! (-> obj sound) (-> obj talking-volume)) ) (update! (-> obj sound)) - (update-trans! (-> obj legs-sound) (-> obj root-override2 trans)) - (let ((f0-20 (fmin 1.0 (* 0.00012207031 (vector-length (-> obj root-override2 transv)))))) + (update-trans! (-> obj legs-sound) (-> obj root trans)) + (let ((f0-20 (fmin 1.0 (* 0.00012207031 (vector-length (-> obj root transv)))))) (when (!= (-> obj legs-volume) f0-20) (seek! (-> obj legs-volume) f0-20 (* 4.0 (-> pp clock seconds-per-frame))) (update-vol! (-> obj legs-sound) (-> obj legs-volume)) @@ -638,7 +638,7 @@ ) ) ) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (set! (-> s5-0 gspot-pos quad) (-> s5-0 trans quad)) (let ((v1-12 (-> obj nav)) (a0-8 (-> s5-0 trans)) @@ -676,7 +676,7 @@ ) ) ) - (let ((f0-6 (-> obj root-override2 trans y))) + (let ((f0-6 (-> obj root trans y))) (cond ((>= (-> s5-0 gspot-pos y) f0-6) (set! (-> s5-0 trans y) (-> s5-0 gspot-pos y)) @@ -765,9 +765,9 @@ :virtual #t :enter (behavior () (logior! (-> self focus-status) (focus-status disable)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 0.0) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -778,9 +778,9 @@ :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -832,7 +832,7 @@ (stop-looking-at-target! self) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -878,7 +878,7 @@ (stop-looking-at-target! self) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -906,7 +906,7 @@ (stop-looking-at-target! self) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -968,7 +968,7 @@ (when a0-2 (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-2) 0) quad)) - (set! (-> gp-0 y) (-> self root-override2 trans y)) + (set! (-> gp-0 y) (-> self root trans y)) (let ((v1-12 (-> self nav state))) (logclear! (-> v1-12 flags) (nav-state-flag directional-mode)) (logior! (-> v1-12 flags) (nav-state-flag target-poly-dirty)) @@ -1054,7 +1054,7 @@ (set! (-> cam-dir quad) (-> obj cam dir quad)) (set! (-> cam-dir y) 0.0) (vector-normalize! cam-dir 1.0) - (vector-! trans-off (-> obj focus-pos) (-> obj root-override2 trans)) + (vector-! trans-off (-> obj focus-pos) (-> obj root trans)) (set! (-> s5-1 quad) (-> trans-off quad)) (set! (-> s5-1 y) 0.0) (vector-normalize! s5-1 1.0) @@ -1076,7 +1076,7 @@ ) ) (let ((f0-12 (fmin 1.0 (* 0.16666667 (ja-frame-num 0))))) - (quaternion-slerp! (-> obj root-override2 quat) (-> obj src-quat) (-> obj dest-quat) f0-12) + (quaternion-slerp! (-> obj root quat) (-> obj src-quat) (-> obj dest-quat) f0-12) ) (none) ) @@ -1093,7 +1093,7 @@ (nav-enemy-method-167 self) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (set! (-> self grabbed-focus?) #f) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 0.0) (let ((gp-0 (handle->process (-> self focus handle)))) (if (not gp-0) @@ -1101,7 +1101,7 @@ ) (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable gp-0) 0) quad)) ) - (quaternion-copy! (-> self src-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> self src-quat) (-> self root quat)) (quaternion-copy! (-> self dest-quat) (-> self src-quat)) (none) ) @@ -1114,8 +1114,8 @@ (let ((v1-3 (handle->process (-> self focus handle)))) (if v1-3 (vector-seek-3d-smooth! - (-> (the-as process-focusable v1-3) root-override trans) - (-> self root-override2 trans) + (-> (the-as process-focusable v1-3) root trans) + (-> self root trans) (* 28672.0 (-> self clock seconds-per-frame)) 0.8 ) @@ -1181,7 +1181,7 @@ (let* ((v1-5 (- (current-time) (-> self state-time))) (f1-2 (* 0.00952381 (the float v1-5))) ) - (quaternion-slerp! (-> self root-override2 quat) (-> self src-quat) (-> self dest-quat) (- 1.0 (* f1-2 f1-2))) + (quaternion-slerp! (-> self root quat) (-> self src-quat) (-> self dest-quat) (- 1.0 (* f1-2 f1-2))) ) (centipede-method-188 self) (suspend) @@ -1205,7 +1205,7 @@ ) 0 (nav-enemy-method-167 self) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -1215,7 +1215,7 @@ ) :code (behavior () (logior! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1329,7 +1329,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-32 prim-core collide-with)) ) (set! (-> s5-0 event-other) 'centipede) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -1342,11 +1342,11 @@ (set! (-> obj set-camera-mode?) #f) (set! (-> obj focus-gnd-height) -40959590.0) (set! (-> obj bobbing-intensity) 1.0) - (set-vector! (-> obj root-override2 scale) 0.75 0.75 0.75 1.0) - (set! (-> obj root-override2 trans y) (+ 4096.0 (-> obj root-override2 trans y))) + (set-vector! (-> obj root scale) 0.75 0.75 0.75 1.0) + (set! (-> obj root trans y) (+ 4096.0 (-> obj root trans y))) (case (-> obj id) ((1) - (let ((v1-10 (-> obj root-override2))) + (let ((v1-10 (-> obj root))) (set-vector! (-> v1-10 quat) -0.2103 -0.2293 -0.0508 0.949) (set! (-> v1-10 trans x) -248325.33) (set! (-> v1-10 trans z) 8201697.0) @@ -1354,7 +1354,7 @@ (set! (-> *centipede-nav-enemy-info* run-travel-speed) 32768.0) ) ((2) - (let ((v1-16 (-> obj root-override2))) + (let ((v1-16 (-> obj root))) (set-vector! (-> v1-16 quat) -0.1832 0.519 0.115 0.827) (set! (-> v1-16 trans x) -1001253.25) (set! (-> v1-16 trans z) 7913366.5) @@ -1375,22 +1375,22 @@ (set! (-> v1-31 sphere-mask) (the-as uint 64)) ) 0 - (logclear! (-> obj root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> obj root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (let ((v1-35 (-> obj nav))) (set! (-> v1-35 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) (set! (-> obj bobbing) (the-as trsqv (new 'process 'joint-mod-set-world obj 3 #t))) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "cent-talk" :fo-max 90) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "cent-talk" :fo-max 90) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (set! (-> obj talking-volume) 0.0) (set! (-> obj desired-talking-volume) 0.0) (set! (-> obj legs-sound) - (new 'process 'ambient-sound (static-sound-spec "cent-legs-loop" :fo-max 90) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "cent-legs-loop" :fo-max 90) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (set! (-> obj legs-volume) 0.0) diff --git a/goal_src/jak2/levels/underport/jellyfish.gc b/goal_src/jak2/levels/underport/jellyfish.gc index f3f008c035..c75d9df78d 100644 --- a/goal_src/jak2/levels/underport/jellyfish.gc +++ b/goal_src/jak2/levels/underport/jellyfish.gc @@ -384,7 +384,7 @@ (set! gp-2 (jellyfish-method-161 self (new 'stack-no-clear 'vector) (get-norm! (-> self sync) 0))) (set! a0-8 (jellyfish-method-161 self (new 'stack-no-clear 'vector) (-> self path-player-u))) (-> self focus-pos) - (< (fabs (- (-> self root-override2 trans y) (-> gp-2 y))) 8192.0) + (< (fabs (- (-> self root trans y) (-> gp-2 y))) 8192.0) ) (< (vector-vector-xz-distance a0-8 gp-2) 16384.0) ) @@ -420,7 +420,7 @@ (set! (-> v1-8 collide-with) (collide-spec backgnd)) (set! (-> v1-8 ignore-process0) self) (set! (-> v1-8 ignore-process1) #f) - (set! (-> v1-8 ignore-pat) (-> self root-override2 pat-ignore-mask)) + (set! (-> v1-8 ignore-pat) (-> self root pat-ignore-mask)) (set! (-> v1-8 action-mask) (collide-action solid)) ) (if (>= (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0) @@ -455,9 +455,9 @@ (jellyfish-method-163 self (the-as process-focusable #f)) (begin (set! gp-0 (jellyfish-method-161 self (new 'stack-no-clear 'vector) (-> self path-stare-u))) - (< (vector-vector-xz-distance (-> self root-override2 trans) gp-0) 12288.0) + (< (vector-vector-xz-distance (-> self root trans) gp-0) 12288.0) ) - (< (fabs (- (-> self root-override2 trans y) (-> gp-0 y))) 40960.0) + (< (fabs (- (-> self root trans y) (-> gp-0 y))) 40960.0) ) (go-virtual threaten) ) @@ -498,7 +498,7 @@ (ja :num! (seek! max 1.4)) ) (let ((gp-0 (handle->process (-> self focus handle))) - (s5-0 (-> self root-override2 trans)) + (s5-0 (-> self root trans)) ) (cond ((not (jellyfish-method-163 self (the-as process-focusable gp-0))) @@ -534,10 +534,7 @@ (hover-nav-control-method-10 (-> self hover) (-> self charge-pos) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> self charge-pos) (-> self root-override2 trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> self charge-pos) (-> self root trans)) 1.0) (the-as vector #t) ) (logior! (-> self focus-status) (focus-status dangerous)) @@ -555,7 +552,7 @@ (none) ) :trans (behavior () - (let ((gp-0 (-> self root-override2 trans))) + (let ((gp-0 (-> self root trans))) (if (< (vector-vector-distance gp-0 (-> self charge-pos)) 16384.0) (go-virtual threaten) ) @@ -595,7 +592,7 @@ (none) ) :post (behavior () - (let* ((gp-0 (-> self root-override2 trans)) + (let* ((gp-0 (-> self root trans)) (s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self charge-pos) gp-0)) ) (let* ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) gp-0)) @@ -626,13 +623,12 @@ (set! (-> self attach-lerp) 0.0) (let ((gp-0 *target*)) (if (and gp-0 (focus-test? gp-0 mech) (not (logtest? (-> gp-0 focus-status) (focus-status dead ignore)))) - (set! (-> self grab-front) - (< (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - (-> gp-0 manipy 0 node-list data 3 bone transform vector 2) - ) - 0.0 - ) + (set! (-> self grab-front) (< (vector-dot + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) + (-> gp-0 manipy 0 node-list data 3 bone transform vector 2) + ) + 0.0 + ) ) ) ) @@ -641,9 +637,9 @@ :exit (behavior () (sound-stop (-> self sound-id)) (hover-enemy-method-147 self) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (dotimes (gp-0 3) (initialize-chain-joints (-> self tentacles gp-0)) @@ -674,8 +670,8 @@ ) (ja-channel-push! 1 (seconds 0.1)) (set-vector! (-> self grab-offset) 0.0 14336.0 0.0 0.0) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (ja-no-eval :group! jellyfish-grab-start-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim jellyfish-grab-start-ja) frames num-frames) -1)) 1.2) :frame-num 0.0 @@ -685,7 +681,7 @@ (suspend) (ja :num! (seek! max 1.2)) ) - (let ((v1-34 (-> self root-override2 root-prim))) + (let ((v1-34 (-> self root root-prim))) (set! (-> v1-34 prim-core collide-as) (collide-spec)) (set! (-> v1-34 prim-core collide-with) (collide-spec)) ) @@ -694,8 +690,8 @@ (set-vector! (-> self grab-offset) 0.0 9179.136 -3682.304 0.0) (set-vector! (-> self grab-offset) 0.0 9179.136 4354.048 0.0) ) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (ja-no-eval :group! jellyfish-grab-attach-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim jellyfish-grab-attach-ja) frames num-frames) -1)) 1.2) :frame-num 0.0 @@ -705,8 +701,8 @@ (suspend) (ja :num! (seek! max 1.2)) ) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (let ((a1-11 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-11 from) (process->ppointer self)) (set! (-> a1-11 num-params) 2) @@ -747,7 +743,7 @@ (set! (-> v1-95 id) a2-10) ) (set! (-> v1-95 mode) 'shock) - (set! (-> v1-95 intersection quad) (-> self root-override2 trans quad)) + (set! (-> v1-95 intersection quad) (-> self root trans quad)) (set! (-> a1-13 param 1) (the-as uint v1-95)) ) (send-event-function gp-3 a1-13) @@ -761,8 +757,8 @@ ) (sound-stop (-> self sound-id)) (set-vector! (-> self grab-offset) 0.0 20480.0 0.0 0.0) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (dotimes (gp-4 3) (initialize-chain-joints (-> self tentacles gp-4)) ) @@ -788,8 +784,8 @@ (if (-> self grab-front) (quaternion-rotate-y! s5-0 s5-0 32768.0) ) - (vector-lerp! (-> self root-override2 trans) (-> self grab-start-pos) gp-0 (-> self attach-lerp)) - (quaternion-slerp! (-> self root-override2 quat) (-> self grab-start-quat) s5-0 (-> self attach-lerp)) + (vector-lerp! (-> self root trans) (-> self grab-start-pos) gp-0 (-> self attach-lerp)) + (quaternion-slerp! (-> self root quat) (-> self grab-start-quat) s5-0 (-> self attach-lerp)) ) ) (enemy-simple-post) @@ -803,7 +799,7 @@ :code (behavior () (dispose! self) (logclear! (-> self focus-status) (focus-status dangerous)) - (enemy-method-52 self (-> self root-override2 transv)) + (enemy-method-52 self (-> self root transv)) (let ((gp-0 (current-time))) (ja-no-eval :group! jellyfish-die-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim jellyfish-die-ja) frames num-frames) -1))) @@ -832,7 +828,7 @@ (ja :num! (seek!)) ) ) - (let ((v1-52 (-> self root-override2 root-prim))) + (let ((v1-52 (-> self root root-prim))) (set! (-> v1-52 prim-core collide-as) (collide-spec)) (set! (-> v1-52 prim-core collide-with) (collide-spec)) ) @@ -853,7 +849,7 @@ :event (the-as (function process int symbol event-message-block object :behavior jellyfish) enemy-event-handler) :code (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -916,7 +912,7 @@ (let ((s5-1 (jellyfish-method-161 obj (new 'stack-no-clear 'vector) (-> obj path-player-u))) (gp-1 (-> obj focus-pos)) ) - (-> obj root-override2 trans) + (-> obj root trans) (the-as symbol (and (and (if arg0 @@ -962,7 +958,7 @@ (local-vars (v1-8 object)) (jellyfish-method-161 obj (new 'stack-no-clear 'vector) (-> obj path-stare-u)) (let ((s5-0 (-> obj focus-pos))) - (-> obj root-override2 trans) + (-> obj root trans) (the-as symbol (and (and (if arg0 @@ -1013,7 +1009,7 @@ (vf4 :class vf) ) (init-vf0-vector) - (let* ((s5-0 (-> obj root-override2 trans)) + (let* ((s5-0 (-> obj root trans)) (s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj focus-pos) s5-0)) (s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-1 1.0)) (f0-0 (vector-length s3-1)) @@ -1049,13 +1045,11 @@ (set! (-> s0-0 start-pos quad) (-> s1-0 quad)) (vector-! (-> s0-0 move-dist) s2-0 s1-0) (let ((v1-14 s0-0)) - (set! (-> v1-14 radius) - (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) child 0 local-sphere w) - ) + (set! (-> v1-14 radius) (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 0 local-sphere w)) (set! (-> v1-14 collide-with) (collide-spec backgnd enemy obstacle hit-by-others-list)) (set! (-> v1-14 ignore-process0) obj) (set! (-> v1-14 ignore-process1) #f) - (set! (-> v1-14 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-14 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-14 action-mask) (collide-action solid)) ) (if (>= (fill-and-probe-using-line-sphere *collide-cache* s0-0) 0.0) @@ -1110,14 +1104,7 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (with-pp - (let ((v1-1 - (vector-inv-orient-by-quat! - (new 'stack-no-clear 'vector) - (-> obj main-joint-acc) - (-> obj root-override2 quat) - ) - ) - ) + (let ((v1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> obj main-joint-acc) (-> obj root quat)))) (+! (-> obj tentacle-clock) (* (lerp-scale 1.0 10.0 (fmax (fmax (fmax 0.0 (fabs (-> v1-1 x))) (-> v1-1 y)) (fabs (-> v1-1 z))) 0.0 24576.0) (-> pp clock seconds-per-frame) @@ -1147,7 +1134,7 @@ (set! (-> obj path-player-u) (get-furthest-point-on-path (-> obj path) (-> obj focus-pos))) ) ) - (set! (-> obj path-my-u) (get-furthest-point-on-path (-> obj path) (-> obj root-override2 trans))) + (set! (-> obj path-my-u) (get-furthest-point-on-path (-> obj path) (-> obj root trans))) ((method-of-type hover-enemy track-target!) obj) (none) ) @@ -1238,7 +1225,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1275,9 +1262,9 @@ (set! (-> v1-8 twist-speed-y) 0.06) (set! (-> v1-8 max-dist) 122880.0) ) - (set! (-> obj root-override2 dynam gravity y) 40960.0) - (set! (-> obj root-override2 dynam gravity-length) 40960.0) - (set! (-> obj root-override2 dynam gravity-max) 40960.0) + (set! (-> obj root dynam gravity y) 40960.0) + (set! (-> obj root dynam gravity-length) 40960.0) + (set! (-> obj root dynam gravity-max) 40960.0) (logclear! (-> obj mask) (process-mask actor-pause)) (logclear! (-> obj enemy-flags) (enemy-flag notice)) (new-source! (-> obj los) obj (seconds 1) (collide-spec backgnd enemy obstacle hit-by-others-list)) diff --git a/goal_src/jak2/levels/underport/pipe-grunt.gc b/goal_src/jak2/levels/underport/pipe-grunt.gc index 2ef4fde583..9da0421da3 100644 --- a/goal_src/jak2/levels/underport/pipe-grunt.gc +++ b/goal_src/jak2/levels/underport/pipe-grunt.gc @@ -53,9 +53,9 @@ (set! (-> self state-time) (current-time)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice alert victory)) - (let ((v1-7 (-> self root-override2 root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (let ((v1-10 self)) @@ -64,23 +64,23 @@ ) 0 (set-vector! (-> self pipe-front) -1198776.4 -224337.92 8087470.0 1.0) - (vector-! (-> self pipe-dir) (-> self pipe-front) (-> self root-override2 trans)) + (vector-! (-> self pipe-dir) (-> self pipe-front) (-> self root trans)) (vector-normalize! (-> self pipe-dir) 1.0) - (quaternion-look-at! (-> self root-override2 quat) (-> self pipe-dir) *up-vector*) + (quaternion-look-at! (-> self root quat) (-> self pipe-dir) *up-vector*) (set! (-> self charge-anim) (-> *grunt-global-info* charge-anim (get-rand-int self 3))) - (vector-normalize-copy! (-> self root-override2 transv) (-> self pipe-dir) (-> self charge-anim travel-speed)) + (vector-normalize-copy! (-> self root transv) (-> self pipe-dir) (-> self charge-anim travel-speed)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-rotate90-around-y! gp-0 (-> self pipe-dir)) (vector-normalize! gp-0 (get-rand-float-range self -4096.0 4096.0)) - (move-by-vector! (-> self root-override2) gp-0) + (move-by-vector! (-> self root) gp-0) ) (none) ) :trans (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) - (vector-v++! gp-0 (-> self root-override2 transv)) - (move-to-point! (-> self root-override2) gp-0) + (set! (-> gp-0 quad) (-> self root trans quad)) + (vector-v++! gp-0 (-> self root transv)) + (move-to-point! (-> self root) gp-0) (let ((v1-4 (new 'stack-no-clear 'vector))) (vector-! v1-4 (-> self pipe-front) gp-0) (when (< (vector-dot v1-4 (-> self pipe-dir)) 0.0) diff --git a/goal_src/jak2/levels/underport/sig5-course.gc b/goal_src/jak2/levels/underport/sig5-course.gc index 8b9da7cc54..33a2e8a1f2 100644 --- a/goal_src/jak2/levels/underport/sig5-course.gc +++ b/goal_src/jak2/levels/underport/sig5-course.gc @@ -78,10 +78,10 @@ ) (defmethod enemy-method-86 sig-under ((obj sig-under)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (when (< (-> gp-0 transv y) 0.0) (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (find-ground (-> obj root-override2) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) + (find-ground (-> obj root) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) ) (>= (-> gp-0 gspot-pos y) (-> gp-0 trans y)) ) @@ -181,10 +181,9 @@ ;; WARN: disable def twice: 39. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defmethod sig-under-method-262 sig-under ((obj sig-under) (arg0 symbol)) (when (or (logtest? (-> obj bot-task-bits) 2) - (and arg0 - (let ((f0-0 81920.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> obj root-override2 trans))) - ) + (and arg0 (let ((f0-0 81920.0)) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> obj root trans))) + ) ) ) (cond @@ -214,7 +213,7 @@ (vf3 :class vf) ) (let ((gp-0 (new 'stack-no-clear 'sphere))) - (set! (-> gp-0 quad) (-> obj root-override2 trans quad)) + (set! (-> gp-0 quad) (-> obj root trans quad)) (set! (-> gp-0 r) 327680.0) (set! *actor-list-length* 0) (if #t @@ -319,9 +318,7 @@ ) (defmethod sig-under-method-261 sig-under ((obj sig-under) (arg0 vector) (arg1 vector) (arg2 symbol)) - (set! (-> arg0 w) - (- (+ (* (-> arg0 x) (-> obj root-override2 trans x)) (* (-> arg0 z) (-> obj root-override2 trans z)))) - ) + (set! (-> arg0 w) (- (+ (* (-> arg0 x) (-> obj root trans x)) (* (-> arg0 z) (-> obj root trans z))))) (let ((v1-2 (new 'stack-no-clear 'vector))) (set! (-> v1-2 quad) (-> arg1 quad)) (set! (-> v1-2 y) 0.0) @@ -334,7 +331,7 @@ (set! f2-1 (+ 2048.0 f2-1)) ) (if (and (>= f0-6 -2048.0) (>= f1-3 f0-6)) - (>= (* f2-1 f2-1) (vector-vector-xz-distance-squared arg1 (-> obj root-override2 trans))) + (>= (* f2-1 f2-1) (vector-vector-xz-distance-squared arg1 (-> obj root trans))) ) ) ) @@ -344,12 +341,12 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior sig-under) enemy-event-handler) :enter (behavior () - (move-to-point! (-> self root-override2) (the-as vector (-> self sig5-course spots 0))) - (quaternion-identity! (-> self root-override2 quat)) + (move-to-point! (-> self root) (the-as vector (-> self sig5-course spots 0))) + (quaternion-identity! (-> self root quat)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 (the-as vector (-> self sig5-course spots 1)) (-> self root-override2 trans)) + (vector-! gp-0 (the-as vector (-> self sig5-course spots 1)) (-> self root trans)) (vector-normalize! gp-0 1.0) - (set-heading-vec! (-> self root-override2) gp-0) + (set-heading-vec! (-> self root) gp-0) ) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active checking-water)) (let ((v1-11 self)) @@ -361,17 +358,15 @@ (set! (-> self skel top-anim interp) 0.0) (set! (-> self focus-mode) 1) (set! (-> self bot-flags) (logior (bot-flags bf11 bf18) (-> self bot-flags))) - (set! (-> self root-override2 penetrated-by) - (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) - (-> self root-override2 penetrated-by) - ) + (set! (-> self root penetrated-by) + (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) (-> self root penetrated-by)) ) (look-at-target! self (enemy-flag lock-focus)) (none) ) :exit (behavior () (logclear! (-> self bot-flags) (bot-flags bf18)) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (none) ) :trans (behavior () @@ -413,12 +408,7 @@ ) (ja-no-eval :group! gp-1 :num! (seek! f30-3) :frame-num 0.0) (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 32768.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 32768.0 (seconds 0.05)) (suspend) (ja :num! (seek! f30-3)) ) @@ -523,11 +513,11 @@ :waypoints (new 'static 'boxed-array :type bot-waypoint (new 'static 'bot-waypoint :waypoint-id 1 - :skip-to #x16 + :skip-to 22 :on-set (lambda ((arg0 sig-under)) (let ((a0-1 80)) (set! (-> arg0 hit-points) a0-1) - (set! (-> arg0 enemy-info-override default-hit-points) a0-1) + (set! (-> arg0 enemy-info default-hit-points) a0-1) ) (clear-speech-flags! arg0) (logclear! (-> arg0 focus-status) (focus-status disable)) @@ -620,7 +610,7 @@ (set! (-> arg0 notice-enemy-dist) 122880.0) (clear-poi-and-focus! arg0) (set! (-> arg0 focus-mode) 0) - (set! (-> arg0 root-override2 penetrated-by) (get-penetrate-info arg0)) + (set! (-> arg0 root penetrated-by) (get-penetrate-info arg0)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) (set! (-> v1-12 bytes 5) 1) (set! (-> v1-12 bytes 6) 3) @@ -940,8 +930,8 @@ :on-set (lambda ((arg0 sig-under)) (logior! (-> arg0 enemy-flags) (enemy-flag enable-on-active checking-water)) (reset-warn-time! arg0) - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 sig5-course spots 10))) - (set-vector! (-> arg0 root-override2 quat) 0.0 0.5874 0.0 0.8092) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 sig5-course spots 10))) + (set-vector! (-> arg0 root quat) 0.0 0.5874 0.0 0.8092) (play-speech arg0 8) (play-speech arg0 9) (let ((v1-15 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1075,7 +1065,7 @@ :skip-to -1 :on-set (lambda ((arg0 sig-under)) (let ((v1-2 (-> arg0 sig5-course spots 14))) - (set! (-> v1-2 center quad) (-> arg0 root-override2 trans quad)) + (set! (-> v1-2 center quad) (-> arg0 root trans quad)) (set! (-> v1-2 center w) 8192.0) ) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1136,7 +1126,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 18 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1348,7 +1338,7 @@ (logior! (-> arg1 waypoint-bits) 1) (process-release? arg1) (sig-under-method-260 arg1) - (move-to-point! (-> arg1 root-override2) (the-as vector (-> arg1 sig5-course spots 20))) + (move-to-point! (-> arg1 root) (the-as vector (-> arg1 sig5-course spots 20))) #f ) ((not (logtest? (-> arg1 waypoint-bits) 2)) @@ -1494,7 +1484,7 @@ (set! (-> arg0 notice-enemy-dist) 122880.0) (clear-poi-and-focus! arg0) (set! (-> arg0 focus-mode) 0) - (set! (-> arg0 root-override2 penetrated-by) (get-penetrate-info arg0)) + (set! (-> arg0 root penetrated-by) (get-penetrate-info arg0)) (logior! (-> arg0 waypoint-bits) 1) (send-event arg0 'move-trans (-> arg0 sig5-course spots 21)) (send-event *target* 'continue (get-continue-by-name *game-info* "sig5-skip-to-cent2")) @@ -1537,7 +1527,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 24 - :nav-mesh-index #x7 + :nav-mesh-index 7 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (set! (-> arg0 next-chase-play-time) (+ (current-time) (get-rand-int-range arg0 600 1200))) @@ -1560,7 +1550,7 @@ (when (and (>= (- (current-time) (-> arg1 waypoint-time0)) (seconds 4)) (sig-method-257 arg1) (let ((f0-0 61440.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root-override2 trans))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root trans))) ) ) (set! (-> arg1 enemy-flags) (the-as enemy-flag (logclear (-> arg1 enemy-flags) (enemy-flag vulnerable)))) @@ -1600,7 +1590,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 25 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (clear-poi-and-focus! arg0) @@ -1660,11 +1650,8 @@ (when (>= 10012.445 (fabs (deg- - (atan - (- (-> v1-78 center x) (-> arg1 root-override2 trans x)) - (- (-> v1-78 center z) (-> arg1 root-override2 trans z)) - ) - (quaternion-y-angle (-> arg1 root-override2 quat)) + (atan (- (-> v1-78 center x) (-> arg1 root trans x)) (- (-> v1-78 center z) (-> arg1 root trans z))) + (quaternion-y-angle (-> arg1 root quat)) ) ) ) @@ -1708,7 +1695,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 26 - :nav-mesh-index #x9 + :nav-mesh-index 9 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (add-process *gui-control* arg0 (gui-channel art-load) (gui-action queue) "under-get-sig-out-res" -99.0 0) @@ -1765,7 +1752,7 @@ (stop-speech arg0 (the-as uint 0) #f) (logclear! (-> arg0 enemy-flags) (enemy-flag enable-on-active checking-water)) (let ((v1-8 (-> arg0 sig5-course spots 35))) - (set! (-> v1-8 center quad) (-> arg0 root-override2 trans quad)) + (set! (-> v1-8 center quad) (-> arg0 root trans quad)) (set! (-> v1-8 center w) 16384.0) ) (let ((v1-11 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1850,7 +1837,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "sigt078") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 36 (new 'static 'bot-spot :center (new 'static 'vector :x -308019.2 :y -266199.03 :z 7887175.5 :w 8192.0)) diff --git a/goal_src/jak2/levels/underport/under-laser.gc b/goal_src/jak2/levels/underport/under-laser.gc index a5f9292cc0..3e774bcd92 100644 --- a/goal_src/jak2/levels/underport/under-laser.gc +++ b/goal_src/jak2/levels/underport/under-laser.gc @@ -70,7 +70,7 @@ ) (deftype under-laser-shadow (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info under-laser-info :offset-assert 200) (trans-xz-offset vector :inline :offset-assert 208) ) @@ -85,7 +85,7 @@ (deftype under-laser-slave (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -98,7 +98,7 @@ (deftype under-laser (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info under-laser-info :offset-assert 200) (id int8 :offset-assert 204) (lightning lightning-control :offset-assert 208) @@ -138,7 +138,7 @@ :virtual #t :trans (behavior () (let ((a1-0 (ppointer->process (-> self parent))) - (v1-2 (-> self root-override)) + (v1-2 (-> self root)) ) (let ((f0-0 (-> v1-2 trans y))) (set! (-> v1-2 trans quad) (-> (the-as process-drawable a1-0) root trans quad)) @@ -160,8 +160,8 @@ ) ) ) - (let ((f0-3 (vector-vector-distance (math-camera-pos) (-> self root-override trans)))) - (set! (-> self root-override scale x) (lerp-scale 0.5 3.5 f0-3 32768.0 245760.0)) + (let ((f0-3 (vector-vector-distance (math-camera-pos) (-> self root trans)))) + (set! (-> self root scale x) (lerp-scale 0.5 3.5 f0-3 32768.0 245760.0)) ) (none) ) @@ -173,12 +173,12 @@ (defbehavior under-laser-shadow-init-by-other under-laser-shadow ((arg0 under-laser-info) (arg1 vector) (arg2 vector)) (set! (-> self info) arg0) (set! (-> self trans-xz-offset quad) (-> arg1 quad)) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((s3-0 (-> self root-override))) + (let ((s3-0 (-> self root))) (let ((v1-4 (ppointer->process (-> self parent)))) (set! (-> s3-0 scale quad) (-> arg2 quad)) - (set! (-> s3-0 trans quad) (-> (the-as under-laser v1-4) root-override trans quad)) + (set! (-> s3-0 trans quad) (-> (the-as under-laser v1-4) root trans quad)) ) (vector+! (-> s3-0 trans) (-> s3-0 trans) arg1) (set! (-> s3-0 trans y) (+ 819.2 (-> arg0 shadow-top-y))) @@ -206,9 +206,9 @@ :virtual #t :trans (behavior () (let ((v1-0 (ppointer->process (-> self parent))) - (a0-1 (-> self root-override)) + (a0-1 (-> self root)) ) - (set! (-> a0-1 trans quad) (-> (the-as under-laser v1-0) root-override trans quad)) + (set! (-> a0-1 trans quad) (-> (the-as under-laser v1-0) root trans quad)) (vector+! (-> a0-1 trans) (-> a0-1 trans) (-> (the-as under-laser v1-0) slave-trans-offset)) ) (none) @@ -219,16 +219,16 @@ ;; WARN: Return type mismatch object vs none. (defbehavior under-laser-slave-init-by-other under-laser-slave () - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (-> self root-override)) + (let ((gp-0 (-> self root)) (s5-0 (ppointer->process (-> self parent))) ) - (set! (-> gp-0 trans quad) (-> (the-as under-laser s5-0) root-override trans quad)) + (set! (-> gp-0 trans quad) (-> (the-as under-laser s5-0) root trans quad)) (vector+! (-> gp-0 trans) (-> gp-0 trans) (-> (the-as under-laser s5-0) slave-trans-offset)) - (quaternion-copy! (-> gp-0 quat) (-> (the-as under-laser s5-0) root-override quat)) + (quaternion-copy! (-> gp-0 quat) (-> (the-as under-laser s5-0) root quat)) (quaternion-rotate-y! (-> gp-0 quat) (-> gp-0 quat) 32768.0) - (set! (-> gp-0 scale quad) (-> (the-as under-laser s5-0) root-override scale quad)) + (set! (-> gp-0 scale quad) (-> (the-as under-laser s5-0) root scale quad)) ) (initialize-skeleton self @@ -243,7 +243,7 @@ (defmethod under-laser-method-22 under-laser ((obj under-laser)) (with-pp (let ((s5-0 (new 'stack-no-clear 'collide-query))) - (set! (-> s5-0 start-pos quad) (-> obj root-override trans quad)) + (set! (-> s5-0 start-pos quad) (-> obj root trans quad)) (set! (-> s5-0 move-dist quad) (-> obj slave-trans-offset quad)) (let ((v1-2 s5-0)) (set! (-> v1-2 radius) 409.6) @@ -345,7 +345,7 @@ :code (the-as (function none :behavior under-laser) sleep-code) :post (behavior () (let ((f30-0 (get-norm! (-> self sync) 0))) - (vector-lerp! (-> self root-override trans) (-> self zero-pos) (-> self one-pos) f30-0) + (vector-lerp! (-> self root trans) (-> self zero-pos) (-> self one-pos) f30-0) (if (!= (-> self sync offset) 0.0) (set! f30-0 (- 1.0 f30-0)) ) @@ -373,7 +373,7 @@ ) (let ((a1-10 (new 'stack-no-clear 'vector))) (vector-float*! a1-10 (-> self slave-trans-offset) 0.5) - (vector+! a1-10 a1-10 (-> self root-override trans)) + (vector+! a1-10 a1-10 (-> self root trans)) (update-trans! (-> self sound) a1-10) ) (update! (-> self sound)) @@ -400,7 +400,7 @@ This commonly includes things such as: - loading the skeleton group / bones - sounds" (local-vars (sv-64 res-tag)) - (set! (-> obj root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape-moving (new 'process 'trsqv))) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton @@ -430,7 +430,7 @@ This commonly includes things such as: (initialize! (-> obj sync) a1-6) ) (set! (-> obj clock) (-> *display* user0-clock)) - (let ((s5-1 (-> obj root-override))) + (let ((s5-1 (-> obj root))) (set-vector! (-> s5-1 scale) 1.25 1.25 1.25 1.0) (set! sv-64 (new 'static 'res-tag)) (let ((v1-22 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-64)))) @@ -503,7 +503,7 @@ This commonly includes things such as: ) (let ((a3-5 (new 'stack-no-clear 'vector))) (vector-float*! a3-5 (-> obj slave-trans-offset) 0.5) - (vector+! a3-5 a3-5 (-> obj root-override trans)) + (vector+! a3-5 a3-5 (-> obj root trans)) (if (zero? (-> obj id)) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "und-laser-near" :fo-max 40) a3-5)) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "und-laser-beam" :fo-max 40) a3-5)) diff --git a/goal_src/jak2/levels/underport/under-obs.gc b/goal_src/jak2/levels/underport/under-obs.gc index 53863bd4ab..6cdd687a00 100644 --- a/goal_src/jak2/levels/underport/under-obs.gc +++ b/goal_src/jak2/levels/underport/under-obs.gc @@ -914,7 +914,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -982,11 +982,11 @@ This commonly includes things such as: (the-as pair 0) ) (alloc-and-init-rigid-body-control obj *under-buoy-plat-platform-constants*) - (set! (-> obj orig-trans quad) (-> obj root-override-2 trans quad)) - (set! (-> obj anchor-point quad) (-> obj root-override-2 trans quad)) - (set! (-> obj surface-height) (-> obj root-override-2 trans y)) - (set! (-> obj info-override info cm-offset-joint y) 6144.0) - (let ((s5-1 (-> obj info-override control-point-count))) + (set! (-> obj orig-trans quad) (-> obj root trans quad)) + (set! (-> obj anchor-point quad) (-> obj root trans quad)) + (set! (-> obj surface-height) (-> obj root trans y)) + (set! (-> obj info info cm-offset-joint y) 6144.0) + (let ((s5-1 (-> obj info control-point-count))) (dotimes (s4-1 s5-1) (let ((s3-0 (-> obj control-point-array data s4-1))) (let ((f30-0 (* 65536.0 (/ (the float s4-1) (the float s5-1))))) @@ -1189,7 +1189,7 @@ This commonly includes things such as: ) (deftype under-mine (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (chain under-mine-chain-physics :offset-assert 200) (chain-initialized symbol :offset-assert 204) (main-mod joint-mod :offset-assert 208) @@ -1250,7 +1250,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self state-time) (current-time)) - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1268,7 +1268,7 @@ This commonly includes things such as: ) (set! (-> gp-0 spawn-point quad) (-> v1-9 quad)) ) - (quaternion-copy! (-> gp-0 spawn-quat) (-> self root-override quat)) + (quaternion-copy! (-> gp-0 spawn-quat) (-> self root quat)) (set! (-> gp-0 radius) 16384.0) (set! (-> gp-0 group) (-> *part-group-id-table* 501)) (set! (-> gp-0 collide-with) @@ -1340,9 +1340,9 @@ This commonly includes things such as: ) ) (set! (-> gp-0 y) (+ -28672.0 (-> gp-0 y))) - (vector-seek-3d-smooth! (-> self root-override trans) s5-0 (* 204.8 (-> self clock time-adjust-ratio)) 0.25) + (vector-seek-3d-smooth! (-> self root trans) s5-0 (* 204.8 (-> self clock time-adjust-ratio)) 0.25) ) - (let ((v1-21 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) gp-0))) + (let ((v1-21 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) gp-0))) (.lvf vf1 (&-> v1-21 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -1357,9 +1357,9 @@ This commonly includes things such as: (vector-float*! v1-21 v1-21 (/ 28672.0 (sqrtf f0-9))) ) ) - (vector+! (-> self root-override trans) gp-0 v1-21) + (vector+! (-> self root trans) gp-0 v1-21) ) - (set! (-> self root-override trans y) (fmax (-> self root-override trans y) (+ 409.6 (-> gp-0 y)))) + (set! (-> self root trans y) (fmax (-> self root trans y) (+ 409.6 (-> gp-0 y)))) ) (when (-> self chain-initialized) (let ((s5-1 (new-stack-vector0)) @@ -1393,7 +1393,7 @@ This commonly includes things such as: :post (behavior () (transform-post) (if *nav-network* - (nav-network-method-25 *nav-network* self (-> self root-override root-prim prim-core)) + (nav-network-method-25 *nav-network* self (-> self root root-prim prim-core)) ) (when (not (-> self chain-initialized)) (set! (-> self chain-initialized) #t) @@ -1441,7 +1441,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1503,11 +1503,11 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -1524,9 +1524,9 @@ This commonly includes things such as: ) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) - (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root-override trans))) + (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root trans))) ) - (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root quat)) (and (< (fabs (-> gp-2 x)) 20480.0) (< 0.0 (-> gp-2 z)) (< (-> gp-2 z) 40960.0)) ) ) @@ -1534,7 +1534,7 @@ This commonly includes things such as: ) (defmethod under-lift-method-49 under-lift ((obj under-lift) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec obstacle pusher)) @@ -1572,7 +1572,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (sound-play "under-lift-lp" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "under-lift-lp" :id (-> self sound-id) :position (-> self root trans)) (none) ) ) @@ -1647,7 +1647,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (under-lift-method-49 obj #f) (none) @@ -1723,7 +1723,7 @@ For example for an elevator pre-compute the distance between the first and last :code (behavior ((arg0 symbol)) (set! (-> self draw force-lod) 0) (-> self draw bounds w) - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1794,7 +1794,7 @@ This commonly includes things such as: (set! (-> s2-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) s2-0) + (set! (-> obj root) s2-0) ) (cond ((string= (-> obj art-name) "under-break-door-1") diff --git a/goal_src/jak2/levels/underport/under-shoot-block.gc b/goal_src/jak2/levels/underport/under-shoot-block.gc index 9446779998..60a940e07c 100644 --- a/goal_src/jak2/levels/underport/under-shoot-block.gc +++ b/goal_src/jak2/levels/underport/under-shoot-block.gc @@ -57,7 +57,7 @@ (new 'static 'under-block-puzzle :auto-unlock? #t :cells-wide 5 - :cells-tall #x8 + :cells-tall 8 :orient-ry 11286.756 :spawners (new 'static 'boxed-array :type under-block-spawner (new 'static 'under-block-spawner :col 1 :row 2) @@ -69,7 +69,7 @@ ) :cells (new 'static 'array int32 12 0 0 0 0 0 0 0 0 0 0 0 0) :pulse-ops (new 'static 'array int8 144 - #x2c + 44 1 0 0 @@ -77,7 +77,7 @@ 0 0 0 - #x58 + 88 2 0 0 @@ -110,7 +110,7 @@ 0 0 -22 - #x6 + 6 0 0 1 @@ -118,7 +118,7 @@ 0 0 -38 - #x7 + 7 0 0 1 @@ -126,15 +126,15 @@ 0 0 -84 - #x8 + 8 0 0 1 0 0 0 - #x60 - #x9 + 96 + 9 0 0 1 @@ -142,7 +142,7 @@ 0 0 -10 - #x9 + 9 0 0 1 @@ -150,7 +150,7 @@ 0 0 #x6e - #xa + 10 0 0 1 @@ -158,7 +158,7 @@ 0 0 -56 - #xa + 10 0 0 1 @@ -166,31 +166,31 @@ 0 0 4 - #xb + 11 0 0 1 0 0 0 - #x22 - #xb + 34 + 11 0 0 1 0 0 0 - #x40 - #xb + 64 + 11 0 0 1 0 0 0 - #x5e - #xb + 94 + 11 0 0 1 @@ -198,7 +198,7 @@ 0 0 #x7c - #xb + 11 0 0 2 @@ -218,8 +218,8 @@ ) (new 'static 'under-block-puzzle :auto-unlock? #t - :cells-wide #x6 - :cells-tall #x8 + :cells-wide 6 + :cells-tall 8 :orient-ry 11286.756 :spawners (new 'static 'boxed-array :type under-block-spawner (new 'static 'under-block-spawner :col 1 :row 2)) :slots (new 'static 'boxed-array :type under-block-slot (new 'static 'under-block-slot :col 3 :row 5)) @@ -238,7 +238,7 @@ -16843010 ) :pulse-ops (new 'static 'array int8 112 - #x2c + 44 1 0 0 @@ -246,7 +246,7 @@ 0 0 0 - #x3a + 58 2 0 0 @@ -254,7 +254,7 @@ 0 0 0 - #x2a + 42 3 0 0 @@ -278,7 +278,7 @@ 0 0 0 - #x46 + 70 5 0 0 @@ -294,16 +294,16 @@ 0 0 0 - #x18 - #x6 + 24 + 6 0 0 1 0 0 0 - #x54 - #x6 + 84 + 6 0 0 1 @@ -311,7 +311,7 @@ 0 0 #x72 - #x6 + 6 0 0 1 @@ -319,7 +319,7 @@ 0 0 -112 - #x6 + 6 0 0 1 @@ -327,7 +327,7 @@ 0 0 -82 - #x6 + 6 0 0 1 @@ -335,7 +335,7 @@ 0 0 -52 - #x6 + 6 0 0 2 @@ -355,8 +355,8 @@ ) (new 'static 'under-block-puzzle :auto-unlock? #f - :cells-wide #x7 - :cells-tall #x6 + :cells-wide 7 + :cells-tall 6 :orient-ry 11286.756 :spawners (new 'static 'boxed-array :type under-block-spawner (new 'static 'under-block-spawner :row 4) @@ -368,7 +368,7 @@ ) :cells (new 'static 'array int32 12 #xff00 0 -16777216 0 0 0 0 0 #xff #xff 0 0) :pulse-ops (new 'static 'array int8 208 - #x2c + 44 1 0 0 @@ -376,7 +376,7 @@ 0 0 0 - #x58 + 88 2 0 0 @@ -408,24 +408,24 @@ 0 0 0 - #x8 - #x7 + 8 + 7 0 0 1 0 0 0 - #x34 - #x8 + 52 + 8 0 0 1 0 0 0 - #x60 - #x9 + 96 + 9 0 0 1 @@ -433,7 +433,7 @@ 0 0 -116 - #xa + 10 0 0 1 @@ -441,7 +441,7 @@ 0 0 -72 - #xb + 11 0 0 1 @@ -449,47 +449,47 @@ 0 0 -28 - #xc + 12 0 0 1 0 0 0 - #x10 - #xe + 16 + 14 0 0 1 0 0 0 - #x3c - #xf + 60 + 15 0 0 1 0 0 0 - #x4a - #x10 + 74 + 16 0 0 1 0 0 0 - #x3a - #x11 + 58 + 17 0 0 1 0 0 0 - #xc - #x12 + 12 + 18 0 0 1 @@ -497,15 +497,15 @@ 0 0 -64 - #x12 + 18 0 0 1 0 0 0 - #x56 - #x13 + 86 + 19 0 0 1 @@ -513,23 +513,23 @@ 0 0 -50 - #x13 + 19 0 0 1 0 0 0 - #x28 - #x14 + 40 + 20 0 0 1 0 0 0 - #x64 - #x14 + 100 + 20 0 0 1 @@ -537,7 +537,7 @@ 0 0 -126 - #x14 + 20 0 0 1 @@ -545,7 +545,7 @@ 0 0 -96 - #x14 + 20 0 0 1 @@ -553,7 +553,7 @@ 0 0 -66 - #x14 + 20 0 0 1 @@ -561,7 +561,7 @@ 0 0 -36 - #x14 + 20 0 0 2 @@ -711,7 +711,7 @@ (when (and (!= (-> gp-0 id) (-> self prev-attack-id)) (!= (-> gp-0 id) (-> self puzzle prev-special-attack-id))) (let ((s5-0 (get-penetrate-using-from-attack-event (the-as process-drawable arg0) arg3))) (when (not (logtest? (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) s5-0)) - (if (< (+ 7372.8 (-> self root-override trans y)) (-> (target-pos 0) y)) + (if (< (+ 7372.8 (-> self root trans y)) (-> (target-pos 0) y)) (return #f) ) ) @@ -725,7 +725,7 @@ (s5-1 0) (gp-1 0) ) - (vector-! s4-0 (-> self root-override trans) (target-pos 0)) + (vector-! s4-0 (-> self root trans) (target-pos 0)) (vector-rotate-around-y! s4-0 s4-0 (- (-> self puzzle orient-ry))) (cond ((< (fabs (-> s4-0 z)) (fabs (-> s4-0 x))) @@ -929,7 +929,7 @@ ) (defmethod under-block-method-41 under-block ((obj under-block) (arg0 symbol)) - (let ((v1-1 (-> obj root-override root-prim))) + (let ((v1-1 (-> obj root root-prim))) (case arg0 (('active) (set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core collide-as) (collide-spec obstacle pusher)) @@ -1208,12 +1208,12 @@ :to obj ) ) - (if (>= 204800.0 (vector-vector-distance (target-pos 0) (-> obj root-override trans))) + (if (>= 204800.0 (vector-vector-distance (target-pos 0) (-> obj root trans))) (activate! *camera-smush-control* 409.6 37 210 1.0 0.995 (-> pp clock)) ) (let ((s5-2 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> s5-2 spawn-point quad) (-> obj root-override trans quad)) - (quaternion-copy! (-> s5-2 spawn-quat) (-> obj root-override quat)) + (set! (-> s5-2 spawn-point quad) (-> obj root trans quad)) + (quaternion-copy! (-> s5-2 spawn-quat) (-> obj root quat)) (set! (-> s5-2 radius) 16384.0) (set! (-> s5-2 group) (-> *part-group-id-table* 497)) (set! (-> s5-2 collide-with) (collide-spec jak bot player-list)) @@ -1247,12 +1247,12 @@ (set! (-> self state-time) (current-time)) (sound-play "und-block-rise") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 0 quad) (-> self root trans quad)) (set! (-> gp-1 vector 1 quad) (-> gp-1 vector 0 quad)) (set! (-> gp-1 vector 1 y) (+ 16384.0 (-> gp-1 vector 1 y))) - (until (>= 409.6 (fabs (- (-> gp-1 vector 1 y) (-> self root-override trans y)))) + (until (>= 409.6 (fabs (- (-> gp-1 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-1 vector 1) (* 30720.0 (-> self clock seconds-per-frame)) 0.25 @@ -1260,7 +1260,7 @@ (rider-post) (suspend) ) - (set! (-> self root-override trans quad) (-> gp-1 vector 1 quad)) + (set! (-> self root trans quad) (-> gp-1 vector 1 quad)) ) (rider-post) (go-virtual idle) @@ -1276,12 +1276,12 @@ (set! (-> self flags) (logand -2 (-> self flags))) (set! (-> self state-time) (current-time)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (set! (-> gp-0 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 vector 0 quad) (-> self root trans quad)) (set! (-> gp-0 vector 1 quad) (-> gp-0 vector 0 quad)) (set! (-> gp-0 vector 1 y) (+ 16384.0 (-> gp-0 vector 1 y))) - (until (>= 409.6 (fabs (- (-> gp-0 vector 1 y) (-> self root-override trans y)))) + (until (>= 409.6 (fabs (- (-> gp-0 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-0 vector 1) (* 30720.0 (-> self clock seconds-per-frame)) 0.25 @@ -1289,7 +1289,7 @@ (rider-post) (suspend) ) - (set! (-> self root-override trans quad) (-> gp-0 vector 1 quad)) + (set! (-> self root trans quad) (-> gp-0 vector 1 quad)) ) (rider-post) (go-virtual waiting) @@ -1356,7 +1356,7 @@ (init-vf0-vector) (sound-play "und-block-roll") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 1 quad) (-> self root trans quad)) (set-vector! (-> gp-1 vector 0) (+ 8192.0 (* 16384.0 (the float (-> self col)))) @@ -1369,7 +1369,7 @@ (the-as vector (-> gp-1 vector)) (-> self puzzle local-to-world) ) - (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root-override quat)) + (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root quat)) (vector-! (-> self rot-axis) (the-as vector (-> gp-1 vector)) (-> gp-1 vector 1)) (set! (-> self rot-axis y) 0.0) (vector-normalize! (-> self rot-axis) 1.0) @@ -1383,7 +1383,7 @@ (set! (-> self state-time) (current-time)) (until #f (let ((f30-0 (fmin 1.0 (* 0.022222223 (the float (- (current-time) (-> self state-time))))))) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set! (-> s5-1 transv quad) (-> s5-1 trans quad)) (vector-lerp! (-> s5-1 trans) (-> gp-1 vector 1) (the-as vector (-> gp-1 vector)) f30-0) (set! (-> s5-1 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-0))) (-> s5-1 trans y))) @@ -1444,7 +1444,7 @@ (let ((a1-1 (+ (-> self col) (-> self move-dir-x))) (a0-4 (+ (-> self row) (-> self move-dir-z))) ) - (set! (-> gp-1 vector 1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 1 quad) (-> self root trans quad)) (set-vector! (-> gp-1 vector 0) (+ 8192.0 (* 16384.0 (the float a1-1))) @@ -1458,7 +1458,7 @@ (the-as vector (-> gp-1 vector)) (-> self puzzle local-to-world) ) - (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root-override quat)) + (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root quat)) (vector-! (-> self rot-axis) (the-as vector (-> gp-1 vector)) (-> gp-1 vector 1)) (set! (-> self rot-axis y) 0.0) (vector-normalize! (-> self rot-axis) 1.0) @@ -1472,7 +1472,7 @@ (set! (-> self state-time) (current-time)) (until #f (let ((f30-0 (fmin 1.0 (* 0.0074074073 (the float (- (current-time) (-> self state-time))))))) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set! (-> s5-1 transv quad) (-> s5-1 trans quad)) (vector-lerp! (-> s5-1 trans) (-> gp-1 vector 1) (the-as vector (-> gp-1 vector)) f30-0) (set! (-> s5-1 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-0))) (-> s5-1 trans y))) @@ -1495,7 +1495,7 @@ (set! (-> self state-time) (current-time)) (until #f (let* ((f1-9 (fmin 1.0 (* 0.0074074073 (the float (- (current-time) (-> self state-time)))))) - (s5-2 (-> self root-override)) + (s5-2 (-> self root)) (f30-1 (fmax 0.0 (- 0.15 f1-9))) ) (set! (-> s5-2 transv quad) (-> s5-2 trans quad)) @@ -1535,12 +1535,12 @@ (set! (-> self state-time) (current-time)) (sound-play "und-block-lock") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 0 quad) (-> self root trans quad)) (set! (-> gp-1 vector 1 quad) (-> gp-1 vector 0 quad)) (set! (-> gp-1 vector 1 y) (+ -1228.8 (-> gp-1 vector 1 y))) - (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root-override trans y)))) + (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-1 vector 1) (* 8192.0 (-> self clock seconds-per-frame)) 0.25 @@ -1575,13 +1575,13 @@ (set! (-> self state-time) (current-time)) (sound-play "und-block-sink") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 0 quad) (-> self root trans quad)) (set! (-> gp-1 vector 1 quad) (-> gp-1 vector 0 quad)) (set! (-> gp-1 vector 1 y) (-> self puzzle origin y)) (set! (-> gp-1 vector 1 y) (+ -8192.0 (-> gp-1 vector 1 y))) - (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root-override trans y)))) + (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-1 vector 1) (* 12288.0 (-> self clock seconds-per-frame)) 0.25 @@ -1625,11 +1625,11 @@ (s5-0 (new 'stack-no-clear 'quaternion)) (f30-0 0.0) ) - (quaternion-copy! gp-0 (-> self root-override quat)) + (quaternion-copy! gp-0 (-> self root quat)) (while (< (- (current-time) (-> self state-time)) (seconds 1.25)) (+! f30-0 (* 65536.0 (-> self clock seconds-per-frame))) (quaternion-vector-angle! s5-0 (-> self rot-axis) (- f30-0)) - (quaternion*! (-> self root-override quat) s5-0 gp-0) + (quaternion*! (-> self root quat) s5-0 gp-0) (suspend) ) ) @@ -1637,7 +1637,7 @@ (none) ) :post (behavior () - (let ((gp-0 (-> self root-override))) + (let ((gp-0 (-> self root))) (set! (-> gp-0 transv y) (- (-> gp-0 transv y) (* 348160.0 (-> self clock seconds-per-frame)))) (let ((a2-0 (new 'stack-no-clear 'collide-query))) (set! (-> a2-0 collide-with) (-> gp-0 root-prim prim-core collide-with)) @@ -1683,7 +1683,7 @@ (sound-play "und-block-explo") (under-block-method-50 self) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-7 (-> self root-override root-prim))) + (let ((v1-7 (-> self root root-prim))) (set! (-> v1-7 prim-core collide-as) (collide-spec)) (set! (-> v1-7 prim-core collide-with) (collide-spec)) ) @@ -1767,7 +1767,7 @@ (set! (-> s4-0 backup-collide-as) (-> v1-26 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-26 prim-core collide-with)) ) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) (cond ((= arg2 'beaten) @@ -1783,7 +1783,7 @@ ) ) ) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set-vector! (-> s5-1 trans) (+ 8192.0 (* 16384.0 (the float (-> self col)))) diff --git a/goal_src/jak2/levels/underport/under-sig-obs.gc b/goal_src/jak2/levels/underport/under-sig-obs.gc index 23fa3ff562..db2dfad902 100644 --- a/goal_src/jak2/levels/underport/under-sig-obs.gc +++ b/goal_src/jak2/levels/underport/under-sig-obs.gc @@ -98,7 +98,7 @@ ) (set! (-> s5-0 rider-max-momentum) 0.0) (set! (-> s5-0 max-iteration-count) (the-as uint 5)) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -124,7 +124,7 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> obj hint-count) 0.0) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -134,7 +134,7 @@ For example for an elevator pre-compute the distance between the first and last :virtual #t :enter (behavior () (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-4 (-> self root-override root-prim))) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -143,9 +143,9 @@ For example for an elevator pre-compute the distance between the first and last ) :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -198,7 +198,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> self time-flip) (the-as uint 570)) ) (set! (-> self hint-count) -1.0) - (vector-! (-> self axe-flip) (-> gp-1 trans) (-> self root-override trans)) + (vector-! (-> self axe-flip) (-> gp-1 trans) (-> self root trans)) (set! (-> self axe-flip y) 0.0) (vector-normalize! (-> self axe-flip) 1.0) (vector-rotate90-around-y! (-> self axe-flip) (-> self axe-flip)) @@ -232,7 +232,7 @@ For example for an elevator pre-compute the distance between the first and last ) ((and *target* (-> self disable-track-under) - (< (-> *target* control trans y) (+ -20480.0 (-> self root-override trans y))) + (< (-> *target* control trans y) (+ -20480.0 (-> self root trans y))) ) #f ) @@ -247,7 +247,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) ) - (vector-reset! (-> self root-override transv)) + (vector-reset! (-> self root transv)) (let* ((gp-2 proc) (a0-11 (if (type? (the-as process-focusable gp-2) process-focusable) gp-2 @@ -255,14 +255,10 @@ For example for an elevator pre-compute the distance between the first and last ) ) (when a0-11 - (vector-! - (-> self root-override transv) - (-> self root-override trans) - (get-trans (the-as process-focusable a0-11) 0) - ) - (set! (-> self root-override transv y) 0.0) - (vector-normalize! (-> self root-override transv) 163840.0) - (set! (-> self root-override transv y) 20480.0) + (vector-! (-> self root transv) (-> self root trans) (get-trans (the-as process-focusable a0-11) 0)) + (set! (-> self root transv y) 0.0) + (vector-normalize! (-> self root transv) 163840.0) + (set! (-> self root transv y) 20480.0) ) ) (go-virtual die-falling) @@ -309,7 +305,7 @@ For example for an elevator pre-compute the distance between the first and last (if (!= *bot-record-path* -1) (set! (-> self angle-flip) 0.0) ) - (quaternion-vector-angle! (-> self root-override quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) + (quaternion-vector-angle! (-> self root quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) (when (and (>= (- (current-time) (-> self state-time)) (the-as time-frame (+ (-> self time-flip) -300))) (= 1 (-> self state-flip)) ) @@ -329,15 +325,10 @@ For example for an elevator pre-compute the distance between the first and last ) (vector-normalize! s5-2 1.0) (quaternion-vector-angle! gp-2 s5-2 910.2222) - (quaternion-pseudo-seek - (-> self root-override quat) - (-> self root-override quat) - gp-2 - (-> self clock seconds-per-frame) - ) + (quaternion-pseudo-seek (-> self root quat) (-> self root quat) gp-2 (-> self clock seconds-per-frame)) ) ) - (quaternion-normalize! (-> self root-override quat)) + (quaternion-normalize! (-> self root quat)) (let ((t9-12 (-> (method-of-type plat plat-path-active) trans))) (if t9-12 (t9-12) @@ -360,7 +351,7 @@ For example for an elevator pre-compute the distance between the first and last :enter (behavior () (set! (-> self state-time) (current-time)) (logclear! (-> self mask) (process-mask actor-pause enemy platform)) - (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0))) + (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0))) (set! (-> v1-7 prim-core collide-as) (collide-spec)) (set! (-> v1-7 prim-core collide-with) (collide-spec)) ) @@ -375,7 +366,7 @@ For example for an elevator pre-compute the distance between the first and last (go empty-state) ) (let ((f0-3 (- 1.0 f30-0))) - (set-vector! (-> self root-override scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) ) ) @@ -399,13 +390,13 @@ For example for an elevator pre-compute the distance between the first and last (s4-0 (new 'stack-no-clear 'vector)) (f30-1 0.0) ) - (vector-normalize-copy! s4-0 (-> self root-override transv) 1.0) + (vector-normalize-copy! s4-0 (-> self root transv) 1.0) (vector-rotate90-around-y! s4-0 s4-0) - (quaternion-copy! gp-1 (-> self root-override quat)) + (quaternion-copy! gp-1 (-> self root quat)) (until #f (+! f30-1 (* 65536.0 (-> self clock seconds-per-frame))) (quaternion-vector-angle! s5-1 s4-0 (- f30-1)) - (quaternion*! (-> self root-override quat) s5-1 gp-1) + (quaternion*! (-> self root quat) s5-1 gp-1) (suspend) ) ) @@ -413,7 +404,7 @@ For example for an elevator pre-compute the distance between the first and last (none) ) :post (behavior () - (let ((v1-0 (-> self root-override))) + (let ((v1-0 (-> self root))) (set! (-> v1-0 transv y) (- (-> v1-0 transv y) (* 512000.0 (-> self clock seconds-per-frame)))) (let ((a2-0 (new 'stack-no-clear 'collide-query))) (set! (-> a2-0 collide-with) (-> v1-0 root-prim prim-core collide-with)) @@ -447,7 +438,7 @@ otherwise, [[plat::34]] ) (deftype under-break-floor (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 23 @@ -511,7 +502,7 @@ otherwise, [[plat::34]] (defstate die (under-break-floor) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -601,9 +592,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) - (set! (-> obj root-override penetrated-by) (penetrate flop)) + (set! (-> obj root penetrated-by) (penetrate flop)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -722,8 +713,8 @@ This commonly includes things such as: ) (deftype under-break-bridge (process-drawable) - ((root-override collide-shape-moving :offset 128) - (bridge-id int8 :offset-assert 200) + ((root collide-shape-moving :override) + (bridge-id int8 :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -758,7 +749,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (set! (-> self draw origin-joint-index) (the-as uint 54)) - (let* ((v1-2 (-> self root-override root-prim)) + (let* ((v1-2 (-> self root root-prim)) (a1-0 (-> (the-as collide-shape-prim-group v1-2) child 0)) (a0-3 (-> (the-as collide-shape-prim-group v1-2) child 1)) ) @@ -819,7 +810,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (if (= (res-lump-value (-> obj entity) 'extra-id uint :time -1000000000.0) 1) @@ -834,13 +825,13 @@ This commonly includes things such as: (the-as pair 0) ) ) - (let ((s4-4 (-> obj root-override))) + (let ((s4-4 (-> obj root))) (set! sv-16 (new 'static 'res-tag)) (let ((v1-24 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) (when v1-24 - (+! (-> obj root-override trans x) (-> v1-24 0)) - (+! (-> obj root-override trans y) (-> v1-24 1)) - (+! (-> obj root-override trans z) (-> v1-24 2)) + (+! (-> obj root trans x) (-> v1-24 0)) + (+! (-> obj root trans y) (-> v1-24 1)) + (+! (-> obj root trans z) (-> v1-24 2)) ) ) (let ((f0-20 (res-lump-float arg0 'rotoffset))) @@ -1040,12 +1031,7 @@ This commonly includes things such as: :event (the-as (function process int symbol event-message-block object :behavior under-plat-long) plat-event) :trans (behavior () (plat-trans) - (vector-lerp! - (-> self root-override trans) - (-> self move-start) - (-> self move-end) - (get-norm! (-> self sync) 0) - ) + (vector-lerp! (-> self root trans) (-> self move-start) (-> self move-end) (get-norm! (-> self sync) 0)) (none) ) :code (the-as (function none :behavior under-plat-long) sleep-code) @@ -1071,7 +1057,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1094,7 +1080,7 @@ This commonly includes things such as: (the-as pair 0) ) (stop-bouncing! obj) - (let ((s5-1 (-> obj root-override))) + (let ((s5-1 (-> obj root))) (set! sv-16 (new 'static 'res-tag)) (let ((v1-8 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) (when v1-8 @@ -1137,7 +1123,7 @@ This commonly includes things such as: ) (transform-post) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "und-float-plat" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "und-float-plat" :fo-max 50) (-> obj root trans)) ) (base-plat-method-32 obj) (set! (-> obj fact) @@ -1148,7 +1134,7 @@ This commonly includes things such as: ) (deftype under-plat-wall (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (extended-amount float :offset-assert 200) (in-trans vector :inline :offset-assert 208) (out-trans vector :inline :offset-assert 224) @@ -1195,7 +1181,7 @@ This commonly includes things such as: (let ((f30-0 (get-norm! (-> self sync) 0))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-lerp! s5-0 (-> self in-trans) (-> self out-trans) f30-0) - (move-to-point! (-> self root-override) s5-0) + (move-to-point! (-> self root) s5-0) ) (cond ((= f30-0 0.0) @@ -1249,7 +1235,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) (set! (-> s4-0 rider-max-momentum) 0.0) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1273,12 +1259,12 @@ This commonly includes things such as: (set! (-> a1-6 pause-out) 0.2) (initialize! (-> obj sync) a1-6) ) - (let ((f30-0 (quaternion-y-angle (-> obj root-override quat))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat))) (s4-2 (new 'stack-no-clear 'vector)) ) (set-vector! s4-2 0.0 0.0 (res-lump-float arg0 'tunemeters) 1.0) (vector-rotate-around-y! s4-2 s4-2 f30-0) - (vector+! (-> obj out-trans) (-> obj root-override trans) s4-2) + (vector+! (-> obj out-trans) (-> obj root trans) s4-2) (set-vector! s4-2 0.0 0.0 -32768.0 1.0) (vector-rotate-around-y! s4-2 s4-2 f30-0) (vector+! (-> obj in-trans) (-> obj out-trans) s4-2) diff --git a/test/decompiler/reference/jak1/engine/common-obs/babak_REF.gc b/test/decompiler/reference/jak1/engine/common-obs/babak_REF.gc index 02fe5fe595..d5ab5687d6 100644 --- a/test/decompiler/reference/jak1/engine/common-obs/babak_REF.gc +++ b/test/decompiler/reference/jak1/engine/common-obs/babak_REF.gc @@ -214,11 +214,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/citadel/citb-bunny_REF.gc b/test/decompiler/reference/jak1/levels/citadel/citb-bunny_REF.gc index 69d7065bc7..89cca1ae24 100644 --- a/test/decompiler/reference/jak1/levels/citadel/citb-bunny_REF.gc +++ b/test/decompiler/reference/jak1/levels/citadel/citb-bunny_REF.gc @@ -44,11 +44,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 4) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :shadow-size (meters 2) diff --git a/test/decompiler/reference/jak1/levels/finalboss/green-eco-lurker_REF.gc b/test/decompiler/reference/jak1/levels/finalboss/green-eco-lurker_REF.gc index 0df655b303..49f6728938 100644 --- a/test/decompiler/reference/jak1/levels/finalboss/green-eco-lurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/finalboss/green-eco-lurker_REF.gc @@ -85,11 +85,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 360.0) + :run-rotate-speed (degrees 360) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 360.0) + :walk-rotate-speed (degrees 360) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/jungle/junglefish_REF.gc b/test/decompiler/reference/jak1/levels/jungle/junglefish_REF.gc index 64d9697458..12e828cc52 100644 --- a/test/decompiler/reference/jak1/levels/jungle/junglefish_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungle/junglefish_REF.gc @@ -230,11 +230,11 @@ nav-enemy-default-event-handler :neck-joint -1 :player-look-at-joint 5 :run-travel-speed (meters 5.5) - :run-rotate-speed (degrees 720.0) + :run-rotate-speed (degrees 720) :run-acceleration (meters 6) :run-turn-time (seconds 0.15) :walk-travel-speed (meters 4) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 6) :walk-turn-time (seconds 0.15) :attack-shove-back (meters 1) diff --git a/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc b/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc index 469f81b307..44a34ee4e8 100644 --- a/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc +++ b/test/decompiler/reference/jak1/levels/jungleb/aphid_REF.gc @@ -228,11 +228,11 @@ :neck-joint 10 :player-look-at-joint 5 :run-travel-speed (meters 5) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc b/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc index 98be3a9303..b8703dc83f 100644 --- a/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc +++ b/test/decompiler/reference/jak1/levels/maincave/gnawer_REF.gc @@ -198,38 +198,17 @@ (new 'static 'inline-array gnawer-segment-info 10 (new 'static 'gnawer-segment-info :num-joints 8 - :joint-index (new 'static 'array int8 8 4 #x1f #xd #x20 #x21 #x22 #x23 #x24) + :joint-index (new 'static 'array int8 8 4 31 13 32 33 34 35 36) ) - (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 5 #xe #xf 0 0 0 0 0)) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #x6 #x10 #x11 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #x7 #x12 #x13 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #x8 #x14 #x15 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #x9 #x16 #x17 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #xa #x18 #x19 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #xb #x1a #x1b 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info - :num-joints 3 - :joint-index (new 'static 'array int8 8 #xc #x1c #x1d 0 0 0 0 0) - ) - (new 'static 'gnawer-segment-info :num-joints 1 :joint-index (new 'static 'array int8 8 #x1e 0 0 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 5 14 15 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 6 16 17 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 7 18 19 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 8 20 21 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 9 22 23 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 10 24 25 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 11 26 27 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 3 :joint-index (new 'static 'array int8 8 12 28 29 0 0 0 0 0)) + (new 'static 'gnawer-segment-info :num-joints 1 :joint-index (new 'static 'array int8 8 30 0 0 0 0 0 0 0)) ) ) diff --git a/test/decompiler/reference/jak1/levels/misty/bonelurker_REF.gc b/test/decompiler/reference/jak1/levels/misty/bonelurker_REF.gc index 68a6ae7e04..e3b56f847f 100644 --- a/test/decompiler/reference/jak1/levels/misty/bonelurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/misty/bonelurker_REF.gc @@ -470,11 +470,11 @@ nav-enemy-default-event-handler :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 2880.0) + :walk-rotate-speed (degrees 2880) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.1) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc b/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc index 76600c2c9d..11569154b1 100644 --- a/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc +++ b/test/decompiler/reference/jak1/levels/rolling/rolling-lightning-mole_REF.gc @@ -998,11 +998,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 30) - :run-rotate-speed (degrees 3000.0) + :run-rotate-speed (degrees 3000) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 30) - :walk-rotate-speed (degrees 3000.0) + :walk-rotate-speed (degrees 3000) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.1) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc b/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc index e2bf0405f6..14e1a3ff74 100644 --- a/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/ice-cube_REF.gc @@ -98,11 +98,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 20) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-bunny_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-bunny_REF.gc index db862adb03..5e4482222a 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-bunny_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-bunny_REF.gc @@ -90,11 +90,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 4) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :shadow-size (meters 2) diff --git a/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc b/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc index 1982ae951d..5a919b7c20 100644 --- a/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/snow-ram-boss_REF.gc @@ -124,11 +124,11 @@ :neck-joint 6 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 4) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 2) @@ -178,11 +178,11 @@ :neck-joint 6 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 4) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 2) diff --git a/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc b/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc index 640cc29721..ae7f7020bb 100644 --- a/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc +++ b/test/decompiler/reference/jak1/levels/snow/yeti_REF.gc @@ -88,11 +88,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc b/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc index 858554d615..38ca205d96 100644 --- a/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc +++ b/test/decompiler/reference/jak1/levels/sunken/double-lurker_REF.gc @@ -107,11 +107,11 @@ :neck-joint -1 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 2880.0) + :run-rotate-speed (degrees 2880) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) @@ -162,11 +162,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 720.0) + :run-rotate-speed (degrees 720) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3.8) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) @@ -217,11 +217,11 @@ :neck-joint 5 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 720.0) + :run-rotate-speed (degrees 720) :run-acceleration (meters 1) :run-turn-time (seconds 0.1) :walk-travel-speed (meters 3.8) - :walk-rotate-speed (degrees 720.0) + :walk-rotate-speed (degrees 720) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc b/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc index 7102430858..05995d253b 100644 --- a/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc +++ b/test/decompiler/reference/jak1/levels/swamp/kermit_REF.gc @@ -1441,11 +1441,11 @@ nav-enemy-default-event-handler :neck-joint 8 :player-look-at-joint 5 :run-travel-speed (meters 6) - :run-rotate-speed (degrees 10000.0) + :run-rotate-speed (degrees 10000) :run-acceleration (meters 1) :run-turn-time (seconds 0.05) :walk-travel-speed (meters 3) - :walk-rotate-speed (degrees 10000.0) + :walk-rotate-speed (degrees 10000) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.05) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc b/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc index 660839dfec..a9ea2a51d5 100644 --- a/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc +++ b/test/decompiler/reference/jak1/levels/village1/village-obs_REF.gc @@ -819,11 +819,11 @@ :neck-joint -1 :player-look-at-joint 5 :run-travel-speed (meters 1) - :run-rotate-speed (degrees 70.0) + :run-rotate-speed (degrees 70) :run-acceleration (meters 1) :run-turn-time (seconds 0.5) :walk-travel-speed (meters 1) - :walk-rotate-speed (degrees 70.0) + :walk-rotate-speed (degrees 70) :walk-acceleration (meters 1) :walk-turn-time (seconds 0.5) :attack-shove-back (meters 3) diff --git a/test/decompiler/reference/jak2/characters/ashelin/ash-shot_REF.gc b/test/decompiler/reference/jak2/characters/ashelin/ash-shot_REF.gc index 578634eab2..984af51c45 100644 --- a/test/decompiler/reference/jak2/characters/ashelin/ash-shot_REF.gc +++ b/test/decompiler/reference/jak2/characters/ashelin/ash-shot_REF.gc @@ -300,7 +300,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((v1-1 (-> obj root-override trans)) + (let* ((v1-1 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0)) (gp-0 (new 'stack-no-clear 'vector)) @@ -384,7 +384,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -424,7 +424,7 @@ ;; definition for method 38 of type ashelin-shot (defmethod made-impact? ashelin-shot ((obj ashelin-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -444,7 +444,7 @@ ;; WARN: Return type mismatch int vs none. (defun ashelin-shot-move ((arg0 ashelin-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -460,7 +460,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-9) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (the-as (state ashelin) (method-of-object arg0 impact))) ) @@ -514,9 +514,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (let ((v1-23 (-> obj parent))) @@ -529,7 +529,7 @@ (bot-flags attacked) ) ) - (let* ((a0-17 (-> obj root-override)) + (let* ((a0-17 (-> obj root)) (v1-27 (-> a0-17 root-prim)) ) (countdown (a0-18 (-> a0-17 total-prims)) @@ -547,7 +547,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod init-proj-settings! ashelin-shot ((obj ashelin-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 307200.0) (set! (-> obj move) ashelin-shot-move) diff --git a/test/decompiler/reference/jak2/characters/ashelin/ash-states_REF.gc b/test/decompiler/reference/jak2/characters/ashelin/ash-states_REF.gc index 4c68a6fbb5..602e5072e7 100644 --- a/test/decompiler/reference/jak2/characters/ashelin/ash-states_REF.gc +++ b/test/decompiler/reference/jak2/characters/ashelin/ash-states_REF.gc @@ -320,11 +320,11 @@ (cond ((< f0-6 f28-0) (if (>= f0-6 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-1 (/ (- f0-6 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-1 (/ (- f0-6 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-1) + (quaternion-copy! (-> self root quat) s5-1) ) ) ) @@ -351,7 +351,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -565,8 +565,8 @@ ) (let ((gp-0 (-> self nav))) (set! (-> gp-0 target-speed) (lerp-scale - (-> self enemy-info-override walk-travel-speed) - (-> self enemy-info-override run-travel-speed) + (-> self enemy-info walk-travel-speed) + (-> self enemy-info run-travel-speed) (-> self focus-info bullseye-xz-dist) 81920.0 92160.0 @@ -628,18 +628,18 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self move-dest)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self move-dest)))) (let ((s5-0 (new 'stack-no-clear 'quaternion)) (s4-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s5-0 (-> self root-override2 quat)) + (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (ja-no-eval :group! (-> self draw art-group data 33) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 33)) frames num-frames) -1))) :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) + (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) (ja :num! (seek!)) ) @@ -652,7 +652,7 @@ (set! (-> self attack-id) a0-11) ) (countdown (s5-1 2) - (vector-! gp-1 (-> self move-dest) (-> self root-override2 trans)) + (vector-! gp-1 (-> self move-dest) (-> self root trans)) (let ((a0-14 (-> self nav state)) (v1-33 gp-1) ) @@ -672,7 +672,7 @@ (set! (-> v1-40 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-40 enemy-flags)))) ) (set! (-> v1-40 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-40 enemy-flags)))) - (set! (-> v1-40 nav callback-info) (-> v1-40 enemy-info-override callback-info)) + (set! (-> v1-40 nav callback-info) (-> v1-40 enemy-info callback-info)) ) 0 (let ((f0-13 (* 1.6153771 (vector-length gp-1)))) @@ -694,8 +694,8 @@ (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 1.0) (vector-negate! gp-1 gp-1) - (quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) - (quaternion-normalize! (-> self root-override2 quat)) + (quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) + (quaternion-normalize! (-> self root quat)) (suspend) (ja :num! (seek! max 1.4)) ) @@ -771,11 +771,11 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root-override2 trans)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root trans)))) (let ((s5-0 (new 'stack-no-clear 'quaternion)) (s4-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s5-0 (-> self root-override2 quat)) + (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 -16384.0) (ja-no-eval :group! (-> self draw art-group data 36) @@ -783,7 +783,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) + (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) (ja :num! (seek!)) ) @@ -814,7 +814,7 @@ (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-38 enemy-flags)))) ) (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-38 enemy-flags)))) - (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info-override callback-info)) + (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info callback-info)) ) 0 (let ((f0-13 (* 1.0714335 (vector-length gp-1)))) @@ -836,8 +836,8 @@ (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 1.0) (vector-rotate-around-y! gp-1 gp-1 -16384.0) - (quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) - (quaternion-normalize! (-> self root-override2 quat)) + (quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) + (quaternion-normalize! (-> self root quat)) (suspend) (ja :num! (seek!)) ) @@ -907,11 +907,11 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root-override2 trans)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-dest) (-> self root trans)))) (let ((s5-0 (new 'stack-no-clear 'quaternion)) (s4-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s5-0 (-> self root-override2 quat)) + (quaternion-copy! s5-0 (-> self root quat)) (quaternion<-rotate-y-vector s4-0 gp-1) (quaternion-rotate-y! s4-0 s4-0 16384.0) (ja-no-eval :group! (-> self draw art-group data 39) @@ -919,7 +919,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) + (quaternion-slerp! (-> self root quat) s5-0 s4-0 (/ (ja-frame-num 0) (the float (ja-num-frames 0)))) (suspend) (ja :num! (seek!)) ) @@ -950,7 +950,7 @@ (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-38 enemy-flags)))) ) (set! (-> v1-38 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-38 enemy-flags)))) - (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info-override callback-info)) + (set! (-> v1-38 nav callback-info) (-> v1-38 enemy-info callback-info)) ) 0 (let ((f0-13 (* 1.8749386 (vector-length gp-1)))) @@ -972,8 +972,8 @@ (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 1.0) (vector-rotate-around-y! gp-1 gp-1 16384.0) - (quaternion-set! (-> self root-override2 quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) - (quaternion-normalize! (-> self root-override2 quat)) + (quaternion-set! (-> self root quat) 0.0 (-> gp-1 x) 0.0 (+ 1.0 (-> gp-1 z))) + (quaternion-normalize! (-> self root quat)) (suspend) (ja :num! (seek!)) ) @@ -1130,8 +1130,8 @@ (else (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (-> self draw art-group data (if (enemy-method-133 self) - (-> self enemy-info-override die-falling-anim) - (-> self enemy-info-override die-anim) + (-> self enemy-info die-falling-anim) + (-> self enemy-info die-anim) ) ) ) diff --git a/test/decompiler/reference/jak2/characters/ashelin/ash_REF.gc b/test/decompiler/reference/jak2/characters/ashelin/ash_REF.gc index a71ae05fff..64f8169378 100644 --- a/test/decompiler/reference/jak2/characters/ashelin/ash_REF.gc +++ b/test/decompiler/reference/jak2/characters/ashelin/ash_REF.gc @@ -218,7 +218,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 20) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -253,7 +253,7 @@ (set! (-> obj bot-flags) (logior (bot-flags bf22) (-> obj bot-flags))) (logclear! (-> obj bot-flags) (bot-flags bf22)) ) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (none) ) @@ -461,7 +461,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 7)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -536,19 +536,19 @@ (when (>= 16384.0 (fabs f30-0)) (let ((s5-0 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s5-0 (+ 32768.0 arg0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s5-0 (-> obj root trans)) (return 1) ) (cond ((< 0.0 f30-0) (when (ashelin-method-236 obj s5-0 (+ -16384.0 arg0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s5-0 (-> obj root trans)) (return 2) ) ) (else (when (ashelin-method-236 obj s5-0 (+ 16384.0 arg0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s5-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s5-0 (-> obj root trans)) (return 3) ) ) @@ -567,8 +567,8 @@ ) ) (when (logtest? (bot-flags bf20) (-> obj bot-flags)) - (set! (-> obj root-override2 trans w) 1.0) - (when (>= (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans)) 12288.0) + (set! (-> obj root trans w) 1.0) + (when (>= (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans)) 12288.0) (let ((f0-7 (atan (-> obj frontline x) (-> obj frontline z)))) (return (ashelin-method-243 obj f0-7)) ) @@ -580,7 +580,7 @@ ;; definition for method 241 of type ashelin (defmethod ashelin-method-241 ashelin ((obj ashelin)) (let* ((v1-0 (target-pos 0)) - (a1-0 (-> obj root-override2 trans)) + (a1-0 (-> obj root trans)) (f30-0 (atan (- (-> a1-0 x) (-> v1-0 x)) (- (-> a1-0 z) (-> v1-0 z)))) (f0-5 (deg- f30-0 (-> obj focus-info my-facing-ry))) (s5-0 0) @@ -594,14 +594,14 @@ (cond (s3-1 (when (ashelin-method-236 obj s4-0 (+ 16384.0 f30-0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-0 (-> obj root trans)) (set! s5-0 3) (goto cfg-20) ) ) (else (when (ashelin-method-236 obj s4-0 (+ -16384.0 f30-0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-0 (-> obj root trans)) (set! s5-0 2) (goto cfg-20) ) @@ -615,7 +615,7 @@ (else (let ((s4-1 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s4-1 (+ 32768.0 f30-0) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-1 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-1 (-> obj root trans)) (set! s5-0 1) ) ) @@ -633,7 +633,7 @@ (when (>= 16384.0 (fabs (-> obj focus-info ry-diff))) (let ((s4-0 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s4-0 (+ 16384.0 (-> obj focus-info bullseye-ry)) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-0 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-0 (-> obj root trans)) (set! s5-0 3) ) ) @@ -643,7 +643,7 @@ (when (>= 16384.0 (fabs (-> obj focus-info ry-diff))) (let ((s4-1 (new 'stack-no-clear 'vector))) (when (ashelin-method-236 obj s4-1 (+ -16384.0 (-> obj focus-info bullseye-ry)) 8192.0 40707.93 34563.93) - (vector+! (-> obj move-dest) s4-1 (-> obj root-override2 trans)) + (vector+! (-> obj move-dest) s4-1 (-> obj root trans)) (set! s5-0 2) ) ) @@ -676,16 +676,16 @@ (defmethod ashelin-method-247 ashelin ((obj ashelin)) (cond ((logtest? (bot-flags bf20) (-> obj bot-flags)) - (set! (-> obj root-override2 trans w) 1.0) + (set! (-> obj root trans w) 1.0) (set! (-> obj focus-info bullseye w) 1.0) - (let ((f30-0 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans)))) + (let ((f30-0 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans)))) (let ((f0-4 (vector4-dot (the-as vector (-> obj frontline)) (-> obj focus-info bullseye)))) (if (or (>= 0.0 f0-4) (>= -8192.0 f30-0)) (return #t) ) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root-override2 trans)) + (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root trans)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (if (>= -0.342 (vector-dot s5-0 (the-as vector (-> obj frontline)))) @@ -698,7 +698,7 @@ (a0-8 (new 'stack-no-clear 'vector)) ) (vector-float*! a2-0 (the-as vector (-> obj frontline)) (- (-> obj frontline w))) - (set! (-> a0-8 quad) (-> obj root-override2 trans quad)) + (set! (-> a0-8 quad) (-> obj root trans quad)) (set! (-> a0-8 y) 0.0) (>= (intersect-ray-plane a0-8 s5-0 a2-0 (-> obj frontline)) 8192.0) ) @@ -714,14 +714,14 @@ ;; definition for method 248 of type ashelin (defmethod ashelin-method-248 ashelin ((obj ashelin)) (when (logtest? (bot-flags bf20) (-> obj bot-flags)) - (set! (-> obj root-override2 trans w) 1.0) + (set! (-> obj root trans w) 1.0) (set! (-> obj focus-info bullseye w) 1.0) - (let ((f0-3 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root-override2 trans))) + (let ((f0-3 (vector4-dot (the-as vector (-> obj frontline)) (-> obj root trans))) (f1-1 (vector4-dot (the-as vector (-> obj frontline)) (-> obj focus-info bullseye))) ) (when (and (< 0.0 f1-1) (< 0.0 f0-3)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root-override2 trans)) + (vector-! s5-0 (-> obj focus-info bullseye) (-> obj root trans)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (>= (vector-dot s5-0 (the-as vector (-> obj frontline))) 0.0) @@ -875,7 +875,7 @@ ) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-8 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-8 (quaternion-y-angle (-> obj root quat))) (f1-10 (deg- f0-8 (-> obj travel-prev-ry))) (f0-11 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-10)))) (f0-14 (/ (* 16.0 (fmax f30-0 f0-11)) (* 15.0 f28-1))) @@ -939,18 +939,15 @@ ;; INFO: Used lq/sq (defmethod enemy-method-51 ashelin ((obj ashelin)) (local-vars (v1-36 art-element)) - (let ((f28-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f28-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-6)) (let ((a0-4 (handle->process (-> obj focus handle)))) (when a0-4 (get-trans (the-as process-focusable a0-4) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -964,7 +961,7 @@ (let ((s5-1 (new 'stack-no-clear 'vector))) 0.0 0.0 - (vector-z-quaternion! s5-1 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-1 (-> obj root quat)) (let ((f28-1 (atan (-> s5-1 x) (-> s5-1 z)))) (enemy-method-50 obj s5-1) (let* ((f30-0 (atan (-> s5-1 x) (-> s5-1 z))) @@ -1011,7 +1008,7 @@ ) 0.0 0.0 - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-0 (-> obj root quat)) (let ((f30-0 (atan (-> s4-0 x) (-> s4-0 z)))) (enemy-method-50 obj s4-0) (let* ((f0-6 (atan (-> s4-0 x) (-> s4-0 z))) @@ -1298,7 +1295,7 @@ ) 0 (let ((s0-0 (new 'stack-no-clear 'nav-avoid-spheres-params))) - (vector-! (-> s0-0 current-pos) (-> obj root-override2 trans) (-> obj nav state mesh bounds)) + (vector-! (-> s0-0 current-pos) (-> obj root trans) (-> obj nav state mesh bounds)) (set! sv-272 (-> s0-0 travel)) (set! (-> sv-272 x) (sin arg1)) (set! (-> sv-272 y) 0.0) @@ -1312,13 +1309,7 @@ 0 (when (>= arg2 (fabs (deg- arg1 (atan (-> arg0 x) (-> arg0 z))))) (let ((t0-2 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info))) - (clamp-vector-to-mesh-no-gaps - (-> obj nav) - (-> obj root-override2 trans) - (-> obj nav state current-poly) - arg0 - t0-2 - ) + (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) (-> obj nav state current-poly) arg0 t0-2) ) (.lvf vf1 (&-> arg0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) diff --git a/test/decompiler/reference/jak2/characters/baron_errol_metalkor/metalkor-texture_REF.gc b/test/decompiler/reference/jak2/characters/baron_errol_metalkor/metalkor-texture_REF.gc index e7f4faf618..7c1e1bc452 100644 --- a/test/decompiler/reference/jak2/characters/baron_errol_metalkor/metalkor-texture_REF.gc +++ b/test/decompiler/reference/jak2/characters/baron_errol_metalkor/metalkor-texture_REF.gc @@ -38,7 +38,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 3932160.0) + :end-st-rot (degrees 3932160) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -81,7 +81,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -103,7 +103,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func diff --git a/test/decompiler/reference/jak2/characters/sig/sig-plasma_REF.gc b/test/decompiler/reference/jak2/characters/sig/sig-plasma_REF.gc index 2350125414..5239ce6007 100644 --- a/test/decompiler/reference/jak2/characters/sig/sig-plasma_REF.gc +++ b/test/decompiler/reference/jak2/characters/sig/sig-plasma_REF.gc @@ -184,7 +184,7 @@ ) ) (else - (let ((s4-0 (-> arg0 root-override trans))) + (let ((s4-0 (-> arg0 root trans))) (if (movie?) (set! s4-0 (camera-pos)) ) diff --git a/test/decompiler/reference/jak2/characters/sig/sig-shot_REF.gc b/test/decompiler/reference/jak2/characters/sig/sig-shot_REF.gc index ba56a2312a..e36f4bcb80 100644 --- a/test/decompiler/reference/jak2/characters/sig/sig-shot_REF.gc +++ b/test/decompiler/reference/jak2/characters/sig/sig-shot_REF.gc @@ -300,7 +300,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((v1-1 (-> obj root-override trans)) + (let* ((v1-1 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 a1-0)) (gp-0 (new 'stack-no-clear 'vector)) @@ -384,7 +384,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -423,7 +423,7 @@ ;; definition for method 38 of type sig-shot (defmethod made-impact? sig-shot ((obj sig-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -443,7 +443,7 @@ ;; WARN: Return type mismatch int vs none. (defun sig-shot-move ((arg0 sig-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -459,7 +459,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-9) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (method-of-object arg0 impact)) ) @@ -513,7 +513,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (let ((v1-22 (-> obj parent))) (when (not (logtest? (-> (the-as sig (if v1-22 @@ -525,7 +525,7 @@ (bot-flags attacked) ) ) - (let* ((a0-16 (-> obj root-override)) + (let* ((a0-16 (-> obj root)) (v1-27 (-> a0-16 root-prim)) ) (countdown (a0-17 (-> a0-16 total-prims)) @@ -535,7 +535,7 @@ ) ) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -546,7 +546,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod init-proj-settings! sig-shot ((obj sig-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 307200.0) (set! (-> obj move) sig-shot-move) diff --git a/test/decompiler/reference/jak2/characters/sig/sig-states_REF.gc b/test/decompiler/reference/jak2/characters/sig/sig-states_REF.gc index 1a72bb74c9..83c7ffcbd2 100644 --- a/test/decompiler/reference/jak2/characters/sig/sig-states_REF.gc +++ b/test/decompiler/reference/jak2/characters/sig/sig-states_REF.gc @@ -470,11 +470,11 @@ (cond ((< f0-24 f28-0) (if (>= f0-24 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-1 (/ (- f0-24 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-1 (/ (- f0-24 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-1) + (quaternion-copy! (-> self root quat) s5-1) ) ) ) @@ -948,7 +948,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1265,12 +1265,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -1320,12 +1315,7 @@ (let ((f30-1 (ja-aframe f30-0 0))) (ja-no-eval :group! gp-0 :num! (seek! f30-1) :frame-num 0.0) (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (bot-method-223 self #t) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1)) (or (not (bot-method-214 self)) (not (sig-method-245 self))) @@ -1677,7 +1667,7 @@ (if (logtest? (-> gp-0 flags) 2) (go-virtual sig-path-shoot-jump) ) - (let ((v1-14 (-> self root-override2))) + (let ((v1-14 (-> self root))) (set! (-> v1-14 trans quad) (-> gp-0 pos quad)) (set! (-> v1-14 trans w) 1.0) (quaternion-copy! (-> v1-14 quat) (-> gp-0 quat)) @@ -1698,7 +1688,7 @@ (ja-no-eval :group! (-> self draw art-group data 56) :num! (loop!)) (until #f (suspend) - (let* ((f0-1 (vector-length (-> self root-override2 transv))) + (let* ((f0-1 (vector-length (-> self root transv))) (f0-3 (fmax 0.1 (* 0.000020345053 f0-1))) ) (ja :num! (loop! f0-3)) @@ -1749,7 +1739,7 @@ (go-virtual sig-path-jump-land) ) ) - (let ((v1-27 (-> self root-override2))) + (let ((v1-27 (-> self root))) (set! (-> v1-27 trans quad) (-> gp-0 pos quad)) (set! (-> v1-27 trans w) 1.0) (quaternion-copy! (-> v1-27 quat) (-> gp-0 quat)) @@ -1818,7 +1808,7 @@ (go-virtual sig-path-shoot-jump) ) ) - (let ((v1-18 (-> self root-override2))) + (let ((v1-18 (-> self root))) (set! (-> v1-18 trans quad) (-> gp-0 pos quad)) (set! (-> v1-18 trans w) 1.0) (quaternion-copy! (-> v1-18 quat) (-> gp-0 quat)) @@ -1828,7 +1818,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (let* ((f0-0 (vector-length (-> self root-override2 transv))) + (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) (ja-no-eval :group! (-> self draw art-group data 58) @@ -1841,7 +1831,7 @@ ) (until (ja-done? 0) (suspend) - (let* ((f0-4 (vector-length (-> self root-override2 transv))) + (let* ((f0-4 (vector-length (-> self root transv))) (f0-6 (fmax 0.1 (* 0.000020345053 f0-4))) ) (ja :num! (seek! max f0-6)) @@ -1893,7 +1883,7 @@ (go-virtual sig-path-shoot-jump-land) ) ) - (let ((v1-29 (-> self root-override2))) + (let ((v1-29 (-> self root))) (set! (-> v1-29 trans quad) (-> gp-0 pos quad)) (set! (-> v1-29 trans w) 1.0) (quaternion-copy! (-> v1-29 quat) (-> gp-0 quat)) @@ -1967,7 +1957,7 @@ (go-virtual sig-path-jump) ) ) - (let ((v1-18 (-> self root-override2))) + (let ((v1-18 (-> self root))) (set! (-> v1-18 trans quad) (-> gp-0 pos quad)) (set! (-> v1-18 trans w) 1.0) (quaternion-copy! (-> v1-18 quat) (-> gp-0 quat)) @@ -1977,7 +1967,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.15)) - (let* ((f0-0 (vector-length (-> self root-override2 transv))) + (let* ((f0-0 (vector-length (-> self root transv))) (f0-2 (fmax 0.1 (* 0.000020345053 f0-0))) ) (ja-no-eval :group! (-> self draw art-group data 60) @@ -1990,7 +1980,7 @@ ) (until (ja-done? 0) (suspend) - (let* ((f0-4 (vector-length (-> self root-override2 transv))) + (let* ((f0-4 (vector-length (-> self root transv))) (f0-6 (fmax 0.1 (* 0.000020345053 f0-4))) ) (ja :num! (seek! max f0-6)) @@ -2021,7 +2011,7 @@ (look-at-target! self (enemy-flag lock-focus)) (set! (-> self skel top-anim interp) 0.0) (set! (-> self travel-anim-interp) 0.0) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) :code (behavior () diff --git a/test/decompiler/reference/jak2/characters/sig/sig-task_REF.gc b/test/decompiler/reference/jak2/characters/sig/sig-task_REF.gc index 4906e9e002..dc41e025a8 100644 --- a/test/decompiler/reference/jak2/characters/sig/sig-task_REF.gc +++ b/test/decompiler/reference/jak2/characters/sig/sig-task_REF.gc @@ -112,9 +112,7 @@ ) (or (player-blocking-spot? arg0 v1-2) (or (not gp-0) - (>= 14336.0 - (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable gp-0) root-override trans)) - ) + (>= 14336.0 (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable gp-0) root trans))) ) ) ) @@ -125,7 +123,7 @@ (defmethod sigt-choose-piston-method-13 sigt-choose-piston ((obj sigt-choose-piston) (arg0 sig)) (let ((s4-0 0)) (let ((f30-0 -1.0) - (s3-0 (-> arg0 root-override2 trans)) + (s3-0 (-> arg0 root trans)) ) (countdown (s2-0 (-> obj num-spots)) (let* ((v1-3 (-> obj spot-indexes s2-0)) @@ -183,8 +181,8 @@ ) ) (when (and (< v1-19 (seconds 0.5)) (< (seconds 0.2) v1-19)) - (let ((v1-22 (-> (the-as process-focusable s5-1) root-override)) - (s4-0 (-> arg0 root-override2)) + (let ((v1-22 (-> (the-as process-focusable s5-1) root)) + (s4-0 (-> arg0 root)) ) (when (>= 10012.445 (fabs (deg- @@ -194,8 +192,8 @@ ) ) (set! (-> arg0 enemy-flags) (the-as enemy-flag (logclear (-> arg0 enemy-flags) (enemy-flag vulnerable)))) - (when (send-event arg0 'jump 4 (-> (the-as process-focusable s5-1) root-override trans)) - (set! (-> arg0 spot center quad) (-> (the-as process-focusable s5-1) root-override trans quad)) + (when (send-event arg0 'jump 4 (-> (the-as process-focusable s5-1) root trans)) + (set! (-> arg0 spot center quad) (-> (the-as process-focusable s5-1) root trans quad)) (set! (-> arg0 spot center w) 10240.0) (return #t) ) diff --git a/test/decompiler/reference/jak2/characters/sig/sig_REF.gc b/test/decompiler/reference/jak2/characters/sig/sig_REF.gc index b554641ea1..67ea5a5a59 100644 --- a/test/decompiler/reference/jak2/characters/sig/sig_REF.gc +++ b/test/decompiler/reference/jak2/characters/sig/sig_REF.gc @@ -220,7 +220,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 8) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 20) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -295,9 +295,7 @@ (cond (s4-0 (if (or (not (logtest? (bot-flags bf19) (-> obj bot-flags))) - (>= 16384.0 - (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable s4-0) 3)) - ) + (>= 16384.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable s4-0) 3))) ) (set! s5-1 s4-0) ) @@ -330,9 +328,7 @@ (cond (s4-0 (if (or (not (logtest? (bot-flags bf19) (-> obj bot-flags))) - (>= 16384.0 - (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable s4-0) 3)) - ) + (>= 16384.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable s4-0) 3))) ) (set! s5-1 s4-0) ) @@ -462,7 +458,7 @@ (t9-2 obj) ) (when (logtest? (-> obj bot-flags) (bot-flags too-far-fail)) - (let ((f0-0 (vector-vector-distance (-> obj root-override2 trans) (target-pos 0)))) + (let ((f0-0 (vector-vector-distance (-> obj root trans) (target-pos 0)))) (when (or (>= f0-0 491520.0) (and (>= f0-0 102400.0) (>= (- (current-time) (-> obj last-draw-time)) (seconds 10)))) (process-entity-status! obj (entity-perm-status no-kill) #f) (cleanup-for-death obj) @@ -512,7 +508,7 @@ (let ((v1-0 arg0)) (cond ((zero? v1-0) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (dotimes (a0-1 4) (let ((a1-3 (-> (the-as collide-shape-prim-group v1-2) child (+ a0-1 3)))) (set! (-> a1-3 prim-core collide-with) (collide-spec)) @@ -523,7 +519,7 @@ ) ) ((= v1-0 3) - (let ((v1-5 (the-as collide-shape-prim-group (-> obj root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> obj root root-prim)))) (let ((a0-3 (-> v1-5 child 3))) (set! (-> a0-3 prim-core collide-as) (collide-spec bot bot-targetable)) (set! (-> a0-3 prim-core collide-with) @@ -648,7 +644,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (enemy-method-46 obj 0) 0 @@ -851,7 +847,7 @@ (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 28672.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 24.0 (fmax f30-0 f0-8)) (* 30.0 f28-1))) @@ -934,7 +930,7 @@ (let ((s4-0 (new 'stack-no-clear 'vector))) 0.0 0.0 - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-0 (-> obj root quat)) (let ((f30-0 (atan (-> s4-0 x) (-> s4-0 z)))) (enemy-method-50 obj s4-0) (let* ((f0-14 (atan (-> s4-0 x) (-> s4-0 z))) @@ -1050,7 +1046,7 @@ (v0-0 (t9-0 obj)) ) (when (and (= (-> obj jump-why) 4) (not v0-0)) - (when (< (-> obj root-override2 transv y) 0.0) + (when (< (-> obj root transv y) 0.0) (let* ((v1-11 (-> obj actor-group 0 data (-> obj platform-index) actor)) (a0-5 (if v1-11 (-> v1-11 extra process) @@ -1058,11 +1054,11 @@ ) ) (when a0-5 - (let ((s4-0 (-> (the-as process-focusable a0-5) root-override trans)) - (s5-0 (-> obj root-override2 trans)) + (let ((s4-0 (-> (the-as process-focusable a0-5) root trans)) + (s5-0 (-> obj root trans)) ) (when (< 2048.0 (- (-> s4-0 y) (-> s5-0 y))) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) (let ((f30-0 9420.8)) (when (< f30-0 (vector-vector-xz-distance s4-0 s5-0)) (vector-! s5-0 s5-0 s4-0) @@ -1072,9 +1068,9 @@ ) ) (let ((a1-4 (new 'stack-no-clear 'collide-query))) - (find-ground (-> obj root-override2) a1-4 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) + (find-ground (-> obj root) a1-4 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) ) - (set! (-> s5-0 y) (-> obj root-override2 gspot-pos y)) + (set! (-> s5-0 y) (-> obj root gspot-pos y)) (set! v0-0 #t) ) ) @@ -1096,14 +1092,14 @@ (t9-0 obj) ) (let ((s5-0 (static-sound-spec "sig-jland" :mask (reg0)))) - (set! (-> s5-0 reg 0) (the-as uint (-> obj root-override2 ground-pat material))) + (set! (-> s5-0 reg 0) (the-as uint (-> obj root ground-pat material))) (sound-play-by-spec s5-0 (new-sound-id) (the-as vector #t)) ) (the-as float (cond ((logtest? (bot-flags bf23) (-> obj bot-flags)) - (let ((v0-3 (the-as object (-> obj root-override2 transv)))) + (let ((v0-3 (the-as object (-> obj root transv)))) (.svf (&-> (the-as vector v0-3) quad) vf0) v0-3 ) @@ -1118,11 +1114,11 @@ (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-11 enemy-flags)))) ) (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-11 enemy-flags)))) - (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info-override callback-info)) + (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info callback-info)) ) 0 (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) + (set! (-> s5-1 quad) (-> obj root transv quad)) (set! (-> s5-1 y) 0.0) (let ((v1-18 (-> obj nav state))) (set! (-> v1-18 speed) (fmin (vector-length s5-1) (-> obj nav target-speed))) @@ -1152,7 +1148,7 @@ (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!) ) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info-override jump-wind-up-anim))) + (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info jump-wind-up-anim))) (a0-6 (-> obj skel root-channel 0)) ) (set! (-> a0-6 frame-group) (the-as art-joint-anim a1-3)) @@ -1176,7 +1172,7 @@ (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-loop!) ) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info-override jump-land-anim))) + (let ((a1-3 (-> obj draw art-group data (-> obj enemy-info jump-land-anim))) (a0-6 (-> obj skel root-channel 0)) ) (set! (-> a0-6 frame-group) (the-as art-joint-anim a1-3)) @@ -1247,7 +1243,7 @@ (when (!= (-> obj sig-path-cur-time) a0-1) (set! (-> obj sig-path-prev-time) (-> obj sig-path-cur-time)) (set! (-> obj sig-path-cur-time) a0-1) - (set! (-> obj event-param-point quad) (-> obj root-override2 trans quad)) + (set! (-> obj event-param-point quad) (-> obj root trans quad)) ) ) (let ((s3-0 (+ (-> obj sig-path sample-count) -1)) @@ -1287,9 +1283,9 @@ (quaternion-slerp! (-> arg0 quat) (-> s3-1 quat) (-> s4-1 quat) f30-0) (set! (-> arg0 flags) s2-1) ) - (vector-! (-> obj root-override2 transv) (-> arg0 pos) (-> obj event-param-point)) - (let ((v0-5 (-> obj root-override2 transv))) - (.lvf vf1 (&-> (-> obj root-override2 transv) quad)) + (vector-! (-> obj root transv) (-> arg0 pos) (-> obj event-param-point)) + (let ((v0-5 (-> obj root transv))) + (.lvf vf1 (&-> (-> obj root transv) quad)) (let ((f0-7 (-> pp clock frames-per-second))) (.mov at-0 f0-7) ) diff --git a/test/decompiler/reference/jak2/characters/underground_fighters/shuttle_REF.gc b/test/decompiler/reference/jak2/characters/underground_fighters/shuttle_REF.gc index e36e2b27d3..dbd963cbc7 100644 --- a/test/decompiler/reference/jak2/characters/underground_fighters/shuttle_REF.gc +++ b/test/decompiler/reference/jak2/characters/underground_fighters/shuttle_REF.gc @@ -236,7 +236,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 2) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -369,7 +369,7 @@ (defstate knocked (citizen-rebel) :virtual #t :enter (behavior () - (let ((gp-0 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)))) + (let ((gp-0 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (change-to gp-0 self) (if (not (-> self nav)) (go-inactive self) @@ -380,15 +380,15 @@ (set! (-> v1-10 current-poly) (the-as nav-poly #f)) ) 0 - (do-navigation-to-destination (-> self nav state) (-> self root-override2 trans)) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (do-navigation-to-destination (-> self nav state) (-> self root trans)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'quaternion)) ) - (vector-y-quaternion! s5-0 (-> self root-override2 quat)) + (vector-y-quaternion! s5-0 (-> self root quat)) (vector-normalize! s5-0 1.0) (quaternion-from-two-vectors! gp-1 s5-0 *up-vector*) - (quaternion*! (-> self root-override2 quat) gp-1 (-> self root-override2 quat)) + (quaternion*! (-> self root quat) gp-1 (-> self root quat)) ) (let ((t9-8 (-> (method-of-type civilian knocked) enter))) (if t9-8 @@ -404,7 +404,7 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior citizen-rebel) enemy-event-handler) :enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) - (let ((a0-2 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)))) + (let ((a0-2 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (if a0-2 (set! (-> self nav-mesh-aid) (the-as actor-id (-> a0-2 entity aid))) ) @@ -420,7 +420,7 @@ 0 (citizen-method-195 self - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (let ((a0-9 (-> self nav state)) (v1-17 (-> self controller turn-exit-point)) @@ -431,11 +431,11 @@ ) 0 (citizen-nav-init! self) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status))) (set! (-> self state-time) (current-time)) - (let ((v1-31 (-> self root-override2 root-prim))) + (let ((v1-31 (-> self root root-prim))) (set! (-> v1-31 prim-core collide-as) (collide-spec)) (set! (-> v1-31 prim-core collide-with) (collide-spec)) ) @@ -471,9 +471,9 @@ (let ((s4-0 (handle->process (-> self vehicle))) (s3-0 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s3-0 (-> (the-as vehicle s4-0) root-override-2 quat)) - (compute-seat-position (the-as vehicle s4-0) (-> self root-override2 trans) (-> self seat)) - (quaternion-copy! (-> self root-override2 quat) s3-0) + (quaternion-copy! s3-0 (-> (the-as vehicle s4-0) root quat)) + (compute-seat-position (the-as vehicle s4-0) (-> self root trans) (-> self seat)) + (quaternion-copy! (-> self root quat) s3-0) ) (when (>= (- (current-time) (-> self state-time)) (seconds 2)) (put-rider-in-seat (the-as vehicle (handle->process (-> self vehicle))) (-> self seat) self) @@ -490,8 +490,8 @@ (let ((s3-1 (handle->process (-> self vehicle))) (s4-2 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s3-1) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root quat)) + (compute-seat-position (the-as vehicle s3-1) (-> self root trans) (-> self seat)) (let ((s3-2 lerp-scale) (s2-0 0.0) (s1-0 1.0) @@ -501,11 +501,11 @@ (let* ((t0-1 (ja-aframe 7.0 0)) (f0-4 (s3-2 s2-0 s1-0 s0-0 sv-176 t0-1)) ) - (quaternion-rotate-local-y! (-> self root-override2 quat) s4-2 (* f0-4 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) - ) + (quaternion-rotate-local-y! (-> self root quat) s4-2 (* f0-4 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) + ) ) ) ) @@ -515,19 +515,19 @@ ) (let ((s4-4 (handle->process (-> self vehicle)))) (let ((s3-3 (new 'stack-no-clear 'quaternion))) - (quaternion-copy! s3-3 (-> (the-as vehicle s4-4) root-override-2 quat)) - (compute-seat-position (the-as vehicle s4-4) (-> self root-override2 trans) (-> self seat)) - (quaternion-rotate-local-y! (-> self root-override2 quat) s3-3 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) + (quaternion-copy! s3-3 (-> (the-as vehicle s4-4) root quat)) + (compute-seat-position (the-as vehicle s4-4) (-> self root trans) (-> self seat)) + (quaternion-rotate-local-y! (-> self root quat) s3-3 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) ) ) (remove-rider (the-as vehicle s4-4) self) ) (logclear! (-> self focus-status) (focus-status pilot-riding pilot)) (let ((v1-65 (handle->process (-> self vehicle)))) - (quaternion-copy! s5-0 (-> (the-as vehicle v1-65) root-override-2 quat)) + (quaternion-copy! s5-0 (-> (the-as vehicle v1-65) root quat)) ) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 1.0 0) 0.5) @@ -562,8 +562,8 @@ (quaternion-from-two-vectors! s2-3 a1-40 *up-vector*) (quaternion*! s3-4 s2-3 s3-4) ) - (quaternion-copy! (-> self root-override2 quat) s3-4) - (vector+float*! (-> self root-override2 trans) gp-0 s4-6 f30-0) + (quaternion-copy! (-> self root quat) s3-4) + (vector+float*! (-> self root trans) gp-0 s4-6 f30-0) ) ) ) @@ -571,9 +571,9 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.5)) ) ) - (let ((v1-96 (-> self root-override2 root-prim))) - (set! (-> v1-96 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-96 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-96 (-> self root root-prim))) + (set! (-> v1-96 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-96 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual wait-for-ride) (none) @@ -585,13 +585,13 @@ :virtual #t :trans (behavior () (when (-> self vehicle) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((14 15 16) (go-virtual move-to-vehicle) ) ) ) - (when (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 122880.0) + (when (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 122880.0) (when (not (-> self done?)) (set! (-> self done?) #t) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) @@ -918,7 +918,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-10 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-10 f30-0 f0-10 1.0) + (set-vector! (-> obj root scale) f0-10 f30-0 f0-10 1.0) ) (let ((f0-12 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-12 f0-12 f0-12 1.0) @@ -992,7 +992,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1324,8 +1324,8 @@ (set! (-> s1-1 flags) (traffic-spawn-flags)) (set! (-> s1-1 guard-type) (the-as uint 7)) (vector-reset! (-> s1-1 velocity)) - (set! (-> s1-1 position quad) (-> (the-as citizen-rebel s2-0) root-override2 trans quad)) - (quaternion-copy! (-> s1-1 rotation) (-> (the-as citizen-rebel s2-0) root-override2 quat)) + (set! (-> s1-1 position quad) (-> (the-as citizen-rebel s2-0) root trans quad)) + (quaternion-copy! (-> s1-1 rotation) (-> (the-as citizen-rebel s2-0) root quat)) (set! (-> s1-1 nav-mesh) (-> s4-1 nav-mesh)) (activate-by-handle *traffic-engine* s1-1) ) @@ -1345,14 +1345,14 @@ (else (let ((v1-260 (get-best-seat-for-vehicle (the-as vehicle s4-2) - (-> (the-as vehicle s4-2) root-override-2 trans) + (-> (the-as vehicle s4-2) root trans) (the-as int (-> (the-as citizen-rebel s2-0) info seat-flag)) 1 ) ) ) (when (!= v1-260 -1) - (.lvf vf1 (&-> (-> (the-as vehicle s4-2) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s4-2) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -1363,8 +1363,8 @@ (f1-1 32768.0) ) (if (and (< f0-1 (* f1-1 f1-1)) (let ((f0-2 (vector-vector-distance-squared - (-> (the-as vehicle s4-2) root-override-2 trans) - (-> (the-as citizen-rebel s2-0) root-override2 trans) + (-> (the-as vehicle s4-2) root trans) + (-> (the-as citizen-rebel s2-0) root trans) ) ) (f1-4 65536.0) @@ -1392,11 +1392,7 @@ ) ) (if (and (-> s2-0 next-state) (= (-> s2-0 next-state name) 'wait-for-ride)) - (send-event - (handle->process (-> arg0 arrow)) - 'set-position - (-> (the-as citizen-rebel s2-0) root-override2 trans) - ) + (send-event (handle->process (-> arg0 arrow)) 'set-position (-> (the-as citizen-rebel s2-0) root trans)) ) ) (else @@ -1860,7 +1856,3 @@ (none) ) ) - - - - diff --git a/test/decompiler/reference/jak2/decompiler-macros.gc b/test/decompiler/reference/jak2/decompiler-macros.gc index 15fcbff348..caeead0957 100644 --- a/test/decompiler/reference/jak2/decompiler-macros.gc +++ b/test/decompiler/reference/jak2/decompiler-macros.gc @@ -107,18 +107,17 @@ ) (defmacro ppointer->process (ppointer) - ;; convert a (pointer process) to a process. + "convert a (pointer process) to a process." ;; this uses the self field, which seems to always just get set to the object. - ;; perhaps when deleting a process you could have it set self to #f? - ;; I don't see this happen anywhere though, so it's not clear. + ;; confirmed in Jak 1 that using self here is useless, not sure... `(let ((the-pp ,ppointer)) - (the process-tree (if the-pp (-> the-pp 0 self))) + (if the-pp (-> the-pp 0 self)) ) ) (defmacro process->ppointer (proc) "safely get a (pointer process) from a process, returning #f if invalid." - `(let ((the-proc (the-as process ,proc))) + `(let ((the-proc ,proc)) (if the-proc (-> the-proc ppointer)) ) ) @@ -130,7 +129,8 @@ ) (defmacro process->handle (proc) - `(ppointer->handle (process->ppointer ,proc)) + "convert a process to a handle. if proc is #f, returns a #f handle." + `(ppointer->handle (process->ppointer (the-as process ,proc))) ) diff --git a/test/decompiler/reference/jak2/engine/ai/enemy-h_REF.gc b/test/decompiler/reference/jak2/engine/ai/enemy-h_REF.gc index 40db53dbeb..e1ffac9735 100644 --- a/test/decompiler/reference/jak2/engine/ai/enemy-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/ai/enemy-h_REF.gc @@ -364,8 +364,8 @@ ;; definition of type enemy (deftype enemy (process-focusable) - ((root-override2 collide-shape-moving :offset 128) - (fact-info-override fact-info-enemy :offset 160) + ((root collide-shape-moving :override) + (fact fact-info-enemy :override) (enemy-flags enemy-flag :offset-assert 208) (enemy-info enemy-info :offset-assert 216) (hit-points int32 :offset-assert 220) @@ -746,7 +746,3 @@ (logclear! (-> obj flags) (enemy-flag lock-focus)) (none) ) - - - - diff --git a/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc b/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc index b6261a7425..37587e7d4f 100644 --- a/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc +++ b/test/decompiler/reference/jak2/engine/ai/enemy_REF.gc @@ -136,8 +136,8 @@ ((logtest? (-> obj mask) (process-mask actor-pause)) (let ((draw (-> obj draw))) (or (and (nonzero? draw) - (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root-override2 pause-adjust-distance)) - (vector-vector-distance (-> obj root-override2 trans) (camera-pos)) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (camera-pos)) ) (or (logtest? (-> draw status) (draw-control-status on-screen)) (not (and (-> obj next-state) (= (-> obj next-state name) 'idle))) @@ -164,7 +164,7 @@ ;; definition for method 20 of type enemy (defmethod get-trans enemy ((obj enemy) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (cond ((zero? arg0) (-> s4-0 trans) @@ -177,7 +177,7 @@ ) ((= arg0 3) (let ((v0-0 (vector<-cspace! (new 'static 'vector) (-> obj node-list data (-> obj enemy-info bullseye-joint))))) - (set! (-> v0-0 w) (-> obj root-override2 root-prim prim-core world-sphere w)) + (set! (-> v0-0 w) (-> obj root root-prim prim-core world-sphere w)) v0-0 ) ) @@ -218,7 +218,7 @@ ;; definition for method 54 of type enemy ;; INFO: Used lq/sq (defmethod enemy-method-54 enemy ((obj enemy)) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (when (>= (-> obj water-max-height) (-> s4-0 trans y)) (let ((s5-0 (new 'stack-no-clear 'water-info))) (water-info-init! s4-0 s5-0 (collide-action solid semi-solid)) @@ -228,7 +228,7 @@ (set! (-> obj water-surface-height) (-> s5-0 trans y)) (when (not (focus-test? obj touch-water under-water)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s2-0 quad) (-> obj root trans quad)) (set! (-> s2-0 y) (+ 409.6 (-> s5-0 trans y))) (let ((s1-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s1-0 @@ -321,7 +321,7 @@ (if *target* (look-at! (-> *target* neck) - (the-as vector (-> self root-override2 root-prim prim-core)) + (the-as vector (-> self root root-prim prim-core)) (if (logtest? (-> self enemy-flags) (enemy-flag use-notice-distance)) 'attacking ) @@ -342,12 +342,12 @@ (>= (- (current-time) (-> self auto-reset-penetrate-time)) (seconds 0.1)) ) (logclear! (-> self enemy-flags) (enemy-flag attackable-backup)) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (let ((v1-48 0)) - (if (logtest? (penetrate knocked) (-> self root-override2 penetrate-using)) + (if (logtest? (penetrate knocked) (-> self root penetrate-using)) (set! v1-48 (logior (shl 1 32) v1-48)) ) - (set! (-> self root-override2 penetrate-using) (the-as penetrate v1-48)) + (set! (-> self root penetrate-using) (the-as penetrate v1-48)) ) ) (if (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) @@ -464,8 +464,8 @@ (begin (let ((s3-0 (-> s4-0 head))) (while s3-0 - (let ((s2-0 (get-touched-prim s3-0 (-> arg0 root-override2) s4-0))) - (get-touched-prim s3-0 (-> obj root-override2) s4-0) + (let ((s2-0 (get-touched-prim s3-0 (-> arg0 root) s4-0))) + (get-touched-prim s3-0 (-> obj root) s4-0) (when (logtest? (-> s2-0 prim-core action) (collide-action solid semi-solid deadly)) (let* ((a0-5 obj) (t9-2 (method-of-object a0-5 enemy-method-104)) @@ -495,7 +495,7 @@ ;; definition for method 64 of type enemy ;; WARN: Return type mismatch object vs none. (defmethod enemy-method-64 enemy ((obj enemy)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -509,7 +509,7 @@ ;; definition for method 65 of type enemy ;; WARN: Return type mismatch object vs none. (defmethod enemy-method-65 enemy ((obj enemy)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -628,7 +628,7 @@ ;; definition for method 94 of type enemy ;; INFO: Used lq/sq (defmethod enemy-method-94 enemy ((obj enemy) (arg0 vector) (arg1 float)) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> arg0 quad)) @@ -642,7 +642,7 @@ ;; definition for method 95 of type enemy (defmethod enemy-method-95 enemy ((obj enemy) (arg0 vector) (arg1 float)) - (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root-override2 trans)))) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root trans)))) (enemy-method-94 obj v1-1 arg1) ) ) @@ -652,12 +652,9 @@ (let ((a0-2 (handle->process (-> obj focus handle)))) (cond (a0-2 - (let ((s4-1 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-2) 0) - (-> obj root-override2 trans) - ) - ) + (let ((s4-1 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) + ) ) (enemy-method-94 obj s4-1 arg0) ) @@ -700,7 +697,7 @@ ;; definition for method 105 of type enemy (defmethod enemy-method-105 enemy ((obj enemy) (arg0 process)) (when (logtest? (process-mask target bot) (-> arg0 mask)) - (set! (-> obj root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> obj root penetrated-by) (the-as penetrate -1)) (enemy-method-49 obj) ) (let ((s5-0 (if (type? arg0 process-focusable) @@ -741,7 +738,7 @@ (set! (-> arg0 quad) (-> obj incoming attack-direction quad)) (let ((v1-1 arg0)) (when (= (+ (* (-> v1-1 x) (-> v1-1 x)) (* (-> v1-1 z) (-> v1-1 z))) 0.0) - (vector-z-quaternion! arg0 (-> obj root-override2 quat)) + (vector-z-quaternion! arg0 (-> obj root quat)) (vector-negate-in-place! arg0) ) ) @@ -863,9 +860,9 @@ ;; definition for method 125 of type enemy (defmethod enemy-method-125 enemy ((obj enemy) (arg0 collide-query) (arg1 collide-spec) (arg2 float) (arg3 float) (arg4 float)) - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) (let ((v0-1 (-> arg0 best-other-tri pat))) - (set! (-> obj root-override2 ground-pat) v0-1) + (set! (-> obj root ground-pat) v0-1) v0-1 ) ) @@ -875,7 +872,7 @@ (defmethod enemy-above-ground? enemy ((obj enemy) (arg0 collide-query) (arg1 vector) (arg2 collide-spec) (arg3 float) (arg4 float) (arg5 float)) "@returns if the enemy is above the ground or not @see [[above-ground?]]" - (above-ground? (-> obj root-override2) arg0 arg1 arg2 arg3 arg4 arg5) + (above-ground? (-> obj root) arg0 arg1 arg2 arg3 arg4 arg5) ) ;; definition for method 127 of type enemy @@ -884,9 +881,9 @@ (let ((s4-0 (new 'stack-no-clear 'collide-query))) (cond ((enemy-method-125 obj s4-0 arg3 arg0 arg1 1024.0) - (let ((s5-1 (-> obj root-override2))) + (let ((s5-1 (-> obj root))) (let ((s3-0 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s3-0 quad) (-> obj root trans quad)) (set! (-> s3-0 y) (-> s4-0 best-other-tri intersect y)) (move-to-point! s5-1 s3-0) (let ((a0-3 (-> s4-0 best-other-tri normal)) @@ -907,7 +904,7 @@ #t ) (else - (let ((v1-11 (-> obj root-override2))) + (let ((v1-11 (-> obj root))) (logclear! (-> v1-11 status) (collide-status on-surface on-ground @@ -948,7 +945,7 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defmethod enemy-method-128 enemy ((obj enemy) (arg0 vector) (arg1 move-above-ground-params)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (set! (-> arg1 on-ground?) #f) (set! (-> arg1 do-move?) #t) (set! (-> arg1 old-gspot-pos quad) (-> gp-0 gspot-pos quad)) @@ -1049,7 +1046,7 @@ ;; definition for method 111 of type enemy ;; WARN: Return type mismatch int vs none. (defmethod enemy-method-111 enemy ((obj enemy)) - (let ((v1-0 (-> obj root-override2))) + (let ((v1-0 (-> obj root))) (when (logtest? (-> v1-0 status) (collide-status touch-surface)) (let ((f0-1 (fmax 0.0 (+ 1.0 (* 60.0 (-> self clock seconds-per-frame) (+ -1.0 (-> obj enemy-info friction))))))) (vector-float*! (-> v1-0 transv) (-> v1-0 transv) f0-1) @@ -1158,16 +1155,16 @@ ) (set! (-> obj incoming attacker-handle) (the-as handle #f)) (enemy-method-124 obj) - (set! (-> obj fact-info-override) (new - 'process - 'fact-info-enemy - obj - (the-as (pointer float) (-> arg0 fact-defaults)) - (pickup-type eco-pill-random) - (-> *FACT-bank* default-eco-pill-green-inc) - ) + (set! (-> obj fact) (new + 'process + 'fact-info-enemy + obj + (the-as (pointer float) (-> arg0 fact-defaults)) + (pickup-type eco-pill-random) + (-> *FACT-bank* default-eco-pill-green-inc) + ) ) - (let ((a1-5 (if (logtest? (enemy-option multi-focus) (-> obj fact-info-override enemy-options)) + (let ((a1-5 (if (logtest? (enemy-option multi-focus) (-> obj fact enemy-options)) #x400406 #x400402 ) @@ -1202,7 +1199,7 @@ (if (-> obj on-hostile) (logior! (-> obj enemy-flags) (enemy-flag drawn-mirrored)) ) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (set! (-> obj penetrated-by-all) (-> s4-0 penetrated-by)) (set! (-> s4-0 penetrated-by) (get-penetrate-info obj)) (set! (-> s4-0 event-self) 'touched) @@ -1211,7 +1208,7 @@ (set! (-> obj penetrated-knocked) (-> arg0 penetrate-knocked)) (set! (-> obj reaction-time) (the-as time-frame (get-rand-int-range obj 30 180))) (let* ((v1-79 (-> obj enemy-flags)) - (a0-28 (-> obj fact-info-override enemy-options)) + (a0-28 (-> obj fact enemy-options)) (v1-80 (logior (enemy-flag enable-on-active checking-water @@ -1235,7 +1232,7 @@ (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) (if (and (-> obj enemy-info move-to-ground) (not (logtest? (enemy-flag vulnerable-backup) (-> obj enemy-flags))) - (not (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options))) + (not (logtest? (enemy-option ambush) (-> obj fact enemy-options))) ) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) ) @@ -1261,9 +1258,9 @@ (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag vulnerable-backup) (-> self enemy-flags)))) ) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> arg1 trans quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg1 quat)) - (vector-identity! (-> self root-override2 scale)) + (set! (-> self root trans quad) (-> arg1 trans quad)) + (quaternion-copy! (-> self root quat) (-> arg1 quat)) + (vector-identity! (-> self root scale)) (init-enemy! self) (when (> (-> self enemy-info gem-joint) 0) (cond @@ -1291,7 +1288,7 @@ ) ) ) - (let ((v1-43 (-> self fact-info-override enemy-options))) + (let ((v1-43 (-> self fact enemy-options))) (cond (*debug-view-anims* (go-virtual view-anims) @@ -1305,7 +1302,7 @@ ((logtest? (enemy-option dormant-aware) v1-43) (enemy-method-65 self) ) - ((logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + ((logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-ambush self) ) (else @@ -1353,7 +1350,7 @@ This commonly includes things such as: ) ) ) - (let ((v1-28 (-> obj fact-info-override enemy-options))) + (let ((v1-28 (-> obj fact enemy-options))) (cond ((logtest? (enemy-option spawner) v1-28) (process-entity-status! obj (entity-perm-status dead) #t) @@ -1557,7 +1554,7 @@ This commonly includes things such as: "Checks a variety of criteria to determine the level of awareness the enemy is of the target. Sets `aware` and related fields as well! @TODO - flesh out docs @returns the value that sets `aware`" - (let ((f30-0 (vector-vector-distance (get-trans arg0 0) (-> obj root-override2 trans))) + (let ((f30-0 (vector-vector-distance (get-trans arg0 0) (-> obj root trans))) (s3-1 #f) (s2-0 #f) ) @@ -1594,7 +1591,7 @@ This commonly includes things such as: ) ) ) - ((< f30-0 (-> obj fact-info-override idle-distance)) + ((< f30-0 (-> obj fact idle-distance)) 1 ) (else @@ -1605,7 +1602,7 @@ This commonly includes things such as: ) (when (and (> s3-2 0) (logtest? (enemy-flag called-dying) (-> obj enemy-flags))) (cond - ((logtest? (enemy-option idle-til-trigger) (-> obj fact-info-override enemy-options)) + ((logtest? (enemy-option idle-til-trigger) (-> obj fact enemy-options)) (if (not (enemy-method-130 obj f30-0)) (set! s3-2 0) ) @@ -1631,7 +1628,7 @@ This commonly includes things such as: ;; definition for method 130 of type enemy (defmethod enemy-method-130 enemy ((obj enemy) (arg0 float)) - (let* ((v1-0 (-> obj fact-info-override)) + (let* ((v1-0 (-> obj fact)) (a2-0 (-> v1-0 trig-mask-count)) (a3-0 (-> v1-0 trig-mask)) ) @@ -1767,7 +1764,7 @@ This commonly includes things such as: ) ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s3-3) - (-> obj root-override2) + (-> obj root) (collide-action solid) (collide-action) ) @@ -1783,7 +1780,7 @@ This commonly includes things such as: ((= arg2 'attack-invinc) (case (-> (the-as attack-info (-> arg3 param 1)) mode) (('endlessfall) - (let ((v1-31 (-> obj root-override2 root-prim))) + (let ((v1-31 (-> obj root root-prim))) (set! (-> v1-31 prim-core collide-as) (collide-spec)) (set! (-> v1-31 prim-core collide-with) (collide-spec)) ) @@ -1913,7 +1910,7 @@ This commonly includes things such as: (logclear! (-> obj mask) (process-mask actor-pause)) (cond (v1-162 - (if (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go-ambush obj) (go-hostile obj) ) @@ -1922,7 +1919,7 @@ This commonly includes things such as: (or (= v1-173 'dormant) (= v1-173 'dormant-aware)) ) ) - (if (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go-ambush obj) (go (method-of-object obj notice)) ) @@ -1938,7 +1935,7 @@ This commonly includes things such as: (not (logtest? (-> obj focus-status) (focus-status grabbed))) ) (logclear! (-> obj enemy-flags) (enemy-flag alert victory called-dying)) - (if (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go-ambush obj) (react-to-focus obj) ) @@ -1959,10 +1956,10 @@ This commonly includes things such as: ((= arg2 'death-start) (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag recover) (-> obj enemy-flags)))) (send-event (ppointer->process (-> obj parent)) 'child-die) - (drop-pickup (-> obj fact-info-override) #t *entity-pool* (-> obj fact-info-override) 0) + (drop-pickup (-> obj fact) #t *entity-pool* (-> obj fact) 0) (let ((s5-1 (-> obj on-death))) (if s5-1 - (script-eval (the-as pair s5-1) :vector (-> obj root-override2 trans)) + (script-eval (the-as pair s5-1) :vector (-> obj root trans)) ) ) ) @@ -1978,9 +1975,9 @@ This commonly includes things such as: ((= arg2 'instant-death) (when (and (> (-> obj hit-points) 0) (zero? (-> obj fated-time))) (set! (-> obj hit-points) 0) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (let ((s5-2 (enemy-method-50 obj (new 'stack-no-clear 'vector)))) - (vector-z-quaternion! s5-2 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-2 (-> obj root quat)) (vector-float*! s5-2 s5-2 -1.0) (vector-normalize! s5-2 1.0) ) @@ -2004,7 +2001,7 @@ This commonly includes things such as: (send-event (ppointer->process (-> obj parent)) 'child-die) (let ((s5-3 (-> obj on-death))) (if s5-3 - (script-eval (the-as pair s5-3) :vector (-> obj root-override2 trans)) + (script-eval (the-as pair s5-3) :vector (-> obj root trans)) ) ) (cleanup-for-death obj) @@ -2026,10 +2023,10 @@ This commonly includes things such as: ) ) ((= arg2 'push-trans) - (move-by-vector! (-> obj root-override2) (the-as vector (-> arg3 param 0))) + (move-by-vector! (-> obj root) (the-as vector (-> arg3 param 0))) ) ((= arg2 'move-trans) - (move-to-point! (-> obj root-override2) (the-as vector (-> arg3 param 0))) + (move-to-point! (-> obj root) (the-as vector (-> arg3 param 0))) ) ((= arg2 'shadow) (cond @@ -2121,7 +2118,7 @@ This commonly includes things such as: ) (set! (-> obj hit-points) s4-1) (if (not (logtest? (-> obj enemy-flags) (enemy-flag attackable-backup))) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) ) (- s5-0 s4-1) ) @@ -2147,14 +2144,14 @@ This commonly includes things such as: (and s3-0 (not (logtest? (-> s3-0 focus-status) (focus-status disable dead ignore grabbed)))) ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -2168,13 +2165,13 @@ This commonly includes things such as: ) ((and ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action no-standon) (collide-action) ) - (not (logtest? (-> obj root-override2 penetrated-by) (-> s3-0 root-override penetrate-using))) + (not (logtest? (-> obj root penetrated-by) (-> s3-0 root penetrate-using))) ) - (if (send-shoves (-> obj root-override2) arg0 touch-entry 0.7 6144.0 16384.0) + (if (send-shoves (-> obj root) arg0 touch-entry 0.7 6144.0 16384.0) (send-event obj 'bouncing-off arg0) ) ) @@ -2196,13 +2193,13 @@ This commonly includes things such as: ) (when ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s4-0) - (-> obj root-override2) + (-> obj root) (collide-action solid semi-solid deadly) (collide-action) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s4-0) - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -2228,7 +2225,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defbehavior enemy-simple-post enemy () (track-target! self) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) 0 (none) ) @@ -2237,7 +2234,7 @@ This commonly includes things such as: ;; INFO: Used lq/sq (defbehavior enemy-falling-post enemy () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (cond ((focus-test? self under-water) (enemy-method-47 self (-> gp-0 transv)) @@ -2279,7 +2276,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defbehavior enemy-die-falling-post enemy () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (if (focus-test? self under-water) (enemy-method-47 self (-> gp-0 transv)) (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 (new-stack-vector0) 0.0)) @@ -2360,14 +2357,14 @@ This commonly includes things such as: :event enemy-event-handler :enter (behavior () ((-> (method-of-type enemy idle) enter)) - (set! (-> self root-override2 nav-flags) (nav-flags)) - (let ((v1-4 (-> self root-override2 root-prim))) + (set! (-> self root nav-flags) (nav-flags)) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (set! (-> self draw origin quad) (-> self root-override2 trans quad)) + (set! (-> self draw origin quad) (-> self root trans quad)) (if (logtest? (enemy-flag alert) (-> self enemy-flags)) (set! (-> self enemy-flags) (logior (enemy-flag victory) (-> self enemy-flags))) ) @@ -2376,13 +2373,13 @@ This commonly includes things such as: ) :exit (behavior () (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self enemy-flags) (enemy-flag victory)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :code (the-as (function none :behavior enemy) sleep-code) @@ -2398,7 +2395,7 @@ This commonly includes things such as: (when (and (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (> (the-as int (-> self focus aware)) 0) ) - (if (logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-ambush self) (go-virtual active) ) @@ -2440,7 +2437,7 @@ This commonly includes things such as: (logclear! (-> self enemy-flags) (enemy-flag jump-check-blocked)) (let ((gp-0 (-> self on-active))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -2494,7 +2491,7 @@ This commonly includes things such as: (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -2533,8 +2530,8 @@ This commonly includes things such as: :frame-num 0.0 ) (until (ja-done? 0) - (vector-! gp-0 (target-pos 0) (-> self root-override2 trans)) - (seek-toward-heading-vec! (-> self root-override2) gp-0 131072.0 (seconds 0.05)) + (vector-! gp-0 (target-pos 0) (-> self root trans)) + (seek-toward-heading-vec! (-> self root) gp-0 131072.0 (seconds 0.05)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2559,7 +2556,7 @@ This commonly includes things such as: (logclear! (-> self enemy-flags) (enemy-flag drawn-mirrored)) (let ((gp-0 (-> self on-hostile))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -2731,7 +2728,7 @@ This commonly includes things such as: (set! (-> arg0 anim-speed) (get-rand-float-range obj 0.9 1.1)) (set! (-> arg0 hang-time) 0) (set! (-> arg0 dest-pos quad) (-> obj event-param-point quad)) - (set! (-> arg0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> arg0 start-pos quad) (-> obj root trans quad)) (let ((s4-0 (new 'stack-no-clear 'collide-query))) (if (enemy-above-ground? obj @@ -2761,10 +2758,10 @@ This commonly includes things such as: ;; definition for method 86 of type enemy (defmethod enemy-method-86 enemy ((obj enemy)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (when (< (-> gp-0 transv y) 0.0) (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (find-ground (-> obj root-override2) a1-0 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) + (find-ground (-> obj root) a1-0 (the-as collide-spec (-> obj gnd-collide)) 8192.0 81920.0 1024.0) ) (>= (-> gp-0 gspot-pos y) (-> gp-0 trans y)) ) @@ -2773,14 +2770,14 @@ This commonly includes things such as: ;; definition for method 85 of type enemy (defmethod enemy-method-85 enemy ((obj enemy)) - (let* ((v1-0 (-> obj root-override2)) + (let* ((v1-0 (-> obj root)) (f0-0 (-> v1-0 gspot-pos y)) ) (if (< (-> v1-0 trans y) f0-0) (set! (-> v1-0 trans y) f0-0) ) ) - (set! (-> obj root-override2 transv y) 0.0) + (set! (-> obj root transv y) 0.0) ) ;; definition for method 92 of type enemy @@ -2800,9 +2797,9 @@ This commonly includes things such as: (set! (-> obj enemy-flags) (logior (enemy-flag directed) (-> obj enemy-flags))) (let ((f30-0 (the float (-> arg1 hang-time)))) (let ((a1-3 (compute-trans-at-time (-> arg1 traj) f30-0 (new 'stack-no-clear 'vector)))) - (move-to-point! (-> obj root-override2) a1-3) + (move-to-point! (-> obj root) a1-3) ) - (let ((s5-1 (-> obj root-override2 transv))) + (let ((s5-1 (-> obj root transv))) (compute-transv-at-time (-> arg1 traj) f30-0 s5-1) (vector-float*! s5-1 s5-1 300.0) ) @@ -2983,7 +2980,7 @@ This commonly includes things such as: ) ) (label cfg-12) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (let ((s5-1 2)) (logior! (-> self focus-status) (focus-status in-air)) (until (enemy-method-86 self) @@ -3028,7 +3025,7 @@ This commonly includes things such as: (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (-> self enemy-info overlaps-others-collide-with-filter)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override2) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (enemy-simple-post) (none) @@ -3169,7 +3166,7 @@ This commonly includes things such as: (return (the-as symbol #f)) ) (when (not (logtest? (enemy-flag directed) (-> obj enemy-flags))) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (if (focus-test? obj under-water) (enemy-method-47 obj (-> s5-0 transv)) (+! (-> s5-0 transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) @@ -3193,7 +3190,7 @@ This commonly includes things such as: (if (and (enemy-method-102 obj) (not (logtest? (-> obj focus-status) (focus-status dead)))) (kill-prefer-falling obj) ) - (let ((s5-1 (-> obj root-override2)) + (let ((s5-1 (-> obj root)) (a1-2 (new 'stack-no-clear 'collide-query)) (s3-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) @@ -3258,7 +3255,7 @@ This commonly includes things such as: (((knocked-type knocked-type-4)) (vector-rotate90-around-y! arg0 arg0) (let ((v1-9 (new 'stack-no-clear 'vector))) - (vector-! v1-9 (-> obj incoming attacker-pos) (-> obj root-override2 trans)) + (vector-! v1-9 (-> obj incoming attacker-pos) (-> obj root trans)) (set! (-> v1-9 y) 0.0) (if (< 0.0 (vector-dot v1-9 arg0)) (vector-negate! arg0 arg0) @@ -3270,7 +3267,7 @@ This commonly includes things such as: ) ) (((knocked-type knocked-type-5)) - (let* ((f1-2 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root-override2 trans))) + (let* ((f1-2 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root trans))) (f0-26 1.0) (f2-0 61440.0) (f1-3 (fmin f1-2 (* f2-0 f2-0))) @@ -3282,7 +3279,7 @@ This commonly includes things such as: ) ) (((knocked-type knocked-type-6)) - (let* ((f1-5 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root-override2 trans))) + (let* ((f1-5 (vector-vector-xz-distance-squared (target-pos 0) (-> obj root trans))) (f0-34 1.0) (f2-6 122880.0) (f1-6 (fmin f1-5 (* f2-6 f2-6))) @@ -3318,21 +3315,19 @@ This commonly includes things such as: ;; definition for method 51 of type enemy (defmethod enemy-method-51 enemy ((obj enemy)) - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (let ((v1-9 (get-trans (the-as process-focusable a0-5) 0))) - (set! f30-0 - (atan (- (-> v1-9 x) (-> obj root-override2 trans x)) (- (-> v1-9 z) (-> obj root-override2 trans z))) - ) + (set! f30-0 (atan (- (-> v1-9 x) (-> obj root trans x)) (- (-> v1-9 z) (-> obj root trans z)))) ) ) ) ) (else - (let* ((v1-13 (-> obj root-override2 transv)) + (let* ((v1-13 (-> obj root transv)) (f28-0 (atan (-> v1-13 x) (-> v1-13 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) @@ -3398,7 +3393,7 @@ This commonly includes things such as: ;; definition for method 80 of type enemy (defmethod enemy-method-80 enemy ((obj enemy) (arg0 enemy-knocked-info)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (or (>= (-> arg0 on-surface-count) 3) (and (logtest? (-> gp-0 status) (collide-status on-ground)) (>= 16384.0 (-> gp-0 transv y))) (and (>= (-> arg0 move-count) 3) @@ -3415,7 +3410,7 @@ This commonly includes things such as: ;; definition for method 81 of type enemy (defmethod enemy-method-81 enemy ((obj enemy)) - (let ((s5-0 (-> obj root-override2)) + (let ((s5-0 (-> obj root)) (a1-0 (new 'stack-no-clear 'collide-query)) (gp-0 #t) ) @@ -3460,7 +3455,7 @@ This commonly includes things such as: ) ) ((= v1-0 4) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) (set! s5-0 #t) ) (else @@ -3487,10 +3482,10 @@ This commonly includes things such as: (set! (-> self attack-id) a0-4) ) (enemy-method-103 self) - (if (logtest? (enemy-option knocked-into-water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option knocked-into-water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup) (-> self enemy-flags))) ) - (let ((v1-16 (-> self root-override2))) + (let ((v1-16 (-> self root))) (logclear! (-> v1-16 status) (collide-status on-surface on-ground @@ -3530,7 +3525,7 @@ This commonly includes things such as: (if (= (-> self incoming knocked-type) (knocked-type knocked-type-4)) (logclear! (-> self enemy-flags) (enemy-flag check-water-backup)) ) - (set! (-> self root-override2 penetrate-using) (penetrate lunge vehicle knocked)) + (set! (-> self root penetrate-using) (penetrate lunge vehicle knocked)) (enemy-method-49 self) (enemy-method-46 self 1) (none) @@ -3545,8 +3540,8 @@ This commonly includes things such as: ) (set! (-> self enemy-flags) v1-1) (when (nonzero? (-> self hit-points)) - (set! (-> self root-override2 penetrate-using) - (the-as penetrate (logclear (-> self root-override2 penetrate-using) (penetrate knocked))) + (set! (-> self root penetrate-using) + (the-as penetrate (logclear (-> self root penetrate-using) (penetrate knocked))) ) (enemy-method-46 self 2) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -3578,7 +3573,7 @@ This commonly includes things such as: ) :trans (behavior () (if (>= (-> self enemy-info knocked-seek-ry-clamp) 0.0) - (seek-toward-yaw-angle! (-> self root-override2) (-> self desired-angle) 138353.78 (seconds 0.1)) + (seek-toward-yaw-angle! (-> self root) (-> self desired-angle) 138353.78 (seconds 0.1)) ) (none) ) @@ -3592,7 +3587,7 @@ This commonly includes things such as: (if (>= (- (current-time) (-> self state-time)) (seconds 2)) (kill-prefer-falling self) ) - (if (logtest? (-> self root-override2 status) (collide-status on-surface)) + (if (logtest? (-> self root status) (collide-status on-surface)) (+! (-> gp-0 on-surface-count) 1) ) (enemy-method-79 self s5-0 gp-0) @@ -3604,7 +3599,7 @@ This commonly includes things such as: (let ((s5-1 2)) (set! (-> gp-0 land-can-land-time) (current-time)) (until #f - (if (logtest? (-> self root-override2 status) (collide-status on-surface)) + (if (logtest? (-> self root status) (collide-status on-surface)) (+! (-> gp-0 on-surface-count) 1) ) (if (enemy-method-79 self s5-1 gp-0) @@ -3638,7 +3633,7 @@ This commonly includes things such as: (cond ((logtest? (enemy-flag recover) (-> self enemy-flags)) (set! (-> self hit-points) 0) - (let ((v1-67 (-> self root-override2 root-prim))) + (let ((v1-67 (-> self root root-prim))) (set! (-> v1-67 prim-core collide-as) (collide-spec)) (set! (-> v1-67 prim-core collide-with) (collide-spec)) ) @@ -3690,7 +3685,7 @@ This commonly includes things such as: ) (let ((a0-18 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj enemy-info gem-joint)))) ) - (birth-pickup-at-point a0-18 (pickup-type gem) 1.0 #t *entity-pool* (-> obj fact-info-override)) + (birth-pickup-at-point a0-18 (pickup-type gem) 1.0 #t *entity-pool* (-> obj fact)) ) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -3715,7 +3710,7 @@ This commonly includes things such as: :event enemy-event-handler :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -3756,7 +3751,7 @@ This commonly includes things such as: ;; definition for method 133 of type enemy (defmethod enemy-method-133 enemy ((obj enemy)) - (let ((s5-0 (-> obj root-override2)) + (let ((s5-0 (-> obj root)) (a1-0 (new 'stack-no-clear 'collide-query)) (gp-0 #t) ) @@ -3775,13 +3770,13 @@ This commonly includes things such as: :event enemy-event-handler :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) 0 (set! (-> self hit-points) 0) - (if (logtest? (enemy-option knocked-into-water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option knocked-into-water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup) (-> self enemy-flags))) ) (enemy-method-103 self) diff --git a/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc b/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc index 3254a5112b..d2bfa14928 100644 --- a/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc @@ -525,7 +525,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x34 - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -642,7 +642,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x42 - :delay #x4b0 + :delay (seconds 4) :neg #x1 :on-close #f ) @@ -651,7 +651,7 @@ :channel (gui-channel daxter) :flags #x3 :speech #x43 - :delay #xbb8 + :delay (seconds 10) :neg #x1 :on-close #f ) @@ -692,7 +692,7 @@ :channel (gui-channel daxter) :flags #x3 :speech #x48 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -709,7 +709,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x4a - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -776,7 +776,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x51 - :delay #x1770 + :delay (seconds 20) :neg #x1 :on-close #f ) @@ -851,7 +851,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x5a - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -886,7 +886,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x5e - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -911,7 +911,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x61 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -920,7 +920,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x62 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -929,7 +929,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x63 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -938,7 +938,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x64 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -947,7 +947,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x65 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -956,7 +956,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x66 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -982,7 +982,7 @@ :channel (gui-channel voicebox) :flags #x7 :speech #x69 - :delay #x5dc + :delay (seconds 5) :neg #x1 :on-close #f ) @@ -1023,7 +1023,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x6e - :delay #x5dc + :delay (seconds 5) :neg #x1 :on-close #f ) @@ -1049,7 +1049,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x71 - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -1165,7 +1165,7 @@ :speech #x7d :text-message (text-id gun-upgrade-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1175,7 +1175,7 @@ :flags #x40 :speech #x7e :text-message (text-id gun-upgrade-speed) - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1186,7 +1186,7 @@ :speech #x7f :text-message (text-id gun-upgrade-ammo) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1197,7 +1197,7 @@ :speech #x80 :text-message (text-id gun-upgrade-damage) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1208,7 +1208,7 @@ :speech #x81 :text-message (text-id mission-complete) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1218,7 +1218,7 @@ :flags #x40 :speech #x82 :text-message (text-id pass-red-acquired) - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1229,7 +1229,7 @@ :speech #x83 :text-message (text-id pass-green-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1240,7 +1240,7 @@ :speech #x84 :text-message (text-id pass-yellow-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1251,7 +1251,7 @@ :speech #x85 :text-message (text-id pass-palace-acquired) :text-duration #x5dc - :delay #xbb8 + :delay (seconds 10) :neg #x1 :on-close #f ) @@ -1262,7 +1262,7 @@ :speech #x86 :text-message (text-id pass-black-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1273,7 +1273,7 @@ :speech #x87 :text-message (text-id red-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1284,7 +1284,7 @@ :speech #x88 :text-message (text-id yellow-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1295,7 +1295,7 @@ :speech #x89 :text-message (text-id blue-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1306,7 +1306,7 @@ :speech #x8a :text-message (text-id dark-gun-acquired) :text-duration #x5dc - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -1315,7 +1315,7 @@ :channel (gui-channel voicebox) :flags #x3 :speech #x8b - :delay #x708 + :delay (seconds 6) :neg #x1 :on-close #f ) @@ -1555,7 +1555,7 @@ :speech #xaa :text-message (text-id oracle-gem-grind-200) :text-duration #x5dc - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -1565,7 +1565,7 @@ :speech #xab :text-message (text-id oracle-gem-grind-200) :text-duration #x5dc - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -1575,7 +1575,7 @@ :speech #xac :text-message (text-id oracle-gem-grind-200) :text-duration #x5dc - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -2851,7 +2851,7 @@ :name "cityv175" :channel (gui-channel alert) :speech #x173 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -2859,7 +2859,7 @@ :name "cityv176" :channel (gui-channel alert) :speech #x174 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -2867,7 +2867,7 @@ :name "cityv177" :channel (gui-channel alert) :speech #x175 - :delay #x384 + :delay (seconds 3) :neg #x1 :on-close #f ) @@ -3547,7 +3547,7 @@ :channel (gui-channel voicebox) :flags #x2 :speech #x1ce - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -3556,7 +3556,7 @@ :channel (gui-channel voicebox) :flags #x2 :speech #x1cf - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) @@ -3565,13 +3565,9 @@ :channel (gui-channel voicebox) :flags #x2 :speech #x1d0 - :delay #x258 + :delay (seconds 2) :neg #x1 :on-close #f ) ) ) - - - - diff --git a/test/decompiler/reference/jak2/engine/anim/fma-sphere_REF.gc b/test/decompiler/reference/jak2/engine/anim/fma-sphere_REF.gc index 977f58ae20..59abde739a 100644 --- a/test/decompiler/reference/jak2/engine/anim/fma-sphere_REF.gc +++ b/test/decompiler/reference/jak2/engine/anim/fma-sphere_REF.gc @@ -3,15 +3,15 @@ ;; definition of type fma-sphere (deftype fma-sphere (process-drawable) - ((root-override collide-shape :offset 128) - (first-time? symbol :offset-assert 200) - (mode fma-sphere-mode :offset-assert 204) - (track-handle handle :offset-assert 208) - (track-joint int32 :offset-assert 216) - (attack-id uint32 :offset-assert 220) - (duration time-frame :offset-assert 224) - (sphere sphere :inline :offset-assert 240) - (danger traffic-danger-info :inline :offset-assert 256) + ((root collide-shape :override) + (first-time? symbol :offset-assert 200) + (mode fma-sphere-mode :offset-assert 204) + (track-handle handle :offset-assert 208) + (track-joint int32 :offset-assert 216) + (attack-id uint32 :offset-assert 220) + (duration time-frame :offset-assert 224) + (sphere sphere :inline :offset-assert 240) + (danger traffic-danger-info :inline :offset-assert 256) ) :heap-base #xc0 :method-count-assert 21 @@ -70,7 +70,7 @@ (let ((v1-2 (new 'static 'attack-info :mask (attack-info-mask mode id attacker-velocity damage knock)))) (set! (-> v1-2 id) (-> self attack-id)) (set! (-> v1-2 mode) 'eco-red) - (set! (-> v1-2 attacker-velocity quad) (-> self root-override transv quad)) + (set! (-> v1-2 attacker-velocity quad) (-> self root transv quad)) (set! (-> v1-2 damage) 2.0) (set! (-> v1-2 knock) (the-as uint 2)) (set! (-> a1-2 param 1) (the-as uint v1-2)) @@ -111,7 +111,7 @@ (set! (-> gp-0 quad) (-> self sphere quad)) (set! (-> gp-0 w) 1.0) (vector-matrix*! gp-0 gp-0 (-> (the-as process-drawable a2-0) node-list data v1-5 bone transform)) - (let ((v1-9 (-> self root-override))) + (let ((v1-9 (-> self root))) (vector-! (-> v1-9 transv) gp-0 (-> v1-9 trans)) (let ((a0-12 (-> v1-9 transv))) (.lvf vf1 (&-> (-> v1-9 transv) quad)) @@ -124,7 +124,7 @@ (.svf (&-> a0-12 quad) vf1) ) ) - (move-to-point! (-> self root-override) gp-0) + (move-to-point! (-> self root) gp-0) (set! (-> self danger sphere x) (-> gp-0 x)) (set! (-> self danger sphere y) (-> gp-0 y)) (set! (-> self danger sphere z) (-> gp-0 z)) @@ -140,7 +140,7 @@ (set! (-> a1-10 options) (overlaps-others-options)) (set! (-> a1-10 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-10 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-10) + (find-overlapping-shapes (-> self root) a1-10) ) ) (if (or (logtest? *display-scene-control* (scene-controls display-controls)) @@ -149,7 +149,7 @@ (add-debug-sphere #t (bucket-id debug2) - (-> self root-override trans) + (-> self root trans) (-> self sphere r) (new 'static 'rgba :r #x80 :g #x40 :a #x80) ) @@ -219,9 +219,9 @@ (set! (-> gp-1 backup-collide-as) (-> v1-27 prim-core collide-as)) (set! (-> gp-1 backup-collide-with) (-> v1-27 prim-core collide-with)) ) - (set! (-> self root-override) gp-1) + (set! (-> self root) gp-1) ) - (let ((gp-2 (-> self root-override))) + (let ((gp-2 (-> self root))) (set! (-> gp-2 nav-radius) (-> self sphere r)) (set! (-> gp-2 root-prim local-sphere w) (-> self sphere r)) (set! (-> gp-2 trans quad) (-> self sphere quad)) @@ -248,7 +248,7 @@ ) (logclear! (-> self mask) (process-mask actor-pause enemy)) (when (logtest? (-> self mode) (fma-sphere-mode nav)) - (let ((a0-32 (find-nearest-nav-mesh (-> self root-override trans) (the-as float #x7f800000)))) + (let ((a0-32 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (cond (a0-32 (add-process-drawable-to-navmesh a0-32 self #f) diff --git a/test/decompiler/reference/jak2/engine/collide/collide-shape_REF.gc b/test/decompiler/reference/jak2/engine/collide/collide-shape_REF.gc index 9598b3549e..52eec87c17 100644 --- a/test/decompiler/reference/jak2/engine/collide/collide-shape_REF.gc +++ b/test/decompiler/reference/jak2/engine/collide/collide-shape_REF.gc @@ -3041,7 +3041,7 @@ (when (and s0-0 gp-0) (while s0-0 (set! sv-160 (get-touched-prim s0-0 obj arg1)) - (get-touched-prim s0-0 (-> (the-as process-focusable gp-0) root-override) arg1) + (get-touched-prim s0-0 (-> (the-as process-focusable gp-0) root) arg1) (when (logtest? (-> sv-160 prim-core action) (collide-action no-standon)) (let ((v1-12 (get-middle-of-bsphere-overlap s0-0 (new 'stack-no-clear 'vector)))) (set! sv-176 (new 'stack-no-clear 'vector)) @@ -3055,18 +3055,16 @@ (.svf (&-> sv-176 quad) vf6) (vector-normalize! sv-176 1.0) (when (and (< arg2 (-> sv-176 y)) (and (not (focus-test? (the-as process-focusable gp-0) dead hit board mech)) - (< (-> (the-as process-focusable gp-0) root-override transv y) 4.096) + (< (-> (the-as process-focusable gp-0) root transv y) 4.096) ) ) (let ((s2-1 (new 'stack-no-clear 'vector))) - (set! (-> s2-1 quad) (-> (the-as process-focusable gp-0) root-override transv quad)) - (let* ((v1-26 (-> (the-as process-focusable gp-0) root-override transv)) + (set! (-> s2-1 quad) (-> (the-as process-focusable gp-0) root transv quad)) + (let* ((v1-26 (-> (the-as process-focusable gp-0) root transv)) (f30-0 (sqrtf (+ (* (-> v1-26 x) (-> v1-26 x)) (* (-> v1-26 z) (-> v1-26 z))))) ) (if (= f30-0 0.0) - (set! (-> s2-1 quad) - (-> (vector-z-quaternion! s2-1 (-> (the-as process-focusable gp-0) root-override quat)) quad) - ) + (set! (-> s2-1 quad) (-> (vector-z-quaternion! s2-1 (-> (the-as process-focusable gp-0) root quat)) quad)) ) (vector-xz-normalize! s2-1 (fmax f30-0 arg4)) ) diff --git a/test/decompiler/reference/jak2/engine/collide/los-control_REF.gc b/test/decompiler/reference/jak2/engine/collide/los-control_REF.gc index 3e821b35a3..44db1945fb 100644 --- a/test/decompiler/reference/jak2/engine/collide/los-control_REF.gc +++ b/test/decompiler/reference/jak2/engine/collide/los-control_REF.gc @@ -43,7 +43,7 @@ (set! (-> query collide-with) (-> obj collide-with)) (set! (-> query ignore-process0) process-focus) (set! (-> query ignore-process1) process) - (set! (-> query ignore-pat) (-> process-focus root-override pat-ignore-mask)) + (set! (-> query ignore-pat) (-> process-focus root pat-ignore-mask)) (set! (-> query action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* cquery) diff --git a/test/decompiler/reference/jak2/engine/common_objs/base-plat_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/base-plat_REF.gc index b5cab46333..5d8e640fdc 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/base-plat_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/base-plat_REF.gc @@ -3,12 +3,12 @@ ;; definition of type base-plat (deftype base-plat (process-focusable) - ((root-override-2 collide-shape-moving :offset 128) - (smush smush-control :inline :offset-assert 208) - (basetrans vector :inline :offset-assert 240) - (bounce-time time-frame :offset-assert 256) - (bouncing symbol :offset-assert 264) - (bounce-scale meters :offset-assert 268) + ((root collide-shape-moving :override) + (smush smush-control :inline :offset-assert 208) + (basetrans vector :inline :offset-assert 240) + (bounce-time time-frame :offset-assert 256) + (bouncing symbol :offset-assert 264) + (bounce-scale meters :offset-assert 268) ) :heap-base #x90 :method-count-assert 34 @@ -57,7 +57,7 @@ For example for an elevator pre-compute the distance between the first and last ;; WARN: Return type mismatch int vs none. (defmethod stop-bouncing! base-plat ((obj base-plat)) "Sets `bouncing` to false and resets related settings to their defaults" - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (set! (-> obj bouncing) #f) (set! (-> obj bounce-scale) 819.2) 0 @@ -73,7 +73,7 @@ and translate the platform via the `smush` (activate! (-> obj smush) -1.0 60 150 1.0 1.0 (-> self clock)) (set! (-> obj bounce-time) (current-time)) (set! (-> obj bouncing) #t) - (sound-play "plat-bounce" :position (-> obj root-override trans)) + (sound-play "plat-bounce" :position (-> obj root trans)) (logclear! (-> obj mask) (process-mask sleep)) (logclear! (-> obj mask) (process-mask sleep-code)) 0 @@ -118,14 +118,14 @@ If we aren't bouncing however, TODO - CSHAPE" (let ((trans (new 'stack-no-clear 'vector))) (set! (-> trans quad) (-> self basetrans quad)) (+! (-> trans y) (* (-> self bounce-scale) (update! (-> self smush)))) - (move-to-point! (-> self root-override) trans) + (move-to-point! (-> self root) trans) ) (if (not (!= (-> self smush amp) 0.0)) (set! (-> self bouncing) #f) ) ) (else - (move-to-point! (-> self root-override) (-> self basetrans)) + (move-to-point! (-> self root) (-> self basetrans)) ) ) (none) @@ -151,10 +151,10 @@ If we aren't bouncing however, TODO - CSHAPE" (defmethod execute-effects base-plat ((obj base-plat)) "Executes various ancillary tasks with the platform, such as spawning particles or playing the associated sound" (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) (when (nonzero? (-> obj sound)) - (set! (-> obj sound trans quad) (-> obj root-override trans quad)) + (set! (-> obj sound trans quad) (-> obj root trans quad)) (update! (-> obj sound)) ) (none) @@ -176,7 +176,7 @@ If we aren't bouncing however, TODO - CSHAPE" ;; definition of type eco-door (deftype eco-door (process-drawable) "@unused - Likely a left-over from Jak 1" - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (speed float :offset-assert 200) (open-distance float :offset-assert 204) (close-distance float :offset-assert 208) @@ -265,14 +265,13 @@ eco-door-event-handler :code (behavior () (ja :num-func num-func-identity :frame-num 0.0) (suspend) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (ja-post) (until #f - (when (and *target* (and (>= (-> self open-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (when (and *target* + (and (>= (-> self open-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (lock-according-to-task! self) (if (and (not (-> self locked)) @@ -300,10 +299,10 @@ eco-door-event-handler ) (send-event *target* 'query 'powerup (pickup-type eco-blue)) ) - (sound-play "blue-eco-on" :position (-> self root-override trans)) + (sound-play "blue-eco-on" :position (-> self root trans)) ) (sound-play-by-name (-> self open-sound) (new-sound-id) 1024 0 0 (sound-group sfx) #t) - (let ((prim (-> self root-override root-prim))) + (let ((prim (-> self root root-prim))) (set! (-> prim prim-core collide-as) (collide-spec)) (set! (-> prim prim-core collide-with) (collide-spec)) ) @@ -325,7 +324,7 @@ eco-door-event-handler :code (behavior () (set! (-> self state-time) (current-time)) (process-entity-status! self (entity-perm-status subtask-complete) #t) - (let ((prim (-> self root-override root-prim))) + (let ((prim (-> self root root-prim))) (set! (-> prim prim-core collide-as) (collide-spec)) (set! (-> prim prim-core collide-with) (collide-spec)) ) @@ -333,18 +332,17 @@ eco-door-event-handler (ja :num-func num-func-identity :frame-num max) (logior! (-> self draw status) (draw-control-status no-draw)) (suspend) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (ja-post) (until #f (let ((dist-from-target (vector4-dot (-> self out-dir) (target-pos 0))) (dist-from-camera (vector4-dot (-> self out-dir) (camera-pos))) ) (when (and (-> self auto-close) - (or (not *target*) (or (< (-> self close-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (focus-test? *target* teleporting) - ) + (or (not *target*) + (or (< (-> self close-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) ) (if (and (>= (* dist-from-target dist-from-camera) 0.0) (< 16384.0 (fabs dist-from-camera))) @@ -364,15 +362,15 @@ eco-door-event-handler :virtual #t :event eco-door-event-handler :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (let ((params (new 'stack 'overlaps-others-params))) (set! (-> params options) (overlaps-others-options oo0)) (set! (-> params tlist) #f) - (while (find-overlapping-shapes (-> self root-override) params) + (while (find-overlapping-shapes (-> self root) params) (suspend) ) ) @@ -423,7 +421,7 @@ otherwise, lock it if [[eco-door-flags:0]] is set" (set! (-> collision-shape backup-collide-as) (-> prim prim-core collide-as)) (set! (-> collision-shape backup-collide-with) (-> prim prim-core collide-with)) ) - (set! (-> obj root-override) collision-shape) + (set! (-> obj root) collision-shape) ) 0 (none) @@ -449,7 +447,7 @@ This commonly includes things such as: (eco-door-method-25 obj) (process-drawable-from-entity! obj arg0) (let ((door-scale (res-lump-float (-> obj entity) 'scale :default 1.0))) - (set-vector! (-> obj root-override scale) door-scale door-scale door-scale 1.0) + (set-vector! (-> obj root scale) door-scale door-scale door-scale 1.0) ) (set! (-> obj open-distance) 32768.0) (set! (-> obj close-distance) 49152.0) @@ -465,9 +463,9 @@ This commonly includes things such as: (lock-according-to-task! obj) (set! (-> obj auto-close) (logtest? (-> obj flags) (eco-door-flags auto-close))) (set! (-> obj one-way) (logtest? (-> obj flags) (eco-door-flags one-way))) - (vector-z-quaternion! (-> obj out-dir) (-> obj root-override quat)) - (set! (-> obj out-dir w) (- (vector-dot (-> obj out-dir) (-> obj root-override trans)))) - (update-transforms (-> obj root-override)) + (vector-z-quaternion! (-> obj out-dir) (-> obj root quat)) + (set! (-> obj out-dir w) (- (vector-dot (-> obj out-dir) (-> obj root trans)))) + (update-transforms (-> obj root)) (stub obj) (if (and (not (-> obj auto-close)) (-> obj entity) diff --git a/test/decompiler/reference/jak2/engine/common_objs/basebutton_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/basebutton_REF.gc index 2e1e08ead6..9bc9d9a990 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/basebutton_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/basebutton_REF.gc @@ -79,11 +79,11 @@ (logclear! (-> obj button-status) (button-status button-status-2)) (if vec (set! (-> obj move-to-pos quad) (-> vec quad)) - (set! (-> obj move-to-pos quad) (-> obj root-override trans quad)) + (set! (-> obj move-to-pos quad) (-> obj root trans quad)) ) (if quat (quaternion-copy! (-> obj move-to-quat) quat) - (quaternion-copy! (-> obj move-to-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj move-to-quat) (-> obj root quat)) ) 0 (none) @@ -149,8 +149,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) (rider-post) ) (none) @@ -196,8 +196,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) ) (rider-post) (none) @@ -250,8 +250,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) (rider-post) ) (none) @@ -292,8 +292,8 @@ :post (behavior () (when (logtest? (-> self button-status) (button-status button-status-2)) (logclear! (-> self button-status) (button-status button-status-2)) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (set! (-> self root trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root quat) (-> self move-to-quat)) ) (rider-post) (none) @@ -443,7 +443,7 @@ (set! (-> collision-shape backup-collide-as) (-> prim prim-core collide-as)) (set! (-> collision-shape backup-collide-with) (-> prim prim-core collide-with)) ) - (set! (-> obj root-override) collision-shape) + (set! (-> obj root) collision-shape) ) 0 (none) @@ -522,9 +522,9 @@ This commonly includes things such as: (set! (-> self actor-group) (the-as (pointer actor-group) #f)) (set! (-> self actor-group-count) 0) (basebutton-method-34 self) - (set! (-> self root-override trans quad) (-> vec quad)) - (quaternion-copy! (-> self root-override quat) quat) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) + (set! (-> self root trans quad) (-> vec quad)) + (quaternion-copy! (-> self root quat) quat) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (prepare-trigger-event! self) (basebutton-method-33 self) (idle-state-transition self) diff --git a/test/decompiler/reference/jak2/engine/common_objs/blocking-plane_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/blocking-plane_REF.gc index 72ba0782f1..fba59ab132 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/blocking-plane_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/blocking-plane_REF.gc @@ -3,7 +3,7 @@ ;; definition of type blocking-plane (deftype blocking-plane (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -42,10 +42,10 @@ (the-as object (case event-type (('on) (cond - ((nonzero? (-> self root-override)) - (let ((prim (-> self root-override root-prim))) - (set! (-> prim prim-core collide-as) (-> self root-override backup-collide-as)) - (let ((v0-0 (the-as int (-> self root-override backup-collide-with)))) + ((nonzero? (-> self root)) + (let ((prim (-> self root root-prim))) + (set! (-> prim prim-core collide-as) (-> self root backup-collide-as)) + (let ((v0-0 (the-as int (-> self root backup-collide-with)))) (set! (-> prim prim-core collide-with) (the-as collide-spec v0-0)) v0-0 ) @@ -68,8 +68,8 @@ ) (('off) (cond - ((nonzero? (-> self root-override)) - (let ((v1-13 (-> self root-override root-prim))) + ((nonzero? (-> self root)) + (let ((v1-13 (-> self root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) @@ -120,10 +120,10 @@ (set! (-> s2-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s2-0) + (set! (-> obj root) s2-0) ) (let ((s1-0 (new 'stack-no-clear 'matrix)) - (s2-1 (-> obj root-override)) + (s2-1 (-> obj root)) ) (vector+! (-> s2-1 trans) s3-0 s4-0) (vector-float*! (-> s2-1 trans) (-> s2-1 trans) 0.5) @@ -137,7 +137,7 @@ (vector-cross! (-> s1-0 vector 2) (the-as vector (-> s1-0 vector)) (-> s1-0 vector 1)) (vector-normalize! (-> s1-0 vector 2) 1.0) (matrix->quaternion (-> s2-1 quat) s1-0) - (let ((v1-20 (-> obj root-override root-prim local-sphere))) + (let ((v1-20 (-> obj root root-prim local-sphere))) (set! (-> v1-20 x) 0.0) (set! (-> v1-20 y) (* 0.00024414062 (* 0.5 height))) (set! (-> v1-20 z) 0.0) diff --git a/test/decompiler/reference/jak2/engine/common_objs/collectables_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/collectables_REF.gc index 6cefbe24f4..30682386c3 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/collectables_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/collectables_REF.gc @@ -43,7 +43,7 @@ ;; definition of type collectable (deftype collectable (process-drawable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (pickup-type pickup-type :offset-assert 200) (pickup-amount float :offset-assert 204) (notify handle :offset-assert 208) @@ -177,17 +177,15 @@ (set! (-> obj mask) (logior (process-mask bit18) (-> obj mask))) (set! (-> obj flags) (collectable-flag pickup no-eco-blue)) (set! (-> obj bob-amount) arg1) - (set! (-> obj bob-offset) (the-as seconds (+ (the-as int (-> obj root-override2 trans x)) - (the-as int (-> obj root-override2 trans y)) - (the-as int (-> obj root-override2 trans z)) - ) - ) + (set! (-> obj bob-offset) + (the-as + seconds + (+ (the-as int (-> obj root trans x)) (the-as int (-> obj root trans y)) (the-as int (-> obj root trans z))) + ) ) (cond - ((or (= (vector-length (-> obj root-override2 transv)) 0.0) - (logtest? (-> obj fact options) (actor-option auto-pickup)) - ) - (vector-reset! (-> obj root-override2 transv)) + ((or (= (vector-length (-> obj root transv)) 0.0) (logtest? (-> obj fact options) (actor-option auto-pickup))) + (vector-reset! (-> obj root transv)) ) (else (logior! (-> obj flags) (collectable-flag bounce)) @@ -205,8 +203,8 @@ ) (set! (-> obj collect-timeout) (the-as seconds 99)) (set! (-> obj birth-time) (current-time)) - (set! (-> obj base quad) (-> obj root-override2 trans quad)) - (set! (-> obj old-base quad) (-> obj root-override2 trans quad)) + (set! (-> obj base quad) (-> obj root trans quad)) + (set! (-> obj old-base quad) (-> obj root trans quad)) (set! (-> obj pickup-handle) (the-as handle #f)) (case (-> obj fact pickup-type) (((pickup-type eco-pill-green) @@ -223,9 +221,7 @@ ) ) (if (logtest? (-> obj fact options) (actor-option big-collision)) - (set! (-> obj root-override2 root-prim local-sphere w) - (* 2.5 (-> obj root-override2 root-prim local-sphere w)) - ) + (set! (-> obj root root-prim local-sphere w) (* 2.5 (-> obj root root-prim local-sphere w))) ) (when (and arg2 (nonzero? (-> obj draw))) (let* ((s5-0 (-> arg2 process)) @@ -267,7 +263,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (set! (-> obj fact) (new 'process 'fact-info obj (-> obj pickup-type) (-> obj pickup-amount))) 0 @@ -324,7 +320,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-health" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (let ((v1-37 (-> (the-as collide-shape (-> obj root-override2)) root-prim local-sphere))) + (let ((v1-37 (-> (the-as collide-shape (-> obj root)) root-prim local-sphere))) (set! (-> v1-37 y) 2457.6) (set! (-> v1-37 w) 4096.0) ) @@ -345,7 +341,7 @@ (set! (-> obj part) (create-launch-control s5-0 obj)) ) (if s4-0 - (set! (-> obj sound) (new 'process 'ambient-sound s4-0 (-> obj root-override2 trans))) + (set! (-> obj sound) (new 'process 'ambient-sound s4-0 (-> obj root trans))) ) ) (none) @@ -364,8 +360,8 @@ (set! (-> self fact pickup-amount) f30-0) ) (set! (-> self fact options) (-> arg2 options)) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-effects self (-> self fact pickup-type)) (set! (-> self notify) (the-as handle #f)) (case (-> self fact pickup-type) @@ -392,7 +388,7 @@ ) ) ) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -404,10 +400,10 @@ (set! (-> obj pickup-amount) arg2) (set! (-> obj pickup-type) arg1) (initialize-allocations obj) - (set! (-> obj root-override2 trans quad) (-> arg0 extra trans quad)) + (set! (-> obj root trans quad) (-> arg0 extra trans quad)) (initialize-effects obj (-> obj fact pickup-type)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (if (logtest? (-> obj fact options) (actor-option wait-for-task-complete)) (go (method-of-object obj blocked)) ) @@ -419,7 +415,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod common-post collectable ((obj collectable)) (let ((s5-0 (-> obj part)) - (s4-0 (-> obj root-override2 root-prim prim-core)) + (s4-0 (-> obj root root-prim prim-core)) ) (if (nonzero? (-> obj draw)) (ja-post) @@ -441,7 +437,7 @@ (defmethod do-pickup collectable ((obj collectable) (arg0 handle)) (set! (-> obj pickup-handle) arg0) (logclear! (-> obj mask) (process-mask actor-pause)) - (let ((v1-3 (-> obj root-override2 root-prim))) + (let ((v1-3 (-> obj root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -515,7 +511,7 @@ (t2-8 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override2 root-prim prim-core world-sphere quad)) + (set! (-> t3-0 trans quad) (-> obj root root-prim prim-core world-sphere quad)) ((the-as (function object object object object object object object object none) t9-22) a0-60 a1-26 @@ -573,7 +569,7 @@ (t2-9 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> obj root-override2 root-prim prim-core world-sphere quad)) + (set! (-> t3-1 trans quad) (-> obj root root-prim prim-core world-sphere quad)) ((the-as (function object object object object object object object object none) t9-25) a0-63 a1-29 @@ -621,7 +617,7 @@ ) ) (when v1-1 - (let ((a0-5 (-> self root-override2 root-prim prim-core)) + (let ((a0-5 (-> self root root-prim prim-core)) (a1-2 (-> (the-as collide-shape v1-1) root-prim prim-core)) ) (when (< (vector-vector-distance (the-as vector a0-5) (the-as vector a1-2)) (-> *FACT-bank* suck-suck-dist)) @@ -650,7 +646,7 @@ ) ) (when a0-6 - (let ((s2-1 (-> self root-override2 root-prim prim-core)) + (let ((s2-1 (-> self root root-prim prim-core)) (gp-1 (get-trans a0-6 3)) ) (if (and arg1 (rand-vu-percent? 0.25)) @@ -709,7 +705,7 @@ (go-virtual wait) ) (arg1 - (add-blue-shake (-> self root-override2 trans) (the-as vector s2-1) gp-1) + (add-blue-shake (-> self root trans) (the-as vector s2-1) gp-1) ) ) ) @@ -748,8 +744,8 @@ ) (the-as object (cond ((= arg2 'trans) - (set! (-> self root-override2 trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) - (update-transforms (-> self root-override2)) + (set! (-> self root trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (update-transforms (-> self root)) (ja-post) ) ((= arg2 'jump) @@ -760,7 +756,7 @@ ((= arg2 'pickup) (when (not (and (-> self next-state) (= (-> self next-state name) 'pickup))) (if (and (> arg1 0) (-> arg3 param 0)) - (move-to-point! (-> self root-override2) (the-as vector (-> arg3 param 0))) + (move-to-point! (-> self root) (the-as vector (-> arg3 param 0))) ) (logclear! (-> self mask) (process-mask actor-pause)) (process-contact-action arg0) @@ -824,15 +820,15 @@ ((= arg2 'collide-shape) (cond ((-> arg3 param 0) - (let ((v1-97 (-> self root-override2 root-prim))) - (set! (-> v1-97 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! v0-4 (the-as none (-> self root-override2 backup-collide-with))) + (let ((v1-97 (-> self root root-prim))) + (set! (-> v1-97 prim-core collide-as) (-> self root backup-collide-as)) + (set! v0-4 (the-as none (-> self root backup-collide-with))) (set! (-> v1-97 prim-core collide-with) (the-as collide-spec v0-4)) ) v0-4 ) (else - (let ((v1-99 (-> self root-override2 root-prim))) + (let ((v1-99 (-> self root root-prim))) (set! (-> v1-99 prim-core collide-as) (collide-spec)) (set! (-> v1-99 prim-core collide-with) (collide-spec)) ) @@ -898,11 +894,11 @@ (logclear! (-> self mask) (process-mask actor-pause)) (let ((gp-0 (new 'stack 'trajectory))) (set! (-> self base y) (-> self jump-pos y)) - (setup-from-to-duration! gp-0 (-> self root-override2 trans) (-> self jump-pos) 300.0 -2.2755556) + (setup-from-to-duration! gp-0 (-> self root trans) (-> self jump-pos) 300.0 -2.2755556) (set! (-> self state-time) (current-time)) (until (>= (- (current-time) (-> self state-time)) (seconds 1)) (let ((f0-2 (the float (- (current-time) (-> self state-time))))) - (compute-trans-at-time gp-0 f0-2 (-> self root-override2 trans)) + (compute-trans-at-time gp-0 f0-2 (-> self root trans)) ) (transform-post) (common-post self) @@ -912,10 +908,10 @@ ) ) ) - (set! (-> self root-override2 trans quad) (-> self jump-pos quad)) - (set! (-> self base quad) (-> self root-override2 trans quad)) - (vector-reset! (-> self root-override2 transv)) - (update-transforms (-> self root-override2)) + (set! (-> self root trans quad) (-> self jump-pos quad)) + (set! (-> self base quad) (-> self root trans quad)) + (vector-reset! (-> self root transv)) + (update-transforms (-> self root)) (logclear! (-> self flags) (collectable-flag bounce)) (logior! (-> self flags) (collectable-flag pickup)) (if (-> self actor-pause) @@ -950,31 +946,26 @@ (none) ) :exit (behavior () - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (logclear! (-> self flags) (collectable-flag bounce)) (logior! (-> self flags) (collectable-flag pickup)) (if (-> self actor-pause) (logior! (-> self mask) (process-mask actor-pause)) ) - (set! (-> self base quad) (-> self root-override2 trans quad)) - (logclear! (-> self root-override2 root-prim prim-core action) (collide-action solid)) - (set! (-> self root-override2 root-prim prim-core collide-with) (collide-spec jak player-list tobot)) - (set! (-> self root-override2 root-prim prim-core collide-as) - (collide-spec collectable notice-blue-eco-powerup) - ) + (set! (-> self base quad) (-> self root trans quad)) + (logclear! (-> self root root-prim prim-core action) (collide-action solid)) + (set! (-> self root root-prim prim-core collide-with) (collide-spec jak player-list tobot)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec collectable notice-blue-eco-powerup)) (none) ) :trans (behavior () - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 0.0) - ) - (integrate-no-collide! (-> self root-override2) (-> self root-override2 transv)) - (when (and (>= 0.0 (-> self root-override2 transv y)) (>= (-> self base y) (-> self root-override2 trans y))) - (set! (-> self root-override2 trans y) (-> self base y)) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 0.0)) + (integrate-no-collide! (-> self root) (-> self root transv)) + (when (and (>= 0.0 (-> self root transv y)) (>= (-> self base y) (-> self root trans y))) + (set! (-> self root trans y) (-> self base y)) (cond - ((< (-> self root-override2 transv y) -8192.0) - (set! (-> self root-override2 transv y) (* -0.5 (-> self root-override2 transv y))) + ((< (-> self root transv y) -8192.0) + (set! (-> self root transv y) (* -0.5 (-> self root transv y))) ) (else (if (and (logtest? (-> self fact options) (actor-option suck-in)) @@ -1025,9 +1016,9 @@ ) :code (behavior ((arg0 handle)) (until #f - (set! (-> self root-override2 trans quad) (-> self base quad)) + (set! (-> self root trans quad) (-> self base quad)) (add-blue-motion #t #f #f #f) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (common-post self) (suspend) ) @@ -1080,10 +1071,9 @@ ) (>= (- (current-time) (the-as int (-> self birth-time))) (the-as time-frame (-> self fadeout-timeout))) ) - (or (or (not *target*) - (or (< 204800.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (or (or (not *target*) (or (< 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (logtest? (-> self flags) (collectable-flag no-distance-check-fadeout)) ) @@ -1184,9 +1174,9 @@ ) :code (behavior ((arg0 handle)) (until #f - (set! (-> self root-override2 trans quad) (-> self base quad)) + (set! (-> self root trans quad) (-> self base quad)) (add-blue-motion #t #f #t #f) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (common-post self) (suspend) ) @@ -1345,10 +1335,10 @@ ) ) (set! (-> self base quad) (-> self old-base quad)) - (set! (-> self root-override2 trans quad) (-> self base quad)) - (let ((v1-26 (-> self root-override2 root-prim))) - (set! (-> v1-26 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-26 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (set! (-> self root trans quad) (-> self base quad)) + (let ((v1-26 (-> self root root-prim))) + (set! (-> v1-26 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-26 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self clock) (-> *display* entity-clock)) (if (nonzero? (-> self draw)) @@ -1572,7 +1562,7 @@ This commonly includes things such as: :virtual #t :trans (behavior () (if (and (and *target* - (and (>= 32768.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) + (and (>= 32768.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -1638,7 +1628,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (set! (-> obj fact) (new 'process 'fact-info obj (-> obj pickup-type) (-> obj pickup-amount))) 0 @@ -1672,8 +1662,8 @@ This commonly includes things such as: (or (not (logtest? (-> obj mask) (process-mask actor-pause))) (or (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) (draw-control-status on-screen)) - (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root-override2 pause-adjust-distance)) - (vector-vector-distance (-> obj root-override2 trans) (math-camera-pos)) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (math-camera-pos)) ) ) (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) @@ -1706,14 +1696,10 @@ This commonly includes things such as: ;; definition for method 34 of type money (defmethod common-post money ((obj money)) (with-pp - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (* 40049.777 (-> pp clock seconds-per-frame)) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (* 40049.777 (-> pp clock seconds-per-frame))) (let ((f30-0 (-> obj bob-amount))) (when (< 0.0 f30-0) - (set! (-> obj root-override2 trans y) + (set! (-> obj root trans y) (+ (-> obj base y) (-> obj suck-y-offset) (* f30-0 @@ -1727,7 +1713,7 @@ This commonly includes things such as: ) ) ) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) ) ) (ja-post) @@ -1740,16 +1726,12 @@ This commonly includes things such as: :virtual #t :code (behavior ((arg0 handle)) (until #f - (quaternion-rotate-y! - (-> self root-override2 quat) - (-> self root-override2 quat) - (* 91022.22 (-> self clock seconds-per-frame)) - ) - (set! (-> self root-override2 trans quad) (-> self base quad)) + (quaternion-rotate-y! (-> self root quat) (-> self root quat) (* 91022.22 (-> self clock seconds-per-frame))) + (set! (-> self root trans quad) (-> self base quad)) (add-blue-motion #t #t #t #f) (let ((f30-0 (-> self bob-amount))) (if (< 0.0 f30-0) - (set! (-> self root-override2 trans y) + (set! (-> self root trans y) (+ (-> self base y) (-> self suck-y-offset) (* f30-0 @@ -1804,7 +1786,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) @@ -1846,7 +1828,7 @@ This commonly includes things such as: (initialize-allocations obj) (process-drawable-from-entity! obj (-> obj entity)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (go-to-initial-state obj) (none) ) @@ -1872,9 +1854,9 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override2 quat)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-options self (if (and arg2 (logtest? (-> arg2 options) (actor-option fade-out))) @@ -1884,7 +1866,7 @@ This commonly includes things such as: 1024.0 arg2 ) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -1906,12 +1888,12 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override2 quat)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-options self 4500 0.0 (the-as fact-info #f)) (logior! (-> self flags) (collectable-flag no-eco-blue)) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -1956,8 +1938,8 @@ This commonly includes things such as: (with-pp (seek! (-> obj roty-speed) 20024.889 (* 65536.0 (-> pp clock seconds-per-frame))) (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) + (-> obj root quat) + (-> obj root quat) (* (-> obj roty-speed) (-> pp clock seconds-per-frame)) ) (logclear! (-> obj draw status) (draw-control-status no-draw-temp uninited)) @@ -1984,30 +1966,30 @@ This commonly includes things such as: ) ) (set-vector! - (-> self root-override2 transv) + (-> self root transv) (rand-vu-float-range -20480.0 20480.0) 81920.0 (rand-vu-float-range -20480.0 20480.0) 1.0 ) - (set-gravity-length (-> self root-override2 dynam) 122880.0) + (set-gravity-length (-> self root dynam) 122880.0) (set! (-> self roty-speed) 186413.52) (logior! (-> self flags) (collectable-flag pickup)) - (set! (-> self root-override2 root-prim prim-core collide-with) + (set! (-> self root root-prim prim-core collide-with) (collide-spec backgnd bot crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) - (set! (-> self root-override2 root-prim prim-core collide-as) (collide-spec collectable)) - (set! (-> self root-override2 max-iteration-count) (the-as uint 2)) - (logior! (-> self root-override2 root-prim prim-core action) (collide-action solid)) - (set! (-> self root-override2 reaction) projectile-bounce-reaction) - (set! (-> self root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec collectable)) + (set! (-> self root max-iteration-count) (the-as uint 2)) + (logior! (-> self root root-prim prim-core action) (collide-action solid)) + (set! (-> self root reaction) projectile-bounce-reaction) + (set! (-> self root penetrated-by) (the-as penetrate -1)) (none) ) :exit (behavior () (set! (-> self roty-speed) (fmin 262144.0 (-> self roty-speed))) - (set-gravity-length (-> self root-override2 dynam) 245760.0) - (set! (-> self root-override2 root-prim local-sphere w) 6144.0) - (update-transforms (-> self root-override2)) + (set-gravity-length (-> self root dynam) 245760.0) + (set! (-> self root root-prim local-sphere w) 6144.0) + (update-transforms (-> self root)) (let ((t9-2 (-> (method-of-type collectable deploy) exit))) (if t9-2 (t9-2) @@ -2019,37 +2001,27 @@ This commonly includes things such as: :code (the-as (function none :behavior gem) sleep-code) :post (behavior () (let ((gp-0 #t)) - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 0.0)) (when (-> self entity) (when (get-simple-travel-vector (-> self entity) - (-> self root-override2 transv) - (-> self root-override2 trans) - (-> self root-override2 transv) - (* 1.5 (-> self root-override2 root-prim prim-core world-sphere w)) + (-> self root transv) + (-> self root trans) + (-> self root transv) + (* 1.5 (-> self root root-prim prim-core world-sphere w)) 0.8 ) (let ((s5-1 (new 'stack-no-clear 'vector)) - (f30-0 (-> self root-override2 transv y)) + (f30-0 (-> self root transv y)) ) - (project-point-to-nav-mesh - (-> self entity) - s5-1 - (-> self root-override2 trans) - (the-as nav-poly #f) - 40960000.0 - ) - (when (>= (vector-vector-xz-distance s5-1 (-> self root-override2 trans)) 204.8) - (vector-! (-> self root-override2 transv) s5-1 (-> self root-override2 trans)) - (vector-normalize! (-> self root-override2 transv) 40960.0) - (set! (-> self root-override2 transv y) - (if (< 0.0 (-> self root-override2 transv y)) - (+ f30-0 (* 4.0 (-> self clock seconds-per-frame) (-> self root-override2 transv y))) - f30-0 - ) + (project-point-to-nav-mesh (-> self entity) s5-1 (-> self root trans) (the-as nav-poly #f) 40960000.0) + (when (>= (vector-vector-xz-distance s5-1 (-> self root trans)) 204.8) + (vector-! (-> self root transv) s5-1 (-> self root trans)) + (vector-normalize! (-> self root transv) 40960.0) + (set! (-> self root transv y) (if (< 0.0 (-> self root transv y)) + (+ f30-0 (* 4.0 (-> self clock seconds-per-frame) (-> self root transv y))) + f30-0 + ) ) (set! gp-0 #f) ) @@ -2058,7 +2030,7 @@ This commonly includes things such as: ) (cond (gp-0 - (let ((v1-31 (-> self root-override2)) + (let ((v1-31 (-> self root)) (a2-3 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-3 collide-with) (-> v1-31 root-prim prim-core collide-with)) @@ -2070,11 +2042,11 @@ This commonly includes things such as: ) ) (else - (integrate-no-collide! (-> self root-override2) (-> self root-override2 transv)) + (integrate-no-collide! (-> self root) (-> self root transv)) ) ) ) - (let* ((gp-1 (-> self root-override2)) + (let* ((gp-1 (-> self root)) (s5-2 (-> gp-1 status)) ) (cond @@ -2085,7 +2057,7 @@ This commonly includes things such as: (set! (-> self roty-speed) (fmin 131072.0 - (+ (-> self roty-speed) (lerp-scale 0.0 131072.0 (-> self root-override2 ground-impact-vel) 0.0 122880.0)) + (+ (-> self roty-speed) (lerp-scale 0.0 131072.0 (-> self root ground-impact-vel) 0.0 122880.0)) ) ) (if (or (and (logtest? s5-2 (collide-status on-surface)) (< (vector-length (-> gp-1 transv)) 1228.8)) @@ -2098,7 +2070,7 @@ This commonly includes things such as: (sound-play-by-name (static-sound-name "gem-bounce") (new-sound-id) - (the int (* 1024.0 (lerp-scale 0.5 1.0 (-> self root-override2 ground-impact-vel) 0.0 40960.0))) + (the int (* 1024.0 (lerp-scale 0.5 1.0 (-> self root ground-impact-vel) 0.0 40960.0))) 0 0 (sound-group sfx) @@ -2140,14 +2112,10 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (set! (-> obj roty-speed) 40049.777) - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (rand-vu-float-range 0.0 65536.0) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (rand-vu-float-range 0.0 65536.0)) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #f) (set! (-> obj notify) (the-as handle #f)) @@ -2166,7 +2134,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-gem" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (if (-> obj entity) (nav-mesh-connect-from-ent obj) ) @@ -2256,7 +2224,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) @@ -2508,12 +2476,12 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (logior! (-> obj mask) (process-mask actor-pause)) (set! (-> obj actor-pause) #t) (set! (-> obj notify) (the-as handle #f)) - (set! (-> obj root-override2 pause-adjust-distance) 204800.0) + (set! (-> obj root pause-adjust-distance) 204800.0) (set! (-> obj fact) (new 'process 'fact-info obj (pickup-type trick-point) 100.0)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 94) obj)) (set! (-> obj collect-effect) (-> *part-group-id-table* 95)) @@ -2532,7 +2500,7 @@ This commonly includes things such as: (initialize-allocations obj) (process-drawable-from-entity! obj (-> obj entity)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (go-to-initial-state obj) (none) ) @@ -2586,13 +2554,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) - ) - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (rand-vu-float-range 0.0 65536.0) + (set! (-> obj root) s5-0) ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (rand-vu-float-range 0.0 65536.0)) (set! (-> obj fact) (new 'process 'fact-info obj (-> obj pickup-type) (-> obj pickup-amount))) (case (-> obj pickup-type) (((pickup-type ammo-yellow)) @@ -2623,7 +2587,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-yellow" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 2.5 2.5 2.5 1.0) + (set-vector! (-> obj root scale) 2.5 2.5 2.5 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 108)) ) (((pickup-type ammo-red)) @@ -2632,7 +2596,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-red" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 4.0 4.0 4.0 1.0) + (set-vector! (-> obj root scale) 4.0 4.0 4.0 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 102)) ) (((pickup-type ammo-blue)) @@ -2641,7 +2605,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-blue" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 4.0 4.0 4.0 1.0) + (set-vector! (-> obj root scale) 4.0 4.0 4.0 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 98)) ) (((pickup-type ammo-dark)) @@ -2650,7 +2614,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-ammo-dark" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 3.0 3.0 3.0 1.0) + (set-vector! (-> obj root scale) 3.0 3.0 3.0 1.0) (set! (-> obj ammo-effect) (-> *part-group-id-table* 83)) ) (((pickup-type gun-yellow)) @@ -2659,11 +2623,11 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-yellow-up" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 3.0 3.0 3.0 1.0) + (set-vector! (-> obj root scale) 3.0 3.0 3.0 1.0) (logclear! (-> obj flags) (collectable-flag fadeout)) (let ((v1-34 (-> obj node-list data))) (set! (-> v1-34 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-34 0 param1) (the-as basic (-> obj root-override2 trans))) + (set! (-> v1-34 0 param1) (the-as basic (-> obj root trans))) (set! (-> v1-34 0 param2) (the-as basic (-> obj extra-trans))) ) (set-vector! (-> obj extra-trans) 0.0 1638.4 0.0 1.0) @@ -2674,7 +2638,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-gun-dark-up" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set-vector! (-> obj root-override2 scale) 3.0 3.0 3.0 1.0) + (set-vector! (-> obj root scale) 3.0 3.0 3.0 1.0) (logclear! (-> obj flags) (collectable-flag fadeout)) ) (((pickup-type board)) @@ -2688,10 +2652,10 @@ This commonly includes things such as: (let ((v1-48 (-> obj skel root-channel 0))) (set! (-> v1-48 frame-group) (the-as art-joint-anim (-> obj draw art-group data 3))) ) - (set-vector! (-> obj root-override2 scale) 2.0 2.0 2.0 1.0) + (set-vector! (-> obj root scale) 2.0 2.0 2.0 1.0) (let ((v1-52 (-> obj node-list data))) (set! (-> v1-52 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-52 0 param1) (the-as basic (-> obj root-override2 trans))) + (set! (-> v1-52 0 param1) (the-as basic (-> obj root trans))) (set! (-> v1-52 0 param2) (the-as basic (-> obj extra-trans))) ) (set-vector! (-> obj extra-trans) 0.0 2048.0 0.0 1.0) @@ -2719,12 +2683,12 @@ This commonly includes things such as: (set! (-> self fact pickup-amount) f30-0) ) (set! (-> self fact options) (-> arg2 options)) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-effects self (-> self fact pickup-type)) (set! (-> self notify) (the-as handle #f)) (initialize-options self 4500 1024.0 arg2) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -2736,10 +2700,10 @@ This commonly includes things such as: (set! (-> obj pickup-amount) arg2) (set! (-> obj pickup-type) arg1) (initialize-allocations obj) - (set! (-> obj root-override2 trans quad) (-> arg0 extra trans quad)) + (set! (-> obj root trans quad) (-> arg0 extra trans quad)) (initialize-effects obj (-> obj fact pickup-type)) (initialize-options obj 0 1024.0 (the-as fact-info #f)) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (go-to-initial-state obj) (none) ) @@ -2748,11 +2712,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod common-post ammo-collectable ((obj ammo-collectable)) (with-pp - (quaternion-rotate-y! - (-> obj root-override2 quat) - (-> obj root-override2 quat) - (* 40049.777 (-> pp clock seconds-per-frame)) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) (* 40049.777 (-> pp clock seconds-per-frame))) ((method-of-type collectable common-post) obj) 0 (none) @@ -2848,8 +2808,8 @@ This commonly includes things such as: (set! (-> self fact pickup-amount) f30-0) ) (set! (-> self fact options) (-> arg2 options)) - (set! (-> self root-override2 trans quad) (-> arg0 quad)) - (set! (-> self root-override2 transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-effects self (-> self fact pickup-type)) (set! (-> self notify) (the-as handle #f)) (initialize-options @@ -2862,7 +2822,7 @@ This commonly includes things such as: (the-as fact-info #f) ) (set! (-> self collect-timeout) (the-as seconds 300)) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (set! (-> self event-hook) (-> (method-of-object self wait) event)) (go-to-initial-state self) (none) @@ -3108,10 +3068,10 @@ This commonly includes things such as: ;; definition for method 9 of type fact-info ;; INFO: Used lq/sq (defmethod drop-pickup fact-info ((obj fact-info) (arg0 symbol) (arg1 process-tree) (arg2 fact-info) (arg3 int)) - (let ((s2-0 (the-as int (-> obj pickup-type))) + (let ((s2-0 (-> obj pickup-type)) (f30-0 (-> obj pickup-amount)) ) - (when (= (the-as pickup-type s2-0) (pickup-type ammo-random)) + (when (= s2-0 (pickup-type ammo-random)) (let ((s2-1 (-> *game-info* features))) 0.0 (let* ((f0-2 (if (logtest? s2-1 (game-feature gun-yellow)) @@ -3193,21 +3153,21 @@ This commonly includes things such as: ) (cond ((and (>= f26-0 f0-5) (logtest? s2-1 (game-feature gun-yellow))) - (set! s2-0 13) + (set! s2-0 (pickup-type ammo-yellow)) ) ((and (>= f22-0 f0-5) (logtest? s2-1 (game-feature gun-red))) - (set! s2-0 14) + (set! s2-0 (pickup-type ammo-red)) (set! f30-0 (* 0.5 f30-0)) ) ((and (>= f24-0 f0-5) (logtest? s2-1 (game-feature gun-blue))) - (set! s2-0 15) + (set! s2-0 (pickup-type ammo-blue)) ) ((and (>= f28-0 f0-5) (logtest? s2-1 (game-feature gun-dark))) - (set! s2-0 16) + (set! s2-0 (pickup-type ammo-dark)) (set! f30-0 (* 0.1 f30-0)) ) (else - (set! s2-0 7) + (set! s2-0 (pickup-type eco-pill-dark)) ) ) ) @@ -3219,10 +3179,10 @@ This commonly includes things such as: ) ) ) - (when (= s2-0 8) + (when (= s2-0 (pickup-type eco-pill-random)) f30-0 (you-suck-stage *game-info* #f) - (set! s2-0 7) + (set! s2-0 (pickup-type eco-pill-dark)) (set! f30-0 (cond ((< 20 (-> *game-info* live-eco-pill-count)) (return (the-as (pointer process) #f)) @@ -3256,10 +3216,10 @@ This commonly includes things such as: (set! (-> s3-1 start-pos quad) (-> s3-1 best-other-tri intersect quad)) (set! (-> s3-1 start-pos quad) (-> (the-as process-drawable (-> obj process)) root trans quad)) ) - (if (= s2-0 10) + (if (= s2-0 (pickup-type fuel-cell)) (set! (-> s3-1 start-pos y) (+ 6144.0 (-> s3-1 start-pos y))) ) - (birth-pickup-at-point (-> s3-1 start-pos) (the-as pickup-type s2-0) f30-0 arg0 arg1 obj) + (birth-pickup-at-point (-> s3-1 start-pos) s2-0 f30-0 arg0 arg1 obj) ) ) ) @@ -3412,3 +3372,7 @@ This commonly includes things such as: ;; failed to figure out what this is: 0 + + + + diff --git a/test/decompiler/reference/jak2/engine/common_objs/crates_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/crates_REF.gc index cb17ee2f01..7a2174f8b8 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/crates_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/crates_REF.gc @@ -40,7 +40,7 @@ ;; definition of type crate (deftype crate (process-focusable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (smush smush-control :inline :offset-assert 208) (base vector :inline :offset-assert 240) (look symbol :offset-assert 256) @@ -529,7 +529,7 @@ (go-virtual die #f (the-as int s5-0)) ) (else - (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root-override2 trans y) (-> self base y))) + (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root trans y) (-> self base y))) (if (not (and (demo?) (= (-> *setting-control* user-current language) (language-enum japanese)))) (talker-spawn-func (-> *talker-speech* 313) *entity-pool* (target-pos 0) (the-as region #f)) ) @@ -558,7 +558,7 @@ (go-virtual die #f (the-as int s5-0)) ) (else - (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root-override2 trans y) (-> self base y))) + (when (and (!= s4-0 (-> self incoming-attack-id)) (= (-> self root trans y) (-> self base y))) (talker-spawn-func (-> *talker-speech* 318) *entity-pool* (target-pos 0) (the-as region #f)) (set! (-> self incoming-attack-id) s4-0) (if (not (!= (-> self smush amp) 0.0)) @@ -634,7 +634,7 @@ ) ) (('bonk) - (when (= (-> self root-override2 trans y) (-> self base y)) + (when (= (-> self root trans y) (-> self base y)) (activate! (-> self smush) -0.1 75 150 1.0 1.0 (-> self clock)) (go-virtual bounce-on) ) @@ -654,7 +654,7 @@ (or (= v1-131 'notice-blue) (= v1-131 'die)) ) ) - (!= (-> self root-override2 trans y) (-> self base y)) + (!= (-> self root trans y) (-> self base y)) ) ) (go-virtual notice-blue (process->handle arg0)) @@ -662,7 +662,7 @@ ) (('fall) (when (not (and (-> self next-state) (= (-> self next-state name) 'fall))) - (set! (-> self root-override2 transv quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> arg3 param 0)) quad)) (go-virtual fall) ) ) @@ -675,10 +675,10 @@ :code (behavior () (process-entity-status! self (entity-perm-status dead) #f) (process-entity-status! self (entity-perm-status subtask-complete) #f) - (vector+! (-> self draw origin) (-> self root-override2 trans) (-> self draw bounds)) + (vector+! (-> self draw origin) (-> self root trans) (-> self draw bounds)) (set! (-> self draw origin w) (-> self draw bounds w)) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-9 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) + (let ((v1-9 (-> (the-as collide-shape-moving (-> self root)) root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -686,24 +686,19 @@ (ja-post) (while (or (crate-method-40 self) (and (sphere-in-view-frustum? (the-as sphere (-> self draw origin))) - (< (vector-vector-distance (camera-pos) (-> self root-override2 trans)) 327680.0) + (< (vector-vector-distance (camera-pos) (-> self root trans)) 327680.0) ) - (and *target* - (and (>= 40960.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (and *target* (and (>= 40960.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) ) (suspend) ) (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-29 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) - (set! (-> v1-29 prim-core collide-as) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-as) - ) - (set! (-> v1-29 prim-core collide-with) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-with) - ) + (let ((v1-29 (-> (the-as collide-shape-moving (-> self root)) root-prim))) + (set! (-> v1-29 prim-core collide-as) (-> (the-as collide-shape-moving (-> self root)) backup-collide-as)) + (set! (-> v1-29 prim-core collide-with) (-> (the-as collide-shape-moving (-> self root)) backup-collide-with)) ) (go-virtual idle) (none) @@ -716,7 +711,7 @@ :event crate-standard-event-handler :code (behavior () (suspend) - (update-transforms (the-as collide-shape-moving (-> self root-override2))) + (update-transforms (the-as collide-shape-moving (-> self root))) (carry-info-method-9 (-> self carry)) (logior! (-> self mask) (process-mask sleep)) (until #f @@ -737,7 +732,7 @@ (-> self carry) ) (('drop) - (set! (-> self root-override2 transv quad) (-> (the-as vector (-> event param 1)) quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> event param 1)) quad)) (go-virtual fall) ) ) @@ -747,7 +742,7 @@ (ja-post) (carry-info-method-9 (-> self carry)) (carry-info-method-13 (-> self carry)) - (update-transforms (the-as collide-shape-moving (-> self root-override2))) + (update-transforms (the-as collide-shape-moving (-> self root))) (none) ) ) @@ -773,32 +768,28 @@ (-> self carry) ) ) - (set! (-> self root-override2 status) (collide-status)) - (set! (-> self root-override2 root-prim local-sphere w) (-> self carry carry-radius)) - (set! (-> self root-override2 root-prim prim-core collide-with) + (set! (-> self root status) (collide-status)) + (set! (-> self root root-prim local-sphere w) (-> self carry carry-radius)) + (set! (-> self root root-prim prim-core collide-with) (logior (collide-spec backgnd crate obstacle hit-by-others-list pusher) - (-> self root-override2 root-prim prim-core collide-with) + (-> self root root-prim prim-core collide-with) ) ) (none) ) :trans (behavior () - (when (and (logtest? (-> (the-as collide-shape-moving (-> self root-override2)) status) (collide-status on-surface)) - (< 0.8 (-> (the-as collide-shape-moving (-> self root-override2)) surface-angle)) + (when (and (logtest? (-> (the-as collide-shape-moving (-> self root)) status) (collide-status on-surface)) + (< 0.8 (-> (the-as collide-shape-moving (-> self root)) surface-angle)) ) - (vector-reset! (-> self root-override2 transv)) - (when (= (vector-length (-> self root-override2 transv)) 0.0) - (set! (-> (the-as collide-shape-moving (-> self root-override2)) root-prim local-sphere w) + (vector-reset! (-> self root transv)) + (when (= (vector-length (-> self root transv)) 0.0) + (set! (-> (the-as collide-shape-moving (-> self root)) root-prim local-sphere w) (-> self carry backup-radius) ) - (set! (-> self base quad) (-> self root-override2 trans quad)) - (let ((v1-16 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) - (set! (-> v1-16 prim-core collide-as) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-as) - ) - (set! (-> v1-16 prim-core collide-with) - (-> (the-as collide-shape-moving (-> self root-override2)) backup-collide-with) - ) + (set! (-> self base quad) (-> self root trans quad)) + (let ((v1-16 (-> (the-as collide-shape-moving (-> self root)) root-prim))) + (set! (-> v1-16 prim-core collide-as) (-> (the-as collide-shape-moving (-> self root)) backup-collide-as)) + (set! (-> v1-16 prim-core collide-with) (-> (the-as collide-shape-moving (-> self root)) backup-collide-with)) ) (go-virtual idle) ) @@ -808,18 +799,13 @@ :code (the-as (function none :behavior crate) sleep-code) :post (behavior () (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root-override2)) (new-stack-vector0) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root)) (new-stack-vector0) 0.0) ) - (if (< (-> (the-as collide-shape-moving (-> self root-override2)) dynam gravity-max) - (vector-length (-> self root-override2 transv)) - ) - (vector-normalize! - (-> self root-override2 transv) - (-> (the-as collide-shape-moving (-> self root-override2)) dynam gravity-max) - ) + (if (< (-> (the-as collide-shape-moving (-> self root)) dynam gravity-max) (vector-length (-> self root transv))) + (vector-normalize! (-> self root transv) (-> (the-as collide-shape-moving (-> self root)) dynam gravity-max)) ) - (let ((gp-1 (-> self root-override2))) + (let ((gp-1 (-> self root))) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> gp-1 root-prim type) collide-shape-prim-sphere) (set! (-> a2-1 collide-with) (collide-spec backgnd crate obstacle pusher)) @@ -885,7 +871,7 @@ ) ) (when v1-4 - (let* ((gp-2 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim prim-core)) + (let* ((gp-2 (-> (the-as collide-shape-moving (-> self root)) root-prim prim-core)) (a1-3 (-> (the-as collide-shape-moving v1-4) root-prim prim-core)) (f30-0 (vector-vector-distance (the-as vector gp-2) (the-as vector a1-3))) ) @@ -963,7 +949,7 @@ ) :code (behavior ((arg0 symbol) (arg1 int)) (logior! (-> self focus-status) (focus-status dead)) - (let ((v1-3 (-> (the-as collide-shape (-> self root-override2)) root-prim))) + (let ((v1-3 (-> (the-as collide-shape (-> self root)) root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1001,16 +987,13 @@ ) (case (-> self defense) (('darkeco) - (let ((f0-0 - (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root-override2 trans) (target-pos 0)) 8192.0 40960.0) - ) - ) + (let ((f0-0 (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (target-pos 0)) 8192.0 40960.0))) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 (the int (* 255.0 f0-0)) (seconds 0.3)) ) (process-spawn touch-tracker :init touch-tracker-init - (-> self root-override2 trans) + (-> self root trans) (-> *CRATE-bank* DARKECO_EXPLODE_RADIUS) 30 :to self @@ -1034,7 +1017,7 @@ (t2-4 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-18) a0-34 a1-21 @@ -1066,7 +1049,7 @@ (t2-5 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-21) a0-39 a1-27 @@ -1098,7 +1081,7 @@ (t2-6 #f) (t3-2 *launch-matrix*) ) - (set! (-> t3-2 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-2 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-24) a0-42 a1-32 @@ -1206,7 +1189,7 @@ ) ) ) - (let ((v1-20 (-> (the-as collide-shape-moving (-> self root-override2)) root-prim))) + (let ((v1-20 (-> (the-as collide-shape-moving (-> self root)) root-prim))) (set! (-> v1-20 prim-core collide-as) (collide-spec)) (set! (-> v1-20 prim-core collide-with) (collide-spec)) ) @@ -1236,7 +1219,7 @@ ;; INFO: Used lq/sq (defbehavior crate-init-by-other crate ((arg0 entity) (arg1 vector) (arg2 symbol) (arg3 fact-info-crate)) (crate-init! self (the-as entity-actor arg0)) - (set! (-> self root-override2 trans quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg1 quad)) (set! (-> self look) arg2) (set! (-> self defense) arg2) (skel-init! self) @@ -1311,7 +1294,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override2) s4-0) + (set! (-> obj root) s4-0) ) (set! (-> obj fact) (new 'process 'fact-info-crate obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) @@ -1362,7 +1345,7 @@ This commonly includes things such as: "Initialize the [[crate]]'s skeleton and other parameters based on the crate type." (case (-> obj look) (('iron) - (set! (-> (the-as collide-shape-moving (-> obj root-override2)) penetrated-by) + (set! (-> (the-as collide-shape-moving (-> obj root)) penetrated-by) (penetrate flop uppercut tube vehicle flut-attack board dark-skin explode) ) (initialize-skeleton @@ -1372,7 +1355,7 @@ This commonly includes things such as: ) ) (('steel) - (set! (-> (the-as collide-shape-moving (-> obj root-override2)) penetrated-by) + (set! (-> (the-as collide-shape-moving (-> obj root)) penetrated-by) (penetrate tube vehicle flut-attack board dark-skin explode) ) (initialize-skeleton @@ -1410,7 +1393,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj base quad) (-> obj root-override2 trans quad)) + (set! (-> obj base quad) (-> obj root trans quad)) (crate-post) (nav-mesh-connect-from-ent obj) (none) @@ -1456,9 +1439,9 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod smush-update! crate ((obj crate)) (let ((f0-0 (update! (-> obj smush)))) - (set! (-> obj root-override2 scale x) (+ 1.0 (* -0.5 f0-0))) - (set! (-> obj root-override2 scale y) (+ 1.0 f0-0)) - (set! (-> obj root-override2 scale z) (+ 1.0 (* -0.5 f0-0))) + (set! (-> obj root scale x) (+ 1.0 (* -0.5 f0-0))) + (set! (-> obj root scale y) (+ 1.0 f0-0)) + (set! (-> obj root scale z) (+ 1.0 (* -0.5 f0-0))) ) 0 (none) diff --git a/test/decompiler/reference/jak2/engine/common_objs/elevator_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/elevator_REF.gc index 37cf5dc7e4..9140db2006 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/elevator_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/elevator_REF.gc @@ -555,7 +555,7 @@ do so. (let ((f0-3 (sqrtf (sin-rad (* 3.1415925 (-> self path-pos)))))) (update-vol! (-> self sound) f0-3) ) - (update-trans! (-> self sound) (-> self root-override trans)) + (update-trans! (-> self sound) (-> self root trans)) (update! (-> self sound)) ) (plat-post) @@ -678,7 +678,7 @@ do so. (set-setting! 'board #f 0.0 0) (let ((gp-0 (-> self on-activate))) (if gp-0 - (script-eval gp-0 :key (* (the int (-> self move-pos 0)) 8) :vector (-> self root-override trans)) + (script-eval gp-0 :key (* (the int (-> self move-pos 0)) 8) :vector (-> self root trans)) ) ) (set! (-> self path-pos) 0.0) @@ -768,7 +768,7 @@ do so. ) (let ((gp-0 (-> self on-deactivate))) (if gp-0 - (script-eval gp-0 :key (* (the int (-> self move-pos 1)) 8) :vector (-> self root-override trans)) + (script-eval gp-0 :key (* (the int (-> self move-pos 1)) 8) :vector (-> self root trans)) ) ) (none) @@ -886,7 +886,7 @@ This commonly includes things such as: (initialize-skeleton obj (the-as skeleton-group (get-art-group obj)) (the-as pair 0)) (stop-bouncing! obj) (set! (-> obj elevator-status) (elevator-status)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (base-plat-method-32 obj) (init-defaults! obj) (set! (-> obj on-activate) (res-lump-struct (-> obj entity) 'on-activate pair)) @@ -936,7 +936,7 @@ This commonly includes things such as: (set! (-> obj move-pos 0) sv-32) (set! (-> obj move-pos 1) sv-32) (get-point-in-path! sv-36 (-> obj basetrans) sv-32 'interp) - (set! (-> obj root-override pause-adjust-distance) + (set! (-> obj root pause-adjust-distance) (+ 122880.0 (-> obj params xz-threshold) (total-distance (-> obj path))) ) (set-ambient-sound! obj) diff --git a/test/decompiler/reference/jak2/engine/common_objs/generic-obs-h_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/generic-obs-h_REF.gc index 0c6f331fea..7180a4e70d 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/generic-obs-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/generic-obs-h_REF.gc @@ -3,7 +3,7 @@ ;; definition of type manipy (deftype manipy (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (new-trans-hook (function none) :offset-assert 200) (cur-trans-hook (function none) :offset-assert 204) (cur-event-hook (function none) :offset-assert 208) @@ -167,23 +167,23 @@ ;; definition of type lightning-tracker (deftype lightning-tracker (process) - ((ppointer-override (pointer lightning-tracker) :offset 28) - (root trsqv :offset-assert 128) - (lightning lightning-control :offset-assert 132) - (callback (function lightning-tracker none) :offset-assert 136) - (duration uint64 :offset-assert 144) - (start-time time-frame :offset-assert 152) - (offset0 vector :inline :offset-assert 160) - (offset1 vector :inline :offset-assert 176) - (target0 handle :offset-assert 192) - (target1 handle :offset-assert 200) - (target-joint0 int32 :offset-assert 208) - (target-joint1 int32 :offset-assert 212) - (sound sound-id :offset-assert 216) - (userdata uint64 :offset-assert 224) - (user-time time-frame 2 :offset-assert 232) - (user-vector vector :inline :offset-assert 256) - (user-handle handle 2 :offset 288) + ((ppointer (pointer lightning-tracker) :override) + (root trsqv :offset-assert 128) + (lightning lightning-control :offset-assert 132) + (callback (function lightning-tracker none) :offset-assert 136) + (duration uint64 :offset-assert 144) + (start-time time-frame :offset-assert 152) + (offset0 vector :inline :offset-assert 160) + (offset1 vector :inline :offset-assert 176) + (target0 handle :offset-assert 192) + (target1 handle :offset-assert 200) + (target-joint0 int32 :offset-assert 208) + (target-joint1 int32 :offset-assert 212) + (sound sound-id :offset-assert 216) + (userdata uint64 :offset-assert 224) + (user-time time-frame 2 :offset-assert 232) + (user-vector vector :inline :offset-assert 256) + (user-handle handle 2 :offset 288) ) :heap-base #xb0 :method-count-assert 17 @@ -227,13 +227,13 @@ ;; definition of type touch-tracker (deftype touch-tracker (process-drawable) - ((root-override collide-shape :offset 128) - (duration time-frame :offset-assert 200) - (target handle :offset-assert 208) - (event symbol :offset-assert 216) - (run-function (function object) :offset-assert 220) - (callback (function touch-tracker none) :offset-assert 224) - (event-mode basic :offset-assert 228) + ((root collide-shape :override) + (duration time-frame :offset-assert 200) + (target handle :offset-assert 208) + (event symbol :offset-assert 216) + (run-function (function object) :offset-assert 220) + (callback (function touch-tracker none) :offset-assert 224) + (event-mode basic :offset-assert 228) ) :heap-base #x70 :method-count-assert 21 @@ -265,13 +265,13 @@ ;; definition of type swingpole (deftype swingpole (process-drawable) - ((root-override collide-shape :offset 128) - (edge-length meters :offset-assert 200) - (path-pos float :offset-assert 204) - (joint-track int32 :offset-assert 208) - (speed meters :offset-assert 212) - (dir vector :inline :offset-assert 224) - (sync sync-eased :inline :offset-assert 240) + ((root collide-shape :override) + (edge-length meters :offset-assert 200) + (path-pos float :offset-assert 204) + (joint-track int32 :offset-assert 208) + (speed meters :offset-assert 212) + (dir vector :inline :offset-assert 224) + (sync sync-eased :inline :offset-assert 240) ) :heap-base #xa0 :method-count-assert 23 @@ -391,7 +391,7 @@ ;; definition of type explosion (deftype explosion (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (start-time time-frame :offset-assert 200) (duration uint32 :offset-assert 208) (linger-duration uint32 :offset-assert 212) diff --git a/test/decompiler/reference/jak2/engine/common_objs/generic-obs_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/generic-obs_REF.gc index 315d742991..78287ba04d 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/generic-obs_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/generic-obs_REF.gc @@ -144,10 +144,8 @@ (set! (-> obj path-pos) (get-norm! (-> obj sync) 0)) (let ((s5-0 (new 'stack-no-clear 'vector))) (get-point-at-percent-along-path! (-> obj path) s5-0 (-> obj path-pos) 'interp) - (set! (-> obj speed) - (* (vector-vector-distance s5-0 (-> obj root-override trans)) (-> pp clock frames-per-second)) - ) - (move-to-point! (-> obj root-override) s5-0) + (set! (-> obj speed) (* (vector-vector-distance s5-0 (-> obj root trans)) (-> pp clock frames-per-second))) + (move-to-point! (-> obj root) s5-0) ) ) ((>= (-> obj joint-track) 0) @@ -158,12 +156,12 @@ (vector<-cspace! s5-1 s4-0) (vector-normalize-copy! (-> obj dir) (the-as vector (-> s4-0 bone transform)) 1.0) ) - (move-to-point! (-> obj root-override) s5-1) + (move-to-point! (-> obj root) s5-1) ) ) ) (when (nonzero? (-> obj sound)) - (set! (-> obj sound trans quad) (-> obj root-override trans quad)) + (set! (-> obj sound trans quad) (-> obj root trans quad)) (let ((f30-0 (lerp-scale -0.1 -0.05 (-> obj speed) 8192.0 20480.0)) (f0-6 (lerp-scale 0.7 1.0 (-> obj speed) 8192.0 20480.0)) ) @@ -195,7 +193,7 @@ (if (nonzero? (-> self draw)) (ja-post) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (cond ((or (nonzero? (-> self path)) (>= (-> self joint-track) 0)) (until #f @@ -267,12 +265,12 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-8 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-8 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> obj root-override trans quad) (-> arg0 extra trans quad)) - (quaternion-copy! (-> obj root-override quat) (-> arg0 quat)) - (vector-identity! (-> obj root-override scale)) - (vector-y-quaternion! (-> obj dir) (-> obj root-override quat)) + (set! (-> obj root trans quad) (-> arg0 extra trans quad)) + (quaternion-copy! (-> obj root quat) (-> arg0 quat)) + (vector-identity! (-> obj root scale)) + (vector-y-quaternion! (-> obj dir) (-> obj root quat)) (set! (-> obj joint-track) -1) (let ((a1-8 (res-lump-struct (-> obj entity) 'art-name structure))) (if a1-8 @@ -305,7 +303,7 @@ This commonly includes things such as: (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) ) - (set! (-> obj sound) (new 'process 'ambient-sound (-> obj entity) (-> obj root-override trans))) + (set! (-> obj sound) (new 'process 'ambient-sound (-> obj entity) (-> obj root trans))) (go (method-of-object obj idle)) (none) ) @@ -327,11 +325,11 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-7 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (set! (-> self root-override trans quad) (-> (the-as swingpole (-> self parent 0)) root-override trans quad)) - (quaternion-identity! (-> self root-override quat)) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> (the-as swingpole (-> self parent 0)) root trans quad)) + (quaternion-identity! (-> self root quat)) + (vector-identity! (-> self root scale)) (set! (-> self joint-track) arg0) (set-vector! (-> self dir) 0.0 0.0 1.0 1.0) (set! (-> self edge-length) 8192.0) @@ -918,11 +916,11 @@ This commonly includes things such as: ) ((= v1-0 'trans) (cond - ((type? (-> self root-override) collide-shape) - (the-as object (move-to-point! (-> self root-override) (the-as vector (-> event param 0)))) + ((type? (-> self root) collide-shape) + (the-as object (move-to-point! (-> self root) (the-as vector (-> event param 0)))) ) (else - (set! s4-0 (-> self root-override trans)) + (set! s4-0 (-> self root trans)) (set! (-> (the-as vector s4-0) quad) (-> (the-as vector (-> event param 0)) quad)) s4-0 ) @@ -931,11 +929,11 @@ This commonly includes things such as: ((= v1-0 'rot) (let ((s5-3 (new 'stack-no-clear 'matrix))) (matrix-rotate-y! s5-3 (the-as float (-> event param 0))) - (matrix->quaternion (-> self root-override quat) s5-3) + (matrix->quaternion (-> self root quat) s5-3) ) ) ((= v1-0 'rot-quat) - (quaternion-copy! (-> self root-override quat) (the-as quaternion (-> event param 0))) + (quaternion-copy! (-> self root quat) (the-as quaternion (-> event param 0))) ) ((= v1-0 'clone-copy-trans) (set! s4-0 (-> event param 0)) @@ -1099,14 +1097,14 @@ This commonly includes things such as: (let ((v1-20 (handle->process (-> self cur-grab-handle)))) (when v1-20 (let ((gp-1 (-> (the-as process-drawable v1-20) root trans))) - (if (type? (-> self root-override) collide-shape) + (if (type? (-> self root) collide-shape) (move-by-vector! - (the-as collide-shape (-> self root-override)) + (the-as collide-shape (-> self root)) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) ) (vector+! - (-> self root-override trans) - (-> self root-override trans) + (-> self root trans) + (-> self root trans) (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) ) ) @@ -1253,7 +1251,7 @@ This commonly includes things such as: (set! (-> s3-1 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s3-1 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> self root-override) s3-1) + (set! (-> self root) s3-1) ) ) (arg3 @@ -1270,17 +1268,17 @@ This commonly includes things such as: (set! (-> s3-2 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s3-2 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> self root-override) s3-2) + (set! (-> self root) s3-2) ) ) (else - (set! (-> self root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) ) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self arg2 (the-as pair 0)) - (if (type? (-> self root-override) collide-shape) - (update-transforms (the-as collide-shape (-> self root-override))) + (if (type? (-> self root) collide-shape) + (update-transforms (the-as collide-shape (-> self root))) ) (set! (-> self shadow-backup) (-> self draw shadow)) (set! (-> self shadow-volume-joint) -1) @@ -1617,7 +1615,7 @@ This commonly includes things such as: ) ) ) - ((or (not a0-6) (zero? (-> (the-as process-focusable a0-6) root-override))) + ((or (not a0-6) (zero? (-> (the-as process-focusable a0-6) root))) (deactivate obj) ) ((= (-> obj target-joint0) 256) @@ -1664,7 +1662,7 @@ This commonly includes things such as: ) ) ) - ((or (not a0-22) (zero? (-> (the-as process-focusable a0-22) root-override))) + ((or (not a0-22) (zero? (-> (the-as process-focusable a0-22) root))) (deactivate obj) ) ((= (-> obj target-joint1) 256) @@ -2229,7 +2227,7 @@ This commonly includes things such as: ;; definition of type launcher (deftype launcher (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (spring-height meters :offset-assert 200) (camera state :offset-assert 204) (active-distance float :offset-assert 208) @@ -2717,18 +2715,17 @@ This commonly includes things such as: (go-virtual deactivated) ) (('trans) - (move-to-point! (-> self root-override) (the-as vector (-> event param 0))) - (the-as object (update-transforms (-> self root-override))) + (move-to-point! (-> self root) (the-as vector (-> event param 0))) + (the-as object (update-transforms (-> self root))) ) ) ) ) :trans (behavior () - (when (and *target* (and (>= (-> self active-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (when (and *target* + (and (>= (-> self active-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (cond ((send-event *target* 'query 'powerup (pickup-type eco-blue)) @@ -2742,10 +2739,9 @@ This commonly includes things such as: ) ) ) - (if (and (and *target* - (and (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (if (and (and *target* (and (>= 32768.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) @@ -2770,8 +2766,8 @@ This commonly includes things such as: (go-virtual deactivated) ) ((= event-type 'trans) - (move-to-point! (-> self root-override) (the-as vector (-> event param 0))) - (the-as object (update-transforms (-> self root-override))) + (move-to-point! (-> self root) (the-as vector (-> event param 0))) + (the-as object (update-transforms (-> self root))) ) ) ) @@ -2789,20 +2785,19 @@ This commonly includes things such as: (none) ) :trans (behavior () - (if (or (or (not *target*) (or (< (-> self active-distance) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) - ) - (focus-test? *target* teleporting) - ) + (if (or (or (not *target*) + (or (< (-> self active-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (not (send-event *target* 'query 'powerup (pickup-type eco-blue))) ) (go-virtual idle) ) - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (sound-play "launch-idle" :id (-> self sound-id)) - (if (and (and *target* (and (>= (+ 2867.2 (-> self root-override root-prim prim-core world-sphere w)) - (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + (if (and (and *target* (and (>= (+ 2867.2 (-> self root root-prim prim-core world-sphere w)) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) ) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) @@ -2849,10 +2844,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (set! (-> obj active-distance) 409600.0) (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 163840.0)) (let ((s4-1 (res-lump-value arg0 'mode uint128 :time -1000000000.0))) @@ -2917,12 +2912,12 @@ This commonly includes things such as: (set! (-> s2-0 backup-collide-as) (-> v1-7 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) - (set! (-> self root-override) s2-0) + (set! (-> self root) s2-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) - (set-vector! (-> self root-override quat) 0.0 0.0 0.0 1.0) - (update-transforms (-> self root-override)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> self root quat) 0.0 0.0 0.0 1.0) + (update-transforms (-> self root)) (set! (-> self spring-height) arg1) (set! (-> self active-distance) arg3) (let ((v1-18 (-> self level name))) @@ -3057,9 +3052,7 @@ This commonly includes things such as: ) ) (if a0-6 - (set! (-> self root-override trans quad) - (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad) - ) + (set! (-> self root trans quad) (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad)) ) ) ) @@ -3067,16 +3060,16 @@ This commonly includes things such as: (if (-> self callback) ((-> self callback) self) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-3 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-3 options) (overlaps-others-options oo1)) (set! (-> a1-3 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-3 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-3) + (find-overlapping-shapes (-> self root) a1-3) ) (suspend) ) - (let ((v1-21 (-> self root-override root-prim))) + (let ((v1-21 (-> self root root-prim))) (set! (-> v1-21 prim-core collide-as) (collide-spec)) (set! (-> v1-21 prim-core collide-with) (collide-spec)) ) @@ -3122,9 +3115,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (set! (-> self duration) arg2) (set! (-> self target) (the-as handle #f)) (set! (-> self event) #f) @@ -3153,9 +3146,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override event-self) 'touched) + (set! (-> obj root event-self) 'touched) 0 (none) ) @@ -3172,10 +3165,10 @@ This commonly includes things such as: (defbehavior explosion-init-by-other explosion ((arg0 explosion-init-params)) (logclear! (-> self mask) (process-mask actor-pause movie)) (setup-explosion-collision self) - (set! (-> self root-override trans quad) (-> arg0 spawn-point quad)) - (quaternion-copy! (-> self root-override quat) (-> arg0 spawn-quat)) - (set! (-> self root-override penetrate-using) (-> arg0 penetrate-using)) - (let ((v1-9 (-> self root-override root-prim))) + (set! (-> self root trans quad) (-> arg0 spawn-point quad)) + (quaternion-copy! (-> self root quat) (-> arg0 spawn-quat)) + (set! (-> self root penetrate-using) (-> arg0 penetrate-using)) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 local-sphere w) (-> arg0 radius)) (set! (-> v1-9 prim-core world-sphere w) (-> arg0 radius)) (set! (-> v1-9 prim-core collide-with) (-> arg0 collide-with)) @@ -3194,7 +3187,7 @@ This commonly includes things such as: ) ) (let ((v1-16 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> v1-16 sphere quad) (-> self root-override trans quad)) + (set! (-> v1-16 sphere quad) (-> self root trans quad)) (vector-reset! (-> v1-16 velocity)) (set! (-> v1-16 sphere r) (* 2.0 (-> arg0 radius))) (set! (-> v1-16 notify-radius) 204800.0) @@ -3239,7 +3232,7 @@ This commonly includes things such as: (let ((a0-3 (-> (the-as process-drawable v1-1) root)) (a1-2 (new 'stack-no-clear 'collide-query)) ) - (let ((v1-4 (-> self root-override root-prim prim-core)) + (let ((v1-4 (-> self root root-prim prim-core)) (a0-5 (-> (the-as collide-shape a0-3) root-prim prim-core)) ) 0.0 @@ -3276,20 +3269,20 @@ This commonly includes things such as: ) :code (behavior () (set! (-> self start-time) (current-time)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) 0 (while (< (- (current-time) (-> self start-time)) (the-as time-frame (-> self duration))) - (let ((a1-1 (-> self root-override trans))) + (let ((a1-1 (-> self root trans))) (spawn (-> self part) a1-1) ) (suspend) diff --git a/test/decompiler/reference/jak2/engine/common_objs/plat_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/plat_REF.gc index c7aac8a3ed..4a1e3a825d 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/plat_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/plat_REF.gc @@ -66,7 +66,7 @@ (set! (-> collision-shape backup-collide-as) (-> prim prim-core collide-as)) (set! (-> collision-shape backup-collide-with) (-> prim prim-core collide-with)) ) - (set! (-> obj root-override) collision-shape) + (set! (-> obj root) (the-as collide-shape-moving collision-shape)) ) 0 (none) @@ -149,8 +149,8 @@ otherwise, [[plat::34]] :trans (behavior () (set! (-> self path-pos) (get-norm! (-> self sync) 0)) (get-point-at-percent-along-path! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) - (if (< (vector-vector-distance (-> self root-override trans) (ear-trans 0)) 81920.0) - (sound-play "eco-plat-hover" :id (-> self sound-id) :position (-> self root-override trans)) + (if (< (vector-vector-distance (-> self root trans) (ear-trans 0)) 81920.0) + (sound-play "eco-plat-hover" :id (-> self sound-id) :position (-> self root trans)) ) (plat-trans) (none) @@ -185,7 +185,7 @@ This commonly includes things such as: (init-plat-collision! obj) (process-drawable-from-entity! obj entity) (initialize-skeleton obj (the-as skeleton-group (get-art-group obj)) (the-as pair 0)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (stop-bouncing! obj) (base-plat-method-32 obj) (set! (-> obj fact) @@ -219,13 +219,13 @@ This commonly includes things such as: ) ((> (-> obj sync period) 0) (set! (-> obj path-pos) (get-norm! (-> obj sync) 0)) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) (-> obj path-pos) 'interp) (init-plat! obj) (plat-path-sync obj) ) (else (set! (-> obj path-pos) 0.0) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) (-> obj path-pos) 'interp) (init-plat! obj) (plat-path-sync obj) ) @@ -306,7 +306,7 @@ This commonly includes things such as: (return (the-as object #f)) ) ) - (set! (-> self hit-point quad) (-> self root-override trans quad)) + (set! (-> self hit-point quad) (-> self root trans quad)) (set! proc-focus (if (type? proc process-focusable) (the-as process-focusable proc) ) @@ -366,7 +366,7 @@ This commonly includes things such as: :trans (the-as (function none :behavior drop-plat) rider-trans) :code (behavior ((arg0 symbol)) (process-entity-status! self (entity-perm-status subtask-complete) #t) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) diff --git a/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc index 9ac7d36b3b..ce8e2f359c 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/powerups_REF.gc @@ -549,15 +549,11 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defbehavior target-eco-process target () - (when (and (!= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 0.0) - (>= (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> self fact-override)) eco-pickup-time) - ) - (-> (the-as fact-info-target (-> self fact-override)) eco-timeout) - ) + (when (and (!= (-> self fact eco-level) 0.0) + (>= (- (-> *display* game-clock frame-counter) (-> self fact eco-pickup-time)) (-> self fact eco-timeout)) ) - (set! (-> (the-as fact-info-target (-> self fact-override)) eco-level) 0.0) - (set! (-> (the-as fact-info-target (-> self fact-override)) eco-timeout) 0) + (set! (-> self fact eco-level) 0.0) + (set! (-> self fact eco-timeout) 0) (logclear! (-> self state-flags) (state-flags sf4)) (send-event self 'reset-collide) (stop! (-> self sound)) @@ -565,25 +561,23 @@ (if (logtest? (-> self game secrets) (game-secrets endless-dark)) (set! (-> self game eco-pill-dark) (-> *FACT-bank* eco-pill-dark-max-default)) ) - (when (and (< 0.0 (-> (the-as fact-info-target (-> self fact-override)) eco-level)) + (when (and (< 0.0 (-> self fact eco-level)) (not (focus-test? self in-head)) (not (logtest? (-> self draw status) (draw-control-status no-draw no-draw-temp))) (not (movie?)) - (rand-vu-percent? (lerp-scale - 0.0 - 1.0 - (the float (- (-> (the-as fact-info-target (-> self fact-override)) eco-timeout) - (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> self fact-override)) eco-pickup-time) - ) - ) - ) - 0.0 - 900.0 - ) - ) + (rand-vu-percent? + (lerp-scale + 0.0 + 1.0 + (the float + (- (-> self fact eco-timeout) (- (-> *display* game-clock frame-counter) (-> self fact eco-pickup-time))) + ) + 0.0 + 900.0 + ) + ) ) - (case (-> (the-as fact-info-target (-> self fact-override)) eco-type) + (case (-> self fact eco-type) ((1) (change-sound! (-> self sound) (static-sound-name "yel-eco-jak")) (let ((s1-0 (rand-vu-int-range 3 (+ (-> self node-list length) -1))) @@ -973,30 +967,19 @@ ) ) (target-darkjak-process) - (when (nonzero? (-> (the-as fact-info-target (-> self fact-override)) trick-point-duration)) - (when (>= (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> self fact-override)) trick-point-start-time) - ) - (-> (the-as fact-info-target (-> self fact-override)) trick-point-duration) + (when (nonzero? (-> self fact trick-point-duration)) + (when (>= (- (-> *display* game-clock frame-counter) (-> self fact trick-point-start-time)) + (-> self fact trick-point-duration) ) - (format - #t - "------------> ~,,f total points~%" - (-> (the-as fact-info-target (-> self fact-override)) trick-point) - ) - (send-event - (handle->process (-> self notify)) - 'notify - 'trick-judge - (-> (the-as fact-info-target (-> self fact-override)) trick-point) - ) - (reset! (-> self fact-override) 'trick-judge) + (format #t "------------> ~,,f total points~%" (-> self fact trick-point)) + (send-event (handle->process (-> self notify)) 'notify 'trick-judge (-> self fact trick-point)) + (reset! (-> self fact) 'trick-judge) ) ) (cond ((logtest? (-> self game features) (game-feature unk-game-feature-01)) (cond - ((< (current-time) (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout)) + ((< (current-time) (-> self fact stop-time-timeout)) (set-setting! 'bg-a 'abs 0.3 0) (set-setting! 'bg-r 'abs 1.0 0) (update-rates! (-> *display* entity-clock) 0.0) @@ -1004,15 +987,15 @@ (sound-play "stopwatch") ) ) - ((nonzero? (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout)) + ((nonzero? (-> self fact stop-time-timeout)) (remove-setting! 'bg-a) (remove-setting! 'bg-r) (update-rates! (-> *display* entity-clock) 1.0) - (set! (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout) 0) + (set! (-> self fact stop-time-timeout) 0) 0 ) ((cpad-pressed? (-> self control cpad number) r1) - (set! (-> (the-as fact-info-target (-> self fact-override)) stop-time-timeout) (+ (current-time) (seconds 5))) + (set! (-> self fact stop-time-timeout) (+ (current-time) (seconds 5))) ) ) ) diff --git a/test/decompiler/reference/jak2/engine/common_objs/projectile-h_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/projectile-h_REF.gc index 72ed2f1e59..af4679fc7e 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/projectile-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/projectile-h_REF.gc @@ -3,7 +3,7 @@ ;; definition of type projectile (deftype projectile (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (starting-pos vector :inline :offset-assert 208) (starting-dir vector :inline :offset-assert 224) (target-pos vector :inline :offset-assert 240) diff --git a/test/decompiler/reference/jak2/engine/common_objs/projectile_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/projectile_REF.gc index cf6de51337..db784eb0ad 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/projectile_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/projectile_REF.gc @@ -132,7 +132,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (defmethod spawn-impact-particles projectile ((obj projectile)) "Spawns associated particles with the projectile if applicable" (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) 0 (none) @@ -177,7 +177,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; definition for method 38 of type projectile (defmethod made-impact? projectile ((obj projectile)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -195,7 +195,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; definition for function projectile-move-fill-all-dirs ;; WARN: Return type mismatch int vs none. (defun projectile-move-fill-all-dirs ((arg0 projectile)) - (let ((v1-0 (-> arg0 root-override)) + (let ((v1-0 (-> arg0 root)) (a2-0 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-0 collide-with) (-> v1-0 root-prim prim-core collide-with)) @@ -220,7 +220,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (vf2 :class vf) ) (init-vf0-vector) - (let ((gp-0 (-> arg0 root-override))) + (let ((gp-0 (-> arg0 root))) (let ((a1-0 (new 'stack-no-clear 'collide-query))) (let ((a2-0 (-> gp-0 root-prim))) (set! (-> a1-0 start-pos quad) (-> gp-0 trans quad)) @@ -257,10 +257,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defun projectile-update-velocity-add-gravity ((arg0 projectile)) - (vector-v++! - (-> arg0 root-override transv) - (compute-acc-due-to-gravity (-> arg0 root-override) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> arg0 root transv) (compute-acc-due-to-gravity (-> arg0 root) (new-stack-vector0) 1.0)) 0 (none) ) @@ -269,13 +266,13 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defun projectile-update-velocity-space-wars ((arg0 projectile)) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target-pos) (-> arg0 root-override trans)))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target-pos) (-> arg0 root trans)))) (let ((s4-0 (new 'stack-no-clear 'vector)) - (s3-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root-override transv) 1.0)) - (f30-0 (vector-length (-> arg0 root-override transv))) + (s3-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root transv) 1.0)) + (f30-0 (vector-length (-> arg0 root transv))) ) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) - (vector-flatten! s5-1 s5-1 (-> arg0 root-override local-normal)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) + (vector-flatten! s5-1 s5-1 (-> arg0 root local-normal)) ) (vector-normalize-copy! s4-0 s5-1 1.0) (if (and (or (not (handle->process (-> arg0 last-target))) @@ -290,20 +287,17 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (go (method-of-object arg0 dissipate)) ) - (vector-deg-slerp (-> arg0 root-override transv) s3-0 s4-0 (-> arg0 tween)) - (vector-normalize! (-> arg0 root-override transv) f30-0) + (vector-deg-slerp (-> arg0 root transv) s3-0 s4-0 (-> arg0 tween)) + (vector-normalize! (-> arg0 root transv) f30-0) ) - (vector+! (-> arg0 root-override transv) (-> arg0 root-override transv) s5-1) + (vector+! (-> arg0 root transv) (-> arg0 root transv) s5-1) ) - (vector-v++! - (-> arg0 root-override transv) - (compute-acc-due-to-gravity (-> arg0 root-override) (new-stack-vector0) 0.0) - ) - (if (< (-> arg0 max-speed) (vector-length (-> arg0 root-override transv))) - (vector-normalize! (-> arg0 root-override transv) (-> arg0 max-speed)) + (vector-v++! (-> arg0 root transv) (compute-acc-due-to-gravity (-> arg0 root) (new-stack-vector0) 0.0)) + (if (< (-> arg0 max-speed) (vector-length (-> arg0 root transv))) + (vector-normalize! (-> arg0 root transv) (-> arg0 max-speed)) ) (if (logtest? (-> arg0 options) (projectile-options lose-altitude)) - (set! (-> arg0 root-override transv y) -40960.0) + (set! (-> arg0 root transv y) -40960.0) ) 0 (none) @@ -333,7 +327,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (when (logtest? (-> self options) (projectile-options proj-options-2)) (seek! (-> self tween) 1.0 (* 0.5 (-> self clock seconds-per-frame))) - (let ((f0-4 (vector-vector-distance (-> self root-override trans) (-> self target-pos)))) + (let ((f0-4 (vector-vector-distance (-> self root trans) (-> self target-pos)))) (cond ((< f0-4 20480.0) (seek! (-> self tween) 1.0 (* 3.0 (-> self clock seconds-per-frame))) @@ -344,7 +338,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) ) ) - (let ((gp-0 (-> self root-override))) + (let ((gp-0 (-> self root))) (set! (-> self pre-move-transv quad) (-> gp-0 transv quad)) (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> s5-0 quad) (-> gp-0 trans quad)) @@ -359,7 +353,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (+! f0-14 (-> self old-dist v1-38)) ) (if (or (and (logtest? (-> self options) (projectile-options proj-options-4)) - (and (logtest? (-> self root-override status) (collide-status touch-wall)) (< f0-14 2048.0)) + (and (logtest? (-> self root status) (collide-status touch-wall)) (< f0-14 2048.0)) ) (< f0-14 (-> self stop-speed)) ) @@ -458,9 +452,9 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -521,11 +515,11 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (logior! (-> self options) (projectile-options proj-options-4)) (init-proj-collision! self) - (let ((s5-0 (-> self root-override))) + (let ((s5-0 (-> self root))) (when (type? s5-0 collide-shape-moving) - (set! (-> self root-override dynam gravity y) 1228800.0) - (set! (-> self root-override dynam gravity-length) 1228800.0) - (set! (-> self root-override dynam gravity-max) 1228800.0) + (set! (-> self root dynam gravity y) 1228800.0) + (set! (-> self root dynam gravity-length) 1228800.0) + (set! (-> self root dynam gravity-max) 1228800.0) ) (set! (-> self mask) (logior (process-mask projectile) (-> self mask))) (logclear! (-> self mask) (process-mask enemy)) @@ -541,7 +535,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (set! (-> self target-pos quad) (-> self base-target-pos quad)) (set! (-> self event-hook) projectile-event-handler) (init-proj-settings! self) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (draw-laser-sight self) (play-impact-sound self (projectile-options)) (when (logtest? (-> self options) (projectile-options proj-options-8000)) @@ -556,9 +550,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; definition for function projectile-bounce-update-velocity ;; WARN: Return type mismatch int vs none. (defbehavior projectile-bounce-update-velocity projectile ((arg0 projectile-bounce)) - (set! (-> arg0 root-override transv y) - (- (-> arg0 root-override transv y) (* 184320.0 (-> self clock seconds-per-frame))) - ) + (set! (-> arg0 root transv y) (- (-> arg0 root transv y) (* 184320.0 (-> self clock seconds-per-frame)))) 0 (none) ) @@ -567,7 +559,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defbehavior projectile-bounce-falling-post projectile-bounce ((arg0 projectile-bounce)) - (let ((gp-0 (-> self root-override)) + (let ((gp-0 (-> self root)) (s4-0 (new 'stack-no-clear 'collide-query)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -575,7 +567,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (set! (-> s5-0 quad) (-> gp-0 trans quad)) (vector-v++! s5-0 (-> gp-0 transv)) (when (find-ground gp-0 s4-0 (collide-spec backgnd crate obstacle hit-by-others-list pusher) 4096.0 81920.0 1024.0) - (let ((f0-1 (+ (-> gp-0 gspot-pos y) (-> self root-override root-prim local-sphere w)))) + (let ((f0-1 (+ (-> gp-0 gspot-pos y) (-> self root root-prim local-sphere w)))) (when (>= f0-1 (-> s5-0 y)) (set! (-> s5-0 y) f0-1) (vector-reset! (-> gp-0 transv)) @@ -642,8 +634,8 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; definition for function projectile-bounce-move (defun projectile-bounce-move ((arg0 projectile-bounce)) - (seek-toward-heading-vec! (-> arg0 root-override) (-> arg0 root-override transv) 131072.0 (seconds 0.1)) - (quaternion*! (-> arg0 root-override quat) (-> arg0 root-override quat) (-> arg0 tumble-quat)) + (seek-toward-heading-vec! (-> arg0 root) (-> arg0 root transv) 131072.0 (seconds 0.1)) + (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> arg0 tumble-quat)) (projectile-move-fill-all-dirs arg0) (none) ) @@ -664,7 +656,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ;; WARN: Return type mismatch sound-id vs none. (defmethod play-impact-sound! projectile-bounce ((obj projectile-bounce)) "Plays impact sound" - (let* ((a2-0 (-> obj root-override)) + (let* ((a2-0 (-> obj root)) (v1-0 (-> a2-0 status)) ) (if (logtest? v1-0 (collide-status touch-surface)) @@ -704,14 +696,14 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (set-collide-with! - (-> obj root-override) + (-> obj root) (collide-spec backgnd bot crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) - (set-collide-as! (-> obj root-override) (collide-spec projectile)) - (set! (-> obj root-override pat-ignore-mask) + (set-collide-as! (-> obj root) (collide-spec projectile)) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -725,9 +717,9 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p (set! (-> obj timeout) (seconds 1.6)) (set! (-> obj update-velocity) projectile-bounce-update-velocity) (set! (-> obj move) projectile-bounce-move) - (set! (-> obj root-override dynam gravity y) 184320.0) - (set! (-> obj root-override dynam gravity-length) 184320.0) - (set! (-> obj root-override dynam gravity-max) 184320.0) + (set! (-> obj root dynam gravity y) 184320.0) + (set! (-> obj root dynam gravity-length) 184320.0) + (set! (-> obj root dynam gravity-max) 184320.0) (let ((f0-4 1092.2667)) (quaternion-axis-angle! (-> obj tumble-quat) 1.0 0.0 0.0 f0-4) ) diff --git a/test/decompiler/reference/jak2/engine/common_objs/rigid-body-plat_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/rigid-body-plat_REF.gc index 9030ef2c3a..b9fe543133 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/rigid-body-plat_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/rigid-body-plat_REF.gc @@ -118,7 +118,7 @@ ;; definition of type rigid-body-platform (deftype rigid-body-platform (rigid-body-object) - ((info-override rigid-body-platform-constants :offset 204) + ((info rigid-body-platform-constants :override) (control-point-array rigid-body-control-point-inline-array :offset-assert 272) (player-velocity vector :inline :offset-assert 288) (player-velocity-prev vector :inline :offset-assert 304) @@ -209,7 +209,7 @@ ) (let* ((s4-0 (new 'stack-no-clear 'vector)) (f0-3 (- (-> ctrl-point world-pos w) (-> ctrl-point world-pos y))) - (f30-0 (/ f0-3 (-> obj info-override max-buoyancy-depth))) + (f30-0 (/ f0-3 (-> obj info max-buoyancy-depth))) ) (when (< 0.0 f0-3) (vector-float*! @@ -217,8 +217,8 @@ *y-vector* (* (-> obj rbody state info mass) (fmin 1.0 f30-0) - (/ (-> obj info-override extra gravity) (the float (-> obj info-override control-point-count))) - (-> obj info-override buoyancy-factor) + (/ (-> obj info extra gravity) (the float (-> obj info control-point-count))) + (-> obj info buoyancy-factor) ) ) (let ((v1-6 (-> obj rbody)) @@ -227,7 +227,7 @@ ) (rigid-body-method-18 (-> v1-6 state) a1-9 a2-0) ) - (vector-float*! s4-0 (-> ctrl-point velocity) (* -1.0 (-> obj info-override drag-factor) (fmin 1.0 f30-0))) + (vector-float*! s4-0 (-> ctrl-point velocity) (* -1.0 (-> obj info drag-factor) (fmin 1.0 f30-0))) (let ((v1-11 (-> obj rbody)) (a1-13 (-> ctrl-point world-pos)) ) @@ -250,7 +250,7 @@ (let ((rigid-body (-> obj rbody)) (force-pos (-> obj player-force-position)) (force (-> obj player-force)) - (force-dist (-> obj info-override player-force-distance)) + (force-dist (-> obj info player-force-distance)) ) (rigid-body-method-21 (-> rigid-body state) force-pos force force-dist) ) @@ -263,7 +263,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-platform-method-55 rigid-body-platform ((obj rigid-body-platform)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (vector-float*! a1-0 *y-vector* (* -1.0 (-> obj info-override extra gravity) (-> obj rbody state info mass))) + (vector-float*! a1-0 *y-vector* (* -1.0 (-> obj info extra gravity) (-> obj rbody state info mass))) (rigid-body-method-20 (-> obj rbody state) a1-0) ) 0 @@ -293,7 +293,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-object-method-29 rigid-body-platform ((obj rigid-body-platform) (arg0 float)) (let ((s4-0 (-> obj rbody state matrix))) - (dotimes (s3-0 (-> obj info-override control-point-count)) + (dotimes (s3-0 (-> obj info control-point-count)) (let ((s2-0 (-> obj control-point-array data s3-0))) (vector-matrix*! (-> s2-0 world-pos) (-> s2-0 local-pos) s4-0) (let ((v1-4 (-> obj rbody)) @@ -316,8 +316,8 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-object-method-30 rigid-body-platform ((obj rigid-body-platform)) - (if (-> obj info-override platform) - (detect-riders! (-> obj root-override-2)) + (if (-> obj info platform) + (detect-riders! (-> obj root)) ) (set! (-> obj player-velocity-prev quad) (-> obj player-velocity quad)) (if *target* @@ -353,7 +353,7 @@ (logior! (-> obj flags) (rigid-body-object-flag player-contact-force)) (set! (-> obj player-force-position quad) (-> (the-as rigid-body-control-point v1-1) velocity quad)) (vector-reset! (-> obj player-force)) - (set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight))) + (set! (-> obj player-force y) (* -1.0 (-> obj info player-weight))) ) ) ) @@ -372,7 +372,7 @@ ) (when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))) (logior! (-> obj flags) (rigid-body-object-flag player-contact-force)) - (set! (-> obj player-force-position quad) (-> v1-11 root-override trans quad)) + (set! (-> obj player-force-position quad) (-> v1-11 root trans quad)) (vector-reset! (-> obj player-force)) (let* ((a1-5 (-> obj player-force-position)) (f30-0 0.0) @@ -382,7 +382,7 @@ (f1-2 12288.0) (f0-8 (fmax f30-0 (fmin f28-0 (- f26-0 (* f0-4 (/ 1.0 f1-2)))))) ) - (set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight) f0-8)) + (set! (-> obj player-force y) (* -1.0 (-> obj info player-weight) f0-8)) ) ) ) @@ -392,7 +392,7 @@ ) (('bonk) (when (>= (- (current-time) (the-as int (-> obj player-bonk-timeout))) - (the-as time-frame (-> obj info-override player-force-timeout)) + (the-as time-frame (-> obj info player-force-timeout)) ) (set! (-> obj player-bonk-timeout) (the-as uint (current-time))) (let* ((s4-0 arg0) @@ -407,10 +407,10 @@ (let ((f0-14 (fmin (* 0.00012207031 (the-as float (-> arg3 param 1)) - (-> obj info-override player-bonk-factor) - (-> obj info-override player-weight) + (-> obj info player-bonk-factor) + (-> obj info player-weight) ) - (-> obj info-override player-force-clamp) + (-> obj info player-force-clamp) ) ) ) @@ -431,7 +431,7 @@ (defmethod rigid-body-object-method-37 rigid-body-platform ((obj rigid-body-platform)) (if (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force)) (sound-play-by-name - (string->sound-name (-> obj info-override sound-name)) + (string->sound-name (-> obj info sound-name)) (new-sound-id) 1024 0 @@ -441,9 +441,9 @@ ) ) (rigid-body-object-method-30 obj) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (let ((v1-9 (-> obj rbody)) - (a1-2 (-> obj root-override-2 trans)) + (a1-2 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-9 state) a1-2) ) @@ -455,16 +455,16 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defmethod alloc-and-init-rigid-body-control rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-object-constants)) - (set! (-> obj info-override) (the-as rigid-body-platform-constants arg0)) + (set! (-> obj info) (the-as rigid-body-platform-constants arg0)) (set! (-> obj rbody) (new 'process 'rigid-body-control obj)) (set! (-> obj control-point-array) - (new 'process 'rigid-body-control-point-inline-array (-> obj info-override control-point-count)) + (new 'process 'rigid-body-control-point-inline-array (-> obj info control-point-count)) ) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (let ((v1-5 (-> obj rbody)) - (a1-3 (-> obj info-override info)) - (a2-2 (-> obj root-override-2 trans)) - (a3-0 (-> obj root-override-2 quat)) + (a1-3 (-> obj info info)) + (a2-2 (-> obj root trans)) + (a3-0 (-> obj root quat)) (t0-0 (method-of-object obj rigid-body-object-method-29)) ) (rigid-body-method-25 (-> v1-5 state) a1-3 a2-2 a3-0 t0-0) @@ -473,7 +473,7 @@ (set! (-> obj player-force quad) (-> *null-vector* quad)) (set! (-> obj player-velocity quad) (-> *null-vector* quad)) (set! (-> obj player-velocity-prev quad) (-> *null-vector* quad)) - (set! (-> obj root-override-2 max-iteration-count) (the-as uint 4)) + (set! (-> obj root max-iteration-count) (the-as uint 4)) (set! (-> obj max-time-step) (-> arg0 extra max-time-step)) (set! (-> obj water-anim) (the-as water-anim (entity-actor-lookup (-> obj entity) 'water-actor 0))) 0 @@ -504,7 +504,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -550,7 +550,7 @@ (defmethod init-skel-and-rigid-body rigid-body-platform ((obj rigid-body-platform)) (set! (-> obj float-height-offset) 0.0) (alloc-and-init-rigid-body-control obj *rigid-body-platform-constants*) - (let ((s5-0 (-> obj info-override control-point-count))) + (let ((s5-0 (-> obj info control-point-count))) (dotimes (s4-0 s5-0) (let ((s3-0 (-> obj control-point-array data s4-0))) (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0))))) diff --git a/test/decompiler/reference/jak2/engine/common_objs/voicebox_REF.gc b/test/decompiler/reference/jak2/engine/common_objs/voicebox_REF.gc index 32a68bdad8..b7a001fe23 100644 --- a/test/decompiler/reference/jak2/engine/common_objs/voicebox_REF.gc +++ b/test/decompiler/reference/jak2/engine/common_objs/voicebox_REF.gc @@ -69,14 +69,14 @@ ;; definition of type remote (deftype remote (process-drawable) - ((parent-override (pointer camera-slave) :offset 16) - (base-trans vector :inline :offset-assert 208) - (focus focus :inline :offset-assert 224) - (seeker cam-float-seeker :inline :offset-assert 236) - (start-time time-frame :offset-assert 264) - (blend float :offset-assert 272) - (twist float :offset-assert 276) - (speak-effect? basic :offset-assert 280) + ((parent (pointer camera-slave) :override) + (base-trans vector :inline :offset-assert 208) + (focus focus :inline :offset-assert 224) + (seeker cam-float-seeker :inline :offset-assert 236) + (start-time time-frame :offset-assert 264) + (blend float :offset-assert 272) + (twist float :offset-assert 276) + (speak-effect? basic :offset-assert 280) ) :heap-base #xa0 :method-count-assert 26 @@ -156,12 +156,9 @@ (-> obj speak-effect?) ) ) - (let ((v1-15 (vector-float*! - (new 'stack-no-clear 'vector) - (-> obj parent-override 0 velocity) - (-> pp clock frames-per-second) - ) - ) + (let ((v1-15 + (vector-float*! (new 'stack-no-clear 'vector) (-> obj parent 0 velocity) (-> pp clock frames-per-second)) + ) (a0-8 *particle-vel*) ) (let ((a1-4 (-> obj node-list data 3 bone transform vector 2))) @@ -197,10 +194,10 @@ (let ((gp-0 (handle->process (-> self focus handle))) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self parent-override 0 trans quad)) + (set! (-> s5-0 quad) (-> self parent 0 trans quad)) (let ((f30-0 (get-track-pt-and-scale self s5-0))) (let ((a1-2 (new 'stack-no-clear 'vector))) - (set! (-> a1-2 quad) (-> self parent-override 0 trans quad)) + (set! (-> a1-2 quad) (-> self parent 0 trans quad)) (vector-lerp! (-> self root trans) a1-2 s5-0 (-> self blend)) ) (+! (-> self root trans y) (* 1638.4 (sin (* 54.613335 (the float (mod (current-time) 1200)))))) @@ -228,7 +225,7 @@ (set! (-> a1-9 from) (process->ppointer self)) (set! (-> a1-9 num-params) 0) (set! (-> a1-9 message) 'blocked-side?) - (case (send-event-function (ppointer->process (-> self parent-override)) a1-9) + (case (send-event-function (ppointer->process (-> self parent)) a1-9) ((1) (set! (-> self twist) 0.5) ) @@ -240,7 +237,7 @@ ) ) ) - (send-event (ppointer->process (-> self parent-override)) 'joystick (-> self twist) -1082130432) + (send-event (ppointer->process (-> self parent)) 'joystick (-> self twist) -1082130432) ) (set! (-> self root scale x) f30-0) (set! (-> self root scale y) f30-0) @@ -269,7 +266,7 @@ ) :enter (behavior () (set! (-> self start-time) (-> *display* game-clock frame-counter)) - (let* ((gp-0 (ppointer->process (-> self parent-override 0 parent))) + (let* ((gp-0 (ppointer->process (-> self parent 0 parent))) (a1-1 (if (type? gp-0 process-focusable) gp-0 ) @@ -291,7 +288,7 @@ (none) ) :code (behavior () - (let* ((gp-0 (ppointer->process (-> self parent-override 0 parent))) + (let* ((gp-0 (ppointer->process (-> self parent 0 parent))) (a0-1 (if (type? gp-0 process-focusable) (the-as process-focusable gp-0) ) @@ -299,13 +296,13 @@ ) (if (and a0-1 (focus-test? a0-1 pilot)) (send-event - (ppointer->process (-> self parent-override)) + (ppointer->process (-> self parent)) 'set-dist (new 'static 'vector :z 8192.0 :w 1.0) (new 'static 'vector :y 20480.0 :z 12288.0 :w 1.0) ) (send-event - (ppointer->process (-> self parent-override)) + (ppointer->process (-> self parent)) 'set-dist (new 'static 'vector :z 16384.0 :w 1.0) (new 'static 'vector :y 20480.0 :z 40960.0 :w 1.0) @@ -351,7 +348,7 @@ :trans remote-track :code (behavior () (set! (-> self blend) 1.0) - (send-event (ppointer->process (-> self parent-override)) 'change-state empty-state) + (send-event (ppointer->process (-> self parent)) 'change-state empty-state) (suspend) 0 (none) @@ -433,7 +430,7 @@ (suspend) ) (set! (-> self blend) 1.0) - (send-event (ppointer->process (-> self parent-override)) 'change-state empty-state) + (send-event (ppointer->process (-> self parent)) 'change-state empty-state) (suspend) (cleanup-for-death self) (none) @@ -520,7 +517,7 @@ ) ) (if *target* - (set! (-> *game-info* score) (-> *target* fact-override trick-point)) + (set! (-> *game-info* score) (-> *target* fact trick-point)) ) (let ((v1-15 (the-as int (- (-> obj total-time) (- (-> *display* game-clock frame-counter) (-> obj start-time)))))) (if (< (the-as time-frame v1-15) 0) diff --git a/test/decompiler/reference/jak2/engine/debug/nav/nav-graph-editor_REF.gc b/test/decompiler/reference/jak2/engine/debug/nav/nav-graph-editor_REF.gc index fccbf51ebc..e925316255 100644 --- a/test/decompiler/reference/jak2/engine/debug/nav/nav-graph-editor_REF.gc +++ b/test/decompiler/reference/jak2/engine/debug/nav/nav-graph-editor_REF.gc @@ -59,7 +59,7 @@ ;; definition of type nav-graph-editor (deftype nav-graph-editor (process) - ((self-override nav-graph-editor :offset 32) + ((self nav-graph-editor :override) (nav-graph mysql-nav-graph :offset-assert 128) (mode symbol :offset-assert 132) (command-id int32 :offset-assert 136) @@ -2208,63 +2208,40 @@ ;; definition for function get-nav-graph-editor (defun get-nav-graph-editor () - (let ((v1-0 *nav-graph-editor*)) - (if v1-0 - (-> v1-0 0 self-override) - ) - ) + (ppointer->process *nav-graph-editor*) ) ;; definition for function exit-nav-graph-editor (defun exit-nav-graph-editor () - (when *nav-graph-editor* - (let ((v1-1 *nav-graph-editor*)) - (deactivate (if v1-1 - (-> v1-1 0 self-override) - ) - ) + (if *nav-graph-editor* + (deactivate (ppointer->process *nav-graph-editor*)) ) - ) (none) ) ;; definition for function set-minimap-edge-flag ;; WARN: Return type mismatch mysql-save-flag vs uint. (defun set-minimap-edge-flag ((arg0 nav-minimap-edge-flag)) - (let ((v1-0 *nav-graph-editor*)) - (the-as uint (when (if v1-0 - (-> v1-0 0 self-override) - ) - (let* ((a1-1 *nav-graph-editor*) - (v1-2 (if a1-1 - (-> a1-1 0 self-override) - ) - ) - ) - (when (>= (-> v1-2 edge-visibility) 0) - (let ((v1-6 (-> v1-2 nav-graph edge-array data (-> v1-2 edge-visibility)))) - (set! (-> v1-6 minimap_edge_flag) arg0) - (let ((v0-0 (logior (-> v1-6 mysql-save-flag) (mysql-save-flag update)))) - (set! (-> v1-6 mysql-save-flag) v0-0) - v0-0 - ) + (the-as uint (when (ppointer->process *nav-graph-editor*) + (let ((v1-2 (ppointer->process *nav-graph-editor*))) + (when (>= (-> v1-2 edge-visibility) 0) + (let ((v1-6 (-> v1-2 nav-graph edge-array data (-> v1-2 edge-visibility)))) + (set! (-> v1-6 minimap_edge_flag) arg0) + (let ((v0-0 (logior (-> v1-6 mysql-save-flag) (mysql-save-flag update)))) + (set! (-> v1-6 mysql-save-flag) v0-0) + v0-0 ) ) ) ) - ) - ) + ) + ) ) ;; definition for function set-vehicle-edit-mode ;; WARN: Return type mismatch int vs none. (defun set-vehicle-edit-mode ((arg0 symbol)) - (let* ((a1-0 *nav-graph-editor*) - (v1-0 (if a1-0 - (-> a1-0 0 self-override) - ) - ) - ) + (let ((v1-0 (ppointer->process *nav-graph-editor*))) (when v1-0 (set! (-> v1-0 vehicle-edit-mode) arg0) (set! (-> v1-0 default-node nav_node_flag) (if arg0 @@ -2279,50 +2256,32 @@ ;; definition for function translate-nav-graph (defun translate-nav-graph ((arg0 float) (arg1 float) (arg2 float)) - (let ((v1-0 *nav-graph-editor*)) - (when (if v1-0 - (-> v1-0 0 self-override) - ) - (let* ((a3-1 *nav-graph-editor*) - (v1-2 (if a3-1 - (-> a3-1 0 self-override) - ) - ) - ) - (dotimes (a3-2 (-> v1-2 nav-graph node-array length)) - (let ((t0-3 (-> v1-2 nav-graph node-array data a3-2))) - (+! (-> t0-3 position x) arg0) - (+! (-> t0-3 position y) arg1) - (+! (-> t0-3 position z) arg2) - (logior! (-> t0-3 mysql-save-flag) (mysql-save-flag update)) - ) + (when (ppointer->process *nav-graph-editor*) + (let ((v1-2 (ppointer->process *nav-graph-editor*))) + (dotimes (a3-2 (-> v1-2 nav-graph node-array length)) + (let ((t0-3 (-> v1-2 nav-graph node-array data a3-2))) + (+! (-> t0-3 position x) arg0) + (+! (-> t0-3 position y) arg1) + (+! (-> t0-3 position z) arg2) + (logior! (-> t0-3 mysql-save-flag) (mysql-save-flag update)) ) ) - #f ) + #f ) ) ;; definition for function update-nav-meshes (defun update-nav-meshes () - (let ((v1-0 *nav-graph-editor*)) - (when (if v1-0 - (-> v1-0 0 self-override) - ) - (let* ((v1-2 *nav-graph-editor*) - (gp-0 (if v1-2 - (-> v1-2 0 self-override) - ) - ) - ) - (dotimes (s5-0 (-> gp-0 nav-graph node-array length)) - (if (not (logtest? (-> gp-0 nav-graph node-array data s5-0 mysql-save-flag) (mysql-save-flag delete))) - (nav-graph-editor-method-54 gp-0 s5-0) - ) - ) + (when (ppointer->process *nav-graph-editor*) + (let ((gp-0 (ppointer->process *nav-graph-editor*))) + (dotimes (s5-0 (-> gp-0 nav-graph node-array length)) + (if (not (logtest? (-> gp-0 nav-graph node-array data s5-0 mysql-save-flag) (mysql-save-flag delete))) + (nav-graph-editor-method-54 gp-0 s5-0) + ) ) - #f ) + #f ) ) @@ -2345,14 +2304,7 @@ (vf6 :class vf) ) (init-vf0-vector) - (let* ((v1-0 *nav-graph-editor*) - (s5-0 (-> (if v1-0 - (-> v1-0 0 self-override) - ) - nav-graph - ) - ) - ) + (let ((s5-0 (-> (ppointer->process *nav-graph-editor*) nav-graph))) (dotimes (s4-0 (-> s5-0 node-array length)) (let ((s3-0 (-> s5-0 node-array data s4-0)) (s2-0 (new-stack-vector0)) @@ -2432,14 +2384,7 @@ ;; definition for function update-height ;; INFO: Used lq/sq (defun update-height ((arg0 string)) - (let* ((v1-0 *nav-graph-editor*) - (v1-2 (-> (if v1-0 - (-> v1-0 0 self-override) - ) - nav-graph - ) - ) - ) + (let ((v1-2 (-> (ppointer->process *nav-graph-editor*) nav-graph))) (dotimes (a1-1 (-> v1-2 node-array length)) (let ((a2-3 (-> v1-2 node-array data a1-1))) (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) @@ -2459,14 +2404,7 @@ ;; INFO: Used lq/sq (defun update-width ((arg0 string)) (local-vars (sv-16 (array entity-nav-mesh)) (sv-32 int) (sv-48 uint) (sv-64 entity-nav-mesh)) - (let* ((v1-0 *nav-graph-editor*) - (s5-0 (-> (if v1-0 - (-> v1-0 0 self-override) - ) - nav-graph - ) - ) - ) + (let ((s5-0 (-> (ppointer->process *nav-graph-editor*) nav-graph))) (dotimes (s4-0 (-> s5-0 edge-array length)) (let ((s3-0 (-> s5-0 edge-array data s4-0))) (when (not (logtest? (-> s3-0 mysql-save-flag) (mysql-save-flag delete))) diff --git a/test/decompiler/reference/jak2/engine/game/effect-control_REF.gc b/test/decompiler/reference/jak2/engine/game/effect-control_REF.gc index e1e0402905..7d757dfa12 100644 --- a/test/decompiler/reference/jak2/engine/game/effect-control_REF.gc +++ b/test/decompiler/reference/jak2/engine/game/effect-control_REF.gc @@ -112,7 +112,7 @@ (set! (-> arg0 reg 0) (the-as uint 127)) ) (else - (let* ((s2-4 (-> v1-33 root-override)) + (let* ((s2-4 (-> v1-33 root)) (v1-34 (if (type? s2-4 collide-shape-moving) s2-4 ) diff --git a/test/decompiler/reference/jak2/engine/game/task/game-task_REF.gc b/test/decompiler/reference/jak2/engine/game/task/game-task_REF.gc index a607014e8c..7e60b9617d 100644 --- a/test/decompiler/reference/jak2/engine/game/task/game-task_REF.gc +++ b/test/decompiler/reference/jak2/engine/game/task/game-task_REF.gc @@ -10060,7 +10060,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-2-resolution) - :index #xe + :index 14 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10208,7 +10208,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-4-resolution) - :index #xa + :index 10 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10580,7 +10580,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-6-resolution) - :index #xd + :index 13 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10733,7 +10733,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-7-resolution) - :index #xc + :index 12 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10807,7 +10807,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-8-resolution) - :index #x6 + :index 6 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -10881,7 +10881,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-9-resolution) - :index #x8 + :index 8 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11102,7 +11102,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-11-resolution) - :index #x9 + :index 9 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11395,7 +11395,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-13-resolution) - :index #xb + :index 11 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11469,7 +11469,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-get-to-14-resolution) - :index #x7 + :index 7 :on-complete '(talker-spawn "bb10win") :on-fail #f ) @@ -11691,7 +11691,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-race-errol-resolution) - :index #x7 + :index 7 :on-complete #f :on-fail #f ) @@ -11765,7 +11765,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node city-burning-bush-race-port-resolution) - :index #x8 + :index 8 :on-complete #f :on-fail #f ) @@ -12075,7 +12075,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class1-resolution) - :index #x6 + :index 6 :on-complete #f :on-fail #f ) @@ -12146,7 +12146,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class3-r-resolution) - :index #x9 + :index 9 :on-complete #f :on-fail #f ) @@ -12217,7 +12217,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class2-r-resolution) - :index #xa + :index 10 :on-complete #f :on-fail #f ) @@ -12288,7 +12288,7 @@ :fail-hook #f :event-hook #f :final-node (game-task-node stadium-burning-bush-race-class1-r-resolution) - :index #xb + :index 11 :on-complete #f :on-fail #f ) diff --git a/test/decompiler/reference/jak2/engine/game/task/task-control_REF.gc b/test/decompiler/reference/jak2/engine/game/task/task-control_REF.gc index f99f48907d..0933d6b9ec 100644 --- a/test/decompiler/reference/jak2/engine/game/task/task-control_REF.gc +++ b/test/decompiler/reference/jak2/engine/game/task/task-control_REF.gc @@ -87,7 +87,7 @@ 0 ) ) - (let ((s5-0 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s5-0 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s5-0 (let ((s4-0 (the-as connection-minimap s5-0))) (if (and (logtest? (-> s4-0 flags) (minimap-flag task-graph)) diff --git a/test/decompiler/reference/jak2/engine/nav/nav-enemy-h_REF.gc b/test/decompiler/reference/jak2/engine/nav/nav-enemy-h_REF.gc index 7a7ea85042..d9b5a1d16b 100644 --- a/test/decompiler/reference/jak2/engine/nav/nav-enemy-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/nav/nav-enemy-h_REF.gc @@ -155,7 +155,7 @@ ;; definition of type nav-enemy (deftype nav-enemy (enemy) - ((enemy-info-override nav-enemy-info :offset 216) + ((enemy-info nav-enemy-info :override) (frustration-point vector :inline :offset-assert 544) (move-dest vector :inline :offset-assert 560) (frustration-time time-frame :offset-assert 576) diff --git a/test/decompiler/reference/jak2/engine/nav/nav-enemy_REF.gc b/test/decompiler/reference/jak2/engine/nav/nav-enemy_REF.gc index 733561ff2e..24df704a42 100644 --- a/test/decompiler/reference/jak2/engine/nav/nav-enemy_REF.gc +++ b/test/decompiler/reference/jak2/engine/nav/nav-enemy_REF.gc @@ -84,7 +84,7 @@ ) (countdown (s3-0 s4-0) (get-point-in-path! (-> obj path) s5-0 (the float s2-0) 'interp) - (if (< 4096.0 (vector-vector-xz-distance s5-0 (-> obj root-override2 trans))) + (if (< 4096.0 (vector-vector-xz-distance s5-0 (-> obj root trans))) (goto cfg-11) ) (set! s2-0 (mod (+ s2-0 1) s4-0)) @@ -107,7 +107,7 @@ ;; definition for method 102 of type nav-enemy ;; INFO: Used lq/sq (defmethod enemy-method-102 nav-enemy ((obj nav-enemy)) - (let ((gp-0 (-> obj root-override2)) + (let ((gp-0 (-> obj root)) (s3-0 (-> obj nav state)) ) (do-navigation-to-destination s3-0 (-> gp-0 trans)) @@ -127,17 +127,9 @@ ) ) (cond - ((-> obj enemy-info-override move-to-ground) + ((-> obj enemy-info move-to-ground) (let ((s3-1 (new 'stack-no-clear 'collide-query))) - (when (enemy-above-ground? - obj - s3-1 - s4-0 - (-> obj enemy-info-override recover-gnd-collide-with) - 8192.0 - 81920.0 - 1024.0 - ) + (when (enemy-above-ground? obj s3-1 s4-0 (-> obj enemy-info recover-gnd-collide-with) 8192.0 81920.0 1024.0) (let ((f0-4 (- (-> gp-0 trans y) (-> s3-1 best-other-tri intersect y)))) (if (and (>= 12288.0 f0-4) (< -8192.0 f0-4)) (return #f) @@ -161,18 +153,18 @@ (defmethod enemy-method-100 nav-enemy ((obj nav-enemy)) (local-vars (v0-1 vector)) (with-pp - (when (not (-> obj enemy-info-override move-to-ground)) + (when (not (-> obj enemy-info move-to-ground)) (enemy-method-103 obj) (return (the-as symbol #f)) ) (when (not (logtest? (enemy-flag directed) (-> obj enemy-flags))) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (if (focus-test? obj under-water) (enemy-method-47 obj (-> s5-0 transv)) - (+! (-> s5-0 transv y) (* (-> obj enemy-info-override movement-gravity) (-> pp clock seconds-per-frame))) + (+! (-> s5-0 transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) ) (let ((a2-0 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-16 (-> obj enemy-info-override))) + (let ((v1-16 (-> obj enemy-info))) (set! (-> a2-0 gnd-collide-with) (-> v1-16 recover-gnd-collide-with)) (set! (-> a2-0 popup) 8192.0) (set! (-> a2-0 dont-move-if-overlaps?) #t) @@ -190,36 +182,34 @@ (if (and (enemy-method-102 obj) (not (logtest? (-> obj focus-status) (focus-status dead)))) (kill-prefer-falling obj) ) - (the-as - symbol - (when (logtest? (-> obj nav state flags) (nav-state-flag in-mesh)) - (let ((s5-1 (-> obj root-override2)) - (a1-2 (new 'stack-no-clear 'collide-query)) - (s3-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s3-0 quad) (-> s5-1 gspot-pos quad)) - (set! (-> s4-0 quad) (-> s5-1 gspot-normal quad)) - (cond - ((find-ground s5-1 a1-2 (-> obj enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) - (let ((f0-4 (- (-> s5-1 trans y) (-> s5-1 gspot-pos y)))) - (when (>= 409.6 (fabs f0-4)) - (enemy-method-103 obj) - (return (the-as symbol #f)) - v0-1 - ) - ) - ) - (else - (set! (-> s5-1 gspot-pos quad) (-> s3-0 quad)) - (set! v0-1 (-> s5-1 gspot-normal)) - (set! (-> v0-1 quad) (-> s4-0 quad)) - v0-1 - ) + (the-as symbol (when (logtest? (-> obj nav state flags) (nav-state-flag in-mesh)) + (let ((s5-1 (-> obj root)) + (a1-2 (new 'stack-no-clear 'collide-query)) + (s3-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s3-0 quad) (-> s5-1 gspot-pos quad)) + (set! (-> s4-0 quad) (-> s5-1 gspot-normal quad)) + (cond + ((find-ground s5-1 a1-2 (-> obj enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) + (let ((f0-4 (- (-> s5-1 trans y) (-> s5-1 gspot-pos y)))) + (when (>= 409.6 (fabs f0-4)) + (enemy-method-103 obj) + (return (the-as symbol #f)) + v0-1 + ) + ) + ) + (else + (set! (-> s5-1 gspot-pos quad) (-> s3-0 quad)) + (set! v0-1 (-> s5-1 gspot-normal)) + (set! (-> v0-1 quad) (-> s4-0 quad)) + v0-1 + ) + ) + ) + ) ) - ) - ) - ) ) ) @@ -244,7 +234,7 @@ (if *target* (look-at! (-> *target* neck) - (the-as vector (-> self root-override2 root-prim prim-core)) + (the-as vector (-> self root root-prim prim-core)) (if (logtest? (-> self enemy-flags) (enemy-flag use-notice-distance)) 'attacking ) @@ -263,11 +253,9 @@ ) ((logtest? (-> self enemy-flags) (enemy-flag death-start)) (let ((s5-1 (-> self move-dest)) - (v1-47 (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data (-> self enemy-info-override neck-joint)) - ) - ) + (v1-47 + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> self enemy-info neck-joint))) + ) (a1-6 (new 'stack-no-clear 'vector)) ) (set! (-> a1-6 x) (-> s5-1 x)) @@ -283,12 +271,12 @@ (>= (- (current-time) (-> self auto-reset-penetrate-time)) (seconds 0.1)) ) (logclear! (-> self enemy-flags) (enemy-flag attackable-backup)) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (let ((v1-62 0)) - (if (logtest? (penetrate knocked) (-> self root-override2 penetrate-using)) + (if (logtest? (penetrate knocked) (-> self root penetrate-using)) (set! v1-62 (logior (shl 1 32) v1-62)) ) - (set! (-> self root-override2 penetrate-using) (the-as penetrate v1-62)) + (set! (-> self root penetrate-using) (the-as penetrate v1-62)) ) ) (if (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) @@ -301,11 +289,11 @@ (when (nonzero? v1-73) (when (>= (current-time) v1-73) (set! (-> self restore-nav-radius-time) 0) - (set! (-> self root-override2 nav-radius) (-> self nav-radius-backup)) + (set! (-> self root nav-radius) (-> self nav-radius-backup)) ) ) ) - (if (and *debug-segment* (-> self enemy-info-override debug-draw-neck) (nonzero? (-> self neck))) + (if (and *debug-segment* (-> self enemy-info debug-draw-neck) (nonzero? (-> self neck))) (joint-mod-debug-draw (-> self neck)) ) (ja-post) @@ -375,7 +363,7 @@ ) ) (track-target! obj) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -596,9 +584,9 @@ ) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) - (quaternion-set! (-> obj root-override2 quat) 0.0 (-> s5-0 x) 0.0 (+ 1.0 (-> s5-0 z))) + (quaternion-set! (-> obj root quat) 0.0 (-> s5-0 x) 0.0 (+ 1.0 (-> s5-0 z))) ) - (quaternion-normalize! (-> obj root-override2 quat)) + (quaternion-normalize! (-> obj root quat)) 0 (none) ) @@ -612,21 +600,19 @@ (let ((a2-0 (-> arg0 state))) (set! (-> v1-0 quad) (-> a2-0 velocity quad)) ) - (let ((a0-3 (-> obj root-override2 transv))) + (let ((a0-3 (-> obj root transv))) (set! (-> a0-3 x) (-> v1-0 x)) (set! (-> a0-3 z) (-> v1-0 z)) ) ) (cond - ((-> obj enemy-info-override move-to-ground) + ((-> obj enemy-info move-to-ground) (if (focus-test? obj under-water) - (enemy-method-47 obj (-> obj root-override2 transv)) - (+! (-> obj root-override2 transv y) - (* (-> obj enemy-info-override movement-gravity) (-> pp clock seconds-per-frame)) - ) + (enemy-method-47 obj (-> obj root transv)) + (+! (-> obj root transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) ) (let ((a2-3 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-14 (-> obj enemy-info-override))) + (let ((v1-14 (-> obj enemy-info))) (set! (-> a2-3 gnd-collide-with) (the-as collide-spec (-> obj gnd-collide))) (set! (-> a2-3 popup) 8192.0) (set! (-> a2-3 dont-move-if-overlaps?) #t) @@ -636,15 +622,15 @@ ) (set! (-> a2-3 overlaps-params tlist) *touching-list*) (-> a2-3 overlaps-params) - (enemy-method-128 obj (-> obj root-override2 transv) a2-3) + (enemy-method-128 obj (-> obj root transv) a2-3) ) ) (else (let ((a2-4 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a2-4 options) (overlaps-others-options oo0)) - (set! (-> a2-4 collide-with-filter) (-> obj enemy-info-override overlaps-others-collide-with-filter)) + (set! (-> a2-4 collide-with-filter) (-> obj enemy-info overlaps-others-collide-with-filter)) (set! (-> a2-4 tlist) *touching-list*) - (integrate-for-enemy-no-mtg (-> obj root-override2) (-> obj root-override2 transv) a2-4) + (integrate-for-enemy-no-mtg (-> obj root) (-> obj root transv) a2-4) ) ) ) @@ -901,7 +887,7 @@ (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> obj enemy-flags)))) ) (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> obj enemy-flags)))) - (set! (-> obj nav callback-info) (-> obj enemy-info-override callback-info)) + (set! (-> obj nav callback-info) (-> obj enemy-info callback-info)) 0 (none) ) @@ -956,9 +942,9 @@ ;; definition for method 158 of type nav-enemy (defmethod nav-enemy-method-158 nav-enemy ((obj nav-enemy) (arg0 vector)) - (let ((f1-0 (-> obj root-override2 trans y)) + (let ((f1-0 (-> obj root trans y)) (f0-0 (-> arg0 y)) - (v1-1 (-> obj fact-info-override)) + (v1-1 (-> obj fact)) ) (and (< f0-0 (+ f1-0 (-> v1-1 notice-top))) (and (< (- f1-0 (-> v1-1 notice-bottom)) f0-0) (let ((v1-3 (-> obj nav)) @@ -977,13 +963,13 @@ ;; definition for method 159 of type nav-enemy (defmethod nav-enemy-method-159 nav-enemy ((obj nav-enemy) (arg0 vector)) - (let ((f1-0 (-> obj root-override2 trans y)) + (let ((f1-0 (-> obj root trans y)) (f0-0 (-> arg0 y)) - (v1-1 (-> obj fact-info-override)) + (v1-1 (-> obj fact)) ) (and (< f0-0 (+ f1-0 (-> v1-1 notice-top))) (and (< (- f1-0 (-> v1-1 notice-bottom)) f0-0) - (is-in-mesh? (-> obj nav) arg0 (-> obj enemy-info-override notice-nav-radius)) + (is-in-mesh? (-> obj nav) arg0 (-> obj enemy-info notice-nav-radius)) ) ) ) @@ -1001,12 +987,12 @@ ) (when arg1 (let* ((f0-0 (-> arg1 y)) - (v1-4 (-> obj root-override2)) + (v1-4 (-> obj root)) (f1-0 (-> v1-4 trans y)) - (a0-2 (-> obj fact-info-override)) + (a0-2 (-> obj fact)) ) (when (and (< f0-0 (+ f1-0 (-> a0-2 notice-top))) (< (- f1-0 (-> a0-2 notice-bottom)) f0-0)) - (let* ((f30-0 (-> obj enemy-info-override notice-nav-radius)) + (let* ((f30-0 (-> obj enemy-info notice-nav-radius)) (f0-1 f30-0) ) (or (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (-> v1-4 trans) arg1)) @@ -1039,15 +1025,15 @@ (cond ((or (not s5-0) (< 6144.0 (vector-vector-distance (get-trans (the-as process-focusable s5-0) 1) (-> obj frustration-point))) - (< (-> obj enemy-info-override frustration-distance) - (vector-vector-xz-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root-override2 trans)) + (< (-> obj enemy-info frustration-distance) + (vector-vector-xz-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root trans)) ) ) (nav-enemy-method-161 obj) ) (else (when (>= (- (current-time) (-> obj frustration-time)) - (+ (-> obj reaction-time) (-> obj enemy-info-override frustration-time)) + (+ (-> obj reaction-time) (-> obj enemy-info frustration-time)) ) (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag not-frustrated) (-> obj enemy-flags)))) 0 @@ -1069,14 +1055,14 @@ ;; definition for method 163 of type nav-enemy (defmethod nav-enemy-method-163 nav-enemy ((obj nav-enemy)) (let ((v1-0 (-> obj blocked-start-time))) - (and (nonzero? v1-0) (>= (- (current-time) v1-0) (-> obj enemy-info-override blocked-time))) + (and (nonzero? v1-0) (>= (- (current-time) v1-0) (-> obj enemy-info blocked-time))) ) ) ;; definition for method 164 of type nav-enemy ;; WARN: Return type mismatch int vs none. (defmethod nav-enemy-method-164 nav-enemy ((obj nav-enemy)) - (if (-> obj enemy-info-override use-momentum) + (if (-> obj enemy-info use-momentum) (logior! (-> obj nav flags) (nav-control-flag use-momentum)) (logclear! (-> obj nav flags) (nav-control-flag use-momentum)) ) @@ -1096,7 +1082,7 @@ ) 0 (let ((v1-5 (-> obj nav))) - (set! (-> v1-5 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-5 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 0 @@ -1107,15 +1093,15 @@ ;; WARN: Return type mismatch int vs none. (defmethod nav-enemy-method-165 nav-enemy ((obj nav-enemy)) (let ((v1-0 (-> obj nav))) - (set! (-> v1-0 target-speed) (-> obj enemy-info-override walk-travel-speed)) + (set! (-> v1-0 target-speed) (-> obj enemy-info walk-travel-speed)) ) 0 (let ((v1-2 (-> obj nav))) - (set! (-> v1-2 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-2 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 (let ((v1-4 (-> obj nav))) - (set! (-> v1-4 turning-acceleration) (-> obj enemy-info-override walk-turning-acceleration)) + (set! (-> v1-4 turning-acceleration) (-> obj enemy-info walk-turning-acceleration)) ) 0 0 @@ -1126,15 +1112,15 @@ ;; WARN: Return type mismatch int vs none. (defmethod nav-enemy-method-166 nav-enemy ((obj nav-enemy)) (let ((v1-0 (-> obj nav))) - (set! (-> v1-0 target-speed) (-> obj enemy-info-override run-travel-speed)) + (set! (-> v1-0 target-speed) (-> obj enemy-info run-travel-speed)) ) 0 (let ((v1-2 (-> obj nav))) - (set! (-> v1-2 acceleration) (-> obj enemy-info-override run-acceleration)) + (set! (-> v1-2 acceleration) (-> obj enemy-info run-acceleration)) ) 0 (let ((v1-4 (-> obj nav))) - (set! (-> v1-4 turning-acceleration) (-> obj enemy-info-override run-turning-acceleration)) + (set! (-> v1-4 turning-acceleration) (-> obj enemy-info run-turning-acceleration)) ) 0 0 @@ -1146,12 +1132,10 @@ (defmethod set-enemy-info! nav-enemy ((obj nav-enemy) (arg0 nav-enemy-info)) "In addition to setting the `enemy-info`, also init the `neck-joint` if applicable from it @param info Set `enemy-info` accordingly" - (set! (-> obj enemy-info-override) arg0) + (set! (-> obj enemy-info) arg0) (set! (-> arg0 callback-info) *nav-enemy-callback-info*) - (when (and (!= (-> obj enemy-info-override neck-joint) -1) (zero? (-> obj neck))) - (set! (-> obj neck) - (new 'process 'joint-mod (joint-mod-mode flex-blend) obj (-> obj enemy-info-override neck-joint)) - ) + (when (and (!= (-> obj enemy-info neck-joint) -1) (zero? (-> obj neck))) + (set! (-> obj neck) (new 'process 'joint-mod (joint-mod-mode flex-blend) obj (-> obj enemy-info neck-joint))) (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) (set! (-> obj neck up) (the-as uint 1)) (set! (-> obj neck nose) (the-as uint 2)) @@ -1179,10 +1163,10 @@ (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (logior! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj enemy-flags) (enemy-flag notice)) - (set! (-> obj nav-radius-backup) (-> obj root-override2 nav-radius)) + (set! (-> obj nav-radius-backup) (-> obj root nav-radius)) (set-enemy-info! obj arg0) - (set! (-> obj enemy-info-override callback-info) *nav-enemy-callback-info*) - (let ((a1-2 (-> obj enemy-info-override idle-anim-script))) + (set! (-> obj enemy-info callback-info) *nav-enemy-callback-info*) + (let ((a1-2 (-> obj enemy-info idle-anim-script))) (if a1-2 (idle-control-method-9 (-> obj idle-anim-player) a1-2) ) @@ -1191,9 +1175,9 @@ (set! (-> obj draw shadow-ctrl) (new 'process 'shadow-control - (-> obj enemy-info-override shadow-min-y) - (-> obj enemy-info-override shadow-max-y) - (-> obj enemy-info-override shadow-locus-dist) + (-> obj enemy-info shadow-min-y) + (-> obj enemy-info shadow-max-y) + (-> obj enemy-info shadow-locus-dist) (shadow-flags shdf00 shdf04) 245760.0 ) @@ -1219,15 +1203,15 @@ ) 0 (let ((v1-49 (-> obj nav))) - (set! (-> v1-49 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-49 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 (let ((v1-51 (-> obj nav))) - (set! (-> v1-51 turning-acceleration) (-> obj enemy-info-override walk-turning-acceleration)) + (set! (-> v1-51 turning-acceleration) (-> obj enemy-info walk-turning-acceleration)) ) 0 (let ((v1-53 (-> obj nav))) - (set! (-> v1-53 max-rotation-rate) (-> obj enemy-info-override maximum-rotation-rate)) + (set! (-> v1-53 max-rotation-rate) (-> obj enemy-info maximum-rotation-rate)) ) 0 (nav-enemy-method-164 obj) @@ -1236,8 +1220,8 @@ (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) ) (if (logtest? (-> *game-info* secrets) (game-secrets hero-mode)) - (set! (-> obj hit-points) (* (-> obj enemy-info-override default-hit-points) 2)) - (set! (-> obj hit-points) (-> obj enemy-info-override default-hit-points)) + (set! (-> obj hit-points) (* (-> obj enemy-info default-hit-points) 2)) + (set! (-> obj hit-points) (-> obj enemy-info default-hit-points)) ) (let* ((v1-71 *game-info*) (a0-28 (+ (-> v1-71 attack-id) 1)) @@ -1252,16 +1236,16 @@ (set! (-> obj persistent-attack-id) a0-30) ) (enemy-method-124 obj) - (set! (-> obj fact-info-override) (new - 'process - 'fact-info-enemy - obj - (the-as (pointer float) (-> arg0 fact-defaults)) - (pickup-type eco-pill-random) - (-> *FACT-bank* default-eco-pill-green-inc) - ) + (set! (-> obj fact) (new + 'process + 'fact-info-enemy + obj + (the-as (pointer float) (-> arg0 fact-defaults)) + (pickup-type eco-pill-random) + (-> *FACT-bank* default-eco-pill-green-inc) + ) ) - (let ((a1-9 (if (logtest? (enemy-option multi-focus) (-> obj fact-info-override enemy-options)) + (let ((a1-9 (if (logtest? (enemy-option multi-focus) (-> obj fact enemy-options)) 1030 1026 ) @@ -1297,16 +1281,16 @@ (logior! (-> obj enemy-flags) (enemy-flag drawn-mirrored)) ) (set! (-> obj incoming attacker-handle) (the-as handle #f)) - (let ((s4-0 (-> obj root-override2))) - (set! (-> obj penetrated-by-all) (-> obj root-override2 penetrated-by)) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (let ((s4-0 (-> obj root))) + (set! (-> obj penetrated-by-all) (-> obj root penetrated-by)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (set! (-> s4-0 event-self) 'touched) ) (set! (-> obj penetrated-flinch) (-> arg0 penetrate-flinch)) (set! (-> obj penetrated-knocked) (-> arg0 penetrate-knocked)) (set! (-> obj reaction-time) (the-as time-frame (get-rand-int-range obj 30 240))) (let* ((v1-113 (-> obj enemy-flags)) - (a0-47 (-> obj fact-info-override enemy-options)) + (a0-47 (-> obj fact enemy-options)) (v1-114 (logior (enemy-flag enable-on-active checking-water @@ -1328,10 +1312,10 @@ (set! (-> obj enemy-flags) v1-114) ) (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) - (do-navigation-to-destination (-> obj nav state) (-> obj root-override2 trans)) - (if (and (-> obj enemy-info-override move-to-ground) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) + (if (and (-> obj enemy-info move-to-ground) (not (logtest? (enemy-flag vulnerable-backup) (-> obj enemy-flags))) - (not (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options))) + (not (logtest? (enemy-option ambush) (-> obj fact enemy-options))) ) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) ) @@ -1354,35 +1338,28 @@ This commonly includes things such as: (init-enemy-collision! obj) (process-drawable-from-entity! obj arg0) (init-enemy! obj) - (when (> (-> obj enemy-info-override gem-joint) 0) + (when (> (-> obj enemy-info gem-joint) 0) (cond ((or (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status save))) (not (-> obj entity)) ) (setup-masks (-> obj draw) - (the-as int (-> obj enemy-info-override gem-no-seg)) - (the-as int (-> obj enemy-info-override gem-seg)) + (the-as int (-> obj enemy-info gem-no-seg)) + (the-as int (-> obj enemy-info gem-seg)) ) ) (else (setup-masks (-> obj draw) - (the-as int (-> obj enemy-info-override gem-seg)) - (the-as int (-> obj enemy-info-override gem-no-seg)) - ) - (add-connection - *part-engine* - obj - (-> obj enemy-info-override gem-joint) - obj - 314 - (-> obj enemy-info-override gem-offset) + (the-as int (-> obj enemy-info gem-seg)) + (the-as int (-> obj enemy-info gem-no-seg)) ) + (add-connection *part-engine* obj (-> obj enemy-info gem-joint) obj 314 (-> obj enemy-info gem-offset)) ) ) ) - (let ((v1-25 (-> obj fact-info-override enemy-options))) + (let ((v1-25 (-> obj fact enemy-options))) (cond ((logtest? (enemy-option spawner) v1-25) (process-entity-status! obj (entity-perm-status dead) #t) @@ -1392,7 +1369,7 @@ This commonly includes things such as: (go (method-of-object obj view-anims)) ) ((logtest? (enemy-option dormant) v1-25) - (let ((v1-33 (-> obj root-override2 root-prim))) + (let ((v1-33 (-> obj root root-prim))) (set! (-> v1-33 prim-core collide-as) (collide-spec)) (set! (-> v1-33 prim-core collide-with) (collide-spec)) ) @@ -1401,7 +1378,7 @@ This commonly includes things such as: (go (method-of-object obj dormant)) ) ((logtest? (enemy-option dormant-aware) v1-25) - (let ((v1-43 (-> obj root-override2 root-prim))) + (let ((v1-43 (-> obj root root-prim))) (set! (-> v1-43 prim-core collide-as) (collide-spec)) (set! (-> v1-43 prim-core collide-with) (collide-spec)) ) @@ -1422,7 +1399,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defbehavior nav-enemy-simple-post nav-enemy () (track-target! self) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) 0 (none) ) @@ -1478,16 +1455,13 @@ This commonly includes things such as: (defbehavior nav-enemy-flee-post nav-enemy () (let ((a0-1 (handle->process (-> self focus handle)))) (when a0-1 - (let ((gp-1 (vector-! - (new 'stack-no-clear 'vector) - (-> self root-override2 trans) - (get-trans (the-as process-focusable a0-1) 0) - ) - ) + (let ((gp-1 + (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (get-trans (the-as process-focusable a0-1) 0)) + ) ) (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 409600.0) - (vector+! gp-1 gp-1 (-> self root-override2 trans)) + (vector+! gp-1 gp-1 (-> self root trans)) (let ((v1-10 (-> self nav state))) (logclear! (-> v1-10 flags) (nav-state-flag directional-mode)) (logior! (-> v1-10 flags) (nav-state-flag target-poly-dirty)) @@ -1510,7 +1484,7 @@ This commonly includes things such as: (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1530,21 +1504,21 @@ This commonly includes things such as: (set! (-> obj nav-radius-backup) arg0) ) (if (zero? (-> obj restore-nav-radius-time)) - (set! (-> obj root-override2 nav-radius) arg0) + (set! (-> obj root nav-radius) arg0) ) ) ;; definition for method 168 of type nav-enemy (defmethod nav-enemy-method-168 nav-enemy ((obj nav-enemy)) (if (zero? (-> obj restore-nav-radius-time)) - (set! (-> obj root-override2 nav-radius) (-> obj nav-radius-backup)) + (set! (-> obj root nav-radius) (-> obj nav-radius-backup)) ) ) ;; definition for method 144 of type nav-enemy ;; WARN: Return type mismatch int vs time-frame. (defmethod nav-enemy-method-144 nav-enemy ((obj nav-enemy)) - (set! (-> obj root-override2 nav-radius) 4.096) + (set! (-> obj root nav-radius) 4.096) (let ((s5-1 (max (-> obj restore-nav-radius-time) (+ (current-time) (get-rand-int-range obj 1500 2400))))) (set! (-> obj restore-nav-radius-time) (the-as time-frame s5-1)) (the-as time-frame s5-1) @@ -1559,7 +1533,7 @@ This commonly includes things such as: (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1590,16 +1564,16 @@ This commonly includes things such as: (defbehavior nav-enemy-turn-to-face-dir nav-enemy ((arg0 vector) (arg1 float)) (local-vars (v1-18 symbol)) (let ((s4-0 (current-time))) - (ja :group! (-> self draw art-group data (-> self enemy-info-override turn-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info turn-anim))) (ja :num-func num-func-identity :frame-num 0.0) (until v1-18 - (seek-toward-heading-vec! (-> self root-override2) arg0 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) arg0 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (loop! 0.75)) (set! v1-18 (or (>= (- (current-time) s4-0) (seconds 10)) (enemy-method-94 self arg0 arg1))) ) ) - (forward-up->quaternion (-> self root-override2 quat) arg0 *y-vector*) + (forward-up->quaternion (-> self root quat) arg0 *y-vector*) 0 (none) ) @@ -1607,7 +1581,7 @@ This commonly includes things such as: ;; definition for function nav-enemy-turn-to-face-point ;; WARN: Return type mismatch int vs none. (defbehavior nav-enemy-turn-to-face-point nav-enemy ((arg0 vector) (arg1 float)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self root-override2 trans)))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self root trans)))) (set! (-> gp-1 y) 0.0) (when (< 0.0 (vector-length gp-1)) (vector-normalize! gp-1 1.0) @@ -1621,7 +1595,7 @@ This commonly includes things such as: ;; definition for method 68 of type nav-enemy ;; WARN: Return type mismatch object vs none. (defmethod go-stare2 nav-enemy ((obj nav-enemy)) - (if (!= (-> obj enemy-info-override taunt-anim) -1) + (if (!= (-> obj enemy-info taunt-anim) -1) (go (method-of-object obj taunt)) ) (go (method-of-object obj stare)) @@ -1632,12 +1606,12 @@ This commonly includes things such as: (defmethod go-stare nav-enemy ((obj nav-enemy)) (let ((s5-0 (-> obj focus aware))) (cond - ((or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + ((or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) ) - ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info-override use-circling)) + ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info use-circling)) (go (method-of-object obj circling)) ) ((= s5-0 (enemy-aware unaware)) @@ -1653,7 +1627,7 @@ This commonly includes things such as: ;; definition for method 70 of type nav-enemy (defmethod go-hostile nav-enemy ((obj nav-enemy)) - (if (or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + (if (or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) @@ -1697,7 +1671,7 @@ This commonly includes things such as: ) (vector-rotate-y! s4-0 s4-0 (* 1820.4445 (-> gp-0 steering))) (vector-float*! s4-0 s4-0 20480.0) - (vector+! s5-0 (-> self root-override2 trans) s4-0) + (vector+! s5-0 (-> self root trans) s4-0) (let ((v1-26 (-> self nav state))) (logclear! (-> v1-26 flags) (nav-state-flag directional-mode)) (logior! (-> v1-26 flags) (nav-state-flag target-poly-dirty)) @@ -1783,7 +1757,7 @@ This commonly includes things such as: (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1797,13 +1771,10 @@ This commonly includes things such as: (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -1824,13 +1795,10 @@ This commonly includes things such as: ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1844,13 +1812,10 @@ This commonly includes things such as: (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1868,19 +1833,16 @@ This commonly includes things such as: (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-101 enemy-flags)))) ) (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-101 enemy-flags)))) - (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info-override callback-info)) + (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -1929,7 +1891,7 @@ This commonly includes things such as: (set! (-> v1-14 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-14 enemy-flags)))) ) (set! (-> v1-14 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-14 enemy-flags)))) - (set! (-> v1-14 nav callback-info) (-> v1-14 enemy-info-override callback-info)) + (set! (-> v1-14 nav callback-info) (-> v1-14 enemy-info callback-info)) ) 0 (let ((v1-17 self)) @@ -1947,13 +1909,10 @@ This commonly includes things such as: (let ((f30-0 (get-rand-float-range self 0.8 1.2)) (gp-0 (new 'stack-no-clear 'vector)) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -1965,7 +1924,7 @@ This commonly includes things such as: (let ((a1-9 (-> self nav state))) (set! (-> gp-0 quad) (-> a1-9 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1992,7 +1951,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (let ((v1-9 self)) @@ -2003,7 +1962,7 @@ This commonly includes things such as: ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) @@ -2013,7 +1972,7 @@ This commonly includes things such as: (let ((gp-0 (-> self focus aware))) (cond ((>= 1 (the-as int gp-0)) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) @@ -2026,10 +1985,8 @@ This commonly includes things such as: ) ) ) - (when (and (-> self enemy-info-override use-frustration) - (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)) - ) - (if (-> self enemy-info-override use-stop-chase) + (when (and (-> self enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> self enemy-flags))) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-stare self) ) @@ -2050,7 +2007,7 @@ This commonly includes things such as: (let ((a2-0 (-> self nav state))) (set! (-> a1-0 quad) (-> a2-0 target-post quad)) ) - (let ((f0-0 (vector-vector-distance (-> self root-override2 trans) a1-0))) + (let ((f0-0 (vector-vector-distance (-> self root trans) a1-0))) (set! (-> self state-timeout) (the-as time-frame @@ -2065,7 +2022,7 @@ This commonly includes things such as: (set! (-> v1-10 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-10 enemy-flags)))) ) (set! (-> v1-10 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-10 enemy-flags)))) - (set! (-> v1-10 nav callback-info) (-> v1-10 enemy-info-override callback-info)) + (set! (-> v1-10 nav callback-info) (-> v1-10 enemy-info callback-info)) ) 0 (let ((v1-13 self)) @@ -2077,7 +2034,7 @@ This commonly includes things such as: ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (when (>= (- (current-time) (-> self state-time)) (seconds 0.1)) @@ -2109,7 +2066,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override walk-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info walk-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) (until #f @@ -2140,7 +2097,7 @@ This commonly includes things such as: (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-9 enemy-flags)))) ) (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-9 enemy-flags)))) - (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info-override callback-info)) + (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info callback-info)) ) 0 (let ((v1-12 self)) @@ -2148,7 +2105,7 @@ This commonly includes things such as: ) 0 (nav-enemy-method-167 self) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self starting-time) (current-time)) (none) ) @@ -2166,7 +2123,7 @@ This commonly includes things such as: (set! (-> v1-4 speed) 0.0) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (if (logtest? (enemy-flag enemy-flag43) (-> self enemy-flags)) (logior! (-> self nav flags) (nav-control-flag update-heading-from-facing)) (logclear! (-> self nav flags) (nav-control-flag update-heading-from-facing)) @@ -2175,7 +2132,7 @@ This commonly includes things such as: (not (nav-enemy-method-163 self)) ) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (set! (-> gp-0 y) 0.0) (let ((v1-23 gp-0)) (let ((f0-2 1.0)) @@ -2205,7 +2162,7 @@ This commonly includes things such as: ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (let ((gp-0 (-> self focus aware))) @@ -2219,15 +2176,12 @@ This commonly includes things such as: ) ((= gp-0 (enemy-aware enemy-aware-3)) (if (and (get-enemy-target self) - (not (and (-> self enemy-info-override use-frustration) - (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)) - ) - ) + (not (and (-> self enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)))) (>= (- (current-time) (-> self starting-time)) (-> self reaction-time)) ) (go-hostile self) ) - (if (-> self enemy-info-override use-circling) + (if (-> self enemy-info use-circling) (go-virtual circling) ) ) @@ -2235,7 +2189,7 @@ This commonly includes things such as: (go-flee self) ) ((and (= gp-0 (enemy-aware enemy-aware-2)) - (-> self enemy-info-override use-pacing) + (-> self enemy-info use-pacing) (>= (- (current-time) (-> self starting-time)) (-> self reaction-time)) ) (go-virtual pacing) @@ -2248,7 +2202,7 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info idle-anim))) ) (until #f (ja-no-eval :group! gp-0 @@ -2307,7 +2261,7 @@ This commonly includes things such as: (s5-0 (current-time)) (f28-0 f30-0) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop! f28-0) :frame-num 0.0 ) @@ -2317,13 +2271,10 @@ This commonly includes things such as: ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override taunt-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info taunt-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override taunt-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info taunt-anim))) frames num-frames) -1 ) ) @@ -2355,7 +2306,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (let ((v1-9 self)) @@ -2364,7 +2315,7 @@ This commonly includes things such as: 0 (nav-enemy-method-165 self) (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self move-dest quad) (-> self root-override2 trans quad)) + (set! (-> self move-dest quad) (-> self root trans quad)) (set! (-> self state-timeout) (the-as time-frame (get-rand-int-range self 2100 3300))) (set! (-> self starting-time) (current-time)) (if (zero? (get-rand-int self 2)) @@ -2398,7 +2349,7 @@ This commonly includes things such as: (nav-enemy-method-161 self) (go-virtual hostile) ) - (if (-> self enemy-info-override use-circling) + (if (-> self enemy-info use-circling) (go-virtual circling) ) ) @@ -2411,7 +2362,7 @@ This commonly includes things such as: ) ) ) - (when (>= 1024.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest))) + (when (>= 1024.0 (vector-vector-xz-distance (-> self root trans) (-> self move-dest))) (when (and (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (zero? (get-rand-int self 3))) (nav-enemy-method-161 self) (go-stare2 self) @@ -2429,13 +2380,13 @@ This commonly includes things such as: ) ) (set! (-> s5-0 quad) (-> self focus-pos quad)) - (vector-! s4-0 (-> self root-override2 trans) s5-0) + (vector-! s4-0 (-> self root trans) s5-0) (set! (-> s4-0 y) 0.0) (vector-normalize! s4-0 (get-rand-float-range self 16384.0 49152.0)) (vector-rotate-around-y! s4-0 s4-0 f30-1) (vector+! s5-0 s5-0 s4-0) (if (and (cloest-point-on-mesh (-> self nav) s5-0 s5-0 (the-as nav-poly #f)) - (< 4096.0 (vector-vector-xz-distance s5-0 (-> self root-override2 trans))) + (< 4096.0 (vector-vector-xz-distance s5-0 (-> self root trans))) ) (return #f) ) @@ -2447,7 +2398,7 @@ This commonly includes things such as: ) :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info walk-anim))) ) (let ((v1-8 (ja-group))) (if (not (and v1-8 (= v1-8 gp-0))) @@ -2495,7 +2446,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) @@ -2510,13 +2461,13 @@ This commonly includes things such as: ) (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable gp-0) 0) quad)) ) - (let ((f30-0 (-> self enemy-info-override circle-dist-lo)) - (f28-0 (-> self enemy-info-override circle-dist-hi)) + (let ((f30-0 (-> self enemy-info circle-dist-lo)) + (f28-0 (-> self enemy-info circle-dist-hi)) ) (if (zero? (get-rand-int self 4)) (set! (-> self desired-angle) (get-rand-float-range self f30-0 f28-0)) (set! (-> self desired-angle) - (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans)) f28-0) f30-0) + (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root trans)) f28-0) f30-0) ) ) ) @@ -2538,7 +2489,7 @@ This commonly includes things such as: (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (when (>= 1 (the-as int gp-1)) (nav-enemy-method-161 self) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) @@ -2562,7 +2513,7 @@ This commonly includes things such as: ) :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info walk-anim))) ) (let ((v1-8 (ja-group))) (if (not (and v1-8 (= v1-8 gp-0))) @@ -2593,7 +2544,7 @@ This commonly includes things such as: (set! f30-0 (- f30-0)) ) (set! (-> s5-0 quad) (-> self focus-pos quad)) - (vector-! gp-0 (-> self root-override2 trans) s5-0) + (vector-! gp-0 (-> self root trans) s5-0) (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 (-> self desired-angle)) (vector+! s5-0 s5-0 gp-0) @@ -2603,9 +2554,9 @@ This commonly includes things such as: (vector+! s5-0 s5-0 gp-0) ) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override2 trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (cloest-point-on-mesh (-> self nav) gp-1 s5-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-1 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-1 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -2640,7 +2591,7 @@ This commonly includes things such as: (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (let ((v1-9 self)) @@ -2685,7 +2636,7 @@ This commonly includes things such as: (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-9 enemy-flags)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) :post nav-enemy-simple-post @@ -2717,13 +2668,10 @@ This commonly includes things such as: (local-vars (v1-37 enemy-flag) (v1-45 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -2860,12 +2808,7 @@ This commonly includes things such as: (when (or (zero? v1-0) (= v1-0 1) (= v1-0 2) (= v1-0 3)) (let ((a1-4 obj)) (if (logtest? (enemy-flag enemy-flag37) (-> a1-4 enemy-flags)) - (seek-to-point-toward-point! - (-> obj root-override2) - (-> arg1 vertex2) - (-> obj nav max-rotation-rate) - (seconds 0.02) - ) + (seek-to-point-toward-point! (-> obj root) (-> arg1 vertex2) (-> obj nav max-rotation-rate) (seconds 0.02)) ) ) ) @@ -2910,7 +2853,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'enemy-jump-info))) (let ((s5-0 0)) (enemy-method-83 self gp-0) - (if (and (-> self enemy-info-override use-jump-blocked) + (if (and (-> self enemy-info use-jump-blocked) (logtest? (enemy-flag vulnerable) (-> self enemy-flags)) (enemy-method-82 self gp-0) ) @@ -2946,7 +2889,7 @@ This commonly includes things such as: ) ) (label cfg-12) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (let ((s5-1 2)) (logior! (-> self focus-status) (focus-status in-air)) (until (enemy-method-86 self) @@ -3004,9 +2947,9 @@ This commonly includes things such as: (else (let ((a1-2 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-2 options) (overlaps-others-options)) - (set! (-> a1-2 collide-with-filter) (-> self enemy-info-override overlaps-others-collide-with-filter)) + (set! (-> a1-2 collide-with-filter) (-> self enemy-info overlaps-others-collide-with-filter)) (set! (-> a1-2 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override2) a1-2) + (find-overlapping-shapes (-> self root) a1-2) ) (nav-enemy-simple-post) ) @@ -3083,13 +3026,10 @@ This commonly includes things such as: ) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) diff --git a/test/decompiler/reference/jak2/engine/physics/rigid-body-h_REF.gc b/test/decompiler/reference/jak2/engine/physics/rigid-body-h_REF.gc index 49c3c445f0..f51dcc483e 100644 --- a/test/decompiler/reference/jak2/engine/physics/rigid-body-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/physics/rigid-body-h_REF.gc @@ -350,6 +350,7 @@ ) ;; definition for method 10 of type rigid-body-control +;; INFO: this function exists in multiple non-identical object files ;; WARN: Return type mismatch none vs object. (defmethod rigid-body-control-method-10 rigid-body-control ((obj rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float)) (the-as object (rigid-body-method-10 (-> obj state))) @@ -445,7 +446,7 @@ ;; definition of type rigid-body-object (deftype rigid-body-object (process-focusable) - ((root-override-2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info rigid-body-object-constants :offset-assert 204) (flags rigid-body-object-flag :offset-assert 208) (max-time-step float :offset-assert 216) diff --git a/test/decompiler/reference/jak2/engine/physics/rigid-body_REF.gc b/test/decompiler/reference/jak2/engine/physics/rigid-body_REF.gc index 5d6a0c5cfd..7339fbbd70 100644 --- a/test/decompiler/reference/jak2/engine/physics/rigid-body_REF.gc +++ b/test/decompiler/reference/jak2/engine/physics/rigid-body_REF.gc @@ -893,7 +893,7 @@ (+! s4-1 -1) (s3-0 arg0 f30-0) (let ((v1-2 obj) - (a1-2 (-> arg0 root-override-2)) + (a1-2 (-> arg0 root)) (f0-4 f30-0) ) (rigid-body-method-9 (-> v1-2 state) a1-2 f0-4) @@ -1005,17 +1005,17 @@ (defmethod alloc-and-init-rigid-body-control rigid-body-object ((obj rigid-body-object) (arg0 rigid-body-object-constants)) (set! (-> obj info) arg0) (set! (-> obj rbody) (new 'process 'rigid-body-control obj)) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (rigid-body-method-25 (-> obj rbody state) (-> obj info info) - (-> obj root-override-2 trans) - (-> obj root-override-2 quat) + (-> obj root trans) + (-> obj root quat) (method-of-object obj rigid-body-object-method-29) ) (rigid-body-object-method-35 obj) (set! (-> obj max-time-step) (-> arg0 extra max-time-step)) - (set! (-> obj root-override-2 max-iteration-count) (the-as uint 4)) + (set! (-> obj root max-iteration-count) (the-as uint 4)) (let ((v1-15 (-> obj skel root-channel 0))) (set! (-> v1-15 num-func) num-func-identity) (set! (-> v1-15 frame-num) 0.0) @@ -1048,7 +1048,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1114,7 +1114,7 @@ This commonly includes things such as: (rigid-body-object-method-30 obj) (do-engine-sounds obj) (let ((v1-4 (-> obj rbody)) - (a1-0 (-> obj root-override-2)) + (a1-0 (-> obj root)) ) (rigid-body-method-11 (-> v1-4 state) a1-0) ) @@ -1127,9 +1127,9 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-object-method-40 rigid-body-object ((obj rigid-body-object)) (logior! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> obj root-override-2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> obj root-override-2 backup-collide-with)) + (let ((v1-3 (-> obj root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> obj root backup-collide-with)) ) 0 (none) @@ -1139,7 +1139,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-object-method-41 rigid-body-object ((obj rigid-body-object)) (logclear! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) + (let ((v1-3 (-> obj root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1153,8 +1153,8 @@ This commonly includes things such as: (defmethod rigid-body-object-method-38 rigid-body-object ((obj rigid-body-object)) (when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) (logior! (-> obj rbody state flags) (rigid-body-flag enable-physics)) - (rigid-body-method-26 (-> obj rbody state) (-> obj root-override-2 trans) (-> obj root-override-2 quat)) - (vector-float*! (-> obj rbody state lin-momentum) (-> obj root-override-2 transv) (-> obj info info mass)) + (rigid-body-method-26 (-> obj rbody state) (-> obj root trans) (-> obj root quat)) + (vector-float*! (-> obj rbody state lin-momentum) (-> obj root transv) (-> obj info info mass)) (vector-reset! (-> obj rbody state ang-momentum)) ) 0 @@ -1211,12 +1211,12 @@ This commonly includes things such as: (set! (-> arg0 prim-id) (the-as uint 0)) (vector-reset! (-> arg0 normal)) (vector-reset! (-> arg0 velocity)) - (set! (-> arg0 point quad) (-> obj root-override-2 trans quad)) + (set! (-> arg0 point quad) (-> obj root trans quad)) (when arg1 (let ((s3-0 (-> arg1 head))) (when s3-0 - (get-intersect-point (-> arg0 point) s3-0 (-> obj root-override-2) arg1) - (let ((s5-1 (get-touched-prim s3-0 (-> obj root-override-2) arg1))) + (get-intersect-point (-> arg0 point) s3-0 (-> obj root) arg1) + (let ((s5-1 (get-touched-prim s3-0 (-> obj root) arg1))) (when s5-1 (set! (-> arg0 prim-id) (-> s5-1 prim-id)) (vector-! (-> arg0 normal) (-> arg0 point) (the-as vector (-> s5-1 prim-core))) @@ -1344,10 +1344,10 @@ This commonly includes things such as: ) ) (else - (set! (-> s5-0 velocity quad) (-> obj root-override-2 transv quad)) + (set! (-> s5-0 velocity quad) (-> obj root transv quad)) ) ) - (let ((v1-18 (-> arg0 root-override))) + (let ((v1-18 (-> arg0 root))) (set! (-> s4-0 quad) (-> v1-18 transv quad)) (vector-! (-> s5-0 velocity) (-> v1-18 transv) (-> s5-0 velocity)) ) @@ -1485,7 +1485,7 @@ This commonly includes things such as: ) (when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))) (logior! (-> obj flags) (rigid-body-object-flag player-touching player-standing-on player-contact-force)) - (set! (-> obj player-force-position quad) (-> a0-34 root-override trans quad)) + (set! (-> obj player-force-position quad) (-> a0-34 root trans quad)) (vector-reset! (-> obj player-force)) (let ((f0-4 (/ 163840.0 (get-inv-mass a0-34))) (f1-1 1.0) @@ -1507,7 +1507,7 @@ This commonly includes things such as: ) (when a0-38 (logior! (-> obj flags) (rigid-body-object-flag player-touching player-impulse-force)) - (set! (-> obj player-force-position quad) (-> a0-38 root-override trans quad)) + (set! (-> obj player-force-position quad) (-> a0-38 root trans quad)) (let ((f30-2 (* 0.00012207031 (the-as float (-> arg3 param 1)))) (f0-9 (/ 163840.0 (get-inv-mass a0-38))) ) @@ -1535,7 +1535,7 @@ This commonly includes things such as: :virtual #t :trans (behavior () (if (and *target* (and (>= (-> self info extra idle-distance) - (vector-vector-distance (-> self root-override-2 trans) (-> *target* control trans)) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) ) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) @@ -1553,12 +1553,11 @@ This commonly includes things such as: :virtual #t :event rigid-body-object-event-handler :trans (behavior () - (if (or (not *target*) - (or (< (+ 4096.0 (-> self info extra idle-distance)) - (vector-vector-distance (-> self root-override-2 trans) (-> *target* control trans)) - ) - (focus-test? *target* teleporting) - ) + (if (or (not *target*) (or (< (+ 4096.0 (-> self info extra idle-distance)) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) + ) + (focus-test? *target* teleporting) + ) ) (go-virtual idle) ) diff --git a/test/decompiler/reference/jak2/engine/process-drawable/focus_REF.gc b/test/decompiler/reference/jak2/engine/process-drawable/focus_REF.gc index 3a7580a9cc..e78f5cf220 100644 --- a/test/decompiler/reference/jak2/engine/process-drawable/focus_REF.gc +++ b/test/decompiler/reference/jak2/engine/process-drawable/focus_REF.gc @@ -42,7 +42,7 @@ ;; definition for method 10 of type focus (defmethod collide-check? focus ((obj focus) (arg0 process-focusable)) (when (and arg0 (not (logtest? (-> arg0 focus-status) (focus-status disable dead)))) - (let* ((s5-0 (-> arg0 root-override)) + (let* ((s5-0 (-> arg0 root)) (v1-2 (if (type? s5-0 collide-shape) s5-0 ) diff --git a/test/decompiler/reference/jak2/engine/process-drawable/process-focusable_REF.gc b/test/decompiler/reference/jak2/engine/process-drawable/process-focusable_REF.gc index b08ee5b5eb..23f06e226a 100644 --- a/test/decompiler/reference/jak2/engine/process-drawable/process-focusable_REF.gc +++ b/test/decompiler/reference/jak2/engine/process-drawable/process-focusable_REF.gc @@ -3,8 +3,8 @@ ;; definition of type process-focusable (deftype process-focusable (process-drawable) - ((root-override collide-shape :offset 128) - (focus-status focus-status :offset-assert 200) + ((root collide-shape :override) + (focus-status focus-status :offset-assert 200) ) :heap-base #x50 :method-count-assert 27 @@ -39,7 +39,7 @@ ;; WARN: Return type mismatch structure vs vector. (defmethod get-trans process-focusable ((obj process-focusable) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((gp-0 (-> obj root-override))) + (let ((gp-0 (-> obj root))) (the-as vector (cond ((zero? arg0) (-> gp-0 trans) @@ -60,12 +60,12 @@ ;; definition for method 22 of type process-focusable (defmethod get-transv process-focusable ((obj process-focusable)) - (-> obj root-override transv) + (-> obj root transv) ) ;; definition for method 21 of type process-focusable (defmethod get-quat process-focusable ((obj process-focusable) (arg0 int)) - (-> obj root-override quat) + (-> obj root quat) ) ;; definition for method 23 of type process-focusable diff --git a/test/decompiler/reference/jak2/engine/process-drawable/process-taskable_REF.gc b/test/decompiler/reference/jak2/engine/process-drawable/process-taskable_REF.gc index 70b0cb9a31..48b03a220b 100644 --- a/test/decompiler/reference/jak2/engine/process-drawable/process-taskable_REF.gc +++ b/test/decompiler/reference/jak2/engine/process-drawable/process-taskable_REF.gc @@ -92,7 +92,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy :enter (behavior () (set! (-> self state-time) (current-time)) (logior! (-> self draw status) (draw-control-status no-draw-bounds)) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -101,9 +101,9 @@ Seen take in - `true-func` which takes no args TODO - seems fishy ) :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw-bounds)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -170,7 +170,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy ) ) (and (not (logtest? (focus-status dead in-air in-head pole flut tube pilot mech dark) (-> *target* focus-status))) - (and (or (and (< (-> (target-pos 0) y) (+ (-> self root-override root-prim prim-core world-sphere y) (-> self talk-height))) + (and (or (and (< (-> (target-pos 0) y) (+ (-> self root root-prim prim-core world-sphere y) (-> self talk-height))) (let ((s5-0 (get-trans self 2)) (f30-0 (if (= (-> gp-0 distance) 0.0) (-> self talk-distance) @@ -288,9 +288,9 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (process-entity-status! self (entity-perm-status no-kill) #f) (logior! (-> self mask) (process-mask actor-pause)) (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-13 (-> self root-override root-prim))) - (set! (-> v1-13 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-13 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-13 (-> self root root-prim))) + (set! (-> v1-13 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-13 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -301,7 +301,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (suspend) ) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-17 (-> self root-override root-prim))) + (let ((v1-17 (-> self root root-prim))) (set! (-> v1-17 prim-core collide-as) (collide-spec)) (set! (-> v1-17 prim-core collide-with) (collide-spec)) ) @@ -368,7 +368,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -396,7 +396,7 @@ Seen take in - `true-func` which takes no args TODO - seems fishy (set! s5-0 (+ (-> v1-15 number) 1)) ) ) - (let ((v1-19 (the-as collide-shape-prim-group (-> obj root-override root-prim)))) + (let ((v1-19 (the-as collide-shape-prim-group (-> obj root root-prim)))) (set! (-> v1-19 transform-index) s5-0) (dotimes (a0-7 (the-as int (-> v1-19 num-children))) (set! (-> v1-19 child a0-7 transform-index) s5-0) @@ -439,8 +439,7 @@ This commonly includes things such as: (format (clear *temp-string*) "skel-~S" (-> obj draw art-group name)) (let ((s4-3 (s4-2 s5-1 *temp-string* (the-as (pointer uint32) #f)))) (when s4-3 - (let ((s5-2 (process-spawn manipy :init manipy-init (-> obj root-override trans) (-> obj entity) s4-3 #f 0 :to obj)) - ) + (let ((s5-2 (process-spawn manipy :init manipy-init (-> obj root trans) (-> obj entity) s4-3 #f 0 :to obj))) (send-event (ppointer->process s5-2) 'anim-mode 'mirror) (send-event (ppointer->process s5-2) 'mirror #t) ) diff --git a/test/decompiler/reference/jak2/engine/process-drawable/simple-focus_REF.gc b/test/decompiler/reference/jak2/engine/process-drawable/simple-focus_REF.gc index ce0ee2563f..91100119ce 100644 --- a/test/decompiler/reference/jak2/engine/process-drawable/simple-focus_REF.gc +++ b/test/decompiler/reference/jak2/engine/process-drawable/simple-focus_REF.gc @@ -31,7 +31,7 @@ ;; definition for method 20 of type simple-focus (defmethod get-trans simple-focus ((obj simple-focus) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (-> obj root-override trans) + (-> obj root trans) ) ;; definition for method 12 of type simple-focus @@ -48,7 +48,7 @@ :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (the-as object (case event-type (('move-trans) - (let ((v0-0 (-> self root-override trans))) + (let ((v0-0 (-> self root trans))) (set! (-> v0-0 quad) (-> (the-as vector (-> event param 0)) quad)) v0-0 ) @@ -64,7 +64,7 @@ (defbehavior simple-focus-init-by-other simple-focus () "Initializes the new [[simple-focus]]. `first-time?` will be set to [[#t]]" (let ((root (new 'process 'trsqv))) - (set! (-> self root-override) (the-as collide-shape root)) + (set! (-> self root) (the-as collide-shape root)) (vector-identity! (-> root scale)) (quaternion-identity! (-> root quat)) ) diff --git a/test/decompiler/reference/jak2/engine/process-drawable/simple-nav-sphere_REF.gc b/test/decompiler/reference/jak2/engine/process-drawable/simple-nav-sphere_REF.gc index 6d6fc84e1b..70697c31f7 100644 --- a/test/decompiler/reference/jak2/engine/process-drawable/simple-nav-sphere_REF.gc +++ b/test/decompiler/reference/jak2/engine/process-drawable/simple-nav-sphere_REF.gc @@ -3,9 +3,9 @@ ;; definition of type simple-nav-sphere (deftype simple-nav-sphere (process-drawable) - ((root-override collide-shape :offset 128) - (first-time? symbol :offset-assert 200) - (track-joint int32 :offset-assert 204) + ((root collide-shape :override) + (first-time? symbol :offset-assert 200) + (track-joint int32 :offset-assert 204) ) :heap-base #x50 :method-count-assert 22 @@ -40,12 +40,12 @@ (go empty-state) ) (('move-trans) - (move-to-point! (-> self root-override) (the-as vector (-> event param 0))) + (move-to-point! (-> self root) (the-as vector (-> event param 0))) #t ) (('set-radius) (let ((radius (the-as float (-> event param 0))) - (collide-shape (-> self root-override)) + (collide-shape (-> self root)) ) (set! (-> collide-shape nav-radius) radius) (set! (-> collide-shape root-prim local-sphere w) radius) @@ -85,8 +85,8 @@ (add-debug-sphere #t (bucket-id debug2) - (-> self root-override trans) - (-> self root-override nav-radius) + (-> self root trans) + (-> self root nav-radius) (new 'static 'rgba :r #x80 :g #x40 :a #x80) ) ) @@ -107,7 +107,7 @@ (gp-0 (new 'stack-no-clear 'vector)) ) (vector<-cspace! gp-0 (-> (the-as process-drawable v1-0) node-list data (-> self track-joint))) - (move-to-point! (-> self root-override) gp-0) + (move-to-point! (-> self root) gp-0) ) (none) ) @@ -145,7 +145,7 @@ ) 0 (update-transforms s5-0) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) (logclear! (-> self mask) (process-mask actor-pause enemy)) (set! (-> self event-hook) diff --git a/test/decompiler/reference/jak2/engine/sound/speech-h_REF.gc b/test/decompiler/reference/jak2/engine/sound/speech-h_REF.gc index 824b2791f7..88122c1287 100644 --- a/test/decompiler/reference/jak2/engine/sound/speech-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/sound/speech-h_REF.gc @@ -136,7 +136,7 @@ :flag-assert #x11000001c4 (:methods (speech-control-method-9 (_type_) none 9) - (speech-control-method-10 (_type_ int speech-type-info) none 10) + (speech-table-set! (_type_ speech-type speech-type-info) none 10) (speech-control-method-11 (_type_) none 11) (speech-control-method-12 (_type_ process-drawable speech-type) none 12) (speech-control-method-13 (_type_ handle) none 13) diff --git a/test/decompiler/reference/jak2/engine/sound/speech_REF.gc b/test/decompiler/reference/jak2/engine/sound/speech_REF.gc index c11fc060db..15eca8c293 100644 --- a/test/decompiler/reference/jak2/engine/sound/speech_REF.gc +++ b/test/decompiler/reference/jak2/engine/sound/speech_REF.gc @@ -253,7 +253,7 @@ ;; definition for method 10 of type speech-control ;; WARN: Return type mismatch int vs none. -(defmethod speech-control-method-10 speech-control ((obj speech-control) (arg0 int) (arg1 speech-type-info)) +(defmethod speech-table-set! speech-control ((obj speech-control) (arg0 speech-type) (arg1 speech-type-info)) (set! (-> obj speech-table arg0) arg1) 0 (none) @@ -295,13 +295,13 @@ (when v1-3 (cond ((focus-test? v1-3 dark) - (speech-control-method-12 obj arg0 (speech-type speech-type-3)) + (speech-control-method-12 obj arg0 (speech-type speech-type-8)) ) ((focus-test? v1-3 pilot) - (speech-control-method-12 obj arg0 (speech-type speech-type-0 speech-type-1 speech-type-2)) + (speech-control-method-12 obj arg0 (speech-type speech-type-7)) ) (else - (speech-control-method-12 obj arg0 (speech-type speech-type-1 speech-type-2)) + (speech-control-method-12 obj arg0 (speech-type speech-type-6)) ) ) ) @@ -350,162 +350,162 @@ (dotimes (s5-0 2) (speech-channel-method-12 (-> obj channel-array s5-0)) ) - (speech-control-method-10 obj 0 (new 'static 'speech-type-info - :priority 3 - :request-timeout #x12c - :min-delay #x12c - :max-delay #x12c - :list (new 'static 'boxed-array :type string) - ) - ) - (speech-control-method-10 obj 3 (new 'static 'speech-type-info - :priority 3 - :request-timeout #x12c - :min-delay #x12c - :max-delay #x12c - :list (new 'static 'boxed-array :type string - "kg136" - "kg139" - "kg140" - "kg141" - "kg142" - "kg134" - "kg157" - "kg143" - "kg156" - "kg176" - "kg177" - "kg536" - "kg551" - ) - ) - ) - (speech-control-method-10 obj 9 (new 'static 'speech-type-info - :priority 1 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg133" - "kg135" - "kg137" - "kg138" - "kg144" - "kg145" - "kg146" - "kg147" - "kg148" - "kg149" - "kg150" - "kg151" - "kg152" - "kg153" - "kg154" - "kg155" - "kg158" - "kg159" - "kg160" - "kg163" - "kg164" - "kg507" - "kg508" - "kg509" - "kg511" - "kg513" - "kg514" - "kg515" - "kg516" - "kg517" - "kg518" - "kg520" - "kg521" - "kg523" - "kg526" - "kg527" - "kg528" - "kg529" - "kg530" - "kg532" - "kg534" - "kg535" - "kg537" - "kg538" - "kg539" - "kg540" - "kg541" - "kg542" - "kg543" - "kg544" - "kg545" - "kg546" - "kg549" - "kg550" - ) - ) - ) - (speech-control-method-10 obj 10 (new 'static 'speech-type-info - :flags (speech-type-flag random-order) - :priority #xa - :request-timeout #x258 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg165" - "kg165a" - "kg165b" - "kg166" - "kg166a" - "kg166b" - "kg167" - "kg167a" - "kg167b" - "kg168" - "kg168a" - "kg168b" - "kg169" - "kg169a" - "kg169b" - "kg170" - "kg170a" - "kg170b" - "kg171" - "kg171a" - "kg171b" - "kg172" - "kg172a" - "kg172b" - "kg173" - "kg173a" - "kg173b" - "kg174" - "kg174a" - "kg174b" - "kg175" - "kg175a" - "kg175b" - "kg510" - ) - ) - ) - (speech-control-method-10 obj 11 (new 'static 'speech-type-info - :priority 2 - :min-delay #x1e - :max-delay #x1e - :list (new 'static 'boxed-array :type string - "kg386a" - "kg428a" - "kg641" - "kg650" - "kg338a" - "kg339a" - "kg340a" - "kg341a" - "kg342a" - "kg343a" - "kg344a" - "kg512" - ) - ) - ) + (speech-table-set! obj (speech-type speech-type-0) (new 'static 'speech-type-info + :priority 3 + :request-timeout #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string) + ) + ) + (speech-table-set! obj (speech-type speech-type-3) (new 'static 'speech-type-info + :priority 3 + :request-timeout #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg136" + "kg139" + "kg140" + "kg141" + "kg142" + "kg134" + "kg157" + "kg143" + "kg156" + "kg176" + "kg177" + "kg536" + "kg551" + ) + ) + ) + (speech-table-set! obj (speech-type speech-type-9) (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg133" + "kg135" + "kg137" + "kg138" + "kg144" + "kg145" + "kg146" + "kg147" + "kg148" + "kg149" + "kg150" + "kg151" + "kg152" + "kg153" + "kg154" + "kg155" + "kg158" + "kg159" + "kg160" + "kg163" + "kg164" + "kg507" + "kg508" + "kg509" + "kg511" + "kg513" + "kg514" + "kg515" + "kg516" + "kg517" + "kg518" + "kg520" + "kg521" + "kg523" + "kg526" + "kg527" + "kg528" + "kg529" + "kg530" + "kg532" + "kg534" + "kg535" + "kg537" + "kg538" + "kg539" + "kg540" + "kg541" + "kg542" + "kg543" + "kg544" + "kg545" + "kg546" + "kg549" + "kg550" + ) + ) + ) + (speech-table-set! obj (speech-type speech-type-10) (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 10 + :request-timeout #x258 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg165" + "kg165a" + "kg165b" + "kg166" + "kg166a" + "kg166b" + "kg167" + "kg167a" + "kg167b" + "kg168" + "kg168a" + "kg168b" + "kg169" + "kg169a" + "kg169b" + "kg170" + "kg170a" + "kg170b" + "kg171" + "kg171a" + "kg171b" + "kg172" + "kg172a" + "kg172b" + "kg173" + "kg173a" + "kg173b" + "kg174" + "kg174a" + "kg174b" + "kg175" + "kg175a" + "kg175b" + "kg510" + ) + ) + ) + (speech-table-set! obj (speech-type speech-type-11) (new 'static 'speech-type-info + :priority 2 + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) + :list (new 'static 'boxed-array :type string + "kg386a" + "kg428a" + "kg641" + "kg650" + "kg338a" + "kg339a" + "kg340a" + "kg341a" + "kg342a" + "kg343a" + "kg344a" + "kg512" + ) + ) + ) 0 (none) ) diff --git a/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc b/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc index 2d0e304cc4..13bd1e5ceb 100644 --- a/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/board/board-states_REF.gc @@ -3116,7 +3116,7 @@ (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) (set! (-> self control time-of-last-debug-heal) (current-time)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-board-stance) ) ) @@ -3194,22 +3194,22 @@ (go target-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-death (-> gp-0 mode)) ) ) ) (('drown-death 'sharkey 'lava 'dark-eco-pool 'melt 'instant-death 'crush 'death 'grenade 'big-explosion 'bot) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-death (-> gp-0 mode)) ) ) (('death) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) ) ) (target-hit-effect gp-0) @@ -3222,8 +3222,7 @@ ) ) ) - (when (not (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact-override)) health))) - ) + (when (not (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health)))) (when (= (-> gp-0 knock) 8) (set-quaternion! (-> self control) (-> self control dir-targ)) (set-forward-vel (* -3.0 (-> gp-0 shove-back))) @@ -3250,7 +3249,7 @@ ) (target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-board-falling-anim-trans (-> gp-0 speed)) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact-override)) health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health))) (go target-death (-> gp-0 mode)) ) ) diff --git a/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc b/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc index 39c5e05c75..21a6ca9dad 100644 --- a/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/board/board-util_REF.gc @@ -16,7 +16,7 @@ (defbehavior board-post board () (let* ((a0-0 (-> self parent)) (v1-0 (if a0-0 - (-> (the-as target (-> a0-0 0)) self-override) + (-> (the-as target (-> a0-0 0)) self) ) ) ) diff --git a/test/decompiler/reference/jak2/engine/target/board/target-board_REF.gc b/test/decompiler/reference/jak2/engine/target/board/target-board_REF.gc index bb0b6b355b..9765ecab5a 100644 --- a/test/decompiler/reference/jak2/engine/target/board/target-board_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/board/target-board_REF.gc @@ -2848,13 +2848,11 @@ "Add specified trick and point amount to trick list." (send-event (handle->process (-> obj process 0 notify)) 'notify 'trick-point arg0) (when (and (< (-> obj trick-count) 16) - (and (< 0.0 arg1) - (nonzero? (-> (the-as fact-info-target (-> obj process 0 fact-override)) trick-point-duration)) - ) + (and (< 0.0 arg1) (nonzero? (-> (the-as fact-info-target (-> obj process 0 fact)) trick-point-duration))) ) (let ((s4-0 0)) (when (>= (- (-> *display* game-clock frame-counter) - (-> (the-as fact-info-target (-> obj process 0 fact-override)) trick-point-pickup-time) + (-> (the-as fact-info-target (-> obj process 0 fact)) trick-point-pickup-time) ) (seconds 30) ) @@ -2968,43 +2966,25 @@ ;; WARN: Return type mismatch int vs none. (defmethod flush-trick-list board-info ((obj board-info)) "Flush trick list and give out points." - (with-pp - (let ((f30-0 0.0)) - (dotimes (v1-0 (-> obj trick-count)) - (+! f30-0 (-> obj trick-points-array v1-0)) - ) - (when (< 0.0 f30-0) - (send-event - (handle->process (-> obj process 0 notify)) - 'notify - 'trick-flush - f30-0 - (-> obj trick-list) - (-> obj trick-count) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) (process->ppointer pp)) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'get-pickup) - (set! (-> a1-1 param 0) (the-as uint 19)) - (set! (-> a1-1 param 1) (the-as uint f30-0)) - (let ((t9-1 send-event-function) - (v1-22 (-> obj process)) - ) - (t9-1 - (if v1-22 - (-> v1-22 0 self-override) - ) - a1-1 - ) - ) - ) - (sound-play "trick-score") - ) + (let ((f30-0 0.0)) + (dotimes (v1-0 (-> obj trick-count)) + (+! f30-0 (-> obj trick-points-array v1-0)) + ) + (when (< 0.0 f30-0) + (send-event + (handle->process (-> obj process 0 notify)) + 'notify + 'trick-flush + f30-0 + (-> obj trick-list) + (-> obj trick-count) + ) + (send-event (ppointer->process (-> obj process)) 'get-pickup 19 f30-0) + (sound-play "trick-score") ) - (set! (-> obj trick-count) 0) - 0 - 0 - (none) ) + (set! (-> obj trick-count) 0) + 0 + 0 + (none) ) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-blue-shot_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-blue-shot_REF.gc index 3332586774..d356fcf3e2 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-blue-shot_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-blue-shot_REF.gc @@ -79,7 +79,7 @@ (vector-rotate-y! s1-0 s1-0 16384.0) (vector+float*! s1-0 s5-1 s1-0 -8806.4) (set! (-> s2-0 start-pos quad) (-> s1-0 quad)) - (vector-float*! (-> s2-0 move-dist) (-> obj root-override dynam gravity-normal) -81920.0) + (vector-float*! (-> s2-0 move-dist) (-> obj root dynam gravity-normal) -81920.0) (let ((v1-11 s2-0)) (set! (-> v1-11 radius) 1228.8) (set! (-> v1-11 collide-with) (collide-spec backgnd obstacle hit-by-player-list hit-by-others-list)) @@ -98,7 +98,7 @@ ) (let ((s4-1 (get-field-spec-by-id s4-0 (sp-field-id spt-rotate-y)))) (if s4-1 - (set! (-> s4-1 initial-valuef) (y-angle (-> obj root-override))) + (set! (-> s4-1 initial-valuef) (y-angle (-> obj root))) ) ) (let ((t9-7 sp-launch-particles-var) @@ -111,7 +111,7 @@ ) (let ((s4-2 (get-field-spec-by-id (-> *part-id-table* 195) (sp-field-id spt-rotate-y)))) (if s4-2 - (set! (-> s4-2 initial-valuef) (y-angle (-> obj root-override))) + (set! (-> s4-2 initial-valuef) (y-angle (-> obj root))) ) ) (let ((t9-10 sp-launch-particles-var) @@ -138,7 +138,7 @@ (vf6 :class vf) ) (init-vf0-vector) - (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override trans) (-> obj init-pos)))) + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj init-pos)))) (draw-beam (-> *part-id-table* 191) (-> obj init-pos) s3-1 #t #t) (draw-beam (-> *part-id-table* 194) (-> obj init-pos) (-> obj starting-dir) #f #t) (let ((s5-0 (-> *part-id-table* 206)) @@ -196,7 +196,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-13) a0-19 a1-15 @@ -245,7 +245,7 @@ ;; definition for method 38 of type gun-blue-shot (defmethod made-impact? gun-blue-shot ((obj gun-blue-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -264,7 +264,7 @@ ;; WARN: Return type mismatch int vs none. (defun gun-blue-shot-move ((arg0 gun-blue-shot)) (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) 0 @@ -329,9 +329,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -345,13 +345,9 @@ "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (with-pp (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) - (set! (-> obj init-pos quad) (-> obj root-override trans quad)) + (set! (-> obj init-pos quad) (-> obj root trans quad)) (set! (-> obj init-dir quad) (-> obj starting-dir quad)) - (vector-normalize-copy! - (-> obj root-override transv) - (-> obj init-dir) - (* 327680.0 (-> pp clock frames-per-second)) - ) + (vector-normalize-copy! (-> obj root transv) (-> obj init-dir) (* 327680.0 (-> pp clock frames-per-second))) (set! (-> obj attack-mode) 'eco-blue) (set! (-> obj max-speed) (* 327680.0 (-> pp clock frames-per-second))) (set! (-> obj timeout) 1) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-dark-shot_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-dark-shot_REF.gc index e93d57404b..4d2afe1dae 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-dark-shot_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-dark-shot_REF.gc @@ -168,7 +168,7 @@ (defmethod init-proj-settings! gun-dark-shot ((obj gun-dark-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj attack-mode) 'eco-dark) - (vector-normalize! (-> obj root-override transv) (+ 225280.0 (* 225280.0 (-> obj charge-level)))) + (vector-normalize! (-> obj root transv) (+ 225280.0 (* 225280.0 (-> obj charge-level)))) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 72) obj)) (set! (-> obj blast-radius) 40960.0) (set! (-> obj size-t) 0.0) @@ -202,7 +202,7 @@ (set! (-> *part-id-table* 218 init-specs 2 initial-valuef) (lerp 409.6 8192.0 (-> obj size-t))) (set! (-> *part-id-table* 217 init-specs 1 initial-valuef) (lerp 0.1 1.0 (-> obj size-t))) (set! (-> *part-id-table* 217 init-specs 2 initial-valuef) (lerp 409.6 3686.4 (-> obj size-t))) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) ) (ja-post) @@ -249,7 +249,7 @@ ((or (< (- (current-time) (-> self state-time)) (seconds 0.3)) (cpad-hold? 0 r1)) (set! (-> self size-t) (fmin 1.0 (* 0.016666668 (the float (- (current-time) (-> self state-time)))))) (let ((t9-1 vector<-cspace!) - (a0-13 (-> self root-override trans)) + (a0-13 (-> self root trans)) (v1-26 (-> self parent)) ) (t9-1 a0-13 (-> (the-as process-drawable (if v1-26 @@ -276,7 +276,7 @@ (none) ) :post (behavior () - (sound-play "pmkr-charge" :id (-> self charge-sound) :position (-> self root-override trans)) + (sound-play "pmkr-charge" :id (-> self charge-sound) :position (-> self root trans)) (spawn-impact-particles self) (none) ) @@ -291,7 +291,7 @@ (t9-0) ) ) - (set! (-> self core-position quad) (-> self root-override trans quad)) + (set! (-> self core-position quad) (-> self root trans quad)) (let ((v1-5 (-> self core-velocity)) (a0-3 (-> self parent)) ) @@ -342,7 +342,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-18 a1-4 @@ -357,7 +357,7 @@ (-> gp-2 ppointer) ) ) - (draw-beam (-> *part-id-table* 210) (-> self root-override trans) (-> self core-velocity) #f #t) + (draw-beam (-> *part-id-table* 210) (-> self root trans) (-> self core-velocity) #f #t) (none) ) :trans (behavior () @@ -415,14 +415,14 @@ ) ) (vector-cross! (the-as vector (-> s5-0 vector)) (-> s5-0 vector 1) (-> s5-0 vector 2)) - (matrix->quaternion (-> self root-override quat) s5-0) + (matrix->quaternion (-> self root quat) s5-0) ) (vector+! (-> self core-position) (-> self core-position) (-> self core-velocity)) (vector+! gp-0 (-> self core-position) (-> self spin-vector)) - (vector-! (-> self root-override transv) gp-0 (-> self root-override trans)) + (vector-! (-> self root transv) gp-0 (-> self root trans)) ) - (let ((v1-31 (-> self root-override transv))) - (.lvf vf1 (&-> (-> self root-override transv) quad)) + (let ((v1-31 (-> self root transv))) + (.lvf vf1 (&-> (-> self root transv) quad)) (let ((f0-12 (-> self clock frames-per-second))) (.mov at-0 f0-12) ) @@ -432,11 +432,11 @@ (.svf (&-> v1-31 quad) vf1) ) (projectile-move-fill-line-sphere self) - (if (logtest? (-> self root-override status) (collide-status touch-surface)) + (if (logtest? (-> self root status) (collide-status touch-surface)) (go-virtual impact) ) - (sound-play "pmkr-fire" :id (-> self fire-sound) :position (-> self root-override trans)) - (sound-play "pmkr-trail" :id (-> self trail-sound) :position (-> self root-override trans)) + (sound-play "pmkr-fire" :id (-> self fire-sound) :position (-> self root trans)) + (sound-play "pmkr-trail" :id (-> self trail-sound) :position (-> self root trans)) (none) ) ) @@ -569,7 +569,7 @@ (a1-1 (-> *part-id-table* 215)) (a2-1 *launch-matrix*) ) - (set! (-> a2-1 trans quad) (-> self root-override trans quad)) + (set! (-> a2-1 trans quad) (-> self root trans quad)) (t9-2 a0-3 a1-1 a2-1 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) (let ((t9-3 sp-launch-particles-var) @@ -577,7 +577,7 @@ (a1-2 (-> *part-id-table* 216)) (a2-2 *launch-matrix*) ) - (set! (-> a2-2 trans quad) (-> self root-override trans quad)) + (set! (-> a2-2 trans quad) (-> self root trans quad)) (t9-3 a0-4 a1-2 a2-2 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) (let ((gp-0 (-> *part-id-table* 430))) @@ -591,7 +591,7 @@ (a0-8 *sp-particle-system-2d*) (a2-3 *launch-matrix*) ) - (set! (-> a2-3 trans quad) (-> self root-override trans quad)) + (set! (-> a2-3 trans quad) (-> self root trans quad)) (t9-5 a0-8 gp-0 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) ) ) @@ -628,10 +628,10 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (let ((v1-16 (-> self root-override root-prim))) + (set! (-> self root trans quad) (-> arg0 quad)) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) @@ -686,14 +686,14 @@ ) ) ) - (let ((v1-16 (-> self root-override root-prim))) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) 0 (let ((gp-1 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-1 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-1 spawn-quat) (-> self root-override quat)) + (set! (-> gp-1 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-1 spawn-quat) (-> self root quat)) (set! (-> gp-1 radius) 36864.0) (set! (-> gp-1 group) (-> *part-group-id-table* 71)) (set! (-> gp-1 collide-with) @@ -712,7 +712,7 @@ ) (a1-8 (new 'stack-no-clear 'sphere)) ) - (set! (-> a1-8 quad) (-> self root-override trans quad)) + (set! (-> a1-8 quad) (-> self root trans quad)) (set! (-> a1-8 r) (-> self blast-radius)) (let ((gp-2 (fill-actor-list-for-sphere *actor-hash* a1-8 (-> s3-0 data) (-> s3-0 allocated-length)))) (let ((s1-0 (the-as process-drawable #f)) @@ -736,7 +736,7 @@ (not (logtest? (process-mask no-track) (-> s0-0 mask))) ) (set! sv-288 (get-trans (the-as process-focusable s0-0) 3)) - (let ((f28-0 (- (vector-vector-distance (-> self root-override trans) sv-288) (-> sv-288 w)))) + (let ((f28-0 (- (vector-vector-distance (-> self root trans) sv-288) (-> sv-288 w)))) (set! sv-304 s0-0) (if (and (not (if (type? sv-304 crate) sv-304 @@ -789,7 +789,7 @@ (go-virtual fizzle) ) (if s5-1 - (process-spawn gun-dark-shot :init gun-dark-shot-init-fizzle (-> self root-override trans)) + (process-spawn gun-dark-shot :init gun-dark-shot-init-fizzle (-> self root trans)) ) ) (countdown (s5-3 gp-2) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-red-shot_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-red-shot_REF.gc index 1711b81770..ad09bef233 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-red-shot_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-red-shot_REF.gc @@ -3,15 +3,15 @@ ;; definition of type gun-red-shot (deftype gun-red-shot (process-drawable) - ((root-override collide-shape-moving :offset 128) - (probe-count int32 :offset-assert 200) - (probe-mask uint32 :offset-assert 204) - (actor-count int32 :offset-assert 208) - (attack-id uint32 :offset-assert 212) - (start-pos vector :inline :offset-assert 224) - (start-dir vector :inline :offset-assert 240) - (start-rot vector :inline :offset-assert 256) - (probe-dir vector 19 :inline :offset-assert 272) + ((root collide-shape-moving :override) + (probe-count int32 :offset-assert 200) + (probe-mask uint32 :offset-assert 204) + (actor-count int32 :offset-assert 208) + (attack-id uint32 :offset-assert 212) + (start-pos vector :inline :offset-assert 224) + (start-dir vector :inline :offset-assert 240) + (start-rot vector :inline :offset-assert 256) + (probe-dir vector 19 :inline :offset-assert 272) ) :heap-base #x1c0 :method-count-assert 30 @@ -280,7 +280,7 @@ (vector-float*! s5-0 s5-0 43417.6) (vector+! s5-0 s5-0 (-> obj start-pos)) (set! (-> s5-0 w) 43827.2) - (let ((s4-0 (-> obj root-override root-prim prim-core collide-with))) + (let ((s4-0 (-> obj root root-prim prim-core collide-with))) (set! *actor-list-length* 0) (if (logtest? s4-0 (collide-spec hit-by-others-list)) (set! *actor-list-length* (fill-actor-list-for-sphere *actor-hash* (the-as sphere s5-0) *actor-list* 256)) @@ -414,7 +414,7 @@ (vf2 :class vf) ) (init-vf0-vector) - (let ((gp-0 (-> obj root-override))) + (let ((gp-0 (-> obj root))) (let ((v1-0 (new 'stack-no-clear 'collide-query))) (set! (-> gp-0 trans quad) (-> obj start-pos quad)) (vector-float*! (-> gp-0 transv) arg0 61440.0) @@ -451,7 +451,7 @@ ;; definition for method 24 of type gun-red-shot (defmethod gun-red-shot-method-24 gun-red-shot ((obj gun-red-shot)) - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a1-0 t1-0)) @@ -574,14 +574,14 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set! (-> s5-1 trans quad) (-> arg0 quad)) (quaternion-copy! (-> s5-1 quat) (-> (the-as process-drawable (-> self parent 0)) root quat)) (vector-identity! (-> s5-1 scale)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (set! (-> self event-hook) gun-red-shot-event-handler) (set! (-> self mask) (logior (process-mask projectile) (-> self mask))) (logclear! (-> self mask) (process-mask enemy)) @@ -624,7 +624,7 @@ ) (draw-beam (-> *part-id-table* 187) (-> self start-pos) (-> self start-dir) #f #t) (sound-play "red-shot-fire") - (vector-float*! (-> self root-override transv) (-> self start-dir) 61440.0) + (vector-float*! (-> self root transv) (-> self start-dir) 61440.0) (the-as gun-red-shot (if (gun-red-shot-method-24 self) (go-virtual blocked) (go-virtual idle) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc index 1024a719fc..f4454d6e43 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-util_REF.gc @@ -39,9 +39,9 @@ (let ((t9-3 (method-of-type projectile-bounce init-proj-settings!))) (t9-3 obj) ) - (quaternion-copy! (-> obj root-override quat) (-> (the-as gun (-> obj parent 0)) root quat)) + (quaternion-copy! (-> obj root quat) (-> (the-as gun (-> obj parent 0)) root quat)) (set! (-> obj timeout) (seconds 4)) - (set! (-> (the-as collide-shape (-> obj root-override)) root-prim local-sphere w) 3276.8) + (set! (-> (the-as collide-shape (-> obj root)) root-prim local-sphere w) 3276.8) (logclear! (-> obj mask) (process-mask projectile)) 0 (none) @@ -1051,12 +1051,7 @@ (let ((v1-13 s4-0)) (set! (-> v1-13 radius) (-> obj track-beam-size)) (set! (-> v1-13 collide-with) (-> obj process 0 control root-prim prim-core collide-with)) - (let ((a0-9 (-> obj process))) - (set! (-> v1-13 ignore-process0) (if a0-9 - (-> a0-9 0 self-override) - ) - ) - ) + (set! (-> v1-13 ignore-process0) (ppointer->process (-> obj process))) (set! (-> v1-13 ignore-process1) #f) (set! (-> v1-13 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) diff --git a/test/decompiler/reference/jak2/engine/target/gun/gun-yellow-shot_REF.gc b/test/decompiler/reference/jak2/engine/target/gun/gun-yellow-shot_REF.gc index 59579f8ec4..894d2e8d0f 100644 --- a/test/decompiler/reference/jak2/engine/target/gun/gun-yellow-shot_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/gun/gun-yellow-shot_REF.gc @@ -99,7 +99,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s4-0 (-> obj root-override trans)) + (let* ((s4-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) s4-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -214,7 +214,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -251,7 +251,7 @@ (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-1 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-6 a1-5 @@ -287,7 +287,7 @@ (sound-play "yellow-shot-fiz") ) (else - (sound-play "yellow-shot-std" :id (-> obj sound-id) :position (-> obj root-override trans)) + (sound-play "yellow-shot-std" :id (-> obj sound-id) :position (-> obj root trans)) ) ) ) @@ -297,7 +297,7 @@ ;; definition for method 38 of type gun-yellow-shot (defmethod made-impact? gun-yellow-shot ((obj gun-yellow-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a0-1 t1-0)) @@ -309,7 +309,7 @@ (set! (-> a0-1 action-mask) (collide-action solid)) ) (when (fill-and-try-snap-to-surface v1-0 (-> v1-0 transv) -10240.0 12697.6 -4096.0 t1-0) - (if (logtest? (-> obj root-override status) (collide-status touch-actor)) + (if (logtest? (-> obj root status) (collide-status touch-actor)) (set! (-> obj hit-actor?) #t) ) #t @@ -322,7 +322,7 @@ ;; WARN: Return type mismatch int vs none. (defun gun-yellow-shot-move ((arg0 gun-yellow-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -333,7 +333,7 @@ ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (let ((v1-14 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> arg0 tail-pos) (-> s5-0 trans)) 2048.0)) @@ -341,7 +341,7 @@ ) (set! (-> a1-5 quad) (-> s5-0 trans quad)) (vector+! a1-5 a1-5 v1-14) - (move-to-point! (-> arg0 root-override) a1-5) + (move-to-point! (-> arg0 root) a1-5) ) (go (method-of-object arg0 impact)) ) @@ -395,9 +395,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -410,7 +410,7 @@ (defmethod init-proj-settings! gun-yellow-shot ((obj gun-yellow-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj max-speed) 819200.0) diff --git a/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc b/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc index e87a0a6837..f3fd5a7ca5 100644 --- a/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/logic-target_REF.gc @@ -9,8 +9,8 @@ (set! (-> self control time-of-last-surface-change) (current-time)) ) (surface-mult! (-> self control current-surface) (-> self control mod-surface) (-> self control surf)) - (when (and (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 3) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) + (when (and (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 3) + (>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0) ) (or (= (-> self control mod-surface name) 'run) (= (-> self control mod-surface name) 'jump)) ) @@ -2253,14 +2253,14 @@ (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((s4-1 (vector+float*! (new 'stack-no-clear 'vector) - (-> (the-as swingpole s2-0) root-override trans) + (-> (the-as swingpole s2-0) root trans) gp-0 (the-as float (-> (the-as swingpole s2-0) edge-length)) ) ) (s3-1 (vector+float*! (new 'stack-no-clear 'vector) - (-> (the-as swingpole s2-0) root-override trans) + (-> (the-as swingpole s2-0) root trans) gp-0 (- (-> (the-as swingpole s2-0) edge-length)) ) @@ -2283,7 +2283,7 @@ (add-debug-vector #t (bucket-id debug-no-zbuf1) - (-> (the-as swingpole s2-0) root-override trans) + (-> (the-as swingpole s2-0) root trans) (-> (the-as swingpole s2-0) dir) (meters 3) (new 'static 'rgba :r #xff :b #xff :a #x80) @@ -3320,7 +3320,7 @@ (set! (-> obj leg-ik 1 elbow-rotation-axis) (the-as uint 0)) (set! (-> obj foot 0) (new 'process 'joint-mod (joint-mod-mode foot-rot) obj 29)) (set! (-> obj foot 1) (new 'process 'joint-mod (joint-mod-mode foot-rot) obj 36)) - (set! (-> obj fact-override) + (set! (-> obj fact) (new 'process 'fact-info-target obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) ) (target-gun-setup (logtest? (-> obj game features) (game-feature gun))) diff --git a/test/decompiler/reference/jak2/engine/target/mech_suit/carry-h_REF.gc b/test/decompiler/reference/jak2/engine/target/mech_suit/carry-h_REF.gc index 97410899b8..6939fed944 100644 --- a/test/decompiler/reference/jak2/engine/target/mech_suit/carry-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech_suit/carry-h_REF.gc @@ -286,74 +286,28 @@ Returns `-1.0` if it exceeds the maximum allowed" (-> arg0 local-point z) ) ) - (let* ((t9-13 change-parent) - (v1-42 (-> arg0 process)) - (a0-28 (if v1-42 - (-> v1-42 0 self-override) - ) - ) - (v1-44 (-> obj process)) - ) - (t9-13 a0-28 (if v1-44 - (-> v1-44 0 self-override) - ) - ) - ) - (let* ((v1-46 (-> arg0 process)) - (v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-46 - (-> v1-46 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) - (let ((a0-30 (-> v1-49 prim-core collide-as)) - (a1-25 (-> arg0 process)) + (change-parent (ppointer->process (-> arg0 process)) (ppointer->process (-> obj process))) + (let ((v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-as + ) + (-> v1-49 prim-core collide-as) ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a1-25 - (-> a1-25 0 self-override) - ) - ) - root - ) - ) - backup-collide-as - ) - a0-30 - ) - ) - (let ((v1-50 (-> v1-49 prim-core collide-with)) - (a0-31 (-> arg0 process)) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-with + ) + (-> v1-49 prim-core collide-with) ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a0-31 - (-> a0-31 0 self-override) - ) - ) - root - ) - ) - backup-collide-with - ) - v1-50 - ) - ) ) - (let* ((v1-51 (-> arg0 process)) - (v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-51 - (-> v1-51 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) + (let ((v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) (set! (-> v1-54 prim-core collide-as) (collide-spec)) (set! (-> v1-54 prim-core collide-with) (collide-spec)) ) @@ -381,54 +335,23 @@ Returns `-1.0` if it exceeds the maximum allowed" ) (set! (-> obj other) (the-as handle #f)) (set! (-> arg0 other) (the-as handle #f)) - (let ((t9-3 change-parent) - (v1-11 (-> arg0 process)) - ) - (t9-3 - (if v1-11 - (-> v1-11 0 self-override) + (change-parent (ppointer->process (-> arg0 process)) *entity-pool*) + (let ((v1-16 + (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) + (set! (-> v1-16 prim-core collide-as) + (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-as + ) + ) + (set! (-> v1-16 prim-core collide-with) + (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-with + ) ) - *entity-pool* - ) - ) - (let* ((v1-13 (-> arg0 process)) - (v1-16 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-13 - (-> v1-13 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) - (let ((a0-8 (-> arg0 process))) - (set! (-> v1-16 prim-core collide-as) - (-> (the-as collide-shape (-> (the-as process-drawable (if a0-8 - (-> a0-8 0 self-override) - ) - ) - root - ) - ) - backup-collide-as - ) - ) - ) - (let ((a0-12 (-> arg0 process))) - (set! (-> v1-16 prim-core collide-with) - (-> (the-as collide-shape (-> (the-as process-drawable (if a0-12 - (-> a0-12 0 self-override) - ) - ) - root - ) - ) - backup-collide-with - ) - ) - ) ) 0 (none) @@ -555,74 +478,28 @@ Returns `-1.0` if it exceeds the maximum allowed" ) ) (vector+float*! arg1 (-> arg0 point) arg2 (- (-> arg0 carry-radius))) - (let* ((t9-7 change-parent) - (v1-42 (-> arg0 process)) - (a0-30 (if v1-42 - (-> v1-42 0 self-override) - ) - ) - (v1-44 (-> obj process)) - ) - (t9-7 a0-30 (if v1-44 - (-> v1-44 0 self-override) - ) + (change-parent (ppointer->process (-> arg0 process)) (ppointer->process (-> obj process))) + (let ((v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-as + ) + (-> v1-49 prim-core collide-as) + ) + (set! (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + backup-collide-with + ) + (-> v1-49 prim-core collide-with) ) ) - (let* ((v1-46 (-> arg0 process)) - (v1-49 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-46 - (-> v1-46 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) - (let ((a0-32 (-> v1-49 prim-core collide-as)) - (a1-7 (-> arg0 process)) - ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a1-7 - (-> a1-7 0 self-override) - ) - ) - root - ) - ) - backup-collide-as - ) - a0-32 - ) - ) - (let ((v1-50 (-> v1-49 prim-core collide-with)) - (a0-33 (-> arg0 process)) - ) - (set! (-> (the-as collide-shape (-> (the-as process-drawable (if a0-33 - (-> a0-33 0 self-override) - ) - ) - root - ) - ) - backup-collide-with - ) - v1-50 - ) - ) - ) - (let* ((v1-51 (-> arg0 process)) - (v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (if v1-51 - (-> v1-51 0 self-override) - ) - ) - root - ) - ) - root-prim - ) - ) - ) + (let ((v1-54 (-> (the-as collide-shape (-> (the-as process-drawable (ppointer->process (-> arg0 process))) root)) + root-prim + ) + ) + ) (set! (-> v1-54 prim-core collide-as) (collide-spec)) (set! (-> v1-54 prim-core collide-with) (collide-spec)) ) diff --git a/test/decompiler/reference/jak2/engine/target/mech_suit/grunt-mech_REF.gc b/test/decompiler/reference/jak2/engine/target/mech_suit/grunt-mech_REF.gc index 0026912f67..b1bdb47a3c 100644 --- a/test/decompiler/reference/jak2/engine/target/mech_suit/grunt-mech_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech_suit/grunt-mech_REF.gc @@ -257,7 +257,7 @@ (grunt-mech-info-method-10 s4-0) (let ((gp-0 -1)) (let ((f30-0 0.0) - (s3-0 (-> obj root-override2 trans)) + (s3-0 (-> obj root trans)) ) (countdown (s2-0 4) (let ((s1-0 (-> s4-0 holds s2-0))) @@ -267,7 +267,7 @@ (set! (-> s0-0 quad) (-> s1-0 world-mat vector 2 quad)) (set! (-> s0-0 y) 0.0) (vector-normalize! s0-0 1.0) - (vector-! sv-592 (-> s1-0 world-mat trans) (-> obj root-override2 trans)) + (vector-! sv-592 (-> s1-0 world-mat trans) (-> obj root trans)) (set! (-> sv-592 y) 0.0) (vector-normalize! sv-592 1.0) (let ((f0-2 (-> sv-592 x)) @@ -298,7 +298,7 @@ (let ((s3-1 (-> s4-0 holds gp-0 lower-hold))) (when (!= s3-1 -1) (if (and (or (zero? (get-rand-int obj 2)) - (>= 14336.0 (vector-vector-xz-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (>= 14336.0 (vector-vector-xz-distance-squared (-> obj root trans) (target-pos 0))) ) (grunt-mech-info-method-9 s4-0 s3-1 obj #t) ) @@ -307,7 +307,7 @@ ) ) (let ((a1-9 (new 'stack-no-clear 'collide-query))) - (set! (-> a1-9 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> a1-9 start-pos quad) (-> obj root trans quad)) (set! (-> a1-9 start-pos y) (+ 6144.0 (-> a1-9 start-pos y))) (vector-! (-> a1-9 move-dist) @@ -348,7 +348,7 @@ (let ((v1-4 (get-trans gp-0 0)) (a1-2 (new 'stack-no-clear 'vector)) ) - (vector-! a1-2 v1-4 (-> obj root-override2 trans)) + (vector-! a1-2 v1-4 (-> obj root trans)) (.lvf vf1 (&-> a1-2 quad)) ) (.add.w.vf vf2 vf0 vf0 :mask #b1) @@ -402,13 +402,13 @@ ) 0 (nav-enemy-method-167 self) - (set! (-> self dismount-dest quad) (-> self root-override2 trans quad)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (set! (-> self dismount-dest quad) (-> self root trans quad)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :exit (behavior () (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :trans (behavior () @@ -418,8 +418,8 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) - (set! (-> gp-0 vector 1 quad) (-> self root-override2 trans quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) + (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 48) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 48)) frames num-frames) -1)) @@ -434,12 +434,12 @@ (matrix->quaternion (the-as quaternion (-> gp-0 vector 2)) (-> s5-1 world-mat)) (let ((f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 0.0 6.0))) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 2)) f30-0 ) - (vector-lerp! (-> self root-override2 trans) (-> gp-0 vector 1) (-> s5-1 world-mat trans) f30-0) + (vector-lerp! (-> self root trans) (-> gp-0 vector 1) (-> s5-1 world-mat trans) f30-0) ) ) ) @@ -459,7 +459,7 @@ (let ((gp-0 *grunt-mech-info*)) (grunt-mech-info-method-10 gp-0) (let ((v1-5 (-> gp-0 holds (-> self hold-id))) - (a0-2 (-> self root-override2)) + (a0-2 (-> self root)) ) (set! (-> a0-2 trans quad) (-> v1-5 world-mat trans quad)) (matrix->quaternion (-> a0-2 quat) (-> v1-5 world-mat)) @@ -480,7 +480,7 @@ ) (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'nav-avoid-spheres-params))) - (vector-! (-> s5-0 current-pos) (-> obj root-override2 trans) (-> obj nav state mesh bounds)) + (vector-! (-> s5-0 current-pos) (-> obj root trans) (-> obj nav state mesh bounds)) (vector-normalize-copy! (-> s5-0 travel) arg0 (the-as float arg1)) (set! (-> s5-0 pref-dir quad) (-> s5-0 travel quad)) (avoid-spheres-1! (-> obj nav) s5-0) @@ -488,7 +488,7 @@ (let ((t0-0 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info))) (clamp-vector-to-mesh-no-gaps (-> obj nav) - (-> obj root-override2 trans) + (-> obj root trans) (-> obj nav state current-poly) (the-as vector (-> s5-0 out-travel)) t0-0 @@ -510,7 +510,7 @@ (set! (-> a1-3 w) (-> obj nav-radius-backup)) (when (not (add-root-sphere-to-hash! (-> obj nav) a1-3 #x80068)) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector+! s4-1 (-> obj root-override2 trans) (the-as vector (-> s5-0 out-travel))) + (vector+! s4-1 (-> obj root trans) (the-as vector (-> s5-0 out-travel))) (let ((s5-1 (new 'stack-no-clear 'collide-query))) (when (enemy-above-ground? obj s5-1 s4-1 (the-as collide-spec (-> obj gnd-collide)) 4096.0 122880.0 1024.0) (set! (-> s4-1 y) (-> s5-1 best-other-tri intersect y)) @@ -530,7 +530,7 @@ ;; definition for method 192 of type grunt-mech (defmethod grunt-mech-method-192 grunt-mech ((obj grunt-mech)) - (do-navigation-to-destination (-> obj nav state) (-> obj root-override2 trans)) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) (let ((a1-1 *target*)) (if (or (not a1-1) (not (logtest? (focus-status mech) (-> a1-1 focus-status)))) (return #t) @@ -575,7 +575,7 @@ ) ) (label cfg-16) - (let ((a0-15 (-> obj root-override2 trans))) + (let ((a0-15 (-> obj root trans))) (if (or (>= 0.0 (- (-> a0-15 y) (-> obj dismount-dest y))) (let ((f0-4 40960.0)) (< (* f0-4 f0-4) (vector-vector-xz-distance-squared a0-15 (-> obj dismount-dest))) @@ -628,19 +628,19 @@ :enter (behavior () (set! (-> self state-time) (current-time)) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) - (set! (-> self root-override2 root-prim prim-core collide-as) (collide-spec)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec)) (stop-looking-at-target! self) (set! (-> self state-timeout) (+ (current-time) (get-rand-int-range self 450 900))) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :exit (behavior () (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :trans (behavior () @@ -771,7 +771,7 @@ :event (the-as (function process int symbol event-message-block object :behavior grunt-mech) enemy-event-handler) :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override2 root-prim prim-core collide-as) (collide-spec)) + (set! (-> self root root-prim prim-core collide-as) (collide-spec)) (let* ((v1-4 (-> self nav)) (a1-0 (-> self dismount-dest)) (f0-0 (-> v1-4 extra-nav-sphere w)) @@ -788,30 +788,30 @@ (logior! (-> v1-9 shape nav-flags) (nav-flags has-extra-sphere)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((v1-2 (-> self nav))) (logclear! (-> v1-2 shape nav-flags) (nav-flags has-extra-sphere)) ) 0 - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :code (behavior () (ja-channel-push! 1 (seconds 0.07)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (vector-! (-> gp-0 vector 1) (-> self root-override2 trans) (-> self dismount-dest)) + (vector-! (-> gp-0 vector 1) (-> self root trans) (-> self dismount-dest)) (set! (-> gp-0 vector 1 y) 0.0) (vector-normalize! (-> gp-0 vector 1) 1.0) (quaternion-look-at! (the-as quaternion (-> gp-0 vector 2)) (-> gp-0 vector 1) *up-vector*) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) - (set! (-> gp-0 vector 1 quad) (-> self root-override2 trans quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) + (set! (-> gp-0 vector 1 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 54) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 54)) frames num-frames) -1))) :frame-num 0.0 @@ -819,20 +819,20 @@ (until (ja-done? 0) (let ((f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) 33.0 41.0))) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 2)) f30-0 ) - (vector-lerp! (-> self root-override2 trans) (-> gp-0 vector 1) (-> self dismount-dest) f30-0) + (vector-lerp! (-> self root trans) (-> gp-0 vector 1) (-> self dismount-dest) f30-0) ) (suspend) (ja :num! (seek!)) ) ) - (let ((v1-32 (-> self root-override2 root-prim))) - (set! (-> v1-32 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-32 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-32 (-> self root root-prim))) + (set! (-> v1-32 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-32 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((v1-33 (-> self nav))) (logclear! (-> v1-33 shape nav-flags) (nav-flags has-extra-sphere)) @@ -880,7 +880,7 @@ (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (when (>= 1 (the-as int gp-1)) (nav-enemy-method-161 self) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) diff --git a/test/decompiler/reference/jak2/engine/target/mech_suit/mech-states_REF.gc b/test/decompiler/reference/jak2/engine/target/mech_suit/mech-states_REF.gc index 512a919b40..de72af68a3 100644 --- a/test/decompiler/reference/jak2/engine/target/mech_suit/mech-states_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech_suit/mech-states_REF.gc @@ -1044,7 +1044,7 @@ (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) (set! (-> self control time-of-last-debug-heal) (current-time)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-mech-stance) ) ) @@ -1119,14 +1119,14 @@ (go target-mech-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-mech-death (-> gp-0 mode)) ) ) ) ) (target-hit-effect gp-0) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-mech-death (-> gp-0 mode)) ) (else diff --git a/test/decompiler/reference/jak2/engine/target/mech_suit/mech_REF.gc b/test/decompiler/reference/jak2/engine/target/mech_suit/mech_REF.gc index 685666bf55..6be5913453 100644 --- a/test/decompiler/reference/jak2/engine/target/mech_suit/mech_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/mech_suit/mech_REF.gc @@ -8,7 +8,7 @@ ;; definition of type mech (deftype mech (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (extra-trans vector :inline :offset-assert 208) (condition int32 :offset-assert 224) (shadow-backup basic :offset-assert 228) @@ -54,7 +54,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod mech-method-24 mech ((obj mech)) (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) (update! (-> obj sound)) 0 @@ -92,18 +92,11 @@ ) (('touch) (send-event proc 'target-mech-get-off 90) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) (the-as structure #f) ) (('trans) - (vector+! (the-as vector (-> event param 0)) (-> self root-override trans) (-> self extra-trans)) + (vector+! (the-as vector (-> event param 0)) (-> self root trans) (-> self extra-trans)) ) (('shadow) (cond @@ -123,8 +116,8 @@ ) ) :exit (behavior () - (set! (-> self root-override root-prim prim-core action) (collide-action)) - (set! (-> self root-override penetrated-by) (the-as penetrate -1)) + (set! (-> self root root-prim prim-core action) (collide-action)) + (set! (-> self root penetrated-by) (the-as penetrate -1)) (none) ) :code (behavior () @@ -139,12 +132,12 @@ :event (-> (method-of-type mech wait-for-start) event) :enter (behavior () (set! (-> self nav-sphere-handle) (the-as uint #f)) - (let ((s5-0 (find-nearest-nav-mesh (-> self root-override trans) 8192.0))) + (let ((s5-0 (find-nearest-nav-mesh (-> self root trans) 8192.0))) (when s5-0 (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! gp-0 (-> self root-override quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (vector-normalize! gp-0 5120.0) - (vector+! gp-0 gp-0 (-> self root-override trans)) + (vector+! gp-0 gp-0 (-> self root trans)) (set! (-> self nav-sphere-handle) (the-as uint (ppointer->handle (process-spawn simple-nav-sphere #x46266666 gp-0 s5-0 -1 :to self))) ) @@ -162,8 +155,8 @@ (change-parent self *entity-pool*) (ja-channel-set! 1) (ja :group! mech-mech-idle-ja) - (set! (-> self root-override root-prim prim-core action) (collide-action solid can-ride no-standon)) - (set! (-> self root-override penetrated-by) (penetrate)) + (set! (-> self root root-prim prim-core action) (collide-action solid can-ride no-standon)) + (set! (-> self root penetrated-by) (penetrate)) 0.0 (let ((f30-0 20480.0)) (until #f @@ -171,7 +164,7 @@ (>= (- (current-time) (-> self probe-time)) (seconds 1)) ) (move-to-ground - (-> self root-override) + (-> self root) 8192.0 40960.0 #t @@ -179,10 +172,9 @@ ) (set! (-> self probe-time) (current-time)) ) - (when (and (and *target* - (and (>= f30-0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (when (and (and *target* (and (>= f30-0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (not (focus-test? *target* in-head pole board mech dark)) (can-display-query? self (the-as string #f) -99.0) @@ -219,7 +211,7 @@ (-> *target* neck) (vector+! (new 'stack-no-clear 'vector) - (the-as vector (-> self root-override root-prim prim-core)) + (the-as vector (-> self root root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0) ) 'nothing-special @@ -244,12 +236,12 @@ (('draw) (ja-channel-set! 1) (ja :group! mech-mech-idle-ja) - (set! (-> self root-override root-prim prim-core action) (collide-action solid can-ride no-standon)) - (set! (-> self root-override penetrated-by) (penetrate)) + (set! (-> self root root-prim prim-core action) (collide-action solid can-ride no-standon)) + (set! (-> self root penetrated-by) (penetrate)) (transform-post) ) (('trans) - (vector+! (the-as vector (-> event param 0)) (-> self root-override trans) (-> self extra-trans)) + (vector+! (the-as vector (-> event param 0)) (-> self root trans) (-> self extra-trans)) ) (('touch 'attack 'bonk) #f @@ -282,10 +274,9 @@ (ja-channel-set! 0) (ja-post) (while (zero? (ja-group-size)) - (if (or (not *target*) - (or (< 24576.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (if (or (not *target*) (or (< 24576.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (go arg0) ) @@ -311,28 +302,26 @@ (defstate wait-for-return (mech) :virtual #t :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) - (the-as - object - (case event-type - (('trans) - (vector+! (the-as vector (-> event param 0)) (-> self root-override trans) (-> self extra-trans)) - ) - (('shadow) - (cond - ((-> event param 0) - (let ((v0-1 (the-as structure (-> self shadow-backup)))) - (set! (-> self draw shadow) (the-as shadow-geo v0-1)) - v0-1 - ) + (the-as object (case event-type + (('trans) + (vector+! (the-as vector (-> event param 0)) (-> self root trans) (-> self extra-trans)) + ) + (('shadow) + (cond + ((-> event param 0) + (let ((v0-1 (the-as structure (-> self shadow-backup)))) + (set! (-> self draw shadow) (the-as shadow-geo v0-1)) + v0-1 + ) + ) + (else + (set! (-> self draw shadow) #f) + (the-as structure #f) + ) + ) + ) + ) ) - (else - (set! (-> self draw shadow) #f) - (the-as structure #f) - ) - ) - ) - ) - ) ) :code (behavior () (ja-channel-set! 0) @@ -366,17 +355,17 @@ (set! (-> s2-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> self root-override) s2-0) + (set! (-> self root) s2-0) ) (set! (-> self rider) (the-as uint arg2)) (when arg0 (process-entity-set! self arg0) (process-drawable-from-entity! self arg0) - (set-yaw-angle-clear-roll-pitch! (-> self root-override) (res-lump-float arg0 'rotoffset)) + (set-yaw-angle-clear-roll-pitch! (-> self root) (res-lump-float arg0 'rotoffset)) ) (when arg1 - (set! (-> self root-override trans quad) (-> arg1 vector 0 quad)) - (quaternion-copy! (-> self root-override quat) (the-as quaternion (-> arg1 vector 1))) + (set! (-> self root trans quad) (-> arg1 vector 0 quad)) + (quaternion-copy! (-> self root quat) (the-as quaternion (-> arg1 vector 1))) ) (initialize-skeleton self @@ -387,7 +376,7 @@ (set! (-> self draw shadow-ctrl) *mech-shadow-control*) (let ((v1-27 (-> self node-list data))) (set! (-> v1-27 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-27 0 param1) (the-as basic (-> self root-override trans))) + (set! (-> v1-27 0 param1) (the-as basic (-> self root trans))) (set! (-> v1-27 0 param2) (the-as basic (-> self extra-trans))) ) (set! (-> self condition) (res-lump-value arg0 'index int :time -1000000000.0)) @@ -398,7 +387,7 @@ (set! (-> self nav-sphere-handle) (the-as uint #f)) (if (-> self entity) (move-to-ground - (-> self root-override) + (-> self root) 8192.0 40960.0 #t @@ -406,7 +395,7 @@ ) ) (set! (-> self sound) - (new 'process 'ambient-sound (static-sound-spec "zoom-teleport" :fo-max 30) (-> self root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "zoom-teleport" :fo-max 30) (-> self root trans)) ) (set! (-> self draw light-index) (the-as uint 30)) (if (handle->process arg2) @@ -546,11 +535,11 @@ This commonly includes things such as: ;; WARN: Return type mismatch object vs none. (defbehavior mech-target-init mech ((arg0 vector) (arg1 quaternion) (arg2 entity-actor)) (process-entity-set! self arg2) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) - (set! (-> self root-override scale x) 0.0) - (set! (-> self root-override scale y) 0.0) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) + (set! (-> self root scale x) 0.0) + (set! (-> self root scale y) 0.0) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-mech-target" (the-as (pointer uint32) #f))) diff --git a/test/decompiler/reference/jak2/engine/target/mech_suit/target-mech_REF.gc b/test/decompiler/reference/jak2/engine/target/mech_suit/target-mech_REF.gc deleted file mode 100644 index e487e2b861..0000000000 --- a/test/decompiler/reference/jak2/engine/target/mech_suit/target-mech_REF.gc +++ /dev/null @@ -1,1783 +0,0 @@ -;;-*-Lisp-*- -(in-package goal) - -;; definition for method 15 of type hud-heatmeter -;; WARN: Return type mismatch int vs none. -(defmethod draw hud-heatmeter ((obj hud-heatmeter)) - (set-hud-piece-position! - (the-as hud-sprite (-> obj sprites)) - 256 - (the int (+ 25.0 (* -100.0 (-> obj offset)))) - ) - (set! (-> obj sprites 0 pos z) #xfffff0) - (set-as-offset-from! - (-> obj sprites 1) - (the-as vector4w (-> obj sprites)) - (+ (the int (* 0.128 (the float (-> obj values 0 current)))) -63) - 1 - ) - (set! (-> obj sprites 1 pos z) #xfffff0) - ((method-of-type hud draw) obj) - 0 - (none) - ) - -;; definition for method 16 of type hud-heatmeter -;; WARN: Return type mismatch int vs none. -(defmethod update-values hud-heatmeter ((obj hud-heatmeter)) - (set! (-> obj values 0 target) (the int (* 1000.0 (-> *game-info* distance)))) - (logclear! (-> obj flags) (hud-flags disable)) - ((method-of-type hud update-values) obj) - 0 - (none) - ) - -;; definition for method 17 of type hud-heatmeter -;; WARN: Return type mismatch int vs none. -(defmethod init-callback hud-heatmeter ((obj hud-heatmeter)) - (set! (-> obj gui-id) - (add-process *gui-control* obj (gui-channel hud-upper-center-2) (gui-action hidden) (-> obj name) 81920.0 0) - ) - (logior! (-> obj flags) (hud-flags show)) - (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x43 :page #x67a))) - (set! (-> obj sprites 0 flags) (the-as uint 8)) - (set! (-> obj sprites 0 scale-x) 1.2) - (set! (-> obj sprites 0 scale-y) 1.2) - (set! (-> obj sprites 1 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x34 :page #x67a))) - (set! (-> obj sprites 1 flags) (the-as uint 8)) - (set! (-> obj sprites 1 scale-x) 1.8) - (set! (-> obj sprites 1 scale-y) 1.8) - 0 - (none) - ) - -;; definition for symbol *mech-stance-mods*, type surface -(define *mech-stance-mods* - (new 'static 'surface - :name 'run - :turnv 18204262.0 - :turnvv 40049.777 - :tiltv 65536.0 - :tiltvv 262144.0 - :fric 0.3 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 4.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :slope-up-traction 1.0 - :turnvf 0.03 - :turnvvf 30.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :mult-hook (lambda :behavior target - ((arg0 surface) (arg1 object) (arg2 surface) (arg3 int)) - (case arg3 - ((1) - (if (= (-> *cpad-list* cpads (-> self control cpad number) stick0-speed) 0.0) - (seek! - (-> self control did-move-to-pole-or-max-jump-height) - 0.0 - (* 127431.11 (-> self clock seconds-per-frame)) - ) - (seek! - (-> self control did-move-to-pole-or-max-jump-height) - (* (-> self control turn-to-magnitude) (-> arg0 turnvv)) - (* 127431.11 (-> self clock seconds-per-frame)) - ) - ) - (set! (-> arg0 turnvv) (-> self control did-move-to-pole-or-max-jump-height)) - (when (= (-> arg2 name) '*edge-surface*) - (set! (-> arg0 target-speed) 32768.0) - (set! (-> arg0 transv-max) 32768.0) - (set! (-> arg0 seek0) (* 1.6666 (-> arg2 seek0))) - (set! (-> arg0 seek90) (* 1.6666 (-> arg2 seek90))) - (set! (-> arg0 seek180) (* 1.6666 (-> arg2 seek180))) - ) - ) - ) - (none) - ) - :flags (surface-flag look-around no-turn-around) - ) - ) - -;; definition for symbol *mech-walk-mods*, type surface -(define *mech-walk-mods* - (new 'static 'surface - :name 'run - :turnv 32768.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 262144.0 - :transv-max 32768.0 - :target-speed 32768.0 - :seek0 1.6666 - :seek90 1.6666 - :seek180 1.0 - :fric 0.1 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :turnvf 120.0 - :turnvvf 30.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :vel-turn -1.0 - :mult-hook (lambda :behavior target - ((arg0 surface) (arg1 object) (arg2 surface) (arg3 int)) - (case arg3 - ((1) - (when (= (-> arg2 name) '*edge-surface*) - (let ((v1-5 - (vector-flatten! - (new 'stack-no-clear 'vector) - (vector-negate! (new-stack-vector0) (-> self control dynam gravity-normal)) - (-> self control local-normal) - ) - ) - ) - (set! (-> arg0 vel-turn) 0.0) - (vector+float*! - (-> self control transv) - (-> self control transv) - v1-5 - (* 409600.0 (-> self clock seconds-per-frame)) - ) - ) - ) - ) - ) - (none) - ) - :flags (surface-flag look-around no-turn-around) - ) - ) - -;; definition for symbol *mech-jump-mods*, type surface -(define *mech-jump-mods* (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 262144.0 - :transv-max 32768.0 - :target-speed 32768.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :turnvf 90.0 - :turnvvf 30.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :mode 'air - :flags (surface-flag no-turn-around air) - ) - ) - -;; definition for symbol *mech-punch-mods*, type surface -(define *mech-punch-mods* (new 'static 'surface - :name 'punch - :turnv 131072.0 - :tiltv 32768.0 - :tiltvv 262144.0 - :transv-max 91750.4 - :target-speed 122880.0 - :seek90 0.5 - :seek180 0.15 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 0.25 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :mode 'attack - :flags (surface-flag no-turn-around turn-to-pad attack) - ) - ) - -;; definition for symbol *mech-pickup-mods*, type surface -(define *mech-pickup-mods* (new 'static 'surface - :name 'run - :turnv 16384.0 - :tiltv 65536.0 - :tiltvv 262144.0 - :transv-max 12288.0 - :target-speed 12288.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 0.5 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :turnvf 240.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :vel-turn -1.0 - :flags (surface-flag look-around no-turn-around) - ) - ) - -;; definition for symbol *mech-carry-walk-mods*, type surface -(define *mech-carry-walk-mods* (new 'static 'surface - :name 'run - :turnv 16384.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 262144.0 - :transv-max 12288.0 - :target-speed 12288.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 0.5 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :turnvf 240.0 - :turnvvf 30.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :vel-turn -1.0 - :flags (surface-flag look-around no-turn-around) - ) - ) - -;; failed to figure out what this is: -(set! (-> *mech-carry-walk-mods* mult-hook) (-> *mech-walk-mods* mult-hook)) - -;; definition for symbol *mech-carry-drag-mods*, type surface -(define *mech-carry-drag-mods* (new 'static 'surface - :name 'run - :tiltv 65536.0 - :tiltvv 262144.0 - :transv-max 12288.0 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :flags (surface-flag look-around no-turn-around) - ) - ) - -;; definition for symbol *mech-carry-jump-mods*, type surface -(define *mech-carry-jump-mods* (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 262144.0 - :transv-max 24576.0 - :target-speed 24576.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :turnvf 90.0 - :turnvvf 30.0 - :tiltvf 150.0 - :tiltvvf 15.0 - :mode 'air - :flags (surface-flag air) - ) - ) - -;; definition for function target-mech-falling-anim-trans -;; WARN: Return type mismatch int vs none. -(defbehavior target-mech-falling-anim-trans target () - 0 - (none) - ) - -;; definition for function target-mech-mech-effect -;; INFO: Used lq/sq -;; WARN: Return type mismatch int vs none. -(defbehavior target-mech-mech-effect mech ((arg0 target)) - (when (!= (-> arg0 mech thruster-flame-length) 0.0) - (let ((f30-0 0.0)) - (if (!= (-> *setting-control* user-current under-water-pitch-mod) 0.0) - (set! f30-0 -2.0) - ) - (sound-play-by-name - (static-sound-name "mech-thrust") - (-> arg0 mech thrust-sound-id) - (the int (* 1024.0 (lerp-scale 0.3 1.0 (-> arg0 mech thruster-flame-length) 0.0 4096.0))) - (the int (* 1524.0 f30-0)) - 0 - (sound-group sfx) - #t - ) - ) - (dotimes (s5-1 2) - (let* ((s3-1 (-> self node-list data (if (zero? s5-1) - 37 - 38 - ) - ) - ) - (s4-1 (vector<-cspace! (new 'stack-no-clear 'vector) s3-1)) - (a2-2 (vector-negate! (new 'stack-no-clear 'vector) (-> s3-1 bone transform vector 1))) - ) - (mech-spawn-thruster - (-> arg0 mech) - s4-1 - a2-2 - (-> arg0 mech thruster-flame-width) - (-> arg0 mech thruster-flame-length) - ) - ) - ) - ) - (when (logtest? (water-flags touch-water) (-> arg0 water flags)) - (let ((f30-1 (-> arg0 water height))) - (let ((s5-2 (-> *part-id-table* 947))) - (let ((v1-28 (get-field-spec-by-id s5-2 (sp-field-id spt-userdata)))) - (if v1-28 - (set! (-> v1-28 initial-valuef) f30-1) - ) - ) - (let ((t9-6 sp-launch-particles-var) - (a0-12 *sp-particle-system-2d*) - (a2-3 *launch-matrix*) - ) - (set! (-> a2-3 trans quad) (-> self root-override trans quad)) - (t9-6 a0-12 s5-2 a2-3 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - ) - (let ((s5-3 (-> *part-id-table* 950))) - (let ((v1-34 (get-field-spec-by-id s5-3 (sp-field-id spt-userdata)))) - (if v1-34 - (set! (-> v1-34 initial-valuef) f30-1) - ) - ) - (let ((t9-8 sp-launch-particles-var) - (a0-15 *sp-particle-system-2d*) - (a2-4 *launch-matrix*) - ) - (set! (-> a2-4 trans quad) (-> self root-override trans quad)) - (t9-8 a0-15 s5-3 a2-4 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - ) - (let* ((s5-4 (-> *part-id-table* 953)) - (v1-40 (get-field-spec-by-id s5-4 (sp-field-id spt-userdata))) - (s4-2 (new 'stack-no-clear 'vector)) - ) - (if v1-40 - (set! (-> v1-40 initial-valuef) f30-1) - ) - (let ((s3-2 (get-field-spec-by-id s5-4 (sp-field-id spt-num)))) - (if s3-2 - (set! (-> s3-2 initial-valuef) (lerp-scale 0.1 2.0 (-> arg0 control ctrl-xz-vel) 0.0 40960.0)) - ) - ) - (process-drawable-random-point! self s4-2) - (let ((t9-13 sp-launch-particles-var) - (a0-21 *sp-particle-system-2d*) - (a2-6 *launch-matrix*) - ) - (set! (-> a2-6 trans quad) (-> s4-2 quad)) - (t9-13 a0-21 s5-4 a2-6 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - ) - ) - ) - 0 - (none) - ) - -;; definition for function mech-on-ground? -(defbehavior mech-on-ground? target () - (logtest? (-> self control status) (collide-status on-surface)) - ) - -;; definition for function target-mech-get-off? -(defbehavior target-mech-get-off? target () - (when (and (mech-on-ground?) - (< (-> self mech no-get-off-time) (current-time)) - (-> *setting-control* user-current pilot-exit) - ) - (let ((gp-0 (new 'stack-no-clear 'collide-query)) - (s4-0 (new 'stack-no-clear 'sphere)) - ) - (dotimes (s5-0 1) - ((method-of-type sphere new) (the-as symbol (+ (the-as uint s4-0) (* s5-0 16))) sphere) - ) - (let ((s5-1 (-> self node-list data 0 bone transform))) - (vector-matrix*! (the-as vector (&-> s4-0 x)) (new 'static 'vector :y 14336.0 :z 12288.0 :w 1.0) s5-1) - (set! (-> s4-0 r) 10240.0) - (let ((v1-11 gp-0)) - (set! (-> v1-11 best-dist) (the-as float s4-0)) - (set! (-> v1-11 num-spheres) (the-as uint 1)) - (set! (-> v1-11 collide-with) (-> self control root-prim prim-core collide-with)) - (set! (-> v1-11 ignore-process0) #f) - (set! (-> v1-11 ignore-process1) #f) - (set! (-> v1-11 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) - (set! (-> v1-11 best-my-prim) (the-as collide-shape-prim #t)) - (set! (-> v1-11 action-mask) (collide-action solid)) - ) - (let ((s4-1 (fill-and-probe-using-spheres *collide-cache* gp-0))) - (when (not s4-1) - (vector-matrix*! (-> gp-0 start-pos) (new 'static 'vector :y 8192.0 :z 4096.0 :w 1.0) s5-1) - (set-vector! (-> gp-0 move-dist) 0.0 -40960.0 0.0 0.0) - (let ((v1-15 gp-0)) - (set! (-> v1-15 radius) 409.6) - (set! (-> v1-15 collide-with) (collide-spec backgnd obstacle hit-by-others-list pusher)) - (set! (-> v1-15 ignore-process0) self) - (set! (-> v1-15 ignore-process1) #f) - (set! (-> v1-15 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) - (set! (-> v1-15 action-mask) (collide-action solid)) - ) - (set! s4-1 (< (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0)) - ) - (if (and s4-1 (-> *setting-control* user-current pilot)) - (talker-spawn-func (-> *talker-speech* 460) *entity-pool* (target-pos 0) (the-as region #f)) - ) - (not s4-1) - ) - ) - ) - ) - ) - -;; definition for function target-mech-handler -;; INFO: Used lq/sq -(defbehavior target-mech-handler target ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 object) (a0-18 symbol) (sv-96 target) (sv-112 process)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - 'mech - ) - (else - (case arg2 - (('end-mode) - enter-state - (process->handle arg0) - (go target-mech-get-off) - ) - (('change-mode) - (let ((v1-7 (-> arg3 param 0))) - (cond - ((= v1-7 'grab) - (when (not (focus-test? self dead)) - (if (not (-> arg3 param 1)) - #t - (go target-mech-grab) - ) - ) - ) - ((= v1-7 'normal) - enter-state - (process->handle arg0) - (go target-mech-get-off) - ) - ((begin (set! a0-18 'falling) (= v1-7 a0-18)) - (go target-mech-falling a0-18) - ) - ) - ) - ) - (('swim 'slide 'edge-grab) - #f - ) - (('clone-anim) - (go target-mech-clone-anim (process->handle (the-as process (-> arg3 param 0)))) - ) - (('touched) - (cond - ((logtest? (process-mask crate) (-> arg0 mask)) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) (process->ppointer self)) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (let ((v1-25 (new 'static 'attack-info :mask (attack-info-mask mode id penetrate-using)))) - (set! (-> v1-25 id) (-> self mech attack-id)) - (set! (-> v1-25 mode) 'mech) - (set! (-> v1-25 penetrate-using) (-> self control penetrate-using)) - (set! (-> a1-1 param 1) (the-as uint v1-25)) - ) - (set! v0-0 (send-event-function arg0 a1-1)) - ) - (when v0-0 - (let* ((v1-27 (-> self game)) - (a0-39 (+ (-> v1-27 attack-id) 1)) - ) - (set! (-> v1-27 attack-id) a0-39) - (set! (-> self mech attack-id) a0-39) - ) - ) - v0-0 - ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) - ) - ) - (('attack 'attack-or-shove 'attack-invinc) - (let ((s3-0 (the-as - attack-info - (mem-copy! (the-as pointer (-> self attack-info-rec)) (the-as pointer (-> arg3 param 1)) 160) - ) - ) - ) - (let ((s2-0 s3-0) - (s1-0 (method-of-type attack-info compute-intersect-info)) - (s0-0 (-> arg3 param 1)) - ) - (set! sv-96 self) - (set! sv-112 arg0) - (let ((a3-2 (if (type? sv-112 process-drawable) - sv-112 - ) - ) - (t0-0 (-> arg3 param 0)) - ) - (s1-0 s2-0 s0-0 sv-96 a3-2 (the-as touching-shapes-entry t0-0)) - ) - ) - (let* ((v1-30 (-> s3-0 mode)) - (f30-0 - (cond - ((= v1-30 'tar) - (set! (-> s3-0 id) (the-as uint 2)) - (* 100.0 (-> self clock seconds-per-frame)) - ) - ((= v1-30 'melt) - (set! (-> s3-0 id) (the-as uint 2)) - (let ((s2-1 (if (logtest? (-> s3-0 mask) (attack-info-mask intersection)) - (-> s3-0 intersection) - (-> self control trans) - ) - ) - ) - (let ((t9-10 sp-launch-particles-var) - (a0-50 *sp-particle-system-2d*) - (a1-5 (-> *part-id-table* 955)) - (a2-8 *launch-matrix*) - ) - (set! (-> a2-8 trans quad) (-> s2-1 quad)) - (t9-10 a0-50 a1-5 a2-8 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - (let ((t9-11 sp-launch-particles-var) - (a0-51 *sp-particle-system-2d*) - (a1-6 (-> *part-id-table* 957)) - (a2-9 *launch-matrix*) - ) - (set! (-> a2-9 trans quad) (-> s2-1 quad)) - (t9-11 a0-51 a1-6 a2-9 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - ) - (* 100.0 (-> self clock seconds-per-frame)) - ) - ((or (= v1-30 'burn) (= v1-30 'burnup)) - (set! (-> s3-0 id) (the-as uint 2)) - (if (logtest? (-> s3-0 mask) (attack-info-mask intersection)) - (-> s3-0 intersection) - (-> self control trans) - ) - (let ((t9-12 sp-launch-particles-var) - (a0-55 *sp-particle-system-2d*) - (a1-8 (-> *part-id-table* 955)) - (a2-10 *launch-matrix*) - ) - (set! (-> a2-10 trans quad) (-> self control trans quad)) - (t9-12 a0-55 a1-8 a2-10 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - (let ((t9-13 sp-launch-particles-var) - (a0-56 *sp-particle-system-2d*) - (a1-9 (-> *part-id-table* 957)) - (a2-11 *launch-matrix*) - ) - (set! (-> a2-11 trans quad) (-> self control trans quad)) - (t9-13 a0-56 a1-9 a2-11 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - (* 20.0 (-> self clock seconds-per-frame)) - ) - ((= v1-30 'shock) - (let ((s2-2 (if (logtest? (-> s3-0 mask) (attack-info-mask intersection)) - (-> s3-0 intersection) - (-> self control trans) - ) - ) - ) - (let ((t9-14 sp-launch-particles-var) - (a0-58 *sp-particle-system-2d*) - (a1-10 (-> *part-id-table* 959)) - (a2-12 *launch-matrix*) - ) - (set! (-> a2-12 trans quad) (-> s2-2 quad)) - (t9-14 a0-58 a1-10 a2-12 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - (let ((t9-15 sp-launch-particles-var) - (a0-59 *sp-particle-system-2d*) - (a1-11 (-> *part-id-table* 960)) - (a2-13 *launch-matrix*) - ) - (set! (-> a2-13 trans quad) (-> s2-2 quad)) - (t9-15 a0-59 a1-11 a2-13 (the-as sparticle-launch-state #f) (the-as sparticle-launch-control #f) 1.0) - ) - ) - (set! (-> s3-0 id) (the-as uint 2)) - (* 20.0 (-> self clock seconds-per-frame)) - ) - ((= v1-30 'explode) - 20.0 - ) - ((= v1-30 'grunt) - 1.0 - ) - ((= v1-30 'air) - 100.0 - ) - ((or (= v1-30 'endlessfall) (= v1-30 'crush) (= v1-30 'instant-death)) - 100.0 - ) - (else - 3.0 - ) - ) - ) - ) - (when (target-log-attack s3-0 'background) - (case arg2 - (('attack 'attack-or-shove 'attack-invinc) - (if (not (or (logtest? (-> self state-flags) (state-flags sf2)) - (logtest? (-> self game secrets) (game-secrets invulnerable)) - ) - ) - (seek! (-> self mech shield-value) 0.0 f30-0) - ) - ) - ) - (if (and (= arg2 'attack-or-shove) (< 0.0 (-> self mech shield-value))) - (set! arg2 'shove) - ) - (if (= arg2 'attack-invinc) - (set! (-> self mech shield-value) 0.0) - ) - (if (or (= (-> self mech shield-value) 0.0) (= arg2 'shove)) - (target-attacked arg2 s3-0 arg0 (the-as touching-shapes-entry (-> arg3 param 0)) target-mech-hit) - 'block - ) - ) - ) - ) - ) - (('shove) - (when (not (focus-test? self dead hit)) - (mem-copy! (the-as pointer (-> self attack-info-rec)) (the-as pointer (-> arg3 param 1)) 160) - (when (not (logtest? (-> self attack-info-rec mask) (attack-info-mask attacker))) - (set! (-> self attack-info-rec attacker) (process->handle arg0)) - (logior! (-> self attack-info-rec mask) (attack-info-mask attacker)) - ) - (go target-mech-hit 'shove (-> self attack-info-rec)) - ) - ) - (('effect-control) - (case (-> arg3 param 0) - (('target-mech-walk) - (sound-play-by-name - (static-sound-name "mech-walk") - (new-sound-id) - 1024 - (the int (* 1524.0 (lerp-scale -0.2 0.0 (-> self control ctrl-xz-vel) 12288.0 32768.0))) - 0 - (sound-group sfx) - #t - ) - ) - ) - ) - (('target-mech-get-off) - (set! v0-0 (+ (current-time) (the-as time-frame (-> arg3 param 0)))) - (set! (-> self mech no-get-off-time) (the-as time-frame v0-0)) - v0-0 - ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) - ) - ) - ) - ) - -;; definition for function target-mech-bonk-event-handler -;; INFO: Used lq/sq -;; WARN: Return type mismatch symbol vs object. -(defbehavior target-mech-bonk-event-handler target ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (the-as - object - (when (and (= arg2 'touched) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self control) - (the-as uint 6) - ) - (>= 409.6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) - (begin - (vector-normalize! - (vector-! - s4-0 - (the-as vector (-> self control collision-spheres 0 prim-core)) - (-> self control actor-contact-pt) - ) - 1.0 - ) - (< 0.01 (-> s4-0 y)) - ) - ) - (if (< 0.75 (-> s4-0 y)) - (send-event - arg0 - 'bonk - (-> arg3 param 0) - (fmax - (-> self control ground-impact-vel) - (- (vector-dot (-> self control transv) (-> self control dynam gravity-normal))) - ) - ) - ) - (when (and (= (target-send-attack - arg0 - 'bonk - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> self control target-attack-id)) - (the-as int (-> self control attack-count)) - (penetrate touch bonk mech-bonk) - ) - 'bounce - ) - (not (logtest? (-> self focus-status) (focus-status dead hit))) - ) - (set! (-> self control last-trans-any-surf quad) (-> self control trans quad)) - (target-timed-invulnerable (seconds 0.1) self 1) - (if (focus-test? self carry) - (go - target-mech-carry-jump - (-> *TARGET-bank* mech-carry-jump-height-min) - (-> *TARGET-bank* mech-carry-jump-height-max) - #f - ) - (go - target-mech-jump - (-> *TARGET-bank* mech-jump-height-min) - (-> *TARGET-bank* mech-jump-height-max) - (the-as surface #f) - ) - ) - ) - #f - ) - ) - ) - ) - -;; definition for function mech-leg-ik-callback -;; INFO: Used lq/sq -;; WARN: Return type mismatch none vs object. -(defbehavior mech-leg-ik-callback target ((arg0 joint-mod-ik) (arg1 matrix) (arg2 matrix) (arg3 vector)) - (rlet ((acc :class vf) - (vf0 :class vf) - (vf4 :class vf) - (vf5 :class vf) - (vf6 :class vf) - (vf7 :class vf) - ) - (init-vf0-vector) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> arg3 quad)) - (let ((f0-1 (- (-> arg3 y) (-> (target-pos 0) y)))) - (if (< 6144.0 f0-1) - (set! f0-1 6144.0) - ) - (if (< f0-1 -6144.0) - (set! f0-1 -6144.0) - ) - (+! (-> arg0 user-position y) f0-1) - ) - (let ((f0-4 (- (-> arg3 y) (-> arg0 user-position y)))) - (seek! (-> arg0 user-float) f0-4 (* 40960.0 (-> self clock seconds-per-frame))) - ) - (let* ((f28-0 (-> arg0 user-float)) - (f30-1 (lerp-scale 1.0 0.0 f28-0 0.0 12288.0)) - (s3-0 (new 'stack-no-clear 'vector)) - ) - (let ((v1-12 s5-0)) - (let ((a0-4 *up-vector*)) - (let ((a1-4 8192.0)) - (.mov vf7 a1-4) - ) - (.lvf vf5 (&-> a0-4 quad)) - ) - (.lvf vf4 (&-> v1-12 quad)) - ) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> s3-0 quad) vf6) - (vector-float*! (new 'stack-no-clear 'vector) *up-vector* -16384.0) - (let ((s2-0 (new 'stack-no-clear 'vector))) - 0.0 - (let ((f0-11 (intersect-ray-plane s3-0 *up-vector* (-> arg0 user-position) *up-vector*)) - (a0-7 s2-0) - ) - (let ((v1-15 *up-vector*)) - (let ((a1-7 f0-11)) - (.mov vf7 a1-7) - ) - (.lvf vf5 (&-> v1-15 quad)) - ) - (.lvf vf4 (&-> s3-0 quad)) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> a0-7 quad) vf6) - ) - (let ((a0-8 s2-0)) - (let ((v1-16 *up-vector*)) - (let ((a1-8 (- f28-0))) - (.mov vf7 a1-8) - ) - (.lvf vf5 (&-> v1-16 quad)) - ) - (.lvf vf4 (&-> arg3 quad)) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> a0-8 quad) vf6) - ) - (let ((a1-9 s5-0)) - (let ((v1-17 s5-0)) - (let ((a0-10 (vector-! (new 'stack-no-clear 'vector) s2-0 s5-0))) - (let ((a2-6 (fmin 1.0 (* (-> arg0 user-blend) f30-1)))) - (.mov vf7 a2-6) - ) - (.lvf vf5 (&-> a0-10 quad)) - ) - (.lvf vf4 (&-> v1-17 quad)) - ) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> a1-9 quad) vf6) - ) - ) - ) - (the-as object (handle-copy! arg0 s5-0)) - ) - ) - ) - -;; definition for function mech-update-ik -;; INFO: Used lq/sq -;; WARN: Return type mismatch int vs none. -(defbehavior mech-update-ik target () - (local-vars (sv-720 vector)) - (rlet ((acc :class vf) - (vf0 :class vf) - (vf4 :class vf) - (vf5 :class vf) - (vf6 :class vf) - (vf7 :class vf) - ) - (init-vf0-vector) - (let ((gp-0 (new 'stack-no-clear 'collide-query)) - (s5-0 (-> (the-as process-drawable (-> self parent 0)) root)) - ) - (let ((a1-0 (-> gp-0 bbox)) - (v1-2 (-> s5-0 trans)) - (a0-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> a0-0 x) 10240.0) - (set! (-> a0-0 y) 10240.0) - (set! (-> a0-0 z) 10240.0) - (set! (-> a0-0 w) 1.0) - (vector-! (the-as vector a1-0) v1-2 a0-0) - ) - (let ((a1-2 (-> gp-0 bbox max)) - (v1-3 (-> s5-0 trans)) - (a0-1 (new 'stack-no-clear 'vector)) - ) - (set! (-> a0-1 x) 10240.0) - (set! (-> a0-1 y) 10240.0) - (set! (-> a0-1 z) 10240.0) - (set! (-> a0-1 w) 1.0) - (vector+! a1-2 v1-3 a0-1) - ) - (set! (-> gp-0 collide-with) (-> (the-as collide-shape-moving s5-0) root-prim prim-core collide-with)) - (set! (-> gp-0 ignore-process0) #f) - (set! (-> gp-0 ignore-process1) #f) - (set! (-> gp-0 ignore-pat) (-> (the-as collide-shape-moving s5-0) pat-ignore-mask)) - (fill-using-bounding-box *collide-cache* gp-0) - (dotimes (s4-0 2) - (let ((s3-0 (-> (the-as (array joint-mod-ik) (+ (* s4-0 4) (the-as int self))) 64))) - #t - (set! (-> s3-0 callback) mech-leg-ik-callback) - (-> s3-0 shoulder-matrix-no-ik) - (let ((v1-13 (-> s3-0 elbow-matrix-no-ik)) - (s0-0 (new 'stack-no-clear 'vector)) - ) - (set! sv-720 (new 'stack-no-clear 'vector)) - (let ((a0-5 (-> *y-vector* quad))) - (set! (-> sv-720 quad) a0-5) - ) - (let ((s2-0 (new 'stack-no-clear 'vector))) - (new 'stack-no-clear 'vector) - (new 'stack-no-clear 'vector) - (let ((s1-0 (new 'stack-no-clear 'vector))) - (let ((a1-6 s0-0)) - (let ((a0-8 (-> v1-13 trans))) - (let ((v1-14 (-> v1-13 vector 1))) - (let ((a2-8 (-> s3-0 hand-dist))) - (.mov vf7 a2-8) - ) - (.lvf vf5 (&-> v1-14 quad)) - ) - (.lvf vf4 (&-> a0-8 quad)) - ) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> a1-6 quad) vf6) - ) - (let ((f0-11 - (lerp-scale 1.0 0.0 (- (-> s0-0 y) (-> (the-as collide-shape-moving s5-0) gspot-pos y)) 2048.0 12288.0) - ) - ) - (seek! (-> s3-0 user-blend) f0-11 (* 4.0 (-> self clock seconds-per-frame))) - ) - (let ((a1-9 (-> gp-0 start-pos))) - (let ((v1-18 s0-0)) - (let ((a0-11 sv-720)) - (let ((a2-12 6144.0)) - (.mov vf7 a2-12) - ) - (.lvf vf5 (&-> a0-11 quad)) - ) - (.lvf vf4 (&-> v1-18 quad)) - ) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> a1-9 quad) vf6) - ) - (let ((v1-19 (-> gp-0 move-dist)) - (f0-16 -20480.0) - ) - (vector-float*! v1-19 sv-720 f0-16) - ) - (let ((v1-21 gp-0)) - (set! (-> v1-21 radius) 4.096) - (set! (-> v1-21 collide-with) (-> gp-0 collide-with)) - (set! (-> v1-21 ignore-process0) #f) - (set! (-> v1-21 ignore-process1) #f) - (set! (-> v1-21 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) - (set! (-> v1-21 action-mask) (collide-action solid)) - ) - (let ((f30-0 (probe-using-line-sphere *collide-cache* gp-0))) - (cond - ((>= f30-0 0.0) - (set! (-> s1-0 quad) (-> gp-0 best-other-tri normal quad)) - (when (< 8192.0 (vector-vector-angle-safe *y-vector* s1-0)) - (let* ((a1-14 (vector-normalize! (vector-cross! (new 'stack-no-clear 'vector) *y-vector* s1-0) 1.0)) - (a2-14 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) a1-14 8192.0)) - ) - (vector-orient-by-quat! s1-0 *y-vector* a2-14) - ) - ) - (let ((a1-16 s2-0)) - (let ((v1-28 (-> gp-0 start-pos))) - (let ((a0-26 (-> gp-0 move-dist))) - (let ((a2-15 f30-0)) - (.mov vf7 a2-15) - ) - (.lvf vf5 (&-> a0-26 quad)) - ) - (.lvf vf4 (&-> v1-28 quad)) - ) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> a1-16 quad) vf6) - ) - (set! (-> s3-0 user-position quad) (-> s2-0 quad)) - (set! (-> s3-0 user-normal quad) (-> s1-0 quad)) - ) - (else - (set! (-> s0-0 y) (-> (target-pos 0) y)) - (set! (-> s3-0 user-position quad) (-> s0-0 quad)) - (set! (-> s3-0 user-normal quad) (-> *y-vector* quad)) - ) - ) - ) - ) - ) - ) - ) - ) - ) - 0 - (none) - ) - ) - -;; definition for function target-mech-init -;; INFO: Used lq/sq -;; WARN: Return type mismatch object vs none. -(defbehavior target-mech-init target ((arg0 handle) (arg1 float) (arg2 symbol)) - (local-vars - (sv-96 (function vector entity-actor skeleton-group vector object none :behavior manipy)) - (sv-112 vector) - (sv-128 entity-actor) - ) - (target-gun-end-mode #f) - (target-exit) - (when (zero? (-> self mech)) - (set! (-> self mech) (new 'process 'mech-info)) - (set! (-> self mech hud 0) (the-as handle #f)) - (set! (-> self mech engine-sound-id) (new-sound-id)) - (set! (-> self mech thrust-sound-id) (new-sound-id)) - (set! (-> self mech drag-sound-id) (new-sound-id)) - (set! (-> self mech whine-sound-id) (new-sound-id)) - ) - (set! (-> self board latch?) #f) - (set! (-> self mech stick-lock) #f) - (set! (-> self mech stick-off) #f) - (set! (-> self mech unstuck-time) (current-time)) - (set! (-> self mech stuck-count) 0) - (set! (-> self mech mech-start-time) (current-time)) - (set! (-> self mech jump-thrust) 0.0) - (set! (-> self mech jump-thrust-fuel) (-> *TARGET-bank* mech-jump-thrust-fuel)) - (set! (-> self mech state-impact? 0) #f) - ((method-of-type impact-control initialize) - (the-as impact-control (-> self mech state-impact)) - self - -1 - 0.0 - (collide-spec) - ) - (set! (-> self mech shield-max) 100.0) - (set! (-> self mech shield-value) arg1) - (set! (-> self mech entity) #f) - (let ((v1-27 (handle->process arg0))) - (if v1-27 - (set! (-> self mech entity) (-> v1-27 entity)) - ) - ) - (let ((v1-30 (-> self mech))) - (set! (-> v1-30 particle-system-2d) *sp-particle-system-2d*) - (set! (-> v1-30 particle-system-3d) *sp-particle-system-3d*) - (set! (-> v1-30 part-quat) *particle-quat*) - (set! (-> v1-30 part-vel) *particle-vel*) - (set! (-> v1-30 part-thruster) (-> *part-id-table* 939)) - (set! (-> v1-30 part-thruster-scale-x) (-> *part-id-table* 939 init-specs 4)) - (set! (-> v1-30 part-thruster-scale-y) (-> *part-id-table* 939 init-specs 5)) - (set! (-> v1-30 thruster-flame-width) 0.0) - (set! (-> v1-30 thruster-flame-length) 0.0) - ) - (set! (-> self control reaction) target-collision-reaction) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! (-> self control ctrl-xz-vel) 0.0) - (set! (-> self focus-status) (logior (focus-status mech) (-> self focus-status))) - (set! (-> self control bend-target) 0.0) - (let ((v1-40 (-> self node-list data))) - (set! (-> v1-40 0 param0) (the-as (function cspace transformq none) cspace<-transformq+world-trans!)) - (set! (-> v1-40 0 param1) (the-as basic (-> self control trans))) - (set! (-> v1-40 0 param2) (the-as basic (-> self control cspace-offset))) - ) - (target-collide-set! 'mech 0.0) - (set! (-> self control pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nomech #x1)) - (set! (-> self draw shadow) #f) - (let ((s4-1 (-> self entity)) - (s3-0 (-> self level)) - ) - (process-entity-set! self (the-as entity (-> self mech entity))) - (let ((s2-0 (get-process *16k-dead-pool* manipy #x4000))) - (set! (-> self manipy) - (the-as - (pointer manipy) - (when s2-0 - (let ((t9-11 (method-of-type manipy activate))) - (t9-11 (the-as manipy s2-0) self (symbol->string (-> manipy symbol)) (the-as pointer #x70004000)) - ) - (let ((s1-0 run-function-in-process) - (s0-0 s2-0) - ) - (set! sv-96 manipy-init) - (set! sv-112 (-> self control trans)) - (set! sv-128 (-> self entity)) - (let ((t0-1 (art-group-get-by-name *level* "skel-mech" (the-as (pointer uint32) #f))) - (t1-0 #f) - (t2-0 0) - ) - ((the-as (function object object object object object object object none) s1-0) - s0-0 - sv-96 - sv-112 - sv-128 - t0-1 - t1-0 - t2-0 - ) - ) - ) - (-> s2-0 ppointer) - ) - ) - ) - ) - (set! (-> self entity) s4-1) - (set! (-> self level) s3-0) - ) - (when (-> self manipy) - (send-event - (ppointer->process (-> self manipy)) - 'trans-hook - (lambda :behavior target - () - (let* ((a0-0 (-> self parent)) - (v1-0 (if a0-0 - (-> (the-as (pointer target) a0-0) 0 self-override) - ) - ) - ) - (set! (-> self control trans quad) (-> v1-0 mech mech-trans quad)) - (let ((a0-4 (-> v1-0 mech mech-quat quad))) - (set! (-> self control quat quad) a0-4) - ) - (set! (-> self control scale quad) (-> v1-0 mech mech-scale quad)) - (set! (-> self draw light-index) (-> v1-0 draw light-index)) - (let ((a0-10 (-> v1-0 draw color-mult quad))) - (set! (-> self draw color-mult quad) a0-10) - ) - (let ((a0-12 (-> v1-0 draw color-emissive quad))) - (set! (-> self draw color-emissive quad) a0-12) - ) - (let ((v1-4 (-> v1-0 draw shadow-ctrl settings shadow-dir quad))) - (set! (-> self draw shadow-ctrl settings shadow-dir quad) v1-4) - ) - ) - (dotimes (gp-0 2) - (enable-set! (-> self mech-ik gp-0) #t) - ) - (none) - ) - ) - (send-event - (ppointer->process (-> self manipy)) - 'post-hook - (lambda :behavior mech - () - (let ((gp-0 (ppointer->process (-> self parent)))) - ((method-of-type impact-control update-from-cspace) - (the-as impact-control (-> (the-as target gp-0) mech state-impact)) - ) - (when (-> (the-as target gp-0) mech state-impact? 0) - (let ((a1-0 (new 'stack-no-clear 'collide-query))) - ((method-of-type impact-control impact-control-method-11) - (the-as impact-control (-> (the-as target gp-0) mech state-impact)) - a1-0 - (the-as process gp-0) - (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1) - ) - ) - ) - (mech-update-ik) - (target-mech-mech-effect (the-as target gp-0)) - ) - (none) - ) - ) - (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) - (send-event (ppointer->process (-> self manipy)) 'sync #t) - (send-event - (ppointer->process (-> self manipy)) - 'eval - (lambda :behavior target - () - (set! (-> self state-hook) #f) - (set! (-> self draw shadow-ctrl) *mech-shadow-control*) - (set! (-> self mech-ik 0) (new 'process 'joint-mod-ik self 27 5283.84)) - (set! (-> self mech-ik 1) (new 'process 'joint-mod-ik self 33 5283.84)) - (dotimes (v1-3 2) - (let ((a0-5 (-> (the-as (array joint-mod-ik) (+ (* v1-3 4) (the-as int self))) 64))) - (set! (-> a0-5 elbow-pole-vector-axis) (the-as uint 2)) - (set! (-> a0-5 elbow-rotation-axis) (the-as uint 0)) - (set! (-> a0-5 callback) mech-leg-ik-callback) - (logior! (-> a0-5 flags) (joint-mod-ik-flags elbow-trans-neg)) - ) - ) - (none) - ) - ) - ) - (logior! (-> self state-flags) (state-flags sf6)) - (set-setting! 'string-max-length 'low (meters 7) 0) - (set-setting! 'string-min-length 'low (meters 4) 0) - (set-setting! 'string-max-height 'low (meters 5) 0) - (set-setting! 'string-min-height 'low (meters 3.5) 0) - (set-setting! 'fov 'abs (degrees 75.0) 0) - (set-setting! 'head-offset 'abs (meters 4.5) 0) - (set-setting! 'mode-sound-bank 'mech 0.0 0) - (set-setting! 'sound-flava #f 30.0 3) - (set! (-> self mech hud 0) (ppointer->handle (process-spawn hud-heatmeter :init hud-init-by-other :to self))) - (remove-exit) - (if arg2 - (go target-mech-stance) - (go target-mech-get-on arg0) - ) - (none) - ) - -;; definition for function target-mech-exit -;; INFO: Used lq/sq -(defbehavior target-mech-exit target () - (when (not (and (-> self next-state) (let ((v1-3 (-> self next-state name))) - (or (= v1-3 'target-mech-stance) - (= v1-3 'target-mech-walk) - (= v1-3 'target-mech-jump) - (= v1-3 'target-mech-jump-jump) - (= v1-3 'target-mech-falling) - (= v1-3 'target-mech-hit-ground) - (= v1-3 'target-mech-punch) - (= v1-3 'target-mech-hit) - (= v1-3 'target-mech-death) - (= v1-3 'target-mech-carry-drag) - (= v1-3 'target-mech-carry-pickup) - (= v1-3 'target-mech-carry-drop) - (= v1-3 'target-mech-carry-stance) - (= v1-3 'target-mech-carry-walk) - (= v1-3 'target-mech-carry-jump) - (= v1-3 'target-mech-carry-falling) - (= v1-3 'target-mech-carry-hit-ground) - (= v1-3 'target-mech-carry-throw) - (= v1-3 'target-mech-get-off) - (= v1-3 'target-mech-get-off-jump) - (= v1-3 'target-mech-grab) - (= v1-3 'target-mech-clone-anim) - ) - ) - ) - ) - (let ((v1-4 (-> self manipy))) - (when v1-4 - (deactivate (-> v1-4 0)) - (set! (-> self manipy) (the-as (pointer manipy) #f)) - ) - ) - (logclear! (-> self focus-status) (focus-status mech)) - (logclear! (-> self control root-prim prim-core action) (collide-action stuck-wall-escape)) - (set! (-> self control mod-surface) *walk-mods*) - (logclear! (-> self state-flags) (state-flags sf6)) - (remove-setting! 'string-max-length) - (remove-setting! 'string-min-length) - (remove-setting! 'string-max-height) - (remove-setting! 'string-min-height) - (remove-setting! 'fov) - (remove-setting! 'head-offset) - (remove-setting! 'mode-sound-bank) - (remove-setting! 'sound-flava) - (set! (-> self control dynam gravity-max) (-> self control standard-dynamics gravity-max)) - (set! (-> self control dynam gravity-length) (-> self control standard-dynamics gravity-length)) - (let ((v1-39 (-> self node-list data))) - (set! (-> v1-39 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!)) - (set! (-> v1-39 0 param1) (the-as basic (-> self control trans))) - (set! (-> v1-39 0 param2) (the-as basic (-> self control cspace-offset))) - ) - (target-collide-set! 'normal 0.0) - (set! (-> self control reaction) target-collision-reaction) - (set! (-> self control pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1)) - (sound-stop (-> self mech engine-sound-id)) - (sound-stop (-> self mech thrust-sound-id)) - (sound-stop (-> self mech drag-sound-id)) - (sound-stop (-> self mech whine-sound-id)) - (send-event (handle->process (-> self mech hud 0)) 'hide-and-die) - (set! (-> self draw shadow) (-> self shadow-backup)) - (set! (-> self control cspace-offset quad) (the-as uint128 0)) - (remove-setting! 'sound-flava) - (target-exit) - ) - (none) - ) - -;; definition for function target-mech-effect -;; WARN: Return type mismatch int vs none. -(defbehavior target-mech-effect target () - (sound-play "mech-pulse" :id (-> self mech engine-sound-id)) - (set! (-> self game distance) (/ (-> self mech shield-value) (-> self mech shield-max))) - 0 - (none) - ) - -;; definition for function target-mech-add-thrust -;; INFO: Used lq/sq -;; WARN: Return type mismatch symbol vs none. -(defbehavior target-mech-add-thrust target () - (let ((s5-0 (-> self control target-transv)) - (gp-0 (-> self control transv-ctrl)) - ) - (set! (-> (new 'stack-no-clear 'vector) quad) (-> self control target-transv quad)) - (target-bend-vel-turn gp-0) - (target-add-slide-factor s5-0) - (let ((t9-2 vector-xz-normalize!) - (a0-5 (new-stack-vector0)) - ) - (set! (-> a0-5 quad) (-> s5-0 quad)) - (let ((s4-0 (t9-2 a0-5 1.0))) - (let ((t9-3 vector-xz-normalize!) - (a0-6 (new-stack-vector0)) - ) - (set! (-> a0-6 quad) (-> gp-0 quad)) - (let ((v1-7 (t9-3 a0-6 1.0))) - (set! (-> s4-0 y) 0.0) - (set! (-> v1-7 y) 0.0) - ) - ) - (let* ((f0-2 (-> s4-0 z)) - (v1-8 gp-0) - (f1-4 (sqrtf (+ (* (-> v1-8 x) (-> v1-8 x)) (* (-> v1-8 z) (-> v1-8 z))))) - (v1-10 s5-0) - (f0-11 - (cond - ((>= f1-4 (sqrtf (+ (* (-> v1-10 x) (-> v1-10 x)) (* (-> v1-10 z) (-> v1-10 z))))) - (let ((f0-3 (-> self control current-surface fric)) - (f1-5 1.0) - (v1-15 gp-0) - ) - (* f0-3 (fmax f1-5 (/ (sqrtf (+ (* (-> v1-15 x) (-> v1-15 x)) (* (-> v1-15 z) (-> v1-15 z)))) - (-> self control current-surface nonlin-fric-dist) - ) - ) - ) - ) - ) - ((>= f0-2 0.0) - (+ (* f0-2 (-> self control current-surface seek0)) (* (- 1.0 f0-2) (-> self control current-surface seek90))) - ) - (else - (+ (* (fabs f0-2) (-> self control current-surface seek180)) - (* (+ 1.0 f0-2) (-> self control current-surface seek90)) - ) - ) - ) - ) - (s4-1 vector-xz-normalize!) - (s3-0 gp-0) - (t9-4 seek) - (v1-30 gp-0) - ) - (s4-1 s3-0 (t9-4 - (sqrtf (+ (* (-> v1-30 x) (-> v1-30 x)) (* (-> v1-30 z) (-> v1-30 z)))) - (sqrtf (+ (* (-> s5-0 x) (-> s5-0 x)) (* (-> s5-0 z) (-> s5-0 z)))) - (* f0-11 (-> self clock seconds-per-frame)) - ) - ) - ) - ) - ) - (set! (-> self control velocity-after-thrust) (vector-length gp-0)) - ) - (let ((gp-1 (new-stack-vector0))) - (vector-matrix*! gp-1 (-> self control transv-ctrl) (-> self control c-R-w)) - (vector-float*! gp-1 gp-1 0.5) - (vector+! gp-1 gp-1 (-> self control trans)) - (add-debug-text-sphere - *display-target-marks* - (bucket-id debug-no-zbuf1) - gp-1 - (meters 0.2) - "ltransv" - (new 'static 'rgba :g #xff :a #x80) - ) - ) - (none) - ) - -;; definition for function target-mech-collision -;; INFO: Used lq/sq -;; WARN: Return type mismatch int vs none. -(defbehavior target-mech-collision target () - (cond - ((and (-> self next-state) (= (-> self next-state name) 'target-mech-carry-drag)) - (let ((s5-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'vector)) - ) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) (process->ppointer self)) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'move) - (set! (-> a1-0 param 0) (the-as uint (-> self control transv))) - (set! (-> a1-0 param 1) (the-as uint s5-0)) - (let ((s3-0 (send-event-function (handle->process (-> self carry other)) a1-0)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s4-0 quad) (-> self control trans quad)) - (set! (-> (new 'stack-no-clear 'vector) quad) (-> self control transv quad)) - (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (v1-18 (-> self control)) - ) - (set! (-> a2-1 collide-with) (-> v1-18 root-prim prim-core collide-with)) - (set! (-> a2-1 ignore-process0) self) - (set! (-> a2-1 ignore-process1) #f) - (set! (-> a2-1 ignore-pat) (-> v1-18 pat-ignore-mask)) - (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide v1-18 (-> v1-18 transv) a2-1 (meters 1)) - ) - (vector-! gp-0 (-> self control trans) s4-0) - (let* ((s2-0 (-> self control dynam gravity-normal)) - (f30-0 (- (vector-dot s2-0 gp-0) (vector-dot s2-0 s5-0))) - (a1-4 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-4 from) (process->ppointer self)) - (set! (-> a1-4 num-params) 0) - (set! (-> a1-4 message) 'carry-info) - (let* ((s1-0 (the-as carry-info (send-event-function (handle->process (-> self carry other)) a1-4))) - (f0-2 (distance-from-destination (-> self carry) s1-0)) - ) - (cond - ((not s3-0) - ) - ((>= f0-2 0.0) - (let ((v1-38 (vector-float*! (new 'stack-no-clear 'vector) s2-0 f30-0))) - (vector+! (-> s1-0 hold-trans) (-> s1-0 hold-trans) v1-38) - ) - (let ((v1-39 (new-stack-vector0))) - (let ((f0-4 (vector-dot (-> self control dynam gravity-normal) s5-0))) - 0.0 - (vector-! v1-39 s5-0 (vector-float*! v1-39 (-> self control dynam gravity-normal) f0-4)) - ) - (let ((f0-5 (vector-length v1-39))) - f0-5 - (let ((f0-6 f0-5) - (v1-42 (new-stack-vector0)) - ) - (let ((f1-6 (vector-dot (-> self control dynam gravity-normal) gp-0))) - 0.0 - (vector-! v1-42 gp-0 (vector-float*! v1-42 (-> self control dynam gravity-normal) f1-6)) - ) - (let ((f1-7 (vector-length v1-42))) - f1-7 - (when (< f0-6 f1-7) - (let ((v1-46 (new-stack-vector0)) - (f0-8 (vector-dot (-> self control dynam gravity-normal) gp-0)) - ) - 0.0 - (vector-! v1-46 gp-0 (vector-float*! v1-46 (-> self control dynam gravity-normal) f0-8)) - (let ((f1-11 (vector-length v1-46)) - (a0-43 (new-stack-vector0)) - ) - (let ((f2-3 (vector-dot (-> self control dynam gravity-normal) s5-0))) - 0.0 - (vector-! a0-43 s5-0 (vector-float*! a0-43 (-> self control dynam gravity-normal) f2-3)) - ) - (let ((f2-4 (vector-length a0-43))) - f2-4 - (let ((f2-5 f2-4)) - (vector+! - gp-0 - (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-8) - (vector-float*! v1-46 v1-46 (/ f2-5 f1-11)) - ) - ) - ) - ) - ) - (let ((a1-25 (vector+! (new 'stack-no-clear 'vector) s4-0 gp-0))) - (move-to-point! (-> self control) a1-25) - ) - ) - ) - ) - ) - ) - ) - (else - (send-event self 'drop 150) - ) - ) - ) - ) - ) - ) - ) - ) - (else - (when *debug-segment* - (let ((gp-1 (-> *display* frames (-> *display* on-screen) profile-array data 0)) - (v1-61 'target) - (s5-1 *profile-target-color*) - ) - (when (and *dproc* *debug-segment*) - (let ((s4-1 (-> gp-1 data (-> gp-1 count)))) - (let ((s3-1 (-> gp-1 base-time))) - (set! (-> s4-1 name) v1-61) - (set! (-> s4-1 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-1)))) - ) - (set! (-> s4-1 depth) (the-as uint (-> gp-1 depth))) - (set! (-> s4-1 color) s5-1) - (set! (-> gp-1 segment (-> gp-1 depth)) s4-1) - ) - (+! (-> gp-1 count) 1) - (+! (-> gp-1 depth) 1) - (set! (-> gp-1 max-depth) (max (-> gp-1 max-depth) (-> gp-1 depth))) - ) - ) - 0 - ) - (let ((a2-17 (new 'stack-no-clear 'collide-query)) - (v1-74 (-> self control)) - ) - (set! (-> a2-17 collide-with) (-> v1-74 root-prim prim-core collide-with)) - (set! (-> a2-17 ignore-process0) self) - (set! (-> a2-17 ignore-process1) #f) - (set! (-> a2-17 ignore-pat) (-> v1-74 pat-ignore-mask)) - (set! (-> a2-17 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide v1-74 (-> v1-74 transv) a2-17 (meters 1)) - ) - (when *debug-segment* - (let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0))) - (when (and *dproc* *debug-segment*) - (let* ((v1-87 (+ (-> gp-2 depth) -1)) - (s5-2 (-> gp-2 segment v1-87)) - (s4-2 (-> gp-2 base-time)) - ) - (when (>= v1-87 0) - (set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-2)))) - (+! (-> gp-2 depth) -1) - ) - ) - ) - ) - 0 - ) - ) - ) - (when (logtest? (-> self control status) (collide-status touch-wall)) - (let ((v1-98 (vector-! (new 'stack-no-clear 'vector) (-> self control wall-contact-pt) (-> self control trans)))) - (set! (-> v1-98 y) 0.0) - (when (< (vector-dot v1-98 (-> self control c-R-w vector 2)) 0.0) - (set! (-> self mech back-touch-time) (current-time)) - (set! (-> self mech back-touch-point quad) (-> self control wall-contact-pt quad)) - (set! (-> self mech back-touch-trans quad) (-> self control trans quad)) - ) - ) - ) - 0 - (none) - ) - -;; definition for function target-mech-real-post -;; INFO: Used lq/sq -;; WARN: Return type mismatch int vs none. -(defbehavior target-mech-real-post target () - (let ((f30-0 (-> self clock clock-ratio))) - (let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio))))) - (update-rates! (-> self clock) (/ f30-0 (the float gp-1))) - (while (nonzero? gp-1) - (+! gp-1 -1) - (set! (-> self control remaining-ctrl-iterations) gp-1) - (flag-setup) - (if (< (-> self control force-turn-to-strength) 0.0) - (set! (-> self control force-turn-to-strength) (- 1.0 (-> self control cpad stick0-speed))) - ) - (build-conversions (-> self control transv)) - (do-rotations1) - (let ((s5-0 (new-stack-vector0))) - (read-pad s5-0) - (let ((f28-0 (-> self control pad-magnitude))) - (if (or (and (< 0.0 f28-0) - (< 0.3 (-> self control pad-magnitude)) - (< (vector-dot (-> self control pad-xz-dir) (-> self control last-pad-xz-dir)) 0.2) - (< f28-0 0.7) - ) - (-> self mech stick-off) - ) - (set! f28-0 0.0) - ) - (when (!= (-> self control force-turn-to-strength) 0.0) - (let ((f0-15 (fmin 1.0 (-> self control force-turn-to-strength)))) - (set! (-> self control force-turn-to-strength) f0-15) - (let ((a1-2 (vector-float*! - (new 'stack-no-clear 'vector) - (if (= f28-0 0.0) - *zero-vector* - s5-0 - ) - f28-0 - ) - ) - (a2-1 (vector-float*! - (new 'stack-no-clear 'vector) - (-> self control force-turn-to-direction) - (-> self control force-turn-to-speed) - ) - ) - ) - (vector-lerp! s5-0 a1-2 a2-1 f0-15) - ) - ) - (set! f28-0 (vector-length s5-0)) - (vector-normalize! s5-0 1.0) - ) - (turn-to-vector s5-0 f28-0) - ) - ) - (cond - ((and (logtest? (-> self control mod-surface flags) (surface-flag air)) - (not (logtest? (-> self control status) (collide-status on-surface))) - ) - (add-thrust) - ) - (else - (let* ((v1-51 (-> self control target-transv)) - (f0-20 (sqrtf (+ (* (-> v1-51 x) (-> v1-51 x)) (* (-> v1-51 z) (-> v1-51 z))))) - ) - (set-vector! (-> self control target-transv) 0.0 0.0 f0-20 1.0) - ) - (target-mech-add-thrust) - ) - ) - (add-gravity) - (do-rotations2) - (reverse-conversions (-> self control transv)) - (pre-collide-setup) - (target-mech-collision) - (bend-gravity) - (post-flag-setup) - ) - ) - (update-rates! (-> self clock) f30-0) - ) - (when *debug-segment* - (let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0)) - (v1-68 'target-post) - (s5-1 *profile-target-post-color*) - ) - (when (and *dproc* *debug-segment*) - (let ((s4-0 (-> gp-2 data (-> gp-2 count)))) - (let ((s3-0 (-> gp-2 base-time))) - (set! (-> s4-0 name) v1-68) - (set! (-> s4-0 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-0)))) - ) - (set! (-> s4-0 depth) (the-as uint (-> gp-2 depth))) - (set! (-> s4-0 color) s5-1) - (set! (-> gp-2 segment (-> gp-2 depth)) s4-0) - ) - (+! (-> gp-2 count) 1) - (+! (-> gp-2 depth) 1) - (set! (-> gp-2 max-depth) (max (-> gp-2 max-depth) (-> gp-2 depth))) - ) - ) - 0 - ) - (ja-post) - (when *debug-segment* - (let ((gp-3 (-> *display* frames (-> *display* on-screen) profile-array data 0))) - (when (and *dproc* *debug-segment*) - (let* ((v1-92 (+ (-> gp-3 depth) -1)) - (s5-2 (-> gp-3 segment v1-92)) - (s4-1 (-> gp-3 base-time)) - ) - (when (>= v1-92 0) - (set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-1)))) - (+! (-> gp-3 depth) -1) - ) - ) - ) - ) - 0 - ) - (joint-points) - (do-target-gspot) - (target-powerup-process) - (vector+! (-> self mech mech-trans) (-> self control trans) (-> self control cspace-offset)) - (quaternion-copy! (the-as quaternion (-> self mech mech-quat)) (-> self control quat)) - (set! (-> self mech mech-scale quad) (-> self control scale quad)) - (vector+! (-> self alt-cam-pos) (-> self control camera-pos) (new 'static 'vector :y 4096.0 :w 1.0)) - (set! (-> self mech mech-time) (current-time)) - (target-mech-effect) - 0 - (none) - ) - -;; definition for function target-mech-post -(defbehavior target-mech-post target () - (target-mech-real-post) - (none) - ) diff --git a/test/decompiler/reference/jak2/engine/target/sidekick_REF.gc b/test/decompiler/reference/jak2/engine/target/sidekick_REF.gc index 0dd5fa904d..f967340cd7 100644 --- a/test/decompiler/reference/jak2/engine/target/sidekick_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/sidekick_REF.gc @@ -61,12 +61,7 @@ ("board-jump" ,(lambda :behavior sidekick ((arg0 object) (arg1 vector) (arg2 object)) - (let* ((v1-0 (-> self parent-override)) - (gp-0 (if v1-0 - (-> v1-0 0 self-override) - ) - ) - ) + (let ((gp-0 (ppointer->process (-> self parent)))) (when (>= (- (current-time) (-> self special-anim-time)) (seconds 1)) (set! (-> self special-anim-interp) 0.0) (set! (-> self special-anim-frame) 0.0) @@ -182,9 +177,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace+transformq!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) (the-as basic (-> self offset))) ) (('copy-parent) @@ -192,9 +185,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) (('root) @@ -202,9 +193,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace-normalized!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) (('indax) @@ -212,11 +201,9 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-transformq+trans!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 control trans)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 control trans))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) - (the-as basic (-> self parent-override 0 control cspace-offset)) + (the-as basic (-> self parent 0 control cspace-offset)) ) ) (('board) @@ -224,9 +211,7 @@ (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) (the-as (function cspace transformq none) cspace<-cspace-normalized!) ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data 25)) - ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) (the-as basic (-> self parent 0 node-list data 25))) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) (else @@ -235,7 +220,7 @@ (the-as (function cspace transformq none) cspace<-cspace+transformq!) ) (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 control sidekick-root parent)) + (the-as basic (-> self parent 0 control sidekick-root parent)) ) (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) (the-as basic (-> self offset))) ) @@ -264,144 +249,126 @@ ) :code (the-as (function none :behavior sidekick) looping-code) :post (behavior () - (let ((v1-0 (-> self parent-override))) - (when (not (and (-> (if v1-0 - (-> v1-0 0 self-override) - ) - next-state - ) - (let ((v1-4 (-> self parent-override))) - (= (-> (if v1-4 - (-> v1-4 0 self-override) - ) - next-state - name - ) - 'process-drawable-art-error - ) - ) - ) - ) - (quaternion-rotate-y! - (-> self root quat) - (-> self parent-override 0 control quat) - (-> self parent-override 0 upper-body twist z) - ) - (set! (-> self anim-seed) (-> self parent-override 0 anim-seed)) - (set! (-> self draw status) (-> self parent-override 0 draw status)) - (logclear! (-> self draw status) (draw-control-status no-draw-bounds2)) - (let ((gp-0 0)) - (cond - ((and (not (logtest? (-> self parent-override 0 focus-status) (focus-status edge-grab))) - (> (-> self parent-override 0 skel float-channels) 0) - ) - (let ((gp-1 (-> self skel))) - (joint-control-copy! gp-1 (-> self parent-override 0 skel)) - (set! (-> gp-1 root-channel) - (the-as (inline-array joint-control-channel) (-> gp-1 channel (-> gp-1 active-channels))) - ) - (dotimes (s5-0 (the-as int (-> self parent-override 0 skel float-channels))) - (let ((s4-0 (-> gp-1 channel (+ s5-0 (-> gp-1 active-channels))))) - (mem-copy! - (the-as pointer s4-0) - (the-as - pointer - (-> self parent-override 0 skel channel (+ s5-0 (-> self parent-override 0 skel active-channels))) - ) - 64 - ) - (set! (-> s4-0 frame-interp 0) (-> s4-0 frame-interp 1)) - (set! (-> s4-0 command) (joint-control-command blend)) - ) - ) - (dotimes (v1-58 (the-as int (-> gp-1 allocated-length))) - (set! (-> gp-1 channel v1-58 parent) gp-1) - ) - (+! (-> gp-1 active-channels) (-> self parent-override 0 skel float-channels)) - (set! (-> gp-1 float-channels) (the-as uint 0)) + (when (not (and (-> (ppointer->process (-> self parent)) next-state) + (= (-> (ppointer->process (-> self parent)) next-state name) 'process-drawable-art-error) + ) ) - (set! gp-0 1) - ) - (else - (joint-control-copy! (-> self skel) (-> self parent-override 0 skel)) - ) - ) - (joint-control-remap! - (-> self skel) - (-> self draw art-group) - (-> self parent-override 0 draw art-group) - *sidekick-remap* - (the-as int (-> self anim-seed)) - "" - ) - (cond - ((zero? gp-0) - (set! (-> self skel effect channel-offset) (-> self parent-override 0 skel effect channel-offset)) - ) - ((= gp-0 1) - (set! (-> self skel effect channel-offset) 0) - 0 - ) - ) - ) - (let ((v1-85 (-> self parent-override 0 draw color-mult quad))) - (set! (-> self draw color-mult quad) v1-85) - ) - (let ((v1-89 (-> self parent-override 0 draw color-emissive quad))) - (set! (-> self draw color-emissive quad) v1-89) - ) - (set! (-> self draw force-fade) (-> self parent-override 0 draw force-fade)) - (set! (-> self draw death-vertex-skip) (-> self parent-override 0 draw death-vertex-skip)) - (set! (-> self draw death-effect) (-> self parent-override 0 draw death-effect)) - (set! (-> self draw death-timer) (-> self parent-override 0 draw death-timer)) - (set! (-> self draw death-timer-org) (-> self parent-override 0 draw death-timer-org)) - (set! (-> self draw death-draw-overlap) (-> self parent-override 0 draw death-draw-overlap)) - (quaternion-copy! (-> self offset quat) (-> self root quat)) - (let ((f0-3 (* (-> self parent-override 0 darkjak-interp) (-> self parent-override 0 darkjak-giant-interp)))) - (set! (-> self offset trans x) (* 286.72 f0-3)) - (set! (-> self offset trans y) (* 204.8 f0-3)) - (set! (-> self offset trans z) (* 409.6 f0-3)) - ) - (update-anim-data (-> self skel)) - (when *debug-segment* - (let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0)) - (v1-132 'target-post) - (s5-1 *profile-target-post-color*) + (quaternion-rotate-y! + (-> self root quat) + (-> self parent 0 control quat) + (-> self parent 0 upper-body twist z) + ) + (set! (-> self anim-seed) (-> self parent 0 anim-seed)) + (set! (-> self draw status) (-> self parent 0 draw status)) + (logclear! (-> self draw status) (draw-control-status no-draw-bounds2)) + (let ((gp-0 0)) + (cond + ((and (not (logtest? (-> self parent 0 focus-status) (focus-status edge-grab))) + (> (-> self parent 0 skel float-channels) 0) ) - (when (and *dproc* *debug-segment*) - (let ((s4-1 (-> gp-2 data (-> gp-2 count)))) - (let ((s3-0 (-> gp-2 base-time))) - (set! (-> s4-1 name) v1-132) - (set! (-> s4-1 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-0)))) - ) - (set! (-> s4-1 depth) (the-as uint (-> gp-2 depth))) - (set! (-> s4-1 color) s5-1) - (set! (-> gp-2 segment (-> gp-2 depth)) s4-1) - ) - (+! (-> gp-2 count) 1) - (+! (-> gp-2 depth) 1) - (set! (-> gp-2 max-depth) (max (-> gp-2 max-depth) (-> gp-2 depth))) - ) + (let ((gp-1 (-> self skel))) + (joint-control-copy! gp-1 (-> self parent 0 skel)) + (set! (-> gp-1 root-channel) + (the-as (inline-array joint-control-channel) (-> gp-1 channel (-> gp-1 active-channels))) + ) + (dotimes (s5-0 (the-as int (-> self parent 0 skel float-channels))) + (let ((s4-0 (-> gp-1 channel (+ s5-0 (-> gp-1 active-channels))))) + (mem-copy! + (the-as pointer s4-0) + (the-as pointer (-> self parent 0 skel channel (+ s5-0 (-> self parent 0 skel active-channels)))) + 64 + ) + (set! (-> s4-0 frame-interp 0) (-> s4-0 frame-interp 1)) + (set! (-> s4-0 command) (joint-control-command blend)) + ) + ) + (dotimes (v1-58 (the-as int (-> gp-1 allocated-length))) + (set! (-> gp-1 channel v1-58 parent) gp-1) + ) + (+! (-> gp-1 active-channels) (-> self parent 0 skel float-channels)) + (set! (-> gp-1 float-channels) (the-as uint 0)) + ) + (set! gp-0 1) + ) + (else + (joint-control-copy! (-> self skel) (-> self parent 0 skel)) ) - 0 ) - (do-joint-math (-> self draw) (-> self node-list) (-> self skel)) - (when *debug-segment* - (let ((gp-3 (-> *display* frames (-> *display* on-screen) profile-array data 0))) - (when (and *dproc* *debug-segment*) - (let* ((v1-158 (+ (-> gp-3 depth) -1)) - (s5-2 (-> gp-3 segment v1-158)) - (s4-2 (-> gp-3 base-time)) - ) - (when (>= v1-158 0) - (set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-2)))) - (+! (-> gp-3 depth) -1) - ) + (joint-control-remap! + (-> self skel) + (-> self draw art-group) + (-> self parent 0 draw art-group) + *sidekick-remap* + (the-as int (-> self anim-seed)) + "" + ) + (cond + ((zero? gp-0) + (set! (-> self skel effect channel-offset) (-> self parent 0 skel effect channel-offset)) + ) + ((= gp-0 1) + (set! (-> self skel effect channel-offset) 0) + 0 + ) + ) + ) + (let ((v1-85 (-> self parent 0 draw color-mult quad))) + (set! (-> self draw color-mult quad) v1-85) + ) + (let ((v1-89 (-> self parent 0 draw color-emissive quad))) + (set! (-> self draw color-emissive quad) v1-89) + ) + (set! (-> self draw force-fade) (-> self parent 0 draw force-fade)) + (set! (-> self draw death-vertex-skip) (-> self parent 0 draw death-vertex-skip)) + (set! (-> self draw death-effect) (-> self parent 0 draw death-effect)) + (set! (-> self draw death-timer) (-> self parent 0 draw death-timer)) + (set! (-> self draw death-timer-org) (-> self parent 0 draw death-timer-org)) + (set! (-> self draw death-draw-overlap) (-> self parent 0 draw death-draw-overlap)) + (quaternion-copy! (-> self offset quat) (-> self root quat)) + (let ((f0-3 (* (-> self parent 0 darkjak-interp) (-> self parent 0 darkjak-giant-interp)))) + (set! (-> self offset trans x) (* 286.72 f0-3)) + (set! (-> self offset trans y) (* 204.8 f0-3)) + (set! (-> self offset trans z) (* 409.6 f0-3)) + ) + (update-anim-data (-> self skel)) + (when *debug-segment* + (let ((gp-2 (-> *display* frames (-> *display* on-screen) profile-array data 0)) + (v1-132 'target-post) + (s5-1 *profile-target-post-color*) + ) + (when (and *dproc* *debug-segment*) + (let ((s4-1 (-> gp-2 data (-> gp-2 count)))) + (let ((s3-0 (-> gp-2 base-time))) + (set! (-> s4-1 name) v1-132) + (set! (-> s4-1 start-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s3-0)))) + ) + (set! (-> s4-1 depth) (the-as uint (-> gp-2 depth))) + (set! (-> s4-1 color) s5-1) + (set! (-> gp-2 segment (-> gp-2 depth)) s4-1) + ) + (+! (-> gp-2 count) 1) + (+! (-> gp-2 depth) 1) + (set! (-> gp-2 max-depth) (max (-> gp-2 max-depth) (-> gp-2 depth))) + ) + ) + 0 + ) + (do-joint-math (-> self draw) (-> self node-list) (-> self skel)) + (when *debug-segment* + (let ((gp-3 (-> *display* frames (-> *display* on-screen) profile-array data 0))) + (when (and *dproc* *debug-segment*) + (let* ((v1-158 (+ (-> gp-3 depth) -1)) + (s5-2 (-> gp-3 segment v1-158)) + (s4-2 (-> gp-3 base-time)) + ) + (when (>= v1-158 0) + (set! (-> s5-2 end-time) (the-as int (- (timer-count (the-as timer-bank #x10000800)) (the-as uint s4-2)))) + (+! (-> gp-3 depth) -1) ) ) ) - 0 ) + 0 ) ) (when *display-sidekick-stats* @@ -410,7 +377,7 @@ (add-debug-sphere *display-sidekick-stats* (bucket-id debug-no-zbuf1) - (-> self parent-override 0 control sidekick-root parent bone transform trans) + (-> self parent 0 control sidekick-root parent bone transform trans) (meters 0.1) (new 'static 'rgba :g #xff :a #x80) ) @@ -436,12 +403,12 @@ ) ) (set! (-> self draw shadow) - (the-as shadow-geo (if (or (and (movie?) (-> self shadow-in-movie?)) - (logtest? (focus-status indax) (-> self parent-override 0 focus-status)) - ) - (-> self draw art-group data 3) - ) - ) + (the-as + shadow-geo + (if (or (and (movie?) (-> self shadow-in-movie?)) (logtest? (focus-status indax) (-> self parent 0 focus-status))) + (-> self draw art-group data 3) + ) + ) ) (let ((a0-53 (-> self skel effect))) (if a0-53 @@ -512,7 +479,7 @@ (set! (-> self draw light-index) (the-as uint 30)) (let ((v1-14 (-> self node-list data))) (set! (-> v1-14 0 param0) (the-as (function cspace transformq none) cspace<-cspace+transformq!)) - (set! (-> v1-14 0 param1) (the-as basic (-> self parent-override 0 control sidekick-root parent))) + (set! (-> v1-14 0 param1) (the-as basic (-> self parent 0 control sidekick-root parent))) (set! (-> v1-14 0 param2) (the-as basic (-> self offset))) ) (set! (-> self shadow-in-movie?) #t) diff --git a/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc b/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc index 45ea814fc7..fe5d27f827 100644 --- a/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-darkjak_REF.gc @@ -51,9 +51,7 @@ ) ) (or (and (not (and (focus-test? self dark) (nonzero? (-> self darkjak)))) - (and (>= (- (current-time) (-> (the-as fact-info-target (-> self fact-override)) darkjak-start-time)) - (seconds 0.05) - ) + (and (>= (- (current-time) (-> (the-as fact-info-target (-> self fact)) darkjak-start-time)) (seconds 0.05)) (>= (-> self game eco-pill-dark) (-> *FACT-bank* eco-pill-dark-max-default)) ) ) @@ -112,8 +110,8 @@ ) (target-danger-set! (-> self control danger-mode) #f) (update-transforms (-> self control)) - (if (and (or (>= (- (current-time) (-> (the-as fact-info-target (-> self fact-override)) darkjak-start-time)) - (-> (the-as fact-info-target (-> self fact-override)) darkjak-effect-time) + (if (and (or (>= (- (current-time) (-> (the-as fact-info-target (-> self fact)) darkjak-start-time)) + (-> (the-as fact-info-target (-> self fact)) darkjak-effect-time) ) (not (-> *setting-control* user-current darkjak)) ) @@ -288,7 +286,7 @@ (persist-with-delay *setting-control* 'bg-a-speed (seconds 3) 'bg-a-speed 'abs 0.5 0) (if (not (and (-> self next-state) (= (-> self next-state name) 'target-darkjak-get-off))) (pickup-collectable! - (-> self fact-override) + (-> self fact) (pickup-type eco-pill-dark) (- (-> *FACT-bank* eco-pill-dark-max-default)) (the-as handle #f) @@ -319,8 +317,8 @@ (set! (-> self darkjak-giant-interp) 1.0) (set-setting! 'sound-flava #f 30.0 4) (set! (-> self focus-status) (logior (focus-status dark) (-> self focus-status))) - (set! (-> (the-as fact-info-target (-> self fact-override)) darkjak-start-time) (current-time)) - (set! (-> (the-as fact-info-target (-> self fact-override)) darkjak-effect-time) (seconds 20)) + (set! (-> (the-as fact-info-target (-> self fact)) darkjak-start-time) (current-time)) + (set! (-> (the-as fact-info-target (-> self fact)) darkjak-effect-time) (seconds 20)) (if (logtest? (-> self darkjak stage) 16) (logior! (-> self state-flags) (state-flags sf4)) (logclear! (-> self state-flags) (state-flags sf4)) diff --git a/test/decompiler/reference/jak2/engine/target/target-death_REF.gc b/test/decompiler/reference/jak2/engine/target/target-death_REF.gc index 50724eb605..e9fa31f30a 100644 --- a/test/decompiler/reference/jak2/engine/target/target-death_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-death_REF.gc @@ -667,7 +667,7 @@ (case (-> arg4 angle) (('jump 'up 'up-forward) (when (and (not (focus-test? self flut pilot mech indax)) - (not (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health)))) + (not (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health)))) ) (if (and (cpad-pressed? (-> self control cpad number) circle) (can-feet? #f)) (go target-attack-air #f) @@ -961,7 +961,7 @@ (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) (set! (-> self control time-of-last-debug-heal) (current-time)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-stance) ) ) @@ -1002,8 +1002,8 @@ ) (when (and (focus-test? self dark) (nonzero? (-> self darkjak))) (set! (-> sv-32 damage) (fmax 1.0 (ceil (* 0.5 (-> sv-32 damage))))) - (if (< (- (-> self fact-override health) (-> sv-32 damage)) 1.0) - (set! (-> sv-32 damage) (+ -1.0 (-> self fact-override health))) + (if (< (- (-> self fact health) (-> sv-32 damage)) 1.0) + (set! (-> sv-32 damage) (+ -1.0 (-> self fact health))) ) ) (set! (-> sv-36 quad) (-> sv-32 vector quad)) @@ -1045,13 +1045,13 @@ (go target-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-death (-> sv-32 mode)) ) ) ) (('lava 'melt) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-2 (let ((t9-15 (method-of-type part-tracker activate))) @@ -1102,23 +1102,23 @@ 'centipede 'big-explosion ) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-death (-> sv-32 mode)) ) ) (('explode) - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-death (-> sv-32 mode)) ) ) (('smush) - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) (go target-hit-ground-hard (-> *TARGET-bank* fall-far)) ) (('shock 'shock-red 'shock-green) - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) (let* ((v1-123 (-> sv-32 mode)) (gp-3 (cond ((= v1-123 'shock-red) @@ -1243,7 +1243,7 @@ ) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> sv-32 damage)) (the-as handle #f)) ) ) (target-hit-effect sv-32) @@ -1256,17 +1256,17 @@ ) ) ) - (when (and (= (-> self game mode) 'play) (and (>= 0.0 (-> self fact-override health)) (using-gun? self))) + (when (and (= (-> self game mode) 'play) (and (>= 0.0 (-> self fact health)) (using-gun? self))) (send-event (ppointer->process (-> self gun gun)) 'die) (target-gun-end-mode #f) ) (set! (-> self control mod-surface) *smack-mods*) (target-hit-setup-anim sv-32) (target-hit-move sv-32 (target-hit-orient sv-32 sv-36) target-falling-anim-trans 1.0) - (if (and (and (focus-test? self dark) (nonzero? (-> self darkjak))) (>= 1.0 (-> self fact-override health))) + (if (and (and (focus-test? self dark) (nonzero? (-> self darkjak))) (>= 1.0 (-> self fact health))) (go target-darkjak-get-off) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-death (-> sv-32 mode)) ) (go target-hit-ground #f) diff --git a/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc b/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc index 5d98c319fa..a108aa793a 100644 --- a/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-gun_REF.gc @@ -2353,7 +2353,7 @@ (logtest? (state-flags sf16) (-> self state-flags)) (logtest? (-> self game secrets) (game-secrets endless-ammo)) ) - (pickup-collectable! (-> self fact-override) (the-as pickup-type a1-0) -1.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type a1-0) -1.0 (the-as handle #f)) (case (-> gp-0 gun-type) (((pickup-type eco-blue)) (cond diff --git a/test/decompiler/reference/jak2/engine/target/target-h_REF.gc b/test/decompiler/reference/jak2/engine/target/target-h_REF.gc index 9124ffb634..40c140c1e8 100644 --- a/test/decompiler/reference/jak2/engine/target/target-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-h_REF.gc @@ -3,9 +3,9 @@ ;; definition of type target (deftype target (process-focusable) - ((self-override target :offset 32) + ((self target :override) + (fact fact-info-target :override) (control control-info :offset 128) - (fact-override fact-info-target :offset 160) (skel2 joint-control :offset-assert 204) (shadow-backup shadow-geo :offset-assert 208) (target-flags uint32 :offset 188) @@ -319,7 +319,7 @@ ;; definition of type sidekick (deftype sidekick (process-drawable) - ((parent-override (pointer target) :offset 16) + ((parent (pointer target) :override) (control control-info :offset 128) (anim-seed uint64 :offset 208) (shadow-in-movie? symbol :offset-assert 216) diff --git a/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc b/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc index c767d1e167..6671befcf7 100644 --- a/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-handler_REF.gc @@ -68,10 +68,10 @@ ((or (logtest? (state-flags sf2 tinvul1 tinvul2) (-> self state-flags)) (logtest? (-> self game secrets) (game-secrets invulnerable)) (and (logtest? (-> self state-flags) (state-flags sf4)) (not (attack-mode-is-invinc s4-0))) - (< 0.0 (-> (the-as fact-info-target (-> self fact-override)) shield-level)) + (< 0.0 (-> (the-as fact-info-target (-> self fact)) shield-level)) (and (= s4-0 'darkeco) - (and (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) + (and (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2) + (>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0) ) (or (logtest? (-> self state-flags) (state-flags sf15)) (focus-test? self dangerous)) ) @@ -118,12 +118,12 @@ ((and (logtest? (-> self attack-info-rec mask) (attack-info-mask mode)) (= (-> self attack-info-rec mode) 'damage) (not (and (= (-> self game mode) 'play) - (>= 0.0 (- (-> (the-as fact-info-target (-> self fact-override)) health) (-> self attack-info-rec damage))) + (>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> self attack-info-rec damage))) ) ) ) (pickup-collectable! - (-> self fact-override) + (-> self fact) (pickup-type health) (if (logtest? (attack-info-mask damage) (-> self attack-info-rec mask)) (- (-> self attack-info-rec damage)) @@ -185,7 +185,7 @@ (else (logior! (-> self focus-status) (focus-status ignore hit)) (when (and (= (-> self game mode) 'play) - (and (or (and (>= 0.0 (- (-> (the-as fact-info-target (-> self fact-override)) health) (-> self attack-info-rec damage))) + (and (or (and (>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> self attack-info-rec damage))) (not (and (focus-test? self dark) (nonzero? (-> self darkjak)))) ) (attack-mode-is-invinc s4-0) @@ -673,8 +673,8 @@ (let ((s4-0 (-> arg3 param 0)) (f28-0 (the-as float (-> arg3 param 1))) ) - (if (!= (pickup-collectable! (-> self fact-override) (the-as pickup-type s4-0) 0.0 (the-as handle #f)) - (pickup-collectable! (-> self fact-override) (the-as pickup-type s4-0) f28-0 (process->handle arg0)) + (if (!= (pickup-collectable! (-> self fact) (the-as pickup-type s4-0) 0.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type s4-0) f28-0 (process->handle arg0)) ) #t 'full @@ -684,11 +684,11 @@ ) (('test-pickup) (let ((a1-6 (-> arg3 param 0))) - (pickup-collectable! (-> self fact-override) (the-as pickup-type a1-6) 0.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type a1-6) 0.0 (the-as handle #f)) ) ) (('reset-pickup) - (the-as object (reset! (-> self fact-override) (the-as symbol (-> arg3 param 0)))) + (the-as object (reset! (-> self fact) (the-as symbol (-> arg3 param 0)))) ) (('reset-collide) (cond @@ -725,13 +725,9 @@ (let ((s4-1 (-> s5-1 info))) (let ((v1-40 (-> s4-1 buzzer))) (if (nonzero? v1-40) - (set! (-> self fact-override buzzer) 0.0) - (set! (-> self fact-override buzzer) (pickup-collectable! - (-> self fact-override) - (pickup-type buzzer) - (the float (logior -65536 v1-40)) - (the-as handle #f) - ) + (set! (-> self fact buzzer) 0.0) + (set! (-> self fact buzzer) + (pickup-collectable! (-> self fact) (pickup-type buzzer) (the float (logior -65536 v1-40)) (the-as handle #f)) ) ) ) @@ -776,12 +772,12 @@ (('query) (case (-> arg3 param 0) (('powerup) - (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) (-> arg3 param 1)) - (< 0.0 (-> (the-as fact-info-target (-> self fact-override)) eco-level)) + (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) (-> arg3 param 1)) + (< 0.0 (-> (the-as fact-info-target (-> self fact)) eco-level)) ) ) (('pickup) - (pickup-collectable! (-> self fact-override) (the-as pickup-type (-> arg3 param 1)) 0.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (the-as pickup-type (-> arg3 param 1)) 0.0 (the-as handle #f)) ) (('ground-height) (target-height-above-ground) @@ -941,20 +937,20 @@ ) (('touched) (cond - ((< 0.0 (-> (the-as fact-info-target (-> self fact-override)) shield-level)) + ((< 0.0 (-> (the-as fact-info-target (-> self fact)) shield-level)) (let ((s4-3 (-> self control penetrate-using))) (set! (-> self control penetrate-using) (penetrate touch shield)) (let* ((v1-193 (-> self game)) (a0-161 (+ (-> v1-193 attack-id) 1)) ) (set! (-> v1-193 attack-id) a0-161) - (set! (-> self fact-override shield-attack-id) a0-161) + (set! (-> self fact shield-attack-id) a0-161) ) (set! v0-0 (target-send-attack arg0 'shield (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> (the-as fact-info-target (-> self fact-override)) shield-attack-id)) + (the-as int (-> (the-as fact-info-target (-> self fact)) shield-attack-id)) 0 (-> self control penetrate-using) ) @@ -1266,8 +1262,8 @@ ) ((logtest? (-> arg3 param 2) 128) (set! (-> self darkjak stage) (logand -2 (-> self darkjak stage))) - (set! v0-0 (+ (- (seconds 20) (-> self fact-override darkjak-start-time)) (current-time))) - (set! (-> self fact-override darkjak-effect-time) (the-as time-frame v0-0)) + (set! v0-0 (+ (- (seconds 20) (-> self fact darkjak-start-time)) (current-time))) + (set! (-> self fact darkjak-effect-time) (the-as time-frame v0-0)) v0-0 ) ) @@ -1405,14 +1401,14 @@ (case arg2 (('touched) (cond - ((< 0.0 (-> (the-as fact-info-target (-> self fact-override)) shield-level)) + ((< 0.0 (-> (the-as fact-info-target (-> self fact)) shield-level)) (let ((s4-1 (-> self control penetrate-using))) (set! (-> self control penetrate-using) (penetrate touch shield)) (let ((v0-0 (the-as object (target-send-attack arg0 'shield (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> (the-as fact-info-target (-> self fact-override)) shield-attack-id)) + (the-as int (-> (the-as fact-info-target (-> self fact)) shield-attack-id)) 0 (-> self control penetrate-using) ) diff --git a/test/decompiler/reference/jak2/engine/target/target-part_REF.gc b/test/decompiler/reference/jak2/engine/target/target-part_REF.gc index 09437adf02..cf064192fd 100644 --- a/test/decompiler/reference/jak2/engine/target/target-part_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-part_REF.gc @@ -2683,7 +2683,7 @@ ) (-> s5-0 end-pos) ) - (-> sv-752 ppointer-override) + (-> sv-752 ppointer) ) ) (when sv-624 @@ -2735,7 +2735,7 @@ (t9-5 s0-1 arg1 (symbol->string (-> lightning-tracker symbol)) (the-as pointer #x70004000)) ) (run-now-in-process s0-1 lightning-tracker-init arg2 0 arg3 arg0 s1-0 sv-16) - (-> s0-1 ppointer-override) + (-> s0-1 ppointer) ) ) ) diff --git a/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc b/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc index fbfd51b64e..e98ea6740f 100644 --- a/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-swim_REF.gc @@ -680,7 +680,7 @@ (set! (-> v1-1 mode) 'damage) ) (if (and (= (-> self game mode) 'play) - (>= 0.0 (- (-> (the-as fact-info-target (-> self fact-override)) health) (-> v1-1 damage))) + (>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> v1-1 damage))) ) (set! (-> v1-1 mode) 'drown-death) ) diff --git a/test/decompiler/reference/jak2/engine/target/target-tube_REF.gc b/test/decompiler/reference/jak2/engine/target/target-tube_REF.gc index 5c0f32ed0c..7aee5e5aaa 100644 --- a/test/decompiler/reference/jak2/engine/target/target-tube_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-tube_REF.gc @@ -918,13 +918,13 @@ (set! (-> self game hit-time) (current-time)) (case (-> gp-0 mode) (('bot) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-death (-> gp-0 mode)) ) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) ) ) (target-hit-effect gp-0) @@ -956,7 +956,7 @@ (set! (-> a0-58 quad) (-> self control transv quad)) (s5-2 s4-1 (t9-9 a0-58 1.0) (vector-y-quaternion! (new-stack-vector0) (-> self control dir-targ))) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-tube-death (-> gp-0 mode)) ) ) diff --git a/test/decompiler/reference/jak2/engine/target/target-turret-shot_REF.gc b/test/decompiler/reference/jak2/engine/target/target-turret-shot_REF.gc index 76e5114784..c9e3c1cc78 100644 --- a/test/decompiler/reference/jak2/engine/target/target-turret-shot_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-turret-shot_REF.gc @@ -248,14 +248,14 @@ ) ) :code (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> (the-as collide-shape-prim-group root-prim) child 0 prim-core world-sphere w) 4915.2) ) (let ((overlap-params (new 'stack-no-clear 'overlaps-others-params))) (set! (-> overlap-params options) (overlaps-others-options)) (set! (-> overlap-params collide-with-filter) (the-as collide-spec -1)) (set! (-> overlap-params tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) overlap-params) + (find-overlapping-shapes (-> self root) overlap-params) ) (suspend) (go-virtual die) @@ -276,7 +276,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -349,7 +349,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles turret-shot ((obj turret-shot)) "TODO - confirm" - (let* ((root (-> obj root-override)) + (let* ((root (-> obj root)) (v1-2 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> root trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -417,7 +417,7 @@ ;; WARN: Return type mismatch projectile-options vs none. (defmethod init-proj-settings! turret-shot ((obj turret-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 (seconds 0.1)) (set! (-> obj attack-mode) 'turret) (set! (-> obj max-speed) 1228800.0) @@ -497,9 +497,9 @@ ) (set! (-> cshape max-iteration-count) (the-as uint 1)) (set! (-> cshape event-self) 'touched) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 diff --git a/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc b/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc index 4adb736f4e..fa96e0d65f 100644 --- a/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-turret_REF.gc @@ -937,7 +937,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod base-turret-method-36 base-turret ((obj base-turret)) (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) 0 (none) @@ -956,7 +956,7 @@ (matrix->quaternion gp-0 s3-0) (quaternion-smooth-seek! (-> obj target-quat) (-> obj target-quat) gp-0 0.33) (let ((f0-2 (update! (-> obj smush-control)))) - (quaternion-rotate-local-x! (-> obj root-override quat) gp-0 (* -910.2222 f0-2)) + (quaternion-rotate-local-x! (-> obj root quat) gp-0 (* -910.2222 f0-2)) ) ) 0 @@ -979,7 +979,7 @@ (set! (-> obj sound-playing 0) #f) ) ((< (* 1.2 f26-0) f30-0) - (sound-play "drill-turret-lp" :id (-> obj sound-id 0) :position (-> obj root-override trans)) + (sound-play "drill-turret-lp" :id (-> obj sound-id 0) :position (-> obj root trans)) (set! (-> obj sound-playing 0) #t) ) ) @@ -989,12 +989,12 @@ (set! (-> obj sound-playing 1) #f) ) ((< (* 1.2 f24-0) f28-0) - (sound-play "drill-turret-l2" :id (-> obj sound-id 1) :position (-> obj root-override trans)) + (sound-play "drill-turret-l2" :id (-> obj sound-id 1) :position (-> obj root trans)) (set! (-> obj sound-playing 1) #t) ) ) (if (and (or s5-0 s4-0) (< f30-0 f26-0) (< f28-0 f24-0)) - (sound-play "drill-tur-stop" :position (-> obj root-override trans)) + (sound-play "drill-tur-stop" :position (-> obj root trans)) ) ) (case (-> obj path-mode) @@ -1006,7 +1006,7 @@ (the int (* 1524.0 (lerp-scale -0.3 0.3 (-> obj path-speed-mult) 0.0 4.0))) 0 (sound-group sfx) - (-> obj root-override trans) + (-> obj root trans) ) (set! (-> obj sound-playing 2) #t) ) @@ -1028,7 +1028,7 @@ (case arg2 (('trans) (set! v0-0 (-> arg3 param 0)) - (set! (-> (the-as vector v0-0) quad) (-> obj root-override trans quad)) + (set! (-> (the-as vector v0-0) quad) (-> obj root trans quad)) v0-0 ) (('quat) @@ -1065,7 +1065,7 @@ (defmethod get-trans base-turret ((obj base-turret) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" (if (= arg0 1) - (-> obj root-override trans) + (-> obj root trans) ((method-of-type process-focusable get-trans) obj arg0) ) ) @@ -1099,14 +1099,7 @@ ) (('touch) (send-event proc 'target-turret-get-off 90) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) #f ) (('exit) @@ -1130,7 +1123,7 @@ (let ((f30-0 20480.0)) (until #f (when (and (and *target* - (and (>= f30-0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + (and (>= f30-0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -1138,7 +1131,7 @@ (can-display-query? self (the-as string #f) -99.0) (not (focus-test? *target* in-head board mech dark)) (let ((f28-0 24576.0) - (s4-0 (-> self root-override)) + (s4-0 (-> self root)) (s5-0 (target-pos 0)) ) (and (< f28-0 @@ -1188,7 +1181,7 @@ (-> *target* neck) (vector+! (new 'stack-no-clear 'vector) - (the-as vector (-> self root-override root-prim prim-core)) + (the-as vector (-> self root root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0) ) 'nothing-special @@ -1206,12 +1199,12 @@ (cond ((-> self enable-controls) (quaternion-slerp! - (-> self root-override quat) - (-> self root-override quat) + (-> self root quat) + (-> self root quat) (-> self init-quat) (* 3.0 (-> self clock seconds-per-frame)) ) - (quaternion-copy! (-> self target-quat) (-> self root-override quat)) + (quaternion-copy! (-> self target-quat) (-> self root quat)) ) (else (let ((s4-0 (new 'stack-no-clear 'matrix)) @@ -1224,7 +1217,7 @@ (matrix->quaternion gp-0 s4-0) (quaternion-smooth-seek! (-> self target-quat) (-> self target-quat) gp-0 0.33) (let ((f0-4 (update! (-> self smush-control)))) - (quaternion-rotate-local-x! (-> self root-override quat) gp-0 (* -910.2222 f0-4)) + (quaternion-rotate-local-x! (-> self root quat) gp-0 (* -910.2222 f0-4)) ) ) ) @@ -1378,7 +1371,7 @@ (set! (-> self focus-status) (focus-status)) (set! (-> self red-filter-timer) 0) (set! (-> self ride-height) 0.0) - (set! (-> self roty) (y-angle (-> self root-override))) + (set! (-> self roty) (y-angle (-> self root))) (set! (-> self rotyv) 0.0) (set! (-> self rotx) 0.0) (set! (-> self rotxv) 0.0) @@ -1387,7 +1380,7 @@ (base-turret-method-34 self a1-1) ) ) - (let ((v1-14 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-14 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-14 prim-core action) (collide-action solid)) (set! (-> v1-14 prim-core collide-as) (collide-spec obstacle)) ) @@ -1395,7 +1388,7 @@ ) :exit (behavior () (set-filter-color! 1.0 1.0 1.0) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core action) (collide-action)) (set! (-> v1-3 prim-core collide-as) (collide-spec)) ) @@ -1425,8 +1418,8 @@ ((2 3 4) (let ((s5-0 (new 'stack-no-clear 'vector))) (get-point-at-percent-along-path! (-> self path) s5-0 (-> self path-u) 'interp) - (set! (-> self root-override trans quad) (-> s5-0 quad)) - (set! (-> self root-override trans y) (+ (-> s5-0 y) (-> self ride-height))) + (set! (-> self root trans quad) (-> s5-0 quad)) + (set! (-> self root trans y) (+ (-> s5-0 y) (-> self ride-height))) ) (seek! (-> self ride-height) 2048.0 (* 2048.0 (-> self clock seconds-per-frame))) (set! (-> self path-u-prev) (-> self path-u)) @@ -1440,7 +1433,7 @@ ) (base-turret-method-38 self) (when (= (-> self path-u) 1.0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override trans) 1.0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) 1.0 'interp) (let ((a1-9 (displacement-between-points-at-percent-normalized! (-> self path) (new 'stack-no-clear 'vector) 1.0))) (forward-up-nopitch->quaternion (-> self init-quat) a1-9 *y-vector*) ) @@ -1470,7 +1463,7 @@ ) ) ) - (set! (-> self path-old-pos quad) (-> self root-override trans quad)) + (set! (-> self path-old-pos quad) (-> self root trans quad)) (base-turret-method-36 self) (suspend) ) @@ -1600,7 +1593,7 @@ ) :trans (behavior () (when (< 0.99 (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self init-quat)) ) ) @@ -1627,7 +1620,7 @@ (-> *target* neck) (vector+! (new 'stack-no-clear 'vector) - (the-as vector (-> self root-override root-prim prim-core)) + (the-as vector (-> self root root-prim prim-core)) (new 'static 'vector :y 2048.0 :w 1.0) ) 'nothing-special @@ -1643,8 +1636,8 @@ (when (= (-> self path-mode) 5) (let ((gp-0 (new 'stack-no-clear 'vector))) (get-point-at-percent-along-path! (-> self path) gp-0 1.0 'interp) - (set! (-> self root-override trans quad) (-> gp-0 quad)) - (set! (-> self root-override trans y) (+ (-> gp-0 y) (-> self ride-height))) + (set! (-> self root trans quad) (-> gp-0 quad)) + (set! (-> self root trans y) (+ (-> gp-0 y) (-> self ride-height))) ) (seek! (-> self ride-height) 0.0 (* 2048.0 (-> self clock seconds-per-frame))) ) @@ -1728,14 +1721,7 @@ ) (('touch) (send-event proc 'target-turret-get-off 90) - (send-shoves - (-> self root-override) - proc - (the-as touching-shapes-entry (-> event param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (send-shoves (-> self root) proc (the-as touching-shapes-entry (-> event param 0)) 0.7 6144.0 16384.0) #f ) (('exit) @@ -1786,13 +1772,13 @@ ) (send-event-function (handle->process (-> self rider)) a1-1) ) - (let ((v1-17 (-> self root-override root-prim))) + (let ((v1-17 (-> self root root-prim))) (set! (-> v1-17 prim-core collide-as) (collide-spec)) (set! (-> v1-17 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (sound-play "turret-die" :position (-> self root-override trans)) + (sound-play "turret-die" :position (-> self root trans)) (let ((gp-2 (new 'stack 'joint-exploder-tuning (the-as uint 0)))) (process-spawn joint-exploder @@ -1804,7 +1790,7 @@ ) ) (let ((gp-3 (new 'stack-no-clear 'vector))) - (set! (-> gp-3 quad) (-> self root-override trans quad)) + (set! (-> gp-3 quad) (-> self root trans quad)) (set! (-> gp-3 y) (+ 8192.0 (-> gp-3 y))) (let ((s5-2 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-2 @@ -1855,7 +1841,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod base-turret-method-47 base-turret ((obj base-turret)) (with-pp - (let ((a0-1 (-> obj root-override trans)) + (let ((a0-1 (-> obj root trans)) (f30-0 0.0) (s4-0 (the-as process-drawable #f)) ) @@ -1886,7 +1872,7 @@ (!= s2-1 *target*) (base-turret-method-46 obj s2-1) ) - (let ((f0-1 (vector-vector-xz-distance (-> obj root-override trans) (-> s2-1 root trans)))) + (let ((f0-1 (vector-vector-xz-distance (-> obj root trans) (-> s2-1 root trans)))) (when (or (not s4-0) (< f0-1 f30-0)) (set! s4-0 s2-1) (set! f30-0 f0-1) @@ -1907,12 +1893,12 @@ (set! (-> s5-1 w) 1.0) (let ((s1-1 (new 'stack-no-clear 'vector)) (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 12))) - (s2-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (s2-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (vector-matrix*! s5-1 s5-1 (-> (the-as process-focusable s4-0) node-list data 0 bone transform)) (vector-line-distance-point! s5-1 s3-1 (vector+float*! (new 'stack-no-clear 'vector) s3-1 s2-2 4096.0) s1-1) (let* ((a1-10 (vector-! (new 'stack-no-clear 'vector) s5-1 s1-1)) - (s4-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) a1-10 (-> obj root-override quat))) + (s4-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) a1-10 (-> obj root quat))) (f30-1 (vector-vector-angle-safe s2-2 (vector-! (new 'stack-no-clear 'vector) s5-1 s3-1))) ) (let ((f0-10 (- (atan (-> s4-1 x) (-> s4-1 y))))) @@ -1935,7 +1921,7 @@ ) (seek! (-> obj arrow-red) - (lerp-scale 1.0 0.0 (vector-vector-distance s5-1 (-> obj root-override trans)) 122880.0 245760.0) + (lerp-scale 1.0 0.0 (vector-vector-distance s5-1 (-> obj root trans)) 122880.0 245760.0) (-> pp clock seconds-per-frame) ) ) @@ -1954,7 +1940,7 @@ ;; definition for method 43 of type base-turret ;; WARN: Return type mismatch int vs none. (defmethod base-turret-method-43 base-turret ((obj base-turret)) - (set! (-> obj roty) (y-angle (-> obj root-override))) + (set! (-> obj roty) (y-angle (-> obj root))) (set! (-> obj rotyv) 0.0) (set! (-> obj rotyvv) 0.0) (set! (-> obj rotx) 0.0) @@ -1999,15 +1985,15 @@ (set! (-> s3-0 backup-collide-as) (-> v1-19 prim-core collide-as)) (set! (-> s3-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) - (set! (-> obj root-override) s3-0) + (set! (-> obj root) s3-0) ) (when arg0 (process-drawable-from-entity! obj arg0) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (res-lump-float arg0 'rotoffset)) + (set-yaw-angle-clear-roll-pitch! (-> obj root) (res-lump-float arg0 'rotoffset)) ) (when arg1 - (set! (-> obj root-override trans quad) (-> arg1 vector 0 quad)) - (quaternion-copy! (-> obj root-override quat) (the-as quaternion (-> arg1 vector 1))) + (set! (-> obj root trans quad) (-> arg1 vector 0 quad)) + (quaternion-copy! (-> obj root quat) (the-as quaternion (-> arg1 vector 1))) ) (initialize-skeleton obj @@ -2021,13 +2007,7 @@ (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) ) (if (-> obj entity) - (move-to-ground - (the-as collide-shape-moving (-> obj root-override)) - 40960.0 - 40960.0 - #t - (collide-spec backgnd) - ) + (move-to-ground (the-as collide-shape-moving (-> obj root)) 40960.0 40960.0 #t (collide-spec backgnd)) ) (set-zero! (-> obj smush-control)) (set! (-> obj hud) (the-as handle #f)) @@ -2073,12 +2053,12 @@ (logior! (-> s5-1 flags) (path-control-flag display draw-line draw-point draw-text)) ) (when (not (logtest? (-> obj path flags) (path-control-flag not-found))) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) 0.0 'interp) - (set! (-> obj path-old-pos quad) (-> obj root-override trans quad)) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) 0.0 'interp) + (set! (-> obj path-old-pos quad) (-> obj root trans quad)) ) (set! (-> obj path-speed-mult) 1.0) (quaternion-copy! (-> obj target-quat) *unity-quaternion*) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (set! (-> obj gun-index) 0) (set! (-> obj shot-timeout) (seconds 0.667)) (set! (-> obj gun-recoil-jmod 0) (new 'process 'joint-mod-add-local obj 5 #t #f #f)) @@ -2109,7 +2089,7 @@ (defmethod base-turret-method-41 base-turret ((obj base-turret) (arg0 vector)) (local-vars (sv-592 int)) (let* ((s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj init-quat))) - (s1-0 (-> obj root-override trans)) + (s1-0 (-> obj root trans)) (s5-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack 'collide-query)) (s0-0 8) @@ -2129,7 +2109,7 @@ (set! (-> v1-9 collide-with) (collide-spec backgnd)) (set! (-> v1-9 ignore-process0) obj) (set! (-> v1-9 ignore-process1) #f) - (set! (-> v1-9 ignore-pat) (-> obj root-override pat-ignore-mask)) + (set! (-> v1-9 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-9 action-mask) (collide-action solid)) ) (when (>= (fill-and-probe-using-line-sphere *collide-cache* s2-0) 0.0) @@ -2214,7 +2194,7 @@ (let ((s3-0 (new 'static 'array int32 4 5 11 7 9)) (s4-0 (* (-> obj gun-index) 2)) (s2-0 (+ (* (-> obj gun-index) 2) 1)) - (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set-recoil (the-as joint-mod (-> obj gun-recoil-jmod s4-0)) -819.2 arg1) (set-recoil (the-as joint-mod (-> obj gun-recoil-jmod s2-0)) 819.2 arg1) @@ -2558,14 +2538,12 @@ This commonly includes things such as: ) (let ((v1-2 (handle->process (-> self turret handle)))) (if v1-2 - (quaternion<-rotate-y-vector - (-> self control dir-targ) - (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-focusable v1-2) root-override trans) - (-> self control trans) - ) - ) + (quaternion<-rotate-y-vector (-> self control dir-targ) (vector-! + (new 'stack-no-clear 'vector) + (-> (the-as process-focusable v1-2) root trans) + (-> self control trans) + ) + ) ) ) (set! (-> self control unknown-handle02) (-> self turret handle)) @@ -2639,7 +2617,7 @@ This commonly includes things such as: (new 'static 'vector :z -10649.6 :w 1.0) (-> (the-as process-focusable s5-0) node-list data 0 bone transform) ) - (set! (-> self control unknown-vector40 quad) (-> (the-as process-focusable s5-0) root-override quat quad)) + (set! (-> self control unknown-vector40 quad) (-> (the-as process-focusable s5-0) root quat quad)) ) ) (set! (-> self alt-cam-pos quad) (-> self control camera-pos quad)) @@ -2657,7 +2635,7 @@ This commonly includes things such as: ) ) (if a0-39 - (set! (-> self alt-cam-pos quad) (-> (the-as process-focusable a0-39) root-override trans quad)) + (set! (-> self alt-cam-pos quad) (-> (the-as process-focusable a0-39) root trans quad)) ) ) (vector-lerp! diff --git a/test/decompiler/reference/jak2/engine/target/target-util_REF.gc b/test/decompiler/reference/jak2/engine/target/target-util_REF.gc index 26be7c23e2..f060b64d04 100644 --- a/test/decompiler/reference/jak2/engine/target/target-util_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target-util_REF.gc @@ -742,7 +742,7 @@ ) ) ) - (case (-> (the-as fact-info-target (-> self fact-override)) eco-type) + (case (-> self fact eco-type) ((1) (set! (-> self control penetrate-using) (logior (penetrate eco-yellow) (-> self control penetrate-using))) ) @@ -1448,9 +1448,7 @@ ) ) (>= (- (current-time) (-> self control last-running-attack-end-time)) - (the-as time-frame (if (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 1) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (the-as time-frame (if (and (= (-> self fact eco-type) 1) (>= (-> self fact eco-level) 1.0)) (-> *TARGET-bank* yellow-attack-timeout) (-> *TARGET-bank* attack-timeout) ) @@ -2165,3 +2163,7 @@ (defmethod get-notice-time target ((obj target)) (-> obj neck notice-time) ) + + + + diff --git a/test/decompiler/reference/jak2/engine/target/target2_REF.gc b/test/decompiler/reference/jak2/engine/target/target2_REF.gc index 1ea367d3ba..de78eb3539 100644 --- a/test/decompiler/reference/jak2/engine/target/target2_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target2_REF.gc @@ -1113,7 +1113,7 @@ (let ((f0-5 (the float (the int (+ 1.0 (/ (- arg0 (-> *TARGET-bank* fall-far)) (-> *TARGET-bank* fall-far-inc)))))) ) (pickup-collectable! - (-> self fact-override) + (-> self fact) (pickup-type health) (* (-> *FACT-bank* health-single-inc) (- (fmax 0.0 f0-5))) (the-as handle #f) @@ -1122,7 +1122,7 @@ (target-timed-invulnerable (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)) self 1) ) (cond - ((and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact-override)) health))) + ((and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health))) (set! (-> self attack-info attacker) (the-as handle #f)) (go target-death 'target-hit-ground-hard) ) diff --git a/test/decompiler/reference/jak2/engine/target/target_REF.gc b/test/decompiler/reference/jak2/engine/target/target_REF.gc index 3a38111f77..187cbd18a7 100644 --- a/test/decompiler/reference/jak2/engine/target/target_REF.gc +++ b/test/decompiler/reference/jak2/engine/target/target_REF.gc @@ -2240,9 +2240,7 @@ (until (ja-done? 0) (compute-alignment! (-> self align)) (align! (-> self align) (align-opts adjust-quat) 1.0 1.0 1.0) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 38) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) (talker-spawn-func (-> *talker-speech* 328) *entity-pool* (target-pos 0) (the-as region #f)) @@ -2545,9 +2543,7 @@ #f ) ) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 22) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) (talker-spawn-func (-> *talker-speech* 328) *entity-pool* (target-pos 0) (the-as region #f)) @@ -2989,9 +2985,7 @@ (set! (-> self control dynam gravity-max) (-> self control standard-dynamics gravity-max)) (set! (-> self control dynam gravity-length) (-> self control standard-dynamics gravity-length)) ) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 31) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) (talker-spawn-func (-> *talker-speech* 328) *entity-pool* (target-pos 0) (the-as region #f)) @@ -3285,9 +3279,7 @@ (go target-attack-air 'uppercut) ) (mod-var-jump #t #t (cpad-hold? (-> self control cpad number) x) (-> self control transv)) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 22) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 (seconds 0.1)) ) @@ -3406,9 +3398,7 @@ ) :enter (behavior ((arg0 float) (arg1 float) (arg2 float)) (cond - ((and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 1) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + ((and (= (-> self fact eco-type) 1) (>= (-> self fact eco-level) 1.0)) (go target-yellow-jump-blast) ) ((and (focus-test? self dark) (nonzero? (-> self darkjak)) (logtest? (-> self darkjak stage) 4)) @@ -3481,15 +3471,11 @@ ) (when gp-1 (logior! (-> self control status) (collide-status on-surface)) - (when (or (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (or (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (and (focus-test? self dark) (nonzero? (-> self darkjak)) (logtest? (-> self darkjak stage) 2)) ) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5)) - (if (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (if (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-strike-ground (ja-frame-num 0) 0) ) (let ((v1-56 (process-spawn touch-tracker :init touch-tracker-init (-> self control trans) #x45800000 30 :to self)) @@ -3509,9 +3495,7 @@ (go target-flop-hit-ground gp-1) ) ) - (when (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) (if (rand-vu-percent? 0.5) 22 18 @@ -3721,9 +3705,7 @@ (go target-attack-air 'flop) ) ) - (when (and (and (= (-> (the-as fact-info-target (-> self fact-override)) eco-type) 2) - (>= (-> (the-as fact-info-target (-> self fact-override)) eco-level) 1.0) - ) + (when (and (and (= (-> self fact eco-type) 2) (>= (-> self fact eco-level) 1.0)) (< (- (current-time) (-> self state-time)) (seconds 0.25)) ) (do-effect (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) (if (rand-vu-percent? 0.5) @@ -4111,3 +4093,7 @@ ) :post target-post ) + + + + diff --git a/test/decompiler/reference/jak2/engine/ui/bigmap_REF.gc b/test/decompiler/reference/jak2/engine/ui/bigmap_REF.gc index 5b183b0ae4..96b992fb5f 100644 --- a/test/decompiler/reference/jak2/engine/ui/bigmap_REF.gc +++ b/test/decompiler/reference/jak2/engine/ui/bigmap_REF.gc @@ -226,7 +226,6 @@ ;; definition for method 22 of type bigmap ;; WARN: Return type mismatch int vs none. -;; ERROR: Failed store: (s.w! (+ a0-1 8) 0) at op 5 (defmethod bigmap-method-22 bigmap ((obj bigmap) (arg0 dma-buffer) (arg1 (pointer uint32)) (arg2 int) (arg3 int) (arg4 int) (arg5 gs-psm)) (local-vars (sv-16 int)) (set! sv-16 arg2) @@ -259,7 +258,6 @@ ) ;; definition for method 24 of type bigmap -;; ERROR: Failed store: (s.w! (+ a0-2 8) 0) at op 22 (defmethod bigmap-method-24 bigmap ((obj bigmap) (arg0 dma-buffer)) (let ((s4-0 (the-as (pointer uint32) (-> obj bigmap-image art-group)))) (let ((v1-1 (-> s4-0 0)) @@ -302,7 +300,6 @@ ) ;; definition for method 25 of type bigmap -;; ERROR: Failed store: (s.w! (+ a0-2 8) 0) at op 21 (defmethod bigmap-method-25 bigmap ((obj bigmap) (arg0 dma-buffer)) (let ((s4-0 (the-as (pointer uint32) (-> obj bigmap-image art-group)))) (bigmap-method-22 obj arg0 (+ (+ (-> s4-0 0) 16) (the-as uint s4-0)) 0 16 16 (gs-psm ct32)) @@ -581,7 +578,6 @@ ;; definition for method 11 of type bigmap ;; INFO: Used lq/sq -;; ERROR: Failed store: (s.w! (+ a0-5 8) 0) at op 75 (defmethod bigmap-method-11 bigmap ((obj bigmap) (arg0 int) (arg1 int) (arg2 int) (arg3 int)) (local-vars (sv-96 pointer) (sv-100 texture) (sv-104 matrix) (sv-112 int)) (with-pp @@ -633,7 +629,7 @@ (format 0 "ERROR: bigmap: mini-map-icons texture is #f~%") ) ) - (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-2 (let ((a2-3 (the-as connection-minimap s3-2))) (when (logtest? (-> a2-3 class flags) (minimap-flag bigmap)) diff --git a/test/decompiler/reference/jak2/engine/ui/hud-classes_REF.gc b/test/decompiler/reference/jak2/engine/ui/hud-classes_REF.gc index f17575be21..f71ffbf38c 100644 --- a/test/decompiler/reference/jak2/engine/ui/hud-classes_REF.gc +++ b/test/decompiler/reference/jak2/engine/ui/hud-classes_REF.gc @@ -257,10 +257,10 @@ ;; definition for method 16 of type hud-health ;; WARN: Return type mismatch int vs none. (defmethod update-values hud-health ((obj hud-health)) - (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact-override health)))) - (set! (-> obj values 1 target) (the-as int (-> *target* fact-override health-pickup-time))) + (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact health)))) + (set! (-> obj values 1 target) (the-as int (-> *target* fact health-pickup-time))) (set! (-> obj values 2 target) (mod (the int (+ 0.5 (-> *target* game eco-pill-dark))) 100)) - (set! (-> obj values 3 target) (the-as int (-> *target* fact-override eco-pill-dark-pickup-time))) + (set! (-> obj values 3 target) (the-as int (-> *target* fact eco-pill-dark-pickup-time))) (if (and (zero? (-> obj values 2 target)) (!= (-> *target* game eco-pill-dark) 0.0)) (set! (-> obj values 2 target) 100) ) @@ -407,10 +407,10 @@ ;; definition for method 16 of type hud-dark-eco-symbol ;; WARN: Return type mismatch int vs none. (defmethod update-values hud-dark-eco-symbol ((obj hud-dark-eco-symbol)) - (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact-override health)))) - (set! (-> obj values 1 target) (the-as int (-> *target* fact-override health-pickup-time))) + (set! (-> obj values 0 target) (the int (* 10.0 (-> *target* fact health)))) + (set! (-> obj values 1 target) (the-as int (-> *target* fact health-pickup-time))) (set! (-> obj values 2 target) (mod (the int (+ 0.5 (-> *target* game eco-pill-dark))) 100)) - (set! (-> obj values 3 target) (the-as int (-> *target* fact-override eco-pill-dark-pickup-time))) + (set! (-> obj values 3 target) (the-as int (-> *target* fact eco-pill-dark-pickup-time))) (if (and (or (and (zero? (-> obj values 2 target)) (!= (-> *target* game eco-pill-dark) 0.0)) (focus-test? *target* dark) ) @@ -527,7 +527,7 @@ (when (not (paused?)) (let ((s5-1 (new 'stack-no-clear 'quaternion))) (quaternion-axis-angle! s5-1 0.0 1.0 0.0 364.0889) - (quaternion*! (-> obj icons 0 icon 0 root-override quat) s5-1 (-> obj icons 0 icon 0 root-override quat)) + (quaternion*! (-> obj icons 0 icon 0 root quat) s5-1 (-> obj icons 0 icon 0 root quat)) ) ) ((method-of-type hud draw) obj) @@ -1103,7 +1103,7 @@ (cond ((focus-test? *target* gun) (set! (-> obj values 0 target) (the-as int (-> *target* gun gun-type))) - (set! (-> obj values 1 target) (the int (get-gun-ammo (-> *target* fact-override)))) + (set! (-> obj values 1 target) (the int (get-gun-ammo (-> *target* fact)))) (logclear! (-> obj flags) (hud-flags disable)) (logior! (-> obj flags) (hud-flags show)) ) diff --git a/test/decompiler/reference/jak2/engine/ui/minimap-h_REF.gc b/test/decompiler/reference/jak2/engine/ui/minimap-h_REF.gc index 0c681b36b3..0e947d4978 100644 --- a/test/decompiler/reference/jak2/engine/ui/minimap-h_REF.gc +++ b/test/decompiler/reference/jak2/engine/ui/minimap-h_REF.gc @@ -422,8 +422,8 @@ ;; definition of type engine-minimap (deftype engine-minimap (engine-pers) - ((alive-list-override connection-minimap :offset 24) - (dead-list-override connection-minimap :offset 28) + ((alive-list connection-minimap :override) + (dead-list connection-minimap :override) ) :method-count-assert 15 :size-assert #x20 @@ -431,6 +431,7 @@ ) ;; definition for method 3 of type engine-minimap +;; INFO: this function exists in multiple non-identical object files (defmethod inspect engine-minimap ((obj engine-minimap)) (when (not obj) (set! obj obj) @@ -442,8 +443,8 @@ (format #t "~1Tallocated-length: ~D~%" (-> obj allocated-length)) (format #t "~1Telement-type: ~A~%" (-> obj element-type)) (format #t "~1Texecute-time: ~D~%" (-> obj execute-time)) - (format #t "~1Talive-list: #~%" (-> obj alive-list-override)) - (format #t "~1Tdead-list: #~%" (-> obj dead-list-override)) + (format #t "~1Talive-list: #~%" (-> obj alive-list)) + (format #t "~1Tdead-list: #~%" (-> obj dead-list)) (format #t "~1Tdata[0] @ #x~X~%" (-> obj data)) (label cfg-4) obj diff --git a/test/decompiler/reference/jak2/engine/ui/minimap_REF.gc b/test/decompiler/reference/jak2/engine/ui/minimap_REF.gc index 9a861d253b..83c72ead2d 100644 --- a/test/decompiler/reference/jak2/engine/ui/minimap_REF.gc +++ b/test/decompiler/reference/jak2/engine/ui/minimap_REF.gc @@ -1163,10 +1163,11 @@ ) ;; definition for method 3 of type engine-minimap +;; INFO: this function exists in multiple non-identical object files (defmethod inspect engine-minimap ((obj engine-minimap)) ((the-as (function engine-minimap engine-minimap) (find-parent-method engine-minimap 3)) obj) (let ((s5-0 0) - (s4-0 (the-as connection-pers (-> *minimap* engine alive-list-override))) + (s4-0 (the-as connection-pers (-> *minimap* engine alive-list))) ) (while s4-0 (let ((a3-0 s4-0)) @@ -1183,8 +1184,8 @@ ;; WARN: Return type mismatch int vs none. (defmethod run-pending-updates! engine-minimap ((obj engine-minimap) (arg0 time-frame)) (with-pp - (let ((s2-0 (the-as (pointer connection-pers) (&-> obj alive-list-override))) - (s3-0 (-> obj alive-list-override)) + (let ((s2-0 (the-as (pointer connection-pers) (&-> obj alive-list))) + (s3-0 (-> obj alive-list)) ) (while s3-0 (let ((s4-0 (-> s3-0 next))) @@ -1221,8 +1222,8 @@ ((and (logtest? (-> s3-0 flags) (minimap-flag fade-out)) (= (-> s3-0 alpha) 0.0)) (kill-callback obj s3-0) (set! (-> s2-0 0) (-> s3-0 next)) - (set! (-> s3-0 next) (-> obj dead-list-override)) - (set! (-> obj dead-list-override) s3-0) + (set! (-> s3-0 next) (-> obj dead-list)) + (set! (-> obj dead-list) s3-0) (+! (-> obj length) -1) ) ((and (handle->process (-> s3-0 handle)) @@ -2046,7 +2047,7 @@ ) (dma-buffer-add-gs-set s5-0 (xyoffset-1 (new 'static 'gs-xy-offset :ofx #x640 :ofy #x640))) (when (!= (-> obj frustum-alpha) 0.0) - (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-2 (let ((a2-6 s3-2)) (if (logtest? (-> (the-as connection-minimap a2-6) class flags) (minimap-flag frustum)) @@ -2070,7 +2071,7 @@ (format *stdcon* "minimap: mini-map-icons texture is #f~%") ) ) - (let ((s3-4 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-4 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-4 (let ((a2-7 s3-4)) (if (logtest? (-> (the-as connection-minimap a2-7) class flags) (minimap-flag frustum)) @@ -2090,7 +2091,7 @@ (&+! (-> arg0 buf base) 112) ) ) - (let ((s3-6 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-6 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-6 (let ((a2-8 s3-6)) (if (logtest? (-> (the-as connection-minimap a2-8) class flags) (minimap-flag racer)) @@ -2390,7 +2391,7 @@ ((not a2-2) (when (!= (-> arg1 alpha) 0.0) (when (not (get-trail-for-connection obj arg1 #t)) - (let ((s2-1 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s2-1 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s2-1 (let ((a1-12 s2-1)) (if (and (= (the-as float (-> a1-12 param 1)) 0.0) (logtest? (-> arg1 class flags) (minimap-flag trail))) @@ -2610,7 +2611,7 @@ (format *stdcon* "minimap: mini-map-icons texture is #f~%") ) ) - (let ((s4-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s4-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s4-2 (let ((a2-1 s4-2)) (draw-connection obj s5-1 (the-as connection-minimap a2-1)) @@ -2721,7 +2722,7 @@ (f28-0 (the float (/ (-> s5-0 draw-pos y) 16))) (s4-2 (the-as connection-pers #f)) ) - (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list-override)))) + (let ((s3-2 (the-as connection-pers (-> *minimap* engine alive-list)))) (while s3-2 (let ((s2-2 s3-2)) (when (logtest? (-> (the-as connection-minimap s2-2) class flags) (minimap-flag racer)) diff --git a/test/decompiler/reference/jak2/engine/ui/progress/progress_REF.gc b/test/decompiler/reference/jak2/engine/ui/progress/progress_REF.gc index 37c63704fd..227c8327cf 100644 --- a/test/decompiler/reference/jak2/engine/ui/progress/progress_REF.gc +++ b/test/decompiler/reference/jak2/engine/ui/progress/progress_REF.gc @@ -228,10 +228,10 @@ ;; definition of type hud-ring-cell (deftype hud-ring-cell (process-drawable) - ((parent-override (pointer progress) :offset 16) - (joint-idx int32 :offset-assert 200) - (init-angle degrees :offset-assert 204) - (graphic-index int32 :offset-assert 208) + ((parent (pointer progress) :override) + (joint-idx int32 :offset-assert 200) + (init-angle degrees :offset-assert 204) + (graphic-index int32 :offset-assert 208) ) :heap-base #x60 :method-count-assert 21 @@ -271,10 +271,10 @@ (set! (-> self joint-idx) arg0) (set! (-> self init-angle) arg1) (set! (-> self graphic-index) arg2) - (set! (-> self root trans quad) (-> (the-as progress (-> self parent-override 0)) root trans quad)) - (quaternion-copy! (-> self root quat) (-> (the-as progress (-> self parent-override 0)) root quat)) + (set! (-> self root trans quad) (-> self parent 0 root trans quad)) + (quaternion-copy! (-> self root quat) (-> self parent 0 root quat)) (quaternion-normalize! (-> self root quat)) - (set! (-> self root scale quad) (-> (the-as progress (-> self parent-override 0)) root scale quad)) + (set! (-> self root scale quad) (-> self parent 0 root scale quad)) (let ((gp-1 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) *z-vector* (-> self init-angle)))) (quaternion-normalize! gp-1) (quaternion*! (-> self root quat) (-> self root quat) gp-1) @@ -294,10 +294,7 @@ (the-as int (-> *hud-ring-kiosk-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) - ) + (mod (+ (-> self graphic-index) (-> self parent 0 graphic-index)) (-> *hud-ring-kiosk-graphic-remap* length)) ) ) 0 @@ -309,10 +306,7 @@ (the-as int (-> *hud-ring-demo-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) - ) + (mod (+ (-> self graphic-index) (-> self parent 0 graphic-index)) (-> *hud-ring-kiosk-graphic-remap* length)) ) ) 0 @@ -324,10 +318,7 @@ (the-as int (-> *hud-ring-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-graphic-remap* length) - ) + (mod (+ (-> self graphic-index) (-> self parent 0 graphic-index)) (-> *hud-ring-graphic-remap* length)) ) ) 0 @@ -351,53 +342,47 @@ :post (behavior () (vector<-cspace! (-> self root trans) - (-> (the-as progress (-> self parent-override 0)) node-list data (-> self joint-idx)) + (-> (the-as progress (-> self parent 0)) node-list data (-> self joint-idx)) ) - (when (-> (the-as progress (-> self parent-override 0)) main-menu) + (when (-> (the-as progress (-> self parent 0)) main-menu) (setup-masks (-> self draw) 0 2046) (cond ((and (= *cheat-mode* #f) (= *kernel-boot-message* 'kiosk)) (setup-masks (-> self draw) - (the-as - int - (-> *hud-ring-kiosk-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) + (the-as int (-> *hud-ring-kiosk-graphic-remap* + (mod + (+ (-> self graphic-index) (-> (the-as progress (-> self parent 0)) graphic-index)) + (-> *hud-ring-kiosk-graphic-remap* length) + ) + ) ) - ) - ) 0 ) ) ((and (= *cheat-mode* #f) (demo?)) (setup-masks (-> self draw) - (the-as - int - (-> *hud-ring-demo-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-kiosk-graphic-remap* length) + (the-as int (-> *hud-ring-demo-graphic-remap* + (mod + (+ (-> self graphic-index) (-> (the-as progress (-> self parent 0)) graphic-index)) + (-> *hud-ring-kiosk-graphic-remap* length) + ) + ) ) - ) - ) 0 ) ) (else (setup-masks (-> self draw) - (the-as - int - (-> *hud-ring-graphic-remap* - (mod - (+ (-> self graphic-index) (-> (the-as progress (-> self parent-override 0)) graphic-index)) - (-> *hud-ring-graphic-remap* length) + (the-as int (-> *hud-ring-graphic-remap* + (mod + (+ (-> self graphic-index) (-> (the-as progress (-> self parent 0)) graphic-index)) + (-> *hud-ring-graphic-remap* length) + ) + ) ) - ) - ) 0 ) ) @@ -405,8 +390,8 @@ ) (when (= (-> self init-angle) 0.0) (cond - ((= (-> (the-as progress (-> self parent-override 0)) ring-angle) - (-> (the-as progress (-> self parent-override 0)) ring-want-angle) + ((= (-> (the-as progress (-> self parent 0)) ring-angle) + (-> (the-as progress (-> self parent 0)) ring-want-angle) ) (set! (-> self draw color-mult x) 1.2) (set! (-> self draw color-mult y) 1.2) @@ -423,11 +408,11 @@ (a0-8 (new 'stack-no-clear 'quaternion)) (a1-26 *z-vector*) (f0-8 (-> self init-angle)) - (f1-2 (-> (the-as progress (-> self parent-override 0)) ring-angle)) + (f1-2 (-> (the-as progress (-> self parent 0)) ring-angle)) (gp-0 (t9-6 a0-8 a1-26 (+ f0-8 (- f1-2 (* (the float (the int (/ f1-2 6553.6))) 6553.6))))) ) (quaternion-normalize! gp-0) - (quaternion-copy! (-> self root quat) (-> (the-as progress (-> self parent-override 0)) root quat)) + (quaternion-copy! (-> self root quat) (-> (the-as progress (-> self parent 0)) root quat)) (quaternion-normalize! (-> self root quat)) (quaternion*! (-> self root quat) (-> self root quat) gp-0) ) @@ -4026,3 +4011,7 @@ ) 0 ) + + + + diff --git a/test/decompiler/reference/jak2/kernel/gkernel_REF.gc b/test/decompiler/reference/jak2/kernel/gkernel_REF.gc index 95859aafdc..a0e953383f 100644 --- a/test/decompiler/reference/jak2/kernel/gkernel_REF.gc +++ b/test/decompiler/reference/jak2/kernel/gkernel_REF.gc @@ -341,7 +341,7 @@ (set! (-> (the-as process v0-0) brother) (the-as (pointer process-tree) #f)) (set! (-> (the-as process v0-0) child) (the-as (pointer process-tree) #f)) (set! (-> (the-as process v0-0) self) (the-as process v0-0)) - (set! (-> (the-as process v0-0) ppointer) (the-as (pointer process) (&-> (the-as process v0-0) self))) + (set! (-> (the-as process v0-0) ppointer) (&-> (the-as process v0-0) self)) (the-as process v0-0) ) ) diff --git a/test/decompiler/reference/jak2/levels/atoll/ash1-course_REF.gc b/test/decompiler/reference/jak2/levels/atoll/ash1-course_REF.gc index ce1f243563..8b81344f0b 100644 --- a/test/decompiler/reference/jak2/levels/atoll/ash1-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/ash1-course_REF.gc @@ -58,7 +58,7 @@ :skip-to -1 :on-set (lambda ((arg0 ashelin-battle)) (clear-speech-flags! arg0) - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ash-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ash-course spots 0))) (let ((v1-7 (get-current-task-event (-> arg0 task)))) (if (= (-> v1-7 action) (game-task-action say)) (add-process @@ -74,7 +74,7 @@ ) (let ((a0-8 15)) (set! (-> arg0 hit-points) a0-8) - (set! (-> arg0 enemy-info-override default-hit-points) a0-8) + (set! (-> arg0 enemy-info default-hit-points) a0-8) ) (set! (-> arg0 waypoint-time0) 0) (let ((v1-10 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) @@ -108,7 +108,7 @@ ((and (nonzero? (-> arg1 waypoint-time0)) (and (>= (- (current-time) (-> arg1 waypoint-time0)) (seconds 1)) (let ((f0-0 143360.0)) - (and (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root-override2 trans))) + (and (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root trans))) (= (-> s5-0 action) (game-task-action say)) ) ) @@ -339,12 +339,12 @@ :on-set (lambda ((arg0 ashelin-battle)) (logclear! (-> arg0 bot-flags) (bot-flags bf06)) (bot-method-196 arg0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) - (set! (-> arg0 root-override2 backup-collide-as) (collide-spec)) - (set! (-> arg0 root-override2 backup-collide-with) (collide-spec)) + (set! (-> arg0 root backup-collide-as) (collide-spec)) + (set! (-> arg0 root backup-collide-with) (collide-spec)) 0 (send-event arg0 'hide #t) (let ((v1-15 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) @@ -440,7 +440,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "asha042") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max 100 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max 100 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 8 (new 'static 'bot-spot :center (new 'static 'vector :x 2263285.8 :y 213319.69 :z -4552335.5 :w 16384.0)) diff --git a/test/decompiler/reference/jak2/levels/atoll/atoll-obs_REF.gc b/test/decompiler/reference/jak2/levels/atoll/atoll-obs_REF.gc index 3110d6b4ea..932486a04e 100644 --- a/test/decompiler/reference/jak2/levels/atoll/atoll-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/atoll-obs_REF.gc @@ -105,7 +105,7 @@ :event (-> (method-of-type piston idle) event) :enter (behavior () (let ((f1-1 (- (-> self range-top) (-> self range-bottom)))) - (set! (-> self root-override trans y) (+ (-> self init-height) (+ (-> self range-bottom) f1-1))) + (set! (-> self root trans y) (+ (-> self init-height) (+ (-> self range-bottom) f1-1))) ) (none) ) @@ -126,7 +126,7 @@ :code (the-as (function none :behavior piston) sleep-code) :post (behavior () (let ((f0-1 (- (-> self range-top) (-> self range-bottom)))) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self init-height) (+ (-> self range-bottom) (get-scaled-val! (-> self sync) f0-1 0))) ) ) @@ -174,11 +174,11 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (set! (-> obj sound-trans quad) (-> obj root-override trans quad)) - (set! (-> obj root-override trans y) (+ 53248.0 (-> obj root-override trans y))) + (set! (-> obj sound-trans quad) (-> obj root trans quad)) + (set! (-> obj root trans y) (+ 53248.0 (-> obj root trans y))) (initialize-skeleton obj (the-as skeleton-group (art-group-get-by-name *level* "skel-piston" (the-as (pointer uint32) #f))) @@ -222,8 +222,8 @@ This commonly includes things such as: (set! (-> obj range-bottom) (* 4096.0 f28-0)) (set! (-> obj range-top) (* 4096.0 f30-0)) ) - (set! (-> obj init-height) (-> obj root-override trans y)) - (set! (-> obj root-override trans y) (+ -40960.0 (-> obj root-override trans y))) + (set! (-> obj init-height) (-> obj root trans y)) + (set! (-> obj root trans y) (+ -40960.0 (-> obj root trans y))) (cond ((logtest? (actor-option user18) (-> obj fact options)) (set! (-> obj looping-id) (new-sound-id)) @@ -617,7 +617,7 @@ This commonly includes things such as: ;; definition of type atollrotpipe (deftype atollrotpipe (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (smush smush-control :inline :offset 200) (init-quat quaternion :inline :offset 240) (rot-angle float :offset 256) @@ -676,7 +676,7 @@ This commonly includes things such as: ) ) ) - (quaternion*! (-> self root-override quat) (-> self init-quat) a2-1) + (quaternion*! (-> self root quat) (-> self init-quat) a2-1) ) ) (none) @@ -694,7 +694,7 @@ This commonly includes things such as: ) ) (activate! (-> self smush) -1.0 60 225 1.0 1.0 (-> self clock)) - (sound-play "rot-pipe-wiggle" :position (-> self root-override trans)) + (sound-play "rot-pipe-wiggle" :position (-> self root trans)) (let ((gp-3 (current-time))) (until (>= (- (current-time) gp-3) (seconds 0.75)) (set! (-> self shudder-angle) (* 364.0889 (update! (-> self smush)))) @@ -708,7 +708,7 @@ This commonly includes things such as: (suspend) ) ) - (sound-play "rot-pipe-turn" :position (-> self root-override trans)) + (sound-play "rot-pipe-turn" :position (-> self root trans)) (let* ((f0-7 2.0) (f30-1 (* 16384.0 f0-7)) (gp-6 (current-time)) @@ -767,9 +767,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) - (set! (-> obj root-override rider-max-momentum) 8192.0) + (set! (-> obj root rider-max-momentum) 8192.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -779,7 +779,7 @@ This commonly includes things such as: (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj rot-angle) 0.0) (set! (-> obj shudder-angle) 0.0) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (ja-channel-push! 1 0) (let ((s4-2 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! @@ -809,7 +809,7 @@ This commonly includes things such as: ;; definition of type slider (deftype slider (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (path-pos float :offset-assert 200) (sync sync-eased :inline :offset-assert 208) (attack-id uint32 :offset-assert 252) @@ -869,7 +869,7 @@ This commonly includes things such as: ) ) (when s3-0 - (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let* ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s3-0) 0))) (f0-1 (vector-dot s4-1 v1-7)) ) @@ -908,19 +908,19 @@ This commonly includes things such as: :post (behavior () (let ((f30-0 (get-norm! (-> self sync) 0))) (set! (-> self path-pos) f30-0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override trans) (-> self path-pos) 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) (-> self path-pos) 'interp) (let ((f0-3 (sin-rad (* 3.1415925 f30-0)))) (update-vol! (-> self sound) (sqrtf f0-3)) ) ) - (update-trans! (-> self sound) (-> self root-override trans)) + (update-trans! (-> self sound) (-> self root trans)) (let ((a1-4 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-4 options) (overlaps-others-options oo0)) (set! (-> a1-4 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-4 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-4) + (find-overlapping-shapes (-> self root) a1-4) ) - (let ((v1-17 (-> self root-override trans)) + (let ((v1-17 (-> self root trans)) (a0-6 (-> self l-bolts)) (a1-5 (-> self l-points)) ) @@ -997,7 +997,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (logclear! (-> obj mask) (process-mask actor-pause)) (process-drawable-from-entity! obj arg0) @@ -1061,7 +1061,7 @@ This commonly includes things such as: ) ) (s4-2 (-> obj l-points)) - (s3-0 (-> obj root-override trans)) + (s3-0 (-> obj root trans)) ) (dotimes (s2-0 4) (set! (-> obj l-bolts s2-0) (new 'process 'lightning-control s5-2 obj 0.0)) @@ -1081,7 +1081,7 @@ This commonly includes things such as: ) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "slider" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "slider" :fo-max 50) (-> obj root trans)) ) (ja-channel-push! 1 0) (let ((s5-3 (-> obj skel root-channel 0))) diff --git a/test/decompiler/reference/jak2/levels/atoll/atoll-tank_REF.gc b/test/decompiler/reference/jak2/levels/atoll/atoll-tank_REF.gc index b8780f31b6..21255bcd65 100644 --- a/test/decompiler/reference/jak2/levels/atoll/atoll-tank_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/atoll-tank_REF.gc @@ -1705,7 +1705,7 @@ ;; INFO: Used lq/sq (defmethod get-trans atoll-tank ((obj atoll-tank) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (case arg0 ((3 2) (let ((v0-0 (new 'static 'vector :w 1.0))) @@ -1726,8 +1726,8 @@ ;; WARN: Return type mismatch object vs none. (defbehavior atoll-tank-init-by-other atoll-tank ((arg0 process-drawable) (arg1 int)) (set! (-> self is-master?) #f) - (set! (-> self root-override) (the-as collide-shape (new 'process 'trsqv))) - (let ((s4-0 (-> self root-override))) + (set! (-> self root) (the-as collide-shape (new 'process 'trsqv))) + (let ((s4-0 (-> self root))) (set! (-> s4-0 trans quad) (-> arg0 root trans quad)) (quaternion-copy! (-> s4-0 quat) (-> arg0 root quat)) (vector-identity! (-> s4-0 scale)) @@ -1777,7 +1777,7 @@ :virtual #t :trans (behavior () (if (-> self is-master?) - (spawn (-> self aftermath-part) (-> self root-override trans)) + (spawn (-> self aftermath-part) (-> self root trans)) ) (none) ) @@ -1869,7 +1869,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-28 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-28 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1900,12 +1900,12 @@ This commonly includes things such as: ) (else (logior! (-> obj draw status) (draw-control-status no-draw)) - (let ((v1-54 (-> obj root-override root-prim))) + (let ((v1-54 (-> obj root root-prim))) (set! (-> v1-54 prim-core collide-as) (collide-spec)) (set! (-> v1-54 prim-core collide-with) (collide-spec)) ) - (set! (-> obj root-override backup-collide-as) (collide-spec)) - (set! (-> obj root-override backup-collide-with) (collide-spec)) + (set! (-> obj root backup-collide-as) (collide-spec)) + (set! (-> obj root backup-collide-with) (collide-spec)) 0 (go (method-of-object obj dormant)) ) diff --git a/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc b/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc index 017c13ed64..ce3b81454f 100644 --- a/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/juicer_REF.gc @@ -138,9 +138,9 @@ (case arg2 (('reset) (let ((v1-1 (the-as object (-> arg3 param 0)))) - (set! (-> obj root-override trans quad) (-> (the-as matrix v1-1) trans quad)) + (set! (-> obj root trans quad) (-> (the-as matrix v1-1) trans quad)) (set! (-> obj starting-pos quad) (-> (the-as matrix v1-1) trans quad)) - (set! (-> obj root-override transv quad) (-> (&+ (the-as matrix v1-1) 64) quad 0)) + (set! (-> obj root transv quad) (-> (&+ (the-as matrix v1-1) 64) quad 0)) (set! (-> obj pre-move-transv quad) (-> (&+ (the-as matrix v1-1) 64) quad 0)) ) (set! (-> obj hits) 0) @@ -187,7 +187,7 @@ (defmethod spawn-impact-particles juicer-shot ((obj juicer-shot)) "Spawns associated particles with the projectile if applicable" (let ((s5-0 (-> obj starting-pos)) - (s4-0 (-> obj root-override trans)) + (s4-0 (-> obj root trans)) ) (when (line-in-view-frustum? s5-0 s4-0) (let ((s3-0 (new 'stack-no-clear 'vector)) @@ -281,7 +281,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-3) a0-4 a1-2 @@ -303,7 +303,7 @@ ;; definition for method 38 of type juicer-shot (defmethod made-impact? juicer-shot ((obj juicer-shot)) "TODO - queries the collision cache, return true/false" - (let ((gp-0 (-> obj root-override)) + (let ((gp-0 (-> obj root)) (s5-0 (new 'stack-no-clear 'collide-query)) ) (let ((v1-0 s5-0)) @@ -333,12 +333,12 @@ (let ((s5-0 (handle->process (-> arg0 victim)))) (cond (s5-0 - (set! (-> arg0 root-override trans quad) (-> (get-trans (the-as process-focusable s5-0) 3) quad)) + (set! (-> arg0 root trans quad) (-> (get-trans (the-as process-focusable s5-0) 3) quad)) ((method-of-type projectile deal-damage!) arg0 s5-0 (the-as event-message-block #f)) ) (else (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) ) @@ -387,9 +387,9 @@ (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -413,9 +413,9 @@ (logior! (-> obj options) (projectile-options proj-options-8000)) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj move) juicer-proj-move) - (set! (-> obj root-override dynam gravity y) 0.0) - (set! (-> obj root-override dynam gravity-length) 0.0) - (set! (-> obj root-override dynam gravity-max) 0.0) + (set! (-> obj root dynam gravity y) 0.0) + (set! (-> obj root dynam gravity-length) 0.0) + (set! (-> obj root dynam gravity-max) 0.0) (set! (-> obj attack-mode) 'shock-red) (dotimes (s5-0 5) (set! (-> obj lightning s5-0) (new @@ -763,7 +763,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 2) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 7.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -849,7 +849,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -920,9 +920,9 @@ (('instant-death) (when (> (-> obj hit-points) 0) (set! (-> obj hit-points) 0) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (let ((s4-0 (enemy-method-50 obj (new 'stack-no-clear 'vector)))) - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s4-0 (-> obj root quat)) (vector-float*! s4-0 s4-0 -1.0) (vector-normalize! s4-0 1.0) ) @@ -1026,7 +1026,7 @@ (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-102 enemy-flags)))) ) (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-102 enemy-flags)))) - (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info-override callback-info)) + (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info callback-info)) ) 0 ) @@ -1040,7 +1040,7 @@ ;; definition for method 84 of type juicer (defmethod enemy-method-84 juicer ((obj juicer) (arg0 enemy-jump-info)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user8)) + ((logtest? (-> obj fact enemy-options) (enemy-option user8)) (vector-vector-xz-distance (-> arg0 start-pos) (-> arg0 dest-pos)) (let ((f0-1 8192.0)) (setup-from-to-height! (-> arg0 traj) (-> arg0 start-pos) (-> arg0 dest-pos) f0-1 -4.551111) @@ -1079,7 +1079,7 @@ (format 0 "ERROR: ~A has no intro path, skipping ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-in-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-in-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -1147,11 +1147,11 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((s5-0 0)) - (let ((s4-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override2 quat))) + (let ((s4-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (gp-1 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable (handle->process (-> self focus handle))) 0) - (-> self root-override2 trans) + (-> self root trans) ) ) ) @@ -1180,7 +1180,7 @@ (let ((a1-9 (-> self nav state))) (set! (-> gp-2 quad) (-> a1-9 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-2 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-2 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -1268,10 +1268,10 @@ (let ((a0-1 (handle->process (-> self focus handle)))) (when a0-1 (let* ((gp-0 (get-trans (the-as process-focusable a0-1) 1)) - (f30-0 (vector-vector-xz-distance (-> self root-override2 trans) gp-0)) + (f30-0 (vector-vector-xz-distance (-> self root trans) gp-0)) ) (cond - ((< (- (-> gp-0 y) (-> self root-override2 trans y)) 4096.0) + ((< (- (-> gp-0 y) (-> self root trans y)) 4096.0) (let ((v1-10 (-> self nav state))) (logclear! (-> v1-10 flags) (nav-state-flag directional-mode)) (logior! (-> v1-10 flags) (nav-state-flag target-poly-dirty)) @@ -1341,23 +1341,22 @@ (a0-3 self) ) (when (and (logtest? (enemy-flag enemy-flag37) (-> a0-3 enemy-flags)) gp-0) - (let ((f0-1 (fabs (deg-diff - (quaternion-y-angle (-> self root-override2 quat)) - (vector-y-angle (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-0) 0) - (-> self root-override2 trans) - ) - ) - ) - ) + (let ((f0-1 + (fabs + (deg-diff + (quaternion-y-angle (-> self root quat)) + (vector-y-angle + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) + ) ) + ) + ) ) (cond ((or (< 5461.3335 f0-1) (and (-> self using-turn-anim) (< 910.2222 f0-1))) (set! (-> self using-turn-anim) #t) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable gp-0) 0) (-> self nav max-rotation-rate) (seconds 0.2) @@ -1414,7 +1413,7 @@ :event (the-as (function process int symbol event-message-block object :behavior juicer) enemy-event-handler) :enter (behavior () (let ((v1-1 (-> self nav state)) - (a0-1 (-> self root-override2 trans)) + (a0-1 (-> self root trans)) ) (logclear! (-> v1-1 flags) (nav-state-flag directional-mode)) (logior! (-> v1-1 flags) (nav-state-flag target-poly-dirty)) @@ -1478,9 +1477,7 @@ (until (ja-done? 0) (let ((s3-0 (handle->process (-> self focus handle)))) (when s3-0 - (when (< 28672.0 - (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable s3-0) 0)) - ) + (when (< 28672.0 (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable s3-0) 0))) (fire-projectile self (the-as process-focusable s3-0) s5-0) (current-time) (if (not gp-0) @@ -1489,7 +1486,7 @@ ) ) ) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (b! @@ -1519,9 +1516,7 @@ (send-event (handle->process (-> self current-projectile)) 'die) (let ((a0-37 (handle->process (-> self focus handle)))) (when a0-37 - (if (>= 28672.0 - (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable a0-37) 0)) - ) + (if (>= 28672.0 (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable a0-37) 0))) (go-virtual circling) ) ) @@ -1558,7 +1553,7 @@ (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-15 enemy-flags)))) ) (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-15 enemy-flags)))) - (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info-override callback-info)) + (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info callback-info)) ) 0 (let ((v1-18 self)) @@ -1591,7 +1586,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-54 self)) (set! (-> v1-54 enemy-flags) (the-as enemy-flag (logclear (-> v1-54 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-54 nav callback-info) *nav-enemy-null-callback-info*) @@ -1601,7 +1596,7 @@ (set! (-> v1-57 enemy-flags) (the-as enemy-flag (logclear (-> v1-57 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (ja-channel-push! 1 (seconds 0.1)) (let ((gp-2 (-> self draw art-group data (-> *juicer-global-info* celebrate-anim (get-rand-int self 2)))) (f30-2 (get-rand-float-range self 0.9 1.1)) @@ -1629,13 +1624,10 @@ (local-vars (v1-37 enemy-flag) (v1-45 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -1683,7 +1675,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 1)) (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info idle-anim))) ) (until #f (ja-no-eval :group! gp-0 @@ -1711,7 +1703,7 @@ (s5-0 (current-time)) (f28-0 f30-0) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop! f28-0) :frame-num 0.0 ) @@ -1721,13 +1713,10 @@ ) ) (ja-channel-push! 1 (seconds 0.1)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override taunt-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info taunt-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override taunt-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info taunt-anim))) frames num-frames) -1 ) ) @@ -1857,7 +1846,7 @@ ;; definition for method 184 of type juicer ;; WARN: Return type mismatch symbol vs none. (defmethod juicer-method-184 juicer ((obj juicer) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (-> v1-1 specific 0))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1969,7 +1958,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-26 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2011,7 +2000,7 @@ (set! (-> v1-7 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj last-fire-time) 0) (set! (-> obj heading) (the-as basic (if (rand-vu-percent? 0.5) #t @@ -2047,7 +2036,7 @@ (new 'static 'vector :x -901.12 :y -1146.88 :z 1269.76 :w 163840.0) ) (add-connection *part-engine* obj 20 obj 4635 (new 'static 'vector :w 163840.0)) - (set! (-> obj root-override2 pause-adjust-distance) 81920.0) + (set! (-> obj root pause-adjust-distance) 81920.0) (set! (-> obj current-projectile) (the-as handle #f)) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/atoll/sig0-course_REF.gc b/test/decompiler/reference/jak2/levels/atoll/sig0-course_REF.gc index 93ce4e97e9..07e68fd003 100644 --- a/test/decompiler/reference/jak2/levels/atoll/sig0-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/sig0-course_REF.gc @@ -192,7 +192,7 @@ ) ) (when v1-9 - (if (>= 20480.0 (- (-> (the-as process-focusable v1-9) root-override trans y) (-> arg0 root-override2 trans y))) + (if (>= 20480.0 (- (-> (the-as process-focusable v1-9) root trans y) (-> arg0 root trans y))) (logior! (-> arg0 bot-task-bits) 16) ) ) @@ -245,15 +245,15 @@ :waypoints (new 'static 'boxed-array :type bot-waypoint (new 'static 'bot-waypoint :waypoint-id 1 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (let ((a0-1 20)) (set! (-> arg0 hit-points) a0-1) - (set! (-> arg0 enemy-info-override default-hit-points) a0-1) + (set! (-> arg0 enemy-info default-hit-points) a0-1) ) (let ((a1-0 (new 'stack-no-clear 'vector))) (set-vector! a1-0 0.0 32768.0 0.0 1.0) - (quaternion-zxy! (-> arg0 root-override2 quat) a1-0) + (quaternion-zxy! (-> arg0 root quat) a1-0) ) (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) @@ -280,9 +280,9 @@ (lambda ((arg0 object) (arg1 sig-atoll)) (when *target* (let* ((s5-0 (target-pos 0)) - (f1-0 (vector-vector-xz-distance (-> arg1 root-override2 trans) s5-0)) - (f0-1 (- (-> s5-0 x) (-> arg1 root-override2 trans x))) - (f2-2 (- (-> s5-0 z) (-> arg1 root-override2 trans z))) + (f1-0 (vector-vector-xz-distance (-> arg1 root trans) s5-0)) + (f0-1 (- (-> s5-0 x) (-> arg1 root trans x))) + (f2-2 (- (-> s5-0 z) (-> arg1 root trans z))) ) (when (and (>= f2-2 -40960.0) (or (>= 40960.0 f1-0) (< f2-2 24576.0) (and (< f2-2 192512.0) (or (< f0-1 -81920.0) (< 53248.0 f0-1)))) @@ -350,7 +350,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (with-pp (if (demo?) @@ -418,7 +418,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 4 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 286720.0) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -471,7 +471,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-choose-piston arg0))) (set! (-> v1-1 bytes 5) 4) @@ -502,7 +502,7 @@ :on-update (lambda ((arg0 sig-atoll)) (if (and (not (speech-playing? arg0 1)) (not (channel-active? arg0 (the-as uint 0))) - (< (-> arg0 root-override2 trans z) (-> (target-pos 0) z)) + (< (-> arg0 root trans z) (-> (target-pos 0) z)) ) (play-speech arg0 1) ) @@ -514,7 +514,7 @@ (new 'static 'bot-waypoint :waypoint-id 6 :nav-mesh-index 1 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (logior! (-> arg0 focus-status) (focus-status ignore)) (let ((gp-0 7) @@ -547,7 +547,7 @@ ) :on-update (lambda ((arg0 sig-atoll)) (when (not (channel-active? arg0 (the-as uint 0))) - (if (and (not (speech-playing? arg0 1)) (< (-> arg0 root-override2 trans z) (-> (target-pos 0) z))) + (if (and (not (speech-playing? arg0 1)) (< (-> arg0 root trans z) (-> (target-pos 0) z))) (play-speech arg0 1) ) ) @@ -559,7 +559,7 @@ (new 'static 'bot-waypoint :waypoint-id 7 :nav-mesh-index 1 - :skip-to #xa + :skip-to 10 :on-set (lambda ((arg0 sig-atoll)) (reset-warn-time! arg0) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -702,7 +702,7 @@ (new 'static 'bot-waypoint :waypoint-id 10 :nav-mesh-index 2 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 sig-atoll)) (play-speech arg0 4) (logior! (-> arg0 focus-status) (focus-status disable)) @@ -732,7 +732,7 @@ (if (and (not (speech-playing? arg1 5)) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-1 73728.0)) - (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root-override2 trans))) + (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root trans))) ) ) (play-speech arg1 5) @@ -774,10 +774,10 @@ (new 'static 'bot-waypoint :waypoint-id 11 :nav-mesh-index 2 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 sig-course liftcat-speech-index) 0) - (let ((f0-0 (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (let ((f0-0 (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) (f1-0 98304.0) ) (if (>= f0-0 (* f1-0 f1-0)) @@ -891,14 +891,14 @@ ) (set! (-> arg0 waypoint-bits) (logand -3 (-> arg0 waypoint-bits))) (let ((f0-0 98304.0)) - (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) (play-speech arg0 34) ) ) ) ((and (logtest? (-> arg0 waypoint-bits) 2) (let ((f0-3 49152.0)) - (>= (* f0-3 f0-3) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (>= (* f0-3 f0-3) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) ) ) (set! (-> arg0 waypoint-bits) (logand -3 (-> arg0 waypoint-bits))) @@ -923,7 +923,7 @@ ) ) (let ((f0-6 98304.0)) - (>= (* f0-6 f0-6) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root-override2 trans))) + (>= (* f0-6 f0-6) (vector-vector-xz-distance-squared (target-pos 0) (-> arg0 root trans))) ) ) (when (and (demo?) @@ -992,7 +992,7 @@ (cond ((not (logtest? (-> arg1 waypoint-bits) 1)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 81920.0) ) (cond @@ -1115,7 +1115,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (not (focus-test? s5-0 edge-grab)) - (>= (- (-> s5-0 control trans y) (-> arg1 root-override2 trans y)) -4096.0) + (>= (- (-> s5-0 control trans y) (-> arg1 root trans y)) -4096.0) ) ) ) @@ -1181,13 +1181,13 @@ (when (scene-release? arg1) (let ((a1-1 (new 'stack-no-clear 'vector))) (set-vector! a1-1 0.0 -16384.0 0.0 1.0) - (quaternion-zxy! (-> arg1 root-override2 quat) a1-1) + (quaternion-zxy! (-> arg1 root quat) a1-1) ) (let ((s5-0 (new 'stack-no-clear 'vector))) (let ((v1-6 (-> arg1 sig-course spots))) (vector-lerp! s5-0 (the-as vector (-> v1-6 21)) (the-as vector (-> v1-6 22)) 0.5) ) - (move-to-point! (-> arg1 root-override2) s5-0) + (move-to-point! (-> arg1 root) s5-0) ) (clear-poi-and-focus! arg1) (remove-setting! 'sound-mode) @@ -1210,7 +1210,7 @@ (new 'static 'bot-waypoint :waypoint-id 15 :nav-mesh-index 3 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (play-speech arg0 11) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1324,7 +1324,7 @@ (new 'static 'bot-waypoint :waypoint-id 16 :nav-mesh-index 3 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1420,7 +1420,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 73728.0) ) (cond @@ -1543,7 +1543,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -1632,7 +1632,7 @@ (new 'static 'bot-waypoint :waypoint-id 20 :nav-mesh-index 4 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1669,7 +1669,7 @@ (new 'static 'bot-waypoint :waypoint-id 21 :nav-mesh-index 5 - :skip-to #x17 + :skip-to 23 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 sig-course liftcat-speech-index) 0) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1698,7 +1698,7 @@ (cond ((zero? v1-6) (when (not (channel-active? arg1 (the-as uint 0))) - (let ((s5-0 (-> arg1 root-override2 trans)) + (let ((s5-0 (-> arg1 root trans)) (s4-0 (-> arg1 sig-course spots)) (f0-0 163840.0) ) @@ -1793,7 +1793,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 22 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 waypoint-time0) 0) @@ -1820,7 +1820,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 61440.0) ) (cond @@ -1875,8 +1875,8 @@ ) (new 'static 'bot-waypoint :waypoint-id 23 - :nav-mesh-index #x6 - :skip-to #x1f + :nav-mesh-index 6 + :skip-to 31 :on-set (lambda ((arg0 sig-atoll)) (with-pp (add-process *gui-control* arg0 (gui-channel art-load) (gui-action queue) "atoll-sniper-c" -99.0 0) @@ -1941,7 +1941,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -2004,7 +2004,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 24 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -2036,7 +2036,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 25 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (logior! (-> arg0 focus-status) (focus-status disable)) @@ -2067,7 +2067,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 26 - :nav-mesh-index #x7 + :nav-mesh-index 7 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -2096,7 +2096,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 27 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (logclear! (-> arg0 focus-status) (focus-status disable)) @@ -2143,7 +2143,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 28 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 waypoint-time0) 0) @@ -2167,7 +2167,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-2 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 73728.0) ) (cond @@ -2229,7 +2229,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 29 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2295,7 +2295,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -2346,7 +2346,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 30 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -2382,8 +2382,8 @@ ) (new 'static 'bot-waypoint :waypoint-id 31 - :nav-mesh-index #x9 - :skip-to #x25 + :nav-mesh-index 9 + :skip-to 37 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) (set! (-> arg0 too-far-fail-dist-delta) 163840.0) @@ -2456,7 +2456,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 32 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2516,7 +2516,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 33 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) @@ -2556,7 +2556,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 34 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2660,7 +2660,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 35 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2726,7 +2726,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 36 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) @@ -2743,7 +2743,7 @@ (not (channel-active? arg1 (the-as uint 0))) ) (let ((f0-0 122880.0)) - (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (if (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (play-speech arg1 30) ) ) @@ -2764,7 +2764,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 37 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (set! (-> arg0 too-far-warn-dist) 327680.0) @@ -2789,7 +2789,7 @@ (cond ((zero? (-> arg1 waypoint-time0)) (when (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (let ((f0-0 (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) (f1-0 61440.0) ) (cond @@ -2860,7 +2860,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 38 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (with-pp @@ -2926,7 +2926,7 @@ ) (not (channel-active? arg1 (the-as uint 0))) (let ((f0-0 102400.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root-override2 trans) (target-pos 0))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> arg1 root trans) (target-pos 0))) ) ) ) @@ -2985,7 +2985,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 39 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -3016,7 +3016,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 40 - :nav-mesh-index #xa + :nav-mesh-index 10 :skip-to -1 :on-set (lambda ((arg0 sig-atoll)) (task-node-close! (game-task-node atoll-sig-resolution)) @@ -3098,7 +3098,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "sigt092") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 42 (new 'static 'bot-spot :center (new 'static 'vector :x 2341970.0 :y 4915.2 :z -3590061.8 :w 16384.0)) diff --git a/test/decompiler/reference/jak2/levels/atoll/sniper_REF.gc b/test/decompiler/reference/jak2/levels/atoll/sniper_REF.gc index 15edd601c6..f66d455918 100644 --- a/test/decompiler/reference/jak2/levels/atoll/sniper_REF.gc +++ b/test/decompiler/reference/jak2/levels/atoll/sniper_REF.gc @@ -188,7 +188,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -205,7 +205,7 @@ ;; definition for method 12 of type sniper (defmethod run-logic? sniper ((obj sniper)) (let ((f0-0 573440.0)) - (>= (* f0-0 f0-0) (vector-vector-distance-squared (-> obj root-override2 trans) (camera-pos))) + (>= (* f0-0 f0-0) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) ) ) @@ -218,12 +218,11 @@ (set! (-> obj focus handle) (the-as handle #f)) ) ) - (set! (-> obj focus aware) (if (>= (vector-vector-distance (-> obj root-override2 trans) (camera-pos)) - (-> obj fact-info-override idle-distance) - ) - (enemy-aware enemy-aware-0) - (enemy-aware enemy-aware-1) - ) + (set! (-> obj focus aware) + (if (>= (vector-vector-distance (-> obj root trans) (camera-pos)) (-> obj fact idle-distance)) + (enemy-aware enemy-aware-0) + (enemy-aware enemy-aware-1) + ) ) (none) ) @@ -241,7 +240,7 @@ ) (countdown (s3-0 s4-0) (get-point-in-path! (-> obj path) gp-0 (the float s2-0) 'interp) - (if (< 409.6 (vector-vector-xz-distance gp-0 (-> obj root-override2 trans))) + (if (< 409.6 (vector-vector-xz-distance gp-0 (-> obj root trans))) (goto cfg-9) ) (set! s2-0 (mod (+ s2-0 1) s4-0)) @@ -275,13 +274,10 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -334,12 +330,12 @@ (let ((t9-0 (method-of-type spyder init-enemy-collision!))) (t9-0 obj) ) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) - (set! (-> obj root-override2 backup-collide-as) (collide-spec)) - (set! (-> obj root-override2 backup-collide-with) (collide-spec)) + (set! (-> obj root backup-collide-as) (collide-spec)) + (set! (-> obj root backup-collide-with) (collide-spec)) 0 0 (none) diff --git a/test/decompiler/reference/jak2/levels/castle/boss/casboss-texture_REF.gc b/test/decompiler/reference/jak2/levels/castle/boss/casboss-texture_REF.gc index b5deb2c538..5438f897d0 100644 --- a/test/decompiler/reference/jak2/levels/castle/boss/casboss-texture_REF.gc +++ b/test/decompiler/reference/jak2/levels/castle/boss/casboss-texture_REF.gc @@ -38,7 +38,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 3932160.0) + :end-st-rot (degrees 3932160) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -81,7 +81,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -103,7 +103,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func diff --git a/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc b/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc index 8a9f516784..5f30f6b029 100644 --- a/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/castle/boss/castle-baron_REF.gc @@ -131,7 +131,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root trans)) (none) ) ) @@ -168,11 +168,11 @@ For example for an elevator pre-compute the distance between the first and last @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -190,9 +190,9 @@ For example for an elevator pre-compute the distance between the first and last ) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) - (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root-override trans))) + (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root trans))) ) - (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root quat)) (and (< (fabs (-> gp-2 x)) 40960.0) (< (fabs (-> gp-2 z)) 40960.0)) ) ) @@ -231,7 +231,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -807,7 +807,7 @@ For example for an elevator pre-compute the distance between the first and last :walk-travel-speed (meters 4) :walk-acceleration (meters 16) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -893,7 +893,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) ) - (if (< (-> obj root-override2 trans y) 1228800.0) + (if (< (-> obj root trans y) 1228800.0) (deactivate obj) ) 0 @@ -936,23 +936,20 @@ For example for an elevator pre-compute the distance between the first and last (ja-channel-push! 1 (seconds 0.1)) (let ((a0-15 (-> obj skel root-channel 0))) (set! (-> a0-15 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) ) (set! (-> a0-15 param 0) 0.0) (set! (-> a0-15 param 1) (* 2.0 (-> pp clock time-adjust-ratio))) (set! (-> a0-15 frame-num) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) frames num-frames) -1 ) ) ) (joint-control-channel-group! a0-15 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) num-func-seek! ) ) @@ -997,14 +994,14 @@ For example for an elevator pre-compute the distance between the first and last (none) ) :trans (behavior () - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override2 trans))) - (s5-0 (quaternion->matrix (new-stack-matrix0) (-> self root-override2 quat))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans))) + (s5-0 (quaternion->matrix (new-stack-matrix0) (-> self root quat))) ) (vector-normalize! gp-1 1.0) (let* ((a2-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s5-0 vector 1) 1.0)) (a0-8 (vector-normalize! (vector-flatten! (new 'stack-no-clear 'vector) gp-1 a2-1) 1.0)) ) - (quaternion-axis-angle! (-> self root-override2 quat) 0.0 1.0 0.0 (vector-y-angle a0-8)) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (vector-y-angle a0-8)) ) ) (none) @@ -1023,12 +1020,9 @@ For example for an elevator pre-compute the distance between the first and last ) :post (behavior () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (let ((a1-0 (new-stack-vector0))) - (vector-v++! - (-> gp-0 transv) - (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info-override slip-factor)) - ) + (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info slip-factor))) ) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (-> gp-0 root-prim prim-core collide-with)) @@ -1066,24 +1060,19 @@ For example for an elevator pre-compute the distance between the first and last (cond ((<= (-> obj hit-points) 0) (let ((a0-2 (-> obj skel root-channel 0))) - (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) - ) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim)))) (set! (-> a0-2 param 0) 0.0) (set! (-> a0-2 param 1) (* 2.0 (-> pp clock time-adjust-ratio))) (set! (-> a0-2 frame-num) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) frames num-frames) -1 ) ) ) (joint-control-channel-group! a0-2 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info die-anim))) num-func-seek! ) ) @@ -1091,14 +1080,11 @@ For example for an elevator pre-compute the distance between the first and last (else (let ((a0-3 (-> obj skel root-channel 0))) (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) ) (set! (-> a0-3 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) frames num-frames) -1 ) ) @@ -1107,7 +1093,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group! a0-3 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) num-func-seek! ) ) @@ -1123,11 +1109,11 @@ For example for an elevator pre-compute the distance between the first and last (ja-channel-push! 1 (seconds 0.1)) (let ((a0-2 (-> obj skel root-channel 0))) (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) ) (set! (-> a0-2 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) frames num-frames ) @@ -1139,7 +1125,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-2 frame-num) 0.0) (joint-control-channel-group! a0-2 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) num-func-seek! ) ) @@ -1172,7 +1158,7 @@ For example for an elevator pre-compute the distance between the first and last s5-0 ) ((= v1-0 4) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) #t ) (else @@ -1214,7 +1200,7 @@ For example for an elevator pre-compute the distance between the first and last (if (< 65536.0 (-> obj wiggle-angle)) (set! (-> obj wiggle-angle) (+ -65536.0 (-> obj wiggle-angle))) ) - (let* ((v1-5 (-> obj root-override2 trans)) + (let* ((v1-5 (-> obj root trans)) (a1-2 (vector-! (new 'stack-no-clear 'vector) v1-5 arg0)) (s3-0 (vector-rotate-around-y! (new 'stack-no-clear 'vector) a1-2 16384.0)) (s4-0 (new 'stack-no-clear 'vector)) @@ -1257,9 +1243,9 @@ For example for an elevator pre-compute the distance between the first and last ) ) (let ((v1-6 (ja-group))) - (when (not (and v1-6 (= v1-6 (-> self draw art-group data (-> self enemy-info-override hostile-anim))))) + (when (not (and v1-6 (= v1-6 (-> self draw art-group data (-> self enemy-info hostile-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim)) :num! min) ) ) (none) @@ -1299,24 +1285,24 @@ For example for an elevator pre-compute the distance between the first and last (sound-stop (-> self id)) ) (when (< 25 (rand-vu-int-range 0 50)) - (let ((gp-1 (-> self root-override2)) + (let ((gp-1 (-> self root)) (a1-1 (new 'stack-no-clear 'collide-query)) ) - (when (find-ground gp-1 a1-1 (-> self enemy-info-override recover-gnd-collide-with) 8192.0 81920.0 1024.0) - (let ((f0-1 (- (-> self root-override2 trans y) (-> gp-1 gspot-pos y)))) + (when (find-ground gp-1 a1-1 (-> self enemy-info recover-gnd-collide-with) 8192.0 81920.0 1024.0) + (let ((f0-1 (- (-> self root trans y) (-> gp-1 gspot-pos y)))) (when (and (>= f0-1 -1228.8) (>= 26624.0 f0-1)) (cond ((>= (rand-vu-int-range 0 100) (/ (* 40 (you-suck-stage *game-info* #f)) 4)) - (set! (-> self fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> self fact-info-override pickup-amount) 1.0) + (set! (-> self fact pickup-type) (pickup-type ammo-random)) + (set! (-> self fact pickup-amount) 1.0) ) (else - (set! (-> self fact-info-override pickup-type) (pickup-type health)) - (set! (-> self fact-info-override pickup-amount) 2.0) + (set! (-> self fact pickup-type) (pickup-type health)) + (set! (-> self fact pickup-amount) 2.0) ) ) - (set! (-> self fact-info-override fade-time) (seconds 10)) - (let ((v1-25 (drop-pickup (-> self fact-info-override) #t *entity-pool* (-> self fact-info-override) 0))) + (set! (-> self fact fade-time) (seconds 10)) + (let ((v1-25 (drop-pickup (-> self fact) #t *entity-pool* (-> self fact) 0))) (when v1-25 (set! (-> (the-as collectable (-> v1-25 0)) draw light-index) (the-as uint 0)) 0 @@ -1405,7 +1391,7 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :probe #x1 :noendlessfall #x1)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1498,9 +1484,9 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-22 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) - (set-vector! (-> obj root-override2 scale) 0.8 0.8 0.8 1.0) + (set-vector! (-> obj root scale) 0.8 0.8 0.8 1.0) (set! (-> obj draw light-index) (the-as uint 1)) (set-vector! (-> obj draw color-emissive) 0.0 1.0 0.0 0.0) (set! (-> obj wiggle-angle) 0.0) @@ -2084,11 +2070,11 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-9 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) - (set-vector! (-> obj root-override2 trans) -1302528.0 -1449984.0 -6836224.0 1.0) + (set-vector! (-> obj root trans) -1302528.0 -1449984.0 -6836224.0 1.0) (let ((v1-20 (-> obj nav state)) - (a0-17 (-> obj root-override2 trans)) + (a0-17 (-> obj root trans)) ) (logclear! (-> v1-20 flags) (nav-state-flag directional-mode)) (logior! (-> v1-20 flags) (nav-state-flag target-poly-dirty)) @@ -2144,7 +2130,7 @@ For example for an elevator pre-compute the distance between the first and last ) :enter (behavior () (logior! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -2167,9 +2153,9 @@ For example for an elevator pre-compute the distance between the first and last :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -2248,14 +2234,11 @@ For example for an elevator pre-compute the distance between the first and last (else (let ((a0-3 (-> obj skel root-channel 0))) (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) ) (set! (-> a0-3 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) frames num-frames) -1 ) ) @@ -2264,7 +2247,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group! a0-3 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) num-func-seek! ) ) @@ -2284,11 +2267,11 @@ For example for an elevator pre-compute the distance between the first and last (ja-channel-push! 1 (seconds 0.1)) (let ((a0-2 (-> obj skel root-channel 0))) (set! (-> a0-2 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) ) (set! (-> a0-2 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) frames num-frames ) @@ -2300,7 +2283,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a0-2 frame-num) 0.0) (joint-control-channel-group! a0-2 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) num-func-seek! ) ) @@ -2351,7 +2334,7 @@ For example for an elevator pre-compute the distance between the first and last ) :post (behavior () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (cond ((and (>= 1449984.0 (-> gp-0 trans y)) (< (-> gp-0 transv y) 0.0)) (set! (-> gp-0 transv y) 0.0) @@ -2360,10 +2343,7 @@ For example for an elevator pre-compute the distance between the first and last ) (else (let ((a1-0 (new-stack-vector0))) - (vector-v++! - (-> gp-0 transv) - (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info-override slip-factor)) - ) + (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 a1-0 (-> self enemy-info slip-factor))) ) ) ) @@ -2440,7 +2420,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2468,7 +2448,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -2511,7 +2491,7 @@ For example for an elevator pre-compute the distance between the first and last ) :code (behavior () (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! min) (let ((f30-0 (get-rand-float-range self 0.3 0.5))) (until #f (suspend) @@ -2527,8 +2507,8 @@ For example for an elevator pre-compute the distance between the first and last ((the-as (function none) t9-0)) ) ) - (if (< 0.0 (-> self root-override2 trans y)) - (seek! (-> self root-override2 trans y) 1470464.0 (* 204.8 (-> self clock time-adjust-ratio))) + (if (< 0.0 (-> self root trans y)) + (seek! (-> self root trans y) 1470464.0 (* 204.8 (-> self clock time-adjust-ratio))) ) (nav-enemy-method-176 self) (none) @@ -2568,8 +2548,8 @@ For example for an elevator pre-compute the distance between the first and last (with-pp (cond ((not (logtest? (-> obj nav flags) (nav-control-flag update-heading-from-facing))) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root-override2 trans))) - (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root-override2 quat))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root trans))) + (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root quat))) ) (vector-normalize! s5-1 1.0) (let* ((s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s3-0 vector 1) 1.0)) @@ -2599,7 +2579,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (let ((f0-3 (seek f30-0 f0-0 (* f2-0 (-> pp clock time-adjust-ratio))))) - (quaternion-axis-angle! (-> obj root-override2 quat) 0.0 1.0 0.0 f0-3) + (quaternion-axis-angle! (-> obj root quat) 0.0 1.0 0.0 f0-3) ) ) ) @@ -2671,7 +2651,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-58 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-58 enemy-flags)))) ) (set! (-> v1-58 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-58 enemy-flags)))) - (set! (-> v1-58 nav callback-info) (-> v1-58 enemy-info-override callback-info)) + (set! (-> v1-58 nav callback-info) (-> v1-58 enemy-info callback-info)) ) 0 (nav-enemy-method-166 self) @@ -2686,13 +2666,13 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable gp-1) 0) quad)) ) - (let ((f30-0 (-> self enemy-info-override circle-dist-lo)) - (f28-0 (-> self enemy-info-override circle-dist-hi)) + (let ((f30-0 (-> self enemy-info circle-dist-lo)) + (f28-0 (-> self enemy-info circle-dist-hi)) ) (if (zero? (get-rand-int self 4)) (set! (-> self desired-angle) (get-rand-float-range self f30-0 f28-0)) (set! (-> self desired-angle) - (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans)) f28-0) f30-0) + (fmax (fmin (vector-vector-xz-distance (-> self focus-pos) (-> self root trans)) f28-0) f30-0) ) ) ) @@ -2727,9 +2707,7 @@ For example for an elevator pre-compute the distance between the first and last ) (when (= (-> self next-shooting-frame) 200) (cond - ((< (vector-length (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root-override2 trans))) - 122880.0 - ) + ((< (vector-length (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root trans))) 122880.0) (set! (-> self next-shooting-frame) 0) (ja :chan 1 :num-func num-func-identity :frame-num 0.0) (let ((v1-24 (-> self enemy-flags))) @@ -2772,8 +2750,8 @@ For example for an elevator pre-compute the distance between the first and last ) :code (behavior () (ja-channel-push! 2 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) :num! min) - (ja :chan 1 :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! min) + (ja :chan 1 :group! (-> self draw art-group data (-> self enemy-info hostile-anim)) :num! min) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f (ja :num! (loop! f30-0)) @@ -2804,7 +2782,7 @@ For example for an elevator pre-compute the distance between the first and last (set! f30-0 (- f30-0)) ) (set! (-> s5-0 quad) (-> self focus-pos quad)) - (vector-! gp-0 (-> self root-override2 trans) s5-0) + (vector-! gp-0 (-> self root trans) s5-0) (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 (-> self desired-angle)) (vector+! s5-0 s5-0 gp-0) @@ -2814,9 +2792,9 @@ For example for an elevator pre-compute the distance between the first and last (vector+! s5-0 s5-0 gp-0) ) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override2 trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (cloest-point-on-mesh (-> self nav) gp-1 s5-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-1 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-1 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -2854,7 +2832,7 @@ For example for an elevator pre-compute the distance between the first and last (logior! (-> self skel status) (joint-control-status sync-math)) ) (nav-enemy-travel-post) - (seek! (-> self root-override2 trans y) 1449984.0 (* 204.8 (-> self clock time-adjust-ratio))) + (seek! (-> self root trans y) 1449984.0 (* 204.8 (-> self clock time-adjust-ratio))) (when (= (the int (ja-frame-num 1)) (-> self next-shooting-frame)) (logclear! (-> self skel status) (joint-control-status sync-math)) (cond @@ -2956,7 +2934,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -2980,9 +2958,9 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> v1-18 target-post quad) (-> a0-22 quad)) ) 0 - (let ((v1-22 (-> self root-override2 root-prim))) - (set! (-> v1-22 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-22 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-22 (-> self root root-prim))) + (set! (-> v1-22 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-22 prim-core collide-with) (-> self root backup-collide-with)) ) (iterate-process-tree *entity-pool* @@ -2990,9 +2968,7 @@ For example for an elevator pre-compute the distance between the first and last (function object object) (lambda ((arg0 collectable)) (if (and (or (type? arg0 ammo-collectable) (type? arg0 health)) - (and (nonzero? (-> arg0 root-override2)) - (>= 819200.0 (vector-vector-distance (-> arg0 root-override2 trans) (target-pos 0))) - ) + (and (nonzero? (-> arg0 root)) (>= 819200.0 (vector-vector-distance (-> arg0 root trans) (target-pos 0)))) ) (deactivate arg0) ) @@ -3018,10 +2994,8 @@ For example for an elevator pre-compute the distance between the first and last ) :trans (behavior () (let ((f30-0 (vector-vector-xz-distance (target-pos 0) (-> *krew-boss-die-positions* (-> self next-path-point))))) - (when (and (< f30-0 (vector-vector-xz-distance - (-> self root-override2 trans) - (-> *krew-boss-die-positions* (-> self next-path-point)) - ) + (when (and (< f30-0 + (vector-vector-xz-distance (-> self root trans) (-> *krew-boss-die-positions* (-> self next-path-point))) ) (< f30-0 40960.0) ) @@ -3039,10 +3013,8 @@ For example for an elevator pre-compute the distance between the first and last (none) ) :code (behavior () - (while (< 81920.0 (vector-vector-xz-distance - (-> self root-override2 trans) - (-> *krew-boss-die-positions* (-> self next-path-point)) - ) + (while (< 81920.0 + (vector-vector-xz-distance (-> self root trans) (-> *krew-boss-die-positions* (-> self next-path-point))) ) (ja :num! (loop! (-> self clock time-adjust-ratio))) (suspend) diff --git a/test/decompiler/reference/jak2/levels/castle/pad/caspad-obs_REF.gc b/test/decompiler/reference/jak2/levels/castle/pad/caspad-obs_REF.gc index 10a84fd7f7..1242b03b22 100644 --- a/test/decompiler/reference/jak2/levels/castle/pad/caspad-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/castle/pad/caspad-obs_REF.gc @@ -49,11 +49,11 @@ @see [[path-control]] and [[elevator]]" (let ((path-point-a (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-a 'interp)) (path-point-b (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-b 'interp)) - (elevator-trans (-> obj root-override trans)) + (elevator-trans (-> obj root trans)) ) (when (and (< (-> path-point-b y) (-> path-point-a y)) (< (-> vec y) (+ -8192.0 (-> elevator-trans y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) vec elevator-trans))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 49152.0) (< (fabs (-> s4-2 z)) 49152.0)) ) ) @@ -71,9 +71,9 @@ ) (when target-proc (let* ((target-pos (get-trans target-proc 0)) - (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root-override trans))) + (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root trans))) ) - (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root-override quat)) + (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root quat)) (and (< (fabs (-> dist-from-center x)) 40960.0) (< (fabs (-> dist-from-center z)) 40960.0)) ) ) @@ -85,7 +85,7 @@ (defmethod configure-collision cpad-elevator ((obj cpad-elevator) (collide-with-jak? symbol)) "Appropriately sets the collision on the elevator @param collide-with-jak? If set, the elevator will collide with Jak" - (let ((prim (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((prim (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (collide-with-jak? (set! (-> prim prim-core collide-as) (collide-spec obstacle pusher)) @@ -183,7 +183,7 @@ (defmethod set-ambient-sound! cpad-elevator ((obj cpad-elevator)) "Sets the elevator's [[ambient-sound]] up" (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "cpad-elevator-l" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "cpad-elevator-l" :fo-max 70) (-> obj root trans)) ) (none) ) @@ -238,7 +238,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> cshape-moving backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape-moving backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape-moving) + (set! (-> obj root) cshape-moving) ) (none) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/bike_REF.gc b/test/decompiler/reference/jak2/levels/city/common/bike_REF.gc index 81eeb27227..fd7145bc3d 100644 --- a/test/decompiler/reference/jak2/levels/city/common/bike_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/bike_REF.gc @@ -951,7 +951,7 @@ (* 4.0 (-> obj force-scale) (-> obj sputter-sound-envelope) - (-> obj info-override inv-max-engine-thrust) + (-> obj info inv-max-engine-thrust) (+ (-> obj roll-thrust 0) (-> obj roll-thrust 1)) ) ) @@ -1015,14 +1015,14 @@ (a2-4 (-> s5-0 0 vector 1)) (a3-2 1638.4) (f0-5 12288.0) - (f1-1 (-> obj info-override extra gravity)) + (f1-1 (-> obj info extra gravity)) ) (t9-5 a0-11 (the-as vector a1-5) a2-4 a3-2 - (* f0-5 (/ 1.0 f1-1) (-> obj info-override info inv-mass) (-> obj force-scale) (-> obj roll-thrust s2-0)) + (* f0-5 (/ 1.0 f1-1) (-> obj info info inv-mass) (-> obj force-scale) (-> obj roll-thrust s2-0)) ) ) ) @@ -1145,7 +1145,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1307,7 +1307,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1486,7 +1486,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1655,7 +1655,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1683,7 +1683,3 @@ 0 (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/city/common/car_REF.gc b/test/decompiler/reference/jak2/levels/city/common/car_REF.gc new file mode 100644 index 0000000000..69fd6ed4ff --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/common/car_REF.gc @@ -0,0 +1,1799 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-cara cara cara-lod0-jg cara-idle-ja + ((cara-lod0-mg (meters 20)) (cara-lod1-mg (meters 40)) (cara-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.2) + :shadow cara-shadow-mg + ) + +;; failed to figure out what this is: +(defskelgroup skel-carb carb carb-lod0-jg carb-idle-ja + ((carb-lod0-mg (meters 20)) (carb-lod1-mg (meters 40)) (carb-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5) + :shadow carb-shadow-mg + ) + +;; failed to figure out what this is: +(defskelgroup skel-carc carc carc-lod0-jg carc-idle-ja + ((carc-lod0-mg (meters 20)) (carc-lod1-mg (meters 40)) (carc-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 5.3) + :shadow carc-shadow-mg + ) + +;; failed to figure out what this is: +(defskelgroup skel-hellcat hellcat hellcat-lod0-jg hellcat-idle-ja + ((hellcat-lod0-mg (meters 20)) (hellcat-lod1-mg (meters 40)) (hellcat-lod2-mg (meters 999999))) + :bounds (static-spherem 0 0 0 6.8) + :shadow hellcat-shadow-mg + :origin-joint-index 3 + ) + +;; definition for symbol *car-explosion-info*, type vehicle-explosion-info +(define *car-explosion-info* + (new 'static 'vehicle-explosion-info + :joints (new 'static 'boxed-array :type joint-exploder-static-joint-params + (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + :collide-spec #x1 + :art-level 'ctywide + :skel #f + :skel-name "skel-vehicle-explosion" + :anim 2 + ) + ) + +;; definition for symbol *cara-constants*, type rigid-body-vehicle-constants +(define *cara-constants* + (new 'static 'rigid-body-vehicle-constants + :info (new 'static 'rigid-body-info + :mass 8.0 + :inv-mass 0.125 + :linear-damping 0.995 + :angular-damping 0.995 + :bounce-factor 0.4 + :friction-factor 0.05 + :bounce-mult-factor 1.22 + :cm-offset-joint (new 'static 'vector :w 1.0) + :inertial-tensor-box (new 'static 'array meters 3 (meters 4) (meters 3) (meters 6)) + ) + :extra (new 'static 'rigid-body-object-extra-info + :max-time-step 0.033333335 + :gravity (meters 40) + :idle-distance (meters 50) + :attack-force-scale 1.0 + ) + :name '*cara-constants* + :flags #x68 + :object-type #xe + :guard-type #x7 + :max-engine-thrust (meters 39) + :inv-max-engine-thrust 0.000006260016 + :engine-response-rate 20.0 + :engine-intake-factor 1.0 + :brake-factor 2.25 + :turbo-boost-factor 1.0 + :max-xz-speed (meters 40) + :ground-probe-distance (meters 4.5) + :cos-ground-effect-angle 0.42261824 + :spring-lift-factor 0.4 + :air-drag-factor 1.0 + :steering-thruster-factor 3.0 + :steering-thruster-max-gain 3.5 + :steering-thruster-half-gain-speed (meters 15) + :tire-friction-factor 0.6 + :tire-static-friction 0.55 + :tire-dynamic-friction 0.4 + :tire-dynamic-friction-speed (meters 2) + :tire-inv-max-friction-speed 0.000024414063 + :airfoil-factor 1.0 + :drag-force-factor 1.0 + :speed-scrubbing-drag 10.0 + :speed-limiting-drag 0.7 + :pitch-control-factor 0.5 + :roll-control-factor 1.0 + :jump-thrust-factor 0.5 + :buoyancy-factor 1.0 + :player-weight 163840.0 + :player-shift-x (meters 0.6) + :player-shift-z (meters 1) + :target-speed-offset (meters 3) + :turning-accel (meters 20) + :toughness-factor 1.0 + :damage-factor 2.5 + :camera-string-min-height (meters 4.5) + :camera-string-max-height (meters 4.5) + :camera-string-min-length (meters 5) + :camera-string-max-length (meters 12.5) + :camera-min-fov 15109.688 + :camera-max-fov 17476.268 + :camera-head-offset 8192.0 + :camera-foot-offset 4096.0 + :camera-normal-max-angle-offset 5461.3335 + :camera-air-max-angle-offset 5461.3335 + :camera-max-lookaround-speed 40960.0 + :seat-count 3 + :section-count 4 + :rider-stance #x1 + :grab-rail-count 6 + :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 6 + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 4505.6 :y -2662.4 :z 15360.0 :w 1.0) + (new 'static 'vector :x -4505.6 :y -2662.4 :z 15360.0 :w 1.0) + ) + :normal (new 'static 'vector :z 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 7372.8 :y -819.2 :z -4096.0 :w 1.0) + (new 'static 'vector :x 7372.8 :y -819.2 :z 4096.0 :w 1.0) + ) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -7372.8 :y -819.2 :z 4096.0 :w 1.0) + (new 'static 'vector :x -7372.8 :y -819.2 :z -4096.0 :w 1.0) + ) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -3686.4 :y -409.6 :z -14950.4 :w 1.0) + (new 'static 'vector :x 3686.4 :y -409.6 :z -14950.4 :w 1.0) + ) + :normal (new 'static 'vector :z -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3837.952 :y -409.6 :z -14950.4 :w 1.0) + (new 'static 'vector :x 6041.6 :y -614.4 :z -9011.2 :w 1.0) + ) + :normal (new 'static 'vector :x 0.707 :z -0.707 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -6041.6 :y -614.4 :z -9011.2 :w 1.0) + (new 'static 'vector :x -3837.952 :y -409.6 :z -14950.4 :w 1.0) + ) + :normal (new 'static 'vector :x -0.707 :z -0.707 :w 1.0) + ) + ) + :seat-array (new 'static 'inline-array vehicle-seat-info 4 + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x 4079.616 :y 819.2 :z -311.296 :w (the-as float #x30000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x -4079.616 :y 819.2 :z -311.296 :w (the-as float #x30000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :y 3751.936 :z -10563.584 :w (the-as float #x40000)) + ) + (new 'static 'vehicle-seat-info) + ) + :rider-hand-offset (new 'static 'inline-array vector 2 + (new 'static 'vector :x 614.4 :y 614.4 :z 1433.6 :w 1.0) + (new 'static 'vector :x 614.4 :y 614.4 :z -1433.6 :w 1.0) + ) + :section-bike-front (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x200 #x20 #x2) + :damage-seg-count 3 + ) + :section-bike-rear (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x400 #x40 #x4) + :damage-seg-count 3 + ) + :section-car-front-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x800 #x80 #x8) + :damage-seg-count 3 + ) + :section-car-rear-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x1000 #x100 #x10) + :damage-seg-count 3 + ) + :explosion #f + :engine-pitch-scale 0.09 + :engine-pitch-mod-amp 0.01 + :engine-sound-select 5 + :engine-sound (static-sound-name "vehicle-engine") + :thrust-sound (static-sound-name "bike-thrust") + :scrape-sound (static-sound-name "car-scrape-stn") + :glance-sound (static-sound-name "car-glance-stn") + :impact-sound (static-sound-name "car-impact-stn") + :extra-sound (static-sound-name "car-by-5") + :explosion-part #xa1 + :headlight-count 2 + :taillight-count 2 + :thruster-flame-width (meters 0.6) + :thruster-flame-length (meters 2) + :thruster-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3072.0 :z -14336.0 :w 1.0) + (new 'static 'vector :x -3072.0 :z -14336.0 :w 1.0) + ) + :exhaust-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 6963.2 :y -1024.0 :z -7372.8 :w 1.0) + (new 'static 'vector :x -6963.2 :y -1024.0 :z -7372.8 :w 1.0) + ) + :exhaust-local-dir (new 'static 'inline-array vector 2 (new 'static 'vector :z -1.0 :w 1.0) (new 'static 'vector :z -1.0 :w 1.0)) + :smoke-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3072.0 :z -13926.4 :w 1.0) + (new 'static 'vector :x -3072.0 :z -13926.4 :w 1.0) + ) + :smoke-local-vel (new 'static 'inline-array vector 2 + (new 'static 'vector :x 12288.0 :w 1.0) + (new 'static 'vector :x -12288.0 :w 1.0) + ) + :headlight-local-pos (new 'static 'inline-array vector 3 + (new 'static 'vector :x 4915.2 :z 15564.8 :w 1.0) + (new 'static 'vector :x -4915.2 :z 15564.8 :w 1.0) + (new 'static 'vector) + ) + :taillight-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3276.8 :y 3276.8 :z -14131.2 :w 1.0) + (new 'static 'vector :x -3276.8 :y 3276.8 :z -14131.2 :w 1.0) + ) + :lift-thruster-count 2 + :roll-thruster-count 2 + :steering-thruster-count 2 + :stabilizer-count 4 + :inv-lift-thruster-count 0.5 + :lift-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 819.2 :z 8192.0 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 819.2 :z -8192.0 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + ) + :roll-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x 6963.2 :y 819.2 :w 1.0) + :normal (new 'static 'vector :x 0.3 :y -0.6 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x -6963.2 :y 819.2 :w 1.0) + :normal (new 'static 'vector :x -0.3 :y -0.6 :w 1.0) + ) + ) + :steering-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 7782.4 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -7782.4 :w 1.0) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + ) + :stabilizer-array (new 'static 'inline-array vehicle-control-point 6 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -8192.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 8192.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 0.5) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 2.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -8192.0 :w 1.0) + :normal (new 'static 'vector :y 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point) + (new 'static 'vehicle-control-point) + ) + :engine-thrust-local-pos (new 'static 'vector :z -5734.4 :w 1.0) + :brake-local-pos (new 'static 'vector :z -8192.0 :w 1.0) + :color-option-count 3 + :color-option-array (new 'static 'inline-array vector 3 + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) + (new 'static 'vector :x 1.0 :y 0.7 :z 1.0 :w 1.0) + (new 'static 'vector :x 1.0 :y 0.7 :z 0.7 :w 1.0) + ) + ) + ) + +;; definition for symbol *carb-constants*, type rigid-body-vehicle-constants +(define *carb-constants* + (new 'static 'rigid-body-vehicle-constants + :info (new 'static 'rigid-body-info + :mass 6.0 + :inv-mass 0.16666667 + :linear-damping 0.995 + :angular-damping 0.995 + :bounce-factor 0.4 + :friction-factor 0.05 + :bounce-mult-factor 1.22 + :cm-offset-joint (new 'static 'vector :w 1.0) + :inertial-tensor-box (new 'static 'array meters 3 (meters 3) (meters 4) (meters 6)) + ) + :extra (new 'static 'rigid-body-object-extra-info + :max-time-step 0.033333335 + :gravity (meters 40) + :idle-distance (meters 50) + :attack-force-scale 1.0 + ) + :name '*carb-constants* + :flags #x68 + :object-type #xf + :guard-type #x7 + :max-engine-thrust (meters 40) + :inv-max-engine-thrust 0.0000061035157 + :engine-response-rate 10.0 + :engine-intake-factor 1.0 + :brake-factor 2.25 + :turbo-boost-factor 1.0 + :max-xz-speed (meters 40) + :ground-probe-distance (meters 4.5) + :cos-ground-effect-angle 0.42261824 + :spring-lift-factor 0.4 + :air-drag-factor 1.0 + :steering-thruster-factor 3.5 + :steering-thruster-max-gain 3.8 + :steering-thruster-half-gain-speed (meters 15) + :tire-friction-factor 0.55 + :tire-static-friction 0.55 + :tire-dynamic-friction 0.4 + :tire-dynamic-friction-speed (meters 2) + :tire-inv-max-friction-speed 0.000034877234 + :airfoil-factor 1.0 + :drag-force-factor 1.0 + :speed-scrubbing-drag 10.0 + :speed-limiting-drag 0.69 + :pitch-control-factor 0.5 + :roll-control-factor 1.0 + :jump-thrust-factor 0.5 + :buoyancy-factor 1.0 + :player-weight 163840.0 + :player-shift-x (meters 0.6) + :player-shift-z (meters 1) + :target-speed-offset (meters 3) + :turning-accel (meters 20) + :toughness-factor 1.0 + :damage-factor 2.5 + :camera-string-min-height (meters 4.5) + :camera-string-max-height (meters 4.5) + :camera-string-min-length (meters 5) + :camera-string-max-length (meters 12.5) + :camera-min-fov 15109.688 + :camera-max-fov 17476.268 + :camera-head-offset 8192.0 + :camera-foot-offset 4096.0 + :camera-normal-max-angle-offset 5461.3335 + :camera-air-max-angle-offset 5461.3335 + :camera-max-lookaround-speed 40960.0 + :seat-count 3 + :section-count 4 + :rider-stance #x1 + :grab-rail-count 5 + :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 5 + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 6963.2 :y -2048.0 :z -3276.8 :w 1.0) + (new 'static 'vector :x 6963.2 :y -2048.0 :z 1638.4 :w 1.0) + ) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -6963.2 :y -2048.0 :z 1638.4 :w 1.0) + (new 'static 'vector :x -6963.2 :y -2048.0 :z -3276.8 :w 1.0) + ) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 4096.0 :y -1638.4 :z 16384.0 :w 1.0) + (new 'static 'vector :x 3891.2 :y -1638.4 :z 16384.0 :w 1.0) + ) + :normal (new 'static 'vector :z 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -3891.2 :y -1638.4 :z 16384.0 :w 1.0) + (new 'static 'vector :x -4096.0 :y -1638.4 :z 16384.0 :w 1.0) + ) + :normal (new 'static 'vector :z 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -819.2 :y 1024.0 :z -12697.6 :w 1.0) + (new 'static 'vector :x 819.2 :y 1024.0 :z -12697.6 :w 1.0) + ) + :normal (new 'static 'vector :z -1.0 :w 1.0) + ) + ) + :seat-array (new 'static 'inline-array vehicle-seat-info 4 + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x 4218.88 :y 999.424 :z -172.032 :w (the-as float #x30000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x -3891.2 :y 999.424 :z -172.032 :w (the-as float #x30000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :y 3751.936 :z -8192.0 :w (the-as float #x40000)) + ) + (new 'static 'vehicle-seat-info) + ) + :rider-hand-offset (new 'static 'inline-array vector 2 + (new 'static 'vector :x 122.88 :y -1433.6 :z 614.4 :w 1.0) + (new 'static 'vector :x 122.88 :y 1433.6 :z 614.4 :w 1.0) + ) + :section-bike-front (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x200 #x20 #x2) + :damage-seg-count 3 + ) + :section-bike-rear (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x400 #x40 #x4) + :damage-seg-count 3 + ) + :section-car-front-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x800 #x80 #x8) + :damage-seg-count 3 + ) + :section-car-rear-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x1000 #x100 #x10) + :damage-seg-count 3 + ) + :explosion #f + :engine-pitch-scale 0.25 + :engine-pitch-mod-amp 0.025 + :engine-sound-select 6 + :engine-sound (static-sound-name "vehicle-engine") + :thrust-sound (static-sound-name "bike-thrust") + :scrape-sound (static-sound-name "car-scrape-stn") + :glance-sound (static-sound-name "car-glance-stn") + :impact-sound (static-sound-name "car-impact-stn") + :extra-sound (static-sound-name "car-by-6") + :explosion-part #xa1 + :headlight-count 2 + :taillight-count 2 + :thruster-flame-width (meters 0.6) + :thruster-flame-length (meters 2) + :thruster-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 4096.0 :y 1638.4 :z -13107.2 :w 1.0) + (new 'static 'vector :x -4096.0 :y 1638.4 :z -13107.2 :w 1.0) + ) + :exhaust-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 6553.6 :y 3072.0 :z -10240.0 :w 1.0) + (new 'static 'vector :x -6553.6 :y 3072.0 :z -10240.0 :w 1.0) + ) + :exhaust-local-dir (new 'static 'inline-array vector 2 (new 'static 'vector :z -1.0 :w 1.0) (new 'static 'vector :z -1.0 :w 1.0)) + :smoke-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 4096.0 :y 1638.4 :z -10240.0 :w 1.0) + (new 'static 'vector :x -4096.0 :y 1638.4 :z -10240.0 :w 1.0) + ) + :smoke-local-vel (new 'static 'inline-array vector 2 + (new 'static 'vector :x 12288.0 :w 1.0) + (new 'static 'vector :x -12288.0 :w 1.0) + ) + :headlight-local-pos (new 'static 'inline-array vector 3 + (new 'static 'vector :x 4096.0 :y 2457.6 :z 15155.2 :w 1.0) + (new 'static 'vector :x -4096.0 :y 2457.6 :z 15155.2 :w 1.0) + (new 'static 'vector) + ) + :taillight-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3891.2 :y 4096.0 :z -12697.6 :w 1.0) + (new 'static 'vector :x -3891.2 :y 4096.0 :z -12697.6 :w 1.0) + ) + :lift-thruster-count 2 + :roll-thruster-count 2 + :steering-thruster-count 2 + :stabilizer-count 4 + :inv-lift-thruster-count 0.5 + :lift-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 819.2 :z 9011.2 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 819.2 :z -9011.2 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + ) + :roll-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x 6963.2 :y 819.2 :w 1.0) + :normal (new 'static 'vector :x 0.3 :y -0.6 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x -6963.2 :y 819.2 :w 1.0) + :normal (new 'static 'vector :x -0.3 :y -0.6 :w 1.0) + ) + ) + :steering-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 7782.4 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -7782.4 :w 1.0) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + ) + :stabilizer-array (new 'static 'inline-array vehicle-control-point 6 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -8192.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 8192.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 0.5) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 2.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -8192.0 :w 1.0) + :normal (new 'static 'vector :y 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point) + (new 'static 'vehicle-control-point) + ) + :engine-thrust-local-pos (new 'static 'vector :z -5734.4 :w 1.0) + :brake-local-pos (new 'static 'vector :z -8192.0 :w 1.0) + :color-option-count 4 + :color-option-array (new 'static 'inline-array vector 4 + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) + (new 'static 'vector :x 1.0 :y 0.7 :z 1.0 :w 1.0) + (new 'static 'vector :x 1.0 :y 0.7 :z 0.7 :w 1.0) + (new 'static 'vector :x 0.6 :y 1.0 :z 0.8 :w 1.0) + ) + ) + ) + +;; definition for symbol *carc-constants*, type rigid-body-vehicle-constants +(define *carc-constants* + (new 'static 'rigid-body-vehicle-constants + :info (new 'static 'rigid-body-info + :mass 9.0 + :inv-mass 0.11111111 + :linear-damping 0.995 + :angular-damping 0.995 + :bounce-factor 0.4 + :friction-factor 0.05 + :bounce-mult-factor 1.22 + :cm-offset-joint (new 'static 'vector :z -4096.0 :w 1.0) + :inertial-tensor-box (new 'static 'array meters 3 (meters 3) (meters 4) (meters 6)) + ) + :extra (new 'static 'rigid-body-object-extra-info + :max-time-step 0.033333335 + :gravity (meters 40) + :idle-distance (meters 50) + :attack-force-scale 1.0 + ) + :name '*carc-constants* + :flags #x68 + :object-type #x10 + :guard-type #x7 + :max-engine-thrust (meters 35) + :inv-max-engine-thrust 0.0000069754465 + :engine-response-rate 10.0 + :engine-intake-factor 1.0 + :brake-factor 2.25 + :turbo-boost-factor 1.0 + :max-xz-speed (meters 40) + :ground-probe-distance (meters 4.5) + :cos-ground-effect-angle 0.42261824 + :spring-lift-factor 0.4 + :air-drag-factor 1.0 + :steering-thruster-factor 3.0 + :steering-thruster-max-gain 3.0 + :steering-thruster-half-gain-speed (meters 15) + :tire-friction-factor 0.75 + :tire-static-friction 0.55 + :tire-dynamic-friction 0.4 + :tire-dynamic-friction-speed (meters 2) + :tire-inv-max-friction-speed 0.000024414063 + :airfoil-factor 1.0 + :drag-force-factor 1.0 + :speed-scrubbing-drag 10.0 + :speed-limiting-drag 0.7 + :pitch-control-factor 0.5 + :roll-control-factor 1.0 + :jump-thrust-factor 0.5 + :buoyancy-factor 1.0 + :player-weight 163840.0 + :player-shift-x (meters 0.6) + :player-shift-z (meters 1) + :target-speed-offset (meters -2) + :turning-accel (meters 15) + :toughness-factor 1.0 + :damage-factor 2.5 + :camera-string-min-height (meters 4.5) + :camera-string-max-height (meters 4.5) + :camera-string-min-length (meters 5) + :camera-string-max-length (meters 12.5) + :camera-min-fov 15109.688 + :camera-max-fov 17476.268 + :camera-head-offset 8192.0 + :camera-foot-offset 4096.0 + :camera-normal-max-angle-offset 5461.3335 + :camera-air-max-angle-offset 5461.3335 + :camera-max-lookaround-speed 40960.0 + :seat-count 4 + :section-count 4 + :rider-stance #x1 + :grab-rail-count 9 + :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 9 + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 5324.8 :y -819.2 :z -4096.0 :w 1.0) + (new 'static 'vector :x 5324.8 :y -819.2 :z 2048.0 :w 1.0) + ) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -5324.8 :y -819.2 :z 2048.0 :w 1.0) + (new 'static 'vector :x -5324.8 :y -819.2 :z -4096.0 :w 1.0) + ) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3276.8 :y -204.8 :z 9830.4 :w 1.0) + (new 'static 'vector :y -204.8 :z 10547.2 :w 1.0) + ) + :normal (new 'static 'vector :z 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :y -204.8 :z 10547.2 :w 1.0) + (new 'static 'vector :x -3276.8 :y -204.8 :z 9830.4 :w 1.0) + ) + :normal (new 'static 'vector :z 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -204.8 :y 3276.8 :z -20889.6 :w 1.0) + (new 'static 'vector :x 204.8 :y 3276.8 :z -20889.6 :w 1.0) + ) + :normal (new 'static 'vector :z -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3072.0 :y 3481.6 :z -19660.8 :w 1.0) + (new 'static 'vector :x 3891.2 :y 3481.6 :z -16793.6 :w 1.0) + ) + :normal (new 'static 'vector :x 0.707 :z -0.707 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -3891.2 :y 3481.6 :z -16793.6 :w 1.0) + (new 'static 'vector :x -3072.0 :y 3481.6 :z -19660.8 :w 1.0) + ) + :normal (new 'static 'vector :x -0.707 :z -0.707 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 4915.2 :z -14745.6 :w 1.0) + (new 'static 'vector :x 4915.2 :z -12697.6 :w 1.0) + ) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -4915.2 :z -12697.6 :w 1.0) + (new 'static 'vector :x -4915.2 :z -14745.6 :w 1.0) + ) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + ) + :seat-array (new 'static 'inline-array vehicle-seat-info 4 + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :y 761.856 :z 1368.064 :w (the-as float #x10000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x -2867.2 :y 1638.4 :z -2867.2 :w (the-as float #x20000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x 2867.2 :y 1638.4 :z -2867.2 :w (the-as float #x20000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :y 4239.36 :z -14192.64 :w (the-as float #x40000)) + ) + ) + :rider-hand-offset (new 'static 'inline-array vector 2 + (new 'static 'vector :x 696.32 :y -1433.6 :z 614.4 :w 1.0) + (new 'static 'vector :x 696.32 :y 1433.6 :z 614.4 :w 1.0) + ) + :section-bike-front (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x200 #x20 #x2) + :damage-seg-count 3 + ) + :section-bike-rear (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x400 #x40 #x4) + :damage-seg-count 3 + ) + :section-car-front-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x800 #x80 #x8) + :damage-seg-count 3 + ) + :section-car-rear-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x1000 #x100 #x10) + :damage-seg-count 3 + ) + :explosion #f + :engine-pitch-scale 0.25 + :engine-pitch-mod-amp 0.025 + :engine-sound-select 7 + :engine-sound (static-sound-name "vehicle-engine") + :thrust-sound (static-sound-name "bike-thrust") + :scrape-sound (static-sound-name "car-scrape-stn") + :glance-sound (static-sound-name "car-glance-stn") + :impact-sound (static-sound-name "car-impact-stn") + :extra-sound (static-sound-name "car-by-7") + :explosion-part #xa1 + :headlight-count 1 + :taillight-count 2 + :thruster-flame-width (meters 0.6) + :thruster-flame-length (meters 2) + :thruster-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3891.2 :z -15155.2 :w 1.0) + (new 'static 'vector :x -3891.2 :z -15155.2 :w 1.0) + ) + :exhaust-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 2457.6 :y 3481.6 :z -20480.0 :w 1.0) + (new 'static 'vector :x -2457.6 :y 3481.6 :z -20480.0 :w 1.0) + ) + :exhaust-local-dir (new 'static 'inline-array vector 2 + (new 'static 'vector :x -0.4 :z -0.92 :w 1.0) + (new 'static 'vector :x 0.4 :z -0.92 :w 1.0) + ) + :smoke-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 4096.0 :y 2048.0 :z -14336.0 :w 1.0) + (new 'static 'vector :x -4096.0 :y 2048.0 :z -14336.0 :w 1.0) + ) + :smoke-local-vel (new 'static 'inline-array vector 2 + (new 'static 'vector :x 12288.0 :w 1.0) + (new 'static 'vector :x -12288.0 :w 1.0) + ) + :headlight-local-pos (new 'static 'inline-array vector 3 + (new 'static 'vector :y 409.6 :z 8601.6 :w 1.0) + (new 'static 'vector) + (new 'static 'vector) + ) + :taillight-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 2867.2 :y 2048.0 :z -18022.4 :w 1.0) + (new 'static 'vector :x -2867.2 :y 2048.0 :z -18022.4 :w 1.0) + ) + :lift-thruster-count 2 + :roll-thruster-count 2 + :steering-thruster-count 2 + :stabilizer-count 4 + :inv-lift-thruster-count 0.5 + :lift-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 4915.2 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -13107.2 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + ) + :roll-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x 6963.2 :y 819.2 :z -4096.0 :w 1.0) + :normal (new 'static 'vector :x 0.3 :y -0.6 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x -6963.2 :y 819.2 :z -4096.0 :w 1.0) + :normal (new 'static 'vector :x -0.3 :y -0.6 :w 1.0) + ) + ) + :steering-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 3686.4 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -11878.4 :w 1.0) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + ) + :stabilizer-array (new 'static 'inline-array vehicle-control-point 6 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -12288.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z 4096.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 0.5) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -4096.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 2.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :z -12288.0 :w 1.0) + :normal (new 'static 'vector :y 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point) + (new 'static 'vehicle-control-point) + ) + :engine-thrust-local-pos (new 'static 'vector :z -9830.4 :w 1.0) + :brake-local-pos (new 'static 'vector :z -12288.0 :w 1.0) + :color-option-count 4 + :color-option-array (new 'static 'inline-array vector 4 + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) + (new 'static 'vector :x 0.6 :y 1.2 :z 1.2 :w 1.0) + (new 'static 'vector :x 0.7 :y 1.25 :z 0.8 :w 1.0) + (new 'static 'vector :x 1.0 :y 0.6 :z 1.5 :w 1.0) + ) + ) + ) + +;; definition for symbol *hellcat-constants*, type rigid-body-vehicle-constants +(define *hellcat-constants* + (new 'static 'rigid-body-vehicle-constants + :info (new 'static 'rigid-body-info + :mass 20.0 + :inv-mass 0.05 + :linear-damping 0.995 + :angular-damping 0.995 + :bounce-factor 0.4 + :friction-factor 0.05 + :bounce-mult-factor 1.22 + :cm-offset-joint (new 'static 'vector :y 2048.0 :z -2048.0 :w 1.0) + :inertial-tensor-box (new 'static 'array meters 3 (meters 6) (meters 3) (meters 7)) + ) + :extra (new 'static 'rigid-body-object-extra-info + :max-time-step 0.033333335 + :gravity (meters 40) + :idle-distance (meters 50) + :attack-force-scale 1.0 + ) + :name '*hellcat-constants* + :flags #x4c + :object-type #x13 + :guard-type #x5 + :max-engine-thrust (meters 30) + :inv-max-engine-thrust 0.000008138021 + :engine-response-rate 8.0 + :engine-intake-factor 1.0 + :brake-factor 2.25 + :turbo-boost-factor 1.0 + :max-xz-speed (meters 30) + :ground-probe-distance (meters 4.5) + :cos-ground-effect-angle 0.42261824 + :spring-lift-factor 0.3 + :air-drag-factor 1.0 + :steering-thruster-factor 3.0 + :steering-thruster-max-gain 2.0 + :steering-thruster-half-gain-speed (meters 15) + :tire-friction-factor 0.5 + :tire-static-friction 0.55 + :tire-dynamic-friction 0.4 + :tire-dynamic-friction-speed (meters 2) + :tire-inv-max-friction-speed 0.000034877234 + :airfoil-factor 1.0 + :drag-force-factor 1.0 + :speed-scrubbing-drag 10.0 + :speed-limiting-drag 0.5 + :pitch-control-factor 0.5 + :roll-control-factor 1.0 + :jump-thrust-factor 0.5 + :buoyancy-factor 1.0 + :player-weight 163840.0 + :player-shift-x (meters 0.6) + :player-shift-z (meters 1) + :target-speed-offset (meters -2) + :turning-accel (meters 12) + :toughness-factor 4.0 + :damage-factor 2.0 + :camera-string-min-height (meters 4.5) + :camera-string-max-height (meters 4.5) + :camera-string-min-length (meters 5) + :camera-string-max-length (meters 12.5) + :camera-min-fov 15109.688 + :camera-max-fov 17476.268 + :camera-head-offset 8192.0 + :camera-foot-offset 4096.0 + :camera-air-max-angle-offset 5461.3335 + :camera-max-lookaround-speed 40960.0 + :seat-count 3 + :section-count 4 + :rider-stance #x1 + :grab-rail-count 6 + :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 6 + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 3686.4 :y 409.6 :z 24576.0 :w 1.0) + (new 'static 'vector :x 3276.8 :y 409.6 :z 25395.2 :w 1.0) + ) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -3276.8 :y 409.6 :z 25395.2 :w 1.0) + (new 'static 'vector :x -3686.4 :y 409.6 :z 24576.0 :w 1.0) + ) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 8601.6 :z -409.6 :w 1.0) + (new 'static 'vector :x 8601.6 :y -409.6 :z 2867.2 :w 1.0) + ) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -8601.6 :y -409.6 :z 2867.2 :w 1.0) + (new 'static 'vector :x -8601.6 :z -409.6 :w 1.0) + ) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :y -409.6 :z -15974.4 :w 1.0) + (new 'static 'vector :x 10240.0 :y -409.6 :z -13926.4 :w 1.0) + ) + :normal (new 'static 'vector :z -1.0 :w 1.0) + ) + (new 'static 'vehicle-grab-rail-info + :local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x -10240.0 :y -409.6 :z -13926.4 :w 1.0) + (new 'static 'vector :y -409.6 :z -15974.4 :w 1.0) + ) + :normal (new 'static 'vector :z -1.0 :w 1.0) + ) + ) + :seat-array (new 'static 'inline-array vehicle-seat-info 4 + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x 5120.0 :y 819.2 :z 2457.6 :w (the-as float #x10000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :x -5120.0 :y 819.2 :z 2457.6 :w (the-as float #x20000)) + ) + (new 'static 'vehicle-seat-info + :position (new 'static 'vector :y 3686.4 :z -8192.0 :w (the-as float #x40000)) + ) + (new 'static 'vehicle-seat-info) + ) + :rider-hand-offset (new 'static 'inline-array vector 2 + (new 'static 'vector :x 2457.6 :y 409.6 :z 4710.4 :w 1.0) + (new 'static 'vector :x -2457.6 :y 409.6 :z 4710.4 :w 1.0) + ) + :section-bike-front (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x200 #x20 #x2) + :damage-seg-count 3 + ) + :section-bike-rear (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x400 #x40 #x4) + :damage-seg-count 3 + ) + :section-car-front-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x800 #x80 #x8) + :damage-seg-count 3 + ) + :section-car-rear-right (new 'static 'vehicle-section-info + :damage-seg-array (new 'static 'array uint64 3 #x1000 #x100 #x10) + :damage-seg-count 3 + ) + :explosion #f + :engine-pitch-scale 0.25 + :engine-pitch-mod-amp 0.025 + :engine-sound-select 8 + :engine-sound (static-sound-name "vehicle-engine") + :thrust-sound (static-sound-name "bike-thrust") + :scrape-sound (static-sound-name "car-scrape-stn") + :glance-sound (static-sound-name "car-glance-stn") + :impact-sound (static-sound-name "car-impact-stn") + :extra-sound (static-sound-name "car-by-8") + :explosion-part #xa1 + :headlight-count 3 + :taillight-count 2 + :thruster-flame-width (meters 0.6) + :thruster-flame-length (meters 2) + :thruster-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 6144.0 :y 4096.0 :z -17612.8 :w 1.0) + (new 'static 'vector :x -6144.0 :y 4096.0 :z -17612.8 :w 1.0) + ) + :exhaust-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 6144.0 :y 5529.6 :z -17612.8 :w 1.0) + (new 'static 'vector :x -6144.0 :y 5529.6 :z -17612.8 :w 1.0) + ) + :exhaust-local-dir (new 'static 'inline-array vector 2 (new 'static 'vector :z -1.0 :w 1.0) (new 'static 'vector :z -1.0 :w 1.0)) + :smoke-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 2048.0 :y 4096.0 :z -16384.0 :w 1.0) + (new 'static 'vector :x -2048.0 :y 4096.0 :z -16384.0 :w 1.0) + ) + :smoke-local-vel (new 'static 'inline-array vector 2 + (new 'static 'vector :x 2048.0 :w 1.0) + (new 'static 'vector :x -2048.0 :w 1.0) + ) + :headlight-local-pos (new 'static 'inline-array vector 3 + (new 'static 'vector :x 5734.4 :y 1843.2 :z 15769.6 :w 1.0) + (new 'static 'vector :x -5734.4 :y 1843.2 :z 15769.6 :w 1.0) + (new 'static 'vector :y 6963.2 :z 6922.24 :w 1.0) + ) + :taillight-local-pos (new 'static 'inline-array vector 2 + (new 'static 'vector :x 10362.88 :y 4710.4 :z -16998.4 :w 1.0) + (new 'static 'vector :x -10362.88 :y 4710.4 :z -16998.4 :w 1.0) + ) + :lift-thruster-count 2 + :roll-thruster-count 2 + :steering-thruster-count 2 + :stabilizer-count 4 + :inv-lift-thruster-count 0.5 + :lift-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z 8192.0 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z -12288.0 :w 1.0) + :normal (new 'static 'vector :y -1.0 :w 1.0) + ) + ) + :roll-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x 6963.2 :y 2867.2 :z -2048.0 :w 1.0) + :normal (new 'static 'vector :x 0.3 :y -0.6 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :x -6963.2 :y 2867.2 :z -2048.0 :w 1.0) + :normal (new 'static 'vector :x -0.3 :y -0.6 :w 1.0) + ) + ) + :steering-thruster-array (new 'static 'inline-array vehicle-control-point 2 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z 5734.4 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z -9830.4 :w 1.0) + :normal (new 'static 'vector :x -1.0 :w 1.0) + ) + ) + :stabilizer-array (new 'static 'inline-array vehicle-control-point 6 + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z -10240.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z 6144.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 0.5) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z -2048.0 :w 1.0) + :normal (new 'static 'vector :x 1.0 :w 2.0) + ) + (new 'static 'vehicle-control-point + :local-pos (new 'static 'vector :y 2048.0 :z -10240.0 :w 1.0) + :normal (new 'static 'vector :y 1.0 :w 1.0) + ) + (new 'static 'vehicle-control-point) + (new 'static 'vehicle-control-point) + ) + :engine-thrust-local-pos (new 'static 'vector :y 2048.0 :z -7782.4 :w 1.0) + :brake-local-pos (new 'static 'vector :y 2048.0 :z -10240.0 :w 1.0) + :color-option-count 1 + :color-option-array (new 'static 'inline-array vector 1 (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *cara-constants* explosion) *car-explosion-info*) + +;; failed to figure out what this is: +(set! (-> *carb-constants* explosion) *car-explosion-info*) + +;; failed to figure out what this is: +(set! (-> *carc-constants* explosion) *car-explosion-info*) + +;; failed to figure out what this is: +(set! (-> *hellcat-constants* explosion) *car-explosion-info*) + +;; definition of type car-base +(deftype car-base (vehicle) + ((rider-hand-joint-array int8 2 :offset-assert 880) + ) + :heap-base #x300 + :method-count-assert 144 + :size-assert #x372 + :flag-assert #x9003000372 + ) + +;; definition for method 3 of type car-base +(defmethod inspect car-base ((obj car-base)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type vehicle inspect))) + (t9-0 obj) + ) + (format #t "~2Trider-hand-joint-array[2] @ #x~X~%" (-> obj rider-hand-joint-array)) + (label cfg-4) + obj + ) + +;; definition for method 117 of type car-base +;; WARN: Return type mismatch int vs none. +(defmethod vehicle-method-117 car-base ((obj car-base) (arg0 vector) (arg1 int) (arg2 int)) + (vector-matrix*! + arg0 + (-> obj info rider-hand-offset arg2) + (-> obj node-list data (-> obj rider-hand-joint-array arg1) bone transform) + ) + 0 + (none) + ) + +;; definition of type cara +(deftype cara (car-base) + ((steering-wheel-l joint-mod-rotate-local :offset-assert 884) + (steering-wheel-r joint-mod-rotate-local :offset-assert 888) + (fin-fl joint-mod-rotate-local :offset-assert 892) + (fin-fr joint-mod-rotate-local :offset-assert 896) + (fin-rl joint-mod-rotate-local :offset-assert 900) + (fin-rr joint-mod-rotate-local :offset-assert 904) + (rudder-l joint-mod-rotate-local :offset-assert 908) + (rudder-r joint-mod-rotate-local :offset-assert 912) + (rudder joint-mod-rotate-local :offset-assert 916) + ) + :heap-base #x320 + :method-count-assert 144 + :size-assert #x398 + :flag-assert #x9003200398 + ) + +;; definition for method 3 of type cara +(defmethod inspect cara ((obj cara)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type car-base inspect))) + (t9-0 obj) + ) + (format #t "~2Tsteering-wheel-l: ~A~%" (-> obj steering-wheel-l)) + (format #t "~2Tsteering-wheel-r: ~A~%" (-> obj steering-wheel-r)) + (format #t "~2Tfin-fl: ~A~%" (-> obj fin-fl)) + (format #t "~2Tfin-fr: ~A~%" (-> obj fin-fr)) + (format #t "~2Tfin-rl: ~A~%" (-> obj fin-rl)) + (format #t "~2Tfin-rr: ~A~%" (-> obj fin-rr)) + (format #t "~2Trudder-l: ~A~%" (-> obj rudder-l)) + (format #t "~2Trudder-r: ~A~%" (-> obj rudder-r)) + (format #t "~2Trudder: ~A~%" (-> obj rudder)) + (label cfg-4) + obj + ) + +;; definition for method 7 of type cara +(defmethod relocate cara ((obj cara) (arg0 int)) + (if (nonzero? (-> obj steering-wheel-l)) + (&+! (-> obj steering-wheel-l) arg0) + ) + (if (nonzero? (-> obj steering-wheel-r)) + (&+! (-> obj steering-wheel-r) arg0) + ) + (if (nonzero? (-> obj fin-fl)) + (&+! (-> obj fin-fl) arg0) + ) + (if (nonzero? (-> obj fin-fr)) + (&+! (-> obj fin-fr) arg0) + ) + (if (nonzero? (-> obj fin-rl)) + (&+! (-> obj fin-rl) arg0) + ) + (if (nonzero? (-> obj fin-rr)) + (&+! (-> obj fin-rr) arg0) + ) + (if (nonzero? (-> obj rudder)) + (&+! (-> obj rudder) arg0) + ) + (if (nonzero? (-> obj rudder-l)) + (&+! (-> obj rudder-l) arg0) + ) + (if (nonzero? (-> obj rudder-r)) + (&+! (-> obj rudder-r) arg0) + ) + ((the-as (function object object cara) (find-parent-method cara 7)) obj arg0) + ) + +;; definition for method 32 of type cara +;; WARN: Return type mismatch int vs none. +(defmethod allocate-and-init-cshape cara ((obj cara)) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 18432.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 0) + (set-vector! (-> v1-11 local-sphere) 3686.4 0.0 12288.0 4096.0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set! (-> v1-13 transform-index) 0) + (set-vector! (-> v1-13 local-sphere) -3686.4 0.0 12288.0 4096.0) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 5)))) + (set! (-> v1-15 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-15 transform-index) 0) + (set-vector! (-> v1-15 local-sphere) 0.0 819.2 5734.4 4915.2) + (set! (-> v1-15 nav-radius) 14336.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 80)))) + (set! (-> v1-17 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-17 transform-index) 0) + (set-vector! (-> v1-17 local-sphere) 0.0 2048.0 -4096.0 5734.4) + (set! (-> v1-17 nav-radius) 14336.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-19 prim-core action) (collide-action solid)) + (set! (-> v1-19 transform-index) 0) + (set-vector! (-> v1-19 local-sphere) 4915.2 0.0 -11468.8 4096.0) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-21 prim-core action) (collide-action solid)) + (set! (-> v1-21 transform-index) 0) + (set-vector! (-> v1-21 local-sphere) -4915.2 0.0 -11468.8 4096.0) + ) + (let ((v1-23 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-23 prim-core action) (collide-action solid rideable)) + (set! (-> v1-23 transform-index) 3) + (set-vector! (-> v1-23 local-sphere) 0.0 0.0 0.0 18432.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-25 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 86 of type cara +;; WARN: Return type mismatch int vs none. +(defmethod update-joint-mods cara ((obj cara)) + (let ((f30-0 (* 3640.889 (-> obj controls steering))) + (f26-0 (* 9102.223 (-> obj controls steering))) + (f28-0 (* -3640.889 (-> obj controls lean-z))) + (s5-0 (new 'static 'vector :x 1.0 :w 1.0)) + ) + (quaternion-vector-angle! (-> obj steering-wheel-l rotation) s5-0 f26-0) + (quaternion-vector-angle! (-> obj steering-wheel-r rotation) s5-0 f26-0) + (quaternion-vector-angle! (-> obj fin-fl rotation) s5-0 (- f28-0)) + (quaternion-vector-angle! (-> obj fin-fr rotation) s5-0 f28-0) + (quaternion-vector-angle! (-> obj fin-rl rotation) s5-0 f28-0) + (quaternion-vector-angle! (-> obj fin-rr rotation) s5-0 (- f28-0)) + (quaternion-vector-angle! (-> obj rudder rotation) s5-0 f30-0) + ) + 0 + (none) + ) + +;; definition for method 33 of type cara +;; WARN: Return type mismatch int vs none. +(defmethod init-skel-and-rigid-body cara ((obj cara)) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-cara" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (alloc-and-init-rigid-body-control obj *cara-constants*) + (set! (-> obj rider-hand-joint-array 0) 11) + (set! (-> obj rider-hand-joint-array 1) 12) + (set! (-> obj steering-wheel-l) (new 'process 'joint-mod-rotate-local obj 11 #t)) + (set! (-> obj steering-wheel-r) (new 'process 'joint-mod-rotate-local obj 12 #t)) + (set! (-> obj fin-fl) (new 'process 'joint-mod-rotate-local obj 4 #t)) + (set! (-> obj fin-fr) (new 'process 'joint-mod-rotate-local obj 5 #t)) + (set! (-> obj fin-rl) (new 'process 'joint-mod-rotate-local obj 6 #t)) + (set! (-> obj fin-rr) (new 'process 'joint-mod-rotate-local obj 8 #t)) + (set! (-> obj rudder) (new 'process 'joint-mod-rotate-local obj 10 #t)) + (set! (-> obj rudder-l) (new 'process 'joint-mod-rotate-local obj 7 #t)) + (set! (-> obj rudder-r) (new 'process 'joint-mod-rotate-local obj 9 #t)) + 0 + (none) + ) + +;; definition of type carb +(deftype carb (car-base) + ((steering-wheel-l joint-mod-rotate-local :offset-assert 884) + (steering-wheel-r joint-mod-rotate-local :offset-assert 888) + (fin-fl joint-mod-rotate-local :offset-assert 892) + (fin-fr joint-mod-rotate-local :offset-assert 896) + (fin-rl joint-mod-rotate-local :offset-assert 900) + (fin-rr joint-mod-rotate-local :offset-assert 904) + ) + :heap-base #x310 + :method-count-assert 144 + :size-assert #x38c + :flag-assert #x900310038c + ) + +;; definition for method 3 of type carb +(defmethod inspect carb ((obj carb)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type car-base inspect))) + (t9-0 obj) + ) + (format #t "~2Tsteering-wheel-l: ~A~%" (-> obj steering-wheel-l)) + (format #t "~2Tsteering-wheel-r: ~A~%" (-> obj steering-wheel-r)) + (format #t "~2Tfin-fl: ~A~%" (-> obj fin-fl)) + (format #t "~2Tfin-fr: ~A~%" (-> obj fin-fr)) + (format #t "~2Tfin-rl: ~A~%" (-> obj fin-rl)) + (format #t "~2Tfin-rr: ~A~%" (-> obj fin-rr)) + (label cfg-4) + obj + ) + +;; definition for method 7 of type carb +(defmethod relocate carb ((obj carb) (arg0 int)) + (if (nonzero? (-> obj steering-wheel-l)) + (&+! (-> obj steering-wheel-l) arg0) + ) + (if (nonzero? (-> obj steering-wheel-r)) + (&+! (-> obj steering-wheel-r) arg0) + ) + (if (nonzero? (-> obj fin-fl)) + (&+! (-> obj fin-fl) arg0) + ) + (if (nonzero? (-> obj fin-fr)) + (&+! (-> obj fin-fr) arg0) + ) + (if (nonzero? (-> obj fin-rl)) + (&+! (-> obj fin-rl) arg0) + ) + (if (nonzero? (-> obj fin-rr)) + (&+! (-> obj fin-rr) arg0) + ) + ((the-as (function object object carb) (find-parent-method carb 7)) obj arg0) + ) + +;; definition for method 32 of type carb +;; WARN: Return type mismatch int vs none. +(defmethod allocate-and-init-cshape carb ((obj carb)) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 18432.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 0) + (set-vector! (-> v1-11 local-sphere) 3686.4 409.6 13107.2 3686.4) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set! (-> v1-13 transform-index) 0) + (set-vector! (-> v1-13 local-sphere) -3686.4 409.6 13107.2 3686.4) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-15 transform-index) 0) + (set-vector! (-> v1-15 local-sphere) 0.0 819.2 6553.6 4096.0) + (set! (-> v1-15 nav-radius) 14336.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 64)))) + (set! (-> v1-17 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-17 transform-index) 0) + (set-vector! (-> v1-17 local-sphere) 0.0 2457.6 -2457.6 5734.4) + (set! (-> v1-17 nav-radius) 14336.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-19 prim-core action) (collide-action solid)) + (set! (-> v1-19 transform-index) 0) + (set-vector! (-> v1-19 local-sphere) 4505.6 409.6 -11059.2 3686.4) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-21 prim-core action) (collide-action solid)) + (set! (-> v1-21 transform-index) 0) + (set-vector! (-> v1-21 local-sphere) -4505.6 409.6 -11059.2 3686.4) + ) + (let ((v1-23 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-23 prim-core action) (collide-action solid rideable)) + (set! (-> v1-23 transform-index) 3) + (set-vector! (-> v1-23 local-sphere) 0.0 0.0 0.0 18432.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-25 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 86 of type carb +;; WARN: Return type mismatch int vs none. +(defmethod update-joint-mods carb ((obj carb)) + (let ((f30-0 (* -5461.3335 (-> obj controls lean-z))) + (f28-0 (* 9102.223 (-> obj controls steering))) + (gp-0 (new 'static 'vector :x 1.0 :w 1.0)) + ) + (quaternion-vector-angle! (-> obj steering-wheel-l rotation) gp-0 f28-0) + (quaternion-vector-angle! (-> obj steering-wheel-r rotation) gp-0 f28-0) + (quaternion-vector-angle! (-> obj fin-fl rotation) gp-0 (+ (* -0.8 f30-0) (* 0.4 f28-0))) + (quaternion-vector-angle! (-> obj fin-fr rotation) gp-0 (+ (* 0.8 f30-0) (* 0.4 f28-0))) + (quaternion-vector-angle! (-> obj fin-rl rotation) gp-0 (+ (* 0.8 f30-0) (* 0.4 f28-0))) + (quaternion-vector-angle! (-> obj fin-rr rotation) gp-0 (+ (* -0.8 f30-0) (* 0.4 f28-0))) + ) + 0 + (none) + ) + +;; definition for method 33 of type carb +;; WARN: Return type mismatch int vs none. +(defmethod init-skel-and-rigid-body carb ((obj carb)) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-carb" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (alloc-and-init-rigid-body-control obj *carb-constants*) + (set! (-> obj rider-hand-joint-array 0) 8) + (set! (-> obj rider-hand-joint-array 1) 9) + (set! (-> obj steering-wheel-l) (new 'process 'joint-mod-rotate-local obj 8 #t)) + (set! (-> obj steering-wheel-r) (new 'process 'joint-mod-rotate-local obj 9 #t)) + (set! (-> obj fin-fl) (new 'process 'joint-mod-rotate-local obj 4 #t)) + (set! (-> obj fin-fr) (new 'process 'joint-mod-rotate-local obj 6 #t)) + (set! (-> obj fin-rl) (new 'process 'joint-mod-rotate-local obj 5 #t)) + (set! (-> obj fin-rr) (new 'process 'joint-mod-rotate-local obj 7 #t)) + 0 + (none) + ) + +;; definition of type carc +(deftype carc (car-base) + ((steering-wheel joint-mod-rotate-local :offset-assert 884) + (fin-fl joint-mod-rotate-local :offset-assert 888) + (fin-fr joint-mod-rotate-local :offset-assert 892) + (fin-rl joint-mod-rotate-local :offset-assert 896) + (fin-rr joint-mod-rotate-local :offset-assert 900) + (fin2-rl joint-mod-rotate-local :offset-assert 904) + (fin2-rr joint-mod-rotate-local :offset-assert 908) + ) + :heap-base #x310 + :method-count-assert 144 + :size-assert #x390 + :flag-assert #x9003100390 + ) + +;; definition for method 3 of type carc +(defmethod inspect carc ((obj carc)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type car-base inspect))) + (t9-0 obj) + ) + (format #t "~2Tsteering-wheel: ~A~%" (-> obj steering-wheel)) + (format #t "~2Tfin-fl: ~A~%" (-> obj fin-fl)) + (format #t "~2Tfin-fr: ~A~%" (-> obj fin-fr)) + (format #t "~2Tfin-rl: ~A~%" (-> obj fin-rl)) + (format #t "~2Tfin-rr: ~A~%" (-> obj fin-rr)) + (format #t "~2Tfin2-rl: ~A~%" (-> obj fin2-rl)) + (format #t "~2Tfin2-rr: ~A~%" (-> obj fin2-rr)) + (label cfg-4) + obj + ) + +;; definition for method 7 of type carc +;; WARN: Return type mismatch carb vs carc. +(defmethod relocate carc ((obj carc) (arg0 int)) + (if (nonzero? (-> obj steering-wheel)) + (&+! (-> obj steering-wheel) arg0) + ) + (if (nonzero? (-> obj fin-fl)) + (&+! (-> obj fin-fl) arg0) + ) + (if (nonzero? (-> obj fin-fr)) + (&+! (-> obj fin-fr) arg0) + ) + (if (nonzero? (-> obj fin-rl)) + (&+! (-> obj fin-rl) arg0) + ) + (if (nonzero? (-> obj fin-rr)) + (&+! (-> obj fin-rr) arg0) + ) + (if (nonzero? (-> obj fin2-rl)) + (&+! (-> obj fin2-rl) arg0) + ) + (if (nonzero? (-> obj fin2-rr)) + (&+! (-> obj fin2-rr) arg0) + ) + (the-as carc ((the-as (function object object carb) (find-parent-method carc 7)) obj arg0)) + ) + +;; definition for method 32 of type carc +;; WARN: Return type mismatch int vs none. +(defmethod allocate-and-init-cshape carc ((obj carc)) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 6) 0))) + (set! (-> s5-0 total-prims) (the-as uint 7)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 21299.2) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 0) + (set-vector! (-> v1-11 local-sphere) 3686.4 -819.2 6963.2 3276.8) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set! (-> v1-13 transform-index) 0) + (set-vector! (-> v1-13 local-sphere) -3686.4 -819.2 6963.2 3276.8) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 64)))) + (set! (-> v1-15 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-15 transform-index) 0) + (set-vector! (-> v1-15 local-sphere) 0.0 2457.6 0.0 6144.0) + (set! (-> v1-15 nav-radius) 12288.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) + (set! (-> v1-17 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-17 transform-index) 0) + (set-vector! (-> v1-17 local-sphere) 0.0 2048.0 -10240.0 4915.2) + (set! (-> v1-17 nav-radius) 10240.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) + (set! (-> v1-19 prim-core action) (collide-action solid)) + (set! (-> v1-19 transform-index) 0) + (set-vector! (-> v1-19 local-sphere) 0.0 2048.0 -16384.0 4096.0) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-21 prim-core action) (collide-action solid rideable)) + (set! (-> v1-21 transform-index) 3) + (set-vector! (-> v1-21 local-sphere) 0.0 0.0 0.0 21299.2) + ) + (set! (-> s5-0 nav-radius) 16384.0) + (let ((v1-23 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-23 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 86 of type carc +;; WARN: Return type mismatch int vs none. +(defmethod update-joint-mods carc ((obj carc)) + (let ((f30-0 (* -5461.3335 (-> obj controls steering))) + (f28-0 (* -5461.3335 (-> obj controls lean-z))) + (f0-3 (* 9102.223 (-> obj controls steering))) + (s5-0 (new 'static 'vector :x 1.0 :w 1.0)) + ) + (quaternion-vector-angle! (-> obj steering-wheel rotation) s5-0 f0-3) + (quaternion-vector-angle! (-> obj fin-fl rotation) s5-0 (- f28-0)) + (quaternion-vector-angle! (-> obj fin-fr rotation) s5-0 f28-0) + (quaternion-vector-angle! (-> obj fin-rl rotation) s5-0 (+ (* 0.8 f28-0) (* -0.2 f30-0))) + (quaternion-vector-angle! (-> obj fin-rr rotation) s5-0 (+ (* -0.8 f28-0) (* -0.2 f30-0))) + (quaternion-vector-angle! (-> obj fin2-rl rotation) s5-0 (+ (* 0.2 f28-0) (* -0.8 f30-0))) + (quaternion-vector-angle! (-> obj fin2-rr rotation) s5-0 (+ (* -0.2 f28-0) (* -0.8 f30-0))) + ) + 0 + (none) + ) + +;; definition for method 33 of type carc +;; WARN: Return type mismatch int vs none. +(defmethod init-skel-and-rigid-body carc ((obj carc)) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-carc" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (alloc-and-init-rigid-body-control obj *carc-constants*) + (set! (-> obj rider-hand-joint-array 0) 10) + (set! (-> obj steering-wheel) (new 'process 'joint-mod-rotate-local obj 10 #t)) + (set! (-> obj fin-fl) (new 'process 'joint-mod-rotate-local obj 4 #t)) + (set! (-> obj fin-fr) (new 'process 'joint-mod-rotate-local obj 5 #t)) + (set! (-> obj fin-rl) (new 'process 'joint-mod-rotate-local obj 8 #t)) + (set! (-> obj fin-rr) (new 'process 'joint-mod-rotate-local obj 9 #t)) + (set! (-> obj fin2-rl) (new 'process 'joint-mod-rotate-local obj 6 #t)) + (set! (-> obj fin2-rr) (new 'process 'joint-mod-rotate-local obj 7 #t)) + 0 + (none) + ) + +;; definition for symbol *hellcat-front-turret-control-info*, type turret-control-info +(define *hellcat-front-turret-control-info* (new 'static 'turret-control-info + :joint-index 4 + :barrel-count 1 + :shot-speed 819200.0 + :attack-range 286720.0 + :rot-min (new 'static 'array float 2 -16384.0 -21845.334) + :rot-max (new 'static 'array float 2 0.0 21845.334) + :local-pos (new 'static 'vector :y -1433.6 :z 4096.0 :w 1.0) + :local-dir (new 'static 'vector :z 1.0 :w 1.0) + :barrel-array (new 'static 'inline-array turret-barrel-info 4 + (new 'static 'turret-barrel-info + :local-pos (new 'static 'vector :y -1433.6 :z 4096.0 :w 1.0) + :local-dir (new 'static 'vector :z 1.0 :w 1.0) + ) + (new 'static 'turret-barrel-info) + (new 'static 'turret-barrel-info) + (new 'static 'turret-barrel-info) + ) + ) + ) + +;; definition of type hellcat +(deftype hellcat (vehicle-guard) + ((turret-jm joint-mod-rotate-local :offset-assert 1076) + ) + :heap-base #x3c0 + :method-count-assert 159 + :size-assert #x438 + :flag-assert #x9f03c00438 + ) + +;; definition for method 3 of type hellcat +(defmethod inspect hellcat ((obj hellcat)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type vehicle-guard inspect))) + (t9-0 obj) + ) + (format #t "~2Tturret-jm: ~A~%" (-> obj turret-jm)) + (label cfg-4) + obj + ) + +;; definition for method 7 of type hellcat +(defmethod relocate hellcat ((obj hellcat) (arg0 int)) + (if (nonzero? (-> obj turret-jm)) + (&+! (-> obj turret-jm) arg0) + ) + ((the-as (function object object hellcat) (find-parent-method hellcat 7)) obj arg0) + ) + +;; definition for method 32 of type hellcat +;; WARN: Return type mismatch int vs none. +(defmethod allocate-and-init-cshape hellcat ((obj hellcat)) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrate-using) (penetrate vehicle)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s5-0 total-prims) (the-as uint 8)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 26624.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-11 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> v1-11 prim-core action) (collide-action solid)) + (set! (-> v1-11 transform-index) 0) + (set-vector! (-> v1-11 local-sphere) 4096.0 1228.8 9011.2 6144.0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 4)))) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set! (-> v1-13 transform-index) 0) + (set-vector! (-> v1-13 local-sphere) -4096.0 1228.8 9011.2 6144.0) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core action) (collide-action solid nav-sphere)) + (set! (-> v1-15 transform-index) 0) + (set-vector! (-> v1-15 local-sphere) 0.0 2048.0 -409.6 6144.0) + (set! (-> v1-15 nav-radius) 24576.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) + (set! (-> v1-17 prim-core action) (collide-action solid)) + (set! (-> v1-17 transform-index) 0) + (set-vector! (-> v1-17 local-sphere) 0.0 4096.0 -10240.0 8192.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 2)))) + (set! (-> v1-19 prim-core action) (collide-action solid)) + (set! (-> v1-19 transform-index) 0) + (set-vector! (-> v1-19 local-sphere) 10240.0 2048.0 -8192.0 6144.0) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 8)))) + (set! (-> v1-21 prim-core action) (collide-action solid)) + (set! (-> v1-21 transform-index) 0) + (set-vector! (-> v1-21 local-sphere) -10240.0 2048.0 -8192.0 6144.0) + ) + (let ((v1-23 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-23 prim-core action) (collide-action solid rideable)) + (set! (-> v1-23 transform-index) 3) + (set-vector! (-> v1-23 local-sphere) 0.0 0.0 0.0 26624.0) + ) + (set! (-> s5-0 nav-radius) 20480.0) + (let ((v1-25 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) + ) + (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 86 of type hellcat +;; WARN: Return type mismatch int vs none. +(defmethod update-joint-mods hellcat ((obj hellcat)) + (update-joint-mod (-> obj turret) (-> obj turret-jm)) + 0 + (none) + ) + +;; definition for method 33 of type hellcat +;; WARN: Return type mismatch int vs none. +(defmethod init-skel-and-rigid-body hellcat ((obj hellcat)) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-hellcat" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (alloc-and-init-rigid-body-control obj *hellcat-constants*) + (set-info (-> obj turret) *hellcat-front-turret-control-info*) + (set! (-> obj turret-jm) (new 'process 'joint-mod-rotate-local obj (-> obj turret info joint-index) #t)) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/common/citizen-chick_REF.gc b/test/decompiler/reference/jak2/levels/city/common/citizen-chick_REF.gc index 0c51af975a..e8fc205f42 100644 --- a/test/decompiler/reference/jak2/levels/city/common/citizen-chick_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/citizen-chick_REF.gc @@ -24,13 +24,13 @@ :anim-cover-head-start 14 :anim-cover-head-loop 15 :anim-cover-head-end 16 - :speech-ambient #x17 - :speech-alert #x18 - :speech-cower #x19 - :speech-touched-by-player #x1a - :speech-shot-by-player #x1b - :speech-avoiding-player-vehicle #x1c - :speech-hit-by-player-vehicle #x1d + :speech-ambient 23 + :speech-alert 24 + :speech-cower 25 + :speech-touched-by-player 26 + :speech-shot-by-player 27 + :speech-avoiding-player-vehicle 28 + :speech-hit-by-player-vehicle 29 ) ) @@ -217,7 +217,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :frustration-distance (meters 8) :frustration-time (seconds 4) :blocked-time (seconds 0.3) @@ -238,18 +238,15 @@ ;; definition for method 51 of type citizen-chick ;; INFO: Used lq/sq (defmethod enemy-method-51 citizen-chick ((obj citizen-chick)) - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (get-trans (the-as process-focusable a0-5) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -261,14 +258,14 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) 0.0) + (set! (-> s5-1 quad) (-> obj root transv quad)) + (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0) (vector-negate-in-place! s5-1) ) (let* ((f28-0 (atan (-> s5-1 x) (-> s5-1 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) - (f0-8 (-> obj enemy-info-override knocked-seek-ry-clamp)) + (f0-8 (-> obj enemy-info knocked-seek-ry-clamp)) ) (when (and (< f0-8 f2-0) (< f2-0 (- 32768.0 f0-8))) (set! f30-0 (+ (cond @@ -466,7 +463,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -486,7 +483,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -507,7 +504,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -595,7 +592,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -677,7 +674,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-17 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-17 f30-0 f0-17 1.0) + (set-vector! (-> obj root scale) f0-17 f30-0 f0-17 1.0) ) (let ((f0-19 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-19 f0-19 f0-19 1.0) diff --git a/test/decompiler/reference/jak2/levels/city/common/citizen-enemy_REF.gc b/test/decompiler/reference/jak2/levels/city/common/citizen-enemy_REF.gc index e2e6e26bdd..c3c291384f 100644 --- a/test/decompiler/reference/jak2/levels/city/common/citizen-enemy_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/citizen-enemy_REF.gc @@ -39,9 +39,9 @@ @TODO Not extremely well understood yet" (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) - (set! (-> a1-0 collide-with-filter) (-> obj enemy-info-override overlaps-others-collide-with-filter)) + (set! (-> a1-0 collide-with-filter) (-> obj enemy-info overlaps-others-collide-with-filter)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override2) a1-0) + (find-overlapping-shapes (-> obj root) a1-0) ) (when (and (not (focus-test? obj disable dead ignore inactive)) (< (-> obj next-update-target) (current-time)) @@ -86,14 +86,14 @@ ) ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s3-0) - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s3-0) - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -132,7 +132,7 @@ #t ) (else - (let ((v1-4 (-> obj root-override2 root-prim))) + (let ((v1-4 (-> obj root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -163,9 +163,9 @@ ;; WARN: Return type mismatch int vs none. (defmethod traffic-danger-init! citizen-enemy ((obj citizen-enemy)) (let ((a1-0 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-0 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-0 sphere quad) (-> obj root trans quad)) (set! (-> a1-0 sphere r) 40960.0) - (set! (-> a1-0 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-0 velocity quad) (-> obj root transv quad)) (set! (-> a1-0 notify-radius) 122880.0) (set! (-> a1-0 danger-level) 1.0) (set! (-> a1-0 decay-rate) 0.0) @@ -183,7 +183,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod citizen-enemy-method-202 citizen-enemy ((obj citizen-enemy)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s5-0 quad) (-> obj root trans quad)) (set! (-> s5-0 w) 122880.0) (let ((s4-0 (the-as process-drawable #f))) (let ((f30-0 122880.0)) @@ -212,7 +212,7 @@ s1-1 (not (logtest? (-> (the-as process-focusable s1-1) focus-status) (focus-status disable dead ignore grabbed))) ) - (let ((f0-1 (vector-vector-xz-distance (-> obj root-override2 trans) (-> s1-1 root trans)))) + (let ((f0-1 (vector-vector-xz-distance (-> obj root trans) (-> s1-1 root trans)))) (when (or (not s4-0) (< f0-1 f30-0)) (set! s4-0 s1-1) (set! f30-0 f0-1) @@ -245,13 +245,10 @@ (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -303,13 +300,13 @@ (set! (-> v1-12 sphere-mask) (the-as uint #x800e8)) ) 0 - (set! (-> obj anim-shuffle) (-> obj enemy-info-override walk-anim)) - (set! (-> obj anim-walk) (-> obj enemy-info-override walk-anim)) - (set! (-> obj speed-walk) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj dist-walk-anim) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj anim-run) (-> obj enemy-info-override run-anim)) - (set! (-> obj dist-run-anim) (-> obj enemy-info-override run-travel-speed)) - (set! (-> obj speed-run) (-> obj enemy-info-override walk-travel-speed)) + (set! (-> obj anim-shuffle) (-> obj enemy-info walk-anim)) + (set! (-> obj anim-walk) (-> obj enemy-info walk-anim)) + (set! (-> obj speed-walk) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj dist-walk-anim) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj anim-run) (-> obj enemy-info run-anim)) + (set! (-> obj dist-run-anim) (-> obj enemy-info run-travel-speed)) + (set! (-> obj speed-run) (-> obj enemy-info walk-travel-speed)) (set! (-> obj fated-time) 0) (logior! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) (logior! (-> obj focus-status) (focus-status dangerous)) diff --git a/test/decompiler/reference/jak2/levels/city/common/citizen-fat_REF.gc b/test/decompiler/reference/jak2/levels/city/common/citizen-fat_REF.gc index f3df8c7dfd..51b26b5a15 100644 --- a/test/decompiler/reference/jak2/levels/city/common/citizen-fat_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/citizen-fat_REF.gc @@ -24,13 +24,13 @@ :anim-cover-head-start 28 :anim-cover-head-loop 29 :anim-cover-head-end 30 - :speech-ambient #xf - :speech-alert #x10 - :speech-cower #x11 - :speech-touched-by-player #x12 - :speech-shot-by-player #x13 - :speech-avoiding-player-vehicle #x14 - :speech-hit-by-player-vehicle #x15 + :speech-ambient 15 + :speech-alert 16 + :speech-cower 17 + :speech-touched-by-player 18 + :speech-shot-by-player 19 + :speech-avoiding-player-vehicle 20 + :speech-hit-by-player-vehicle 21 ) ) @@ -217,7 +217,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :frustration-distance (meters 8) :frustration-time (seconds 4) :blocked-time (seconds 0.3) @@ -238,18 +238,15 @@ ;; definition for method 51 of type citizen-fat ;; INFO: Used lq/sq (defmethod enemy-method-51 citizen-fat ((obj citizen-fat)) - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (get-trans (the-as process-focusable a0-5) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -261,14 +258,14 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) 0.0) + (set! (-> s5-1 quad) (-> obj root transv quad)) + (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0) (vector-negate-in-place! s5-1) ) (let* ((f28-0 (atan (-> s5-1 x) (-> s5-1 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) - (f0-8 (-> obj enemy-info-override knocked-seek-ry-clamp)) + (f0-8 (-> obj enemy-info knocked-seek-ry-clamp)) ) (when (and (< f0-8 f2-0) (< f2-0 (- 32768.0 f0-8))) (set! f30-0 (+ (cond @@ -466,7 +463,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -486,7 +483,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -507,7 +504,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -636,7 +633,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -716,7 +713,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-15 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-15 f30-0 f0-15 1.0) + (set-vector! (-> obj root scale) f0-15 f30-0 f0-15 1.0) ) (let ((f0-17 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-17 f0-17 f0-17 1.0) diff --git a/test/decompiler/reference/jak2/levels/city/common/citizen-norm_REF.gc b/test/decompiler/reference/jak2/levels/city/common/citizen-norm_REF.gc index 7f60fa61f8..f7575961be 100644 --- a/test/decompiler/reference/jak2/levels/city/common/citizen-norm_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/citizen-norm_REF.gc @@ -28,13 +28,13 @@ :bike-stance-anim 30 :get-in-car-anim 32 :seat-flag #x2 - :speech-ambient #xf - :speech-alert #x10 - :speech-cower #x11 - :speech-touched-by-player #x12 - :speech-shot-by-player #x13 - :speech-avoiding-player-vehicle #x14 - :speech-hit-by-player-vehicle #x15 + :speech-ambient 15 + :speech-alert 16 + :speech-cower 17 + :speech-touched-by-player 18 + :speech-shot-by-player 19 + :speech-avoiding-player-vehicle 20 + :speech-hit-by-player-vehicle 21 ) ) @@ -225,7 +225,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 2) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -247,18 +247,15 @@ ((method-of-type nav-enemy enemy-method-51) obj) ) (else - (let ((f30-0 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat)))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4) (knocked-type knocked-type-6)) (let ((a0-6 (handle->process (-> obj focus handle)))) (when a0-6 (get-trans (the-as process-focusable a0-6) 0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot - (-> obj root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - ) + (set! (-> s5-0 quad) (-> obj root transv quad)) + (if (< (vector-dot (-> obj root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0 ) (vector-negate-in-place! s5-0) @@ -270,14 +267,14 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> obj root-override2 transv quad)) - (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) 0.0) + (set! (-> s5-1 quad) (-> obj root transv quad)) + (if (< (vector-dot s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) 0.0) (vector-negate-in-place! s5-1) ) (let* ((f28-0 (atan (-> s5-1 x) (-> s5-1 z))) (f1-2 (deg- f30-0 f28-0)) (f2-0 (fabs f1-2)) - (f0-8 (-> obj enemy-info-override knocked-seek-ry-clamp)) + (f0-8 (-> obj enemy-info knocked-seek-ry-clamp)) ) (when (and (< f0-8 f2-0) (< f2-0 (- 32768.0 f0-8))) (set! f30-0 (+ (cond @@ -510,7 +507,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -530,7 +527,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -551,7 +548,7 @@ (t9-0) ) ) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-5) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-5) child 1 prim-core collide-as) (collide-spec civilian)) @@ -632,12 +629,12 @@ (defmethod set-behavior! citizen-norm ((obj citizen-norm) (arg0 traffic-object-spawn-params)) (case (-> arg0 behavior) ((11) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-2 speech-type-4)) - (set! (-> obj root-override2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> arg0 rotation)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-22)) + (set! (-> obj root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> obj root quat) (-> arg0 rotation)) (set! (-> obj vehicle) (-> arg0 handle)) (ja-channel-set! 1) - (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info object-type) ((11 12 13) (logior! (-> obj flags) (citizen-flag knocked-out-bike)) (let ((v1-16 (-> obj skel root-channel 0))) @@ -786,7 +783,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -866,7 +863,7 @@ (let ((f30-0 (get-rand-float-range obj 1.0 1.25)) (f0-11 (get-rand-float-range obj 1.0 1.25)) ) - (set-vector! (-> obj root-override2 scale) f0-11 f30-0 f0-11 1.0) + (set-vector! (-> obj root scale) f0-11 f30-0 f0-11 1.0) ) (let ((f0-13 (get-rand-float-range obj 0.9 1.0))) (set-vector! (-> obj draw color-mult) f0-13 f0-13 f0-13 1.0) diff --git a/test/decompiler/reference/jak2/levels/city/common/citizen_REF.gc b/test/decompiler/reference/jak2/levels/city/common/citizen_REF.gc index ef02954e31..d748a42aae 100644 --- a/test/decompiler/reference/jak2/levels/city/common/citizen_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/citizen_REF.gc @@ -22,13 +22,13 @@ 0 (logclear! (-> v1-0 flags) (nav-control-flag output-sphere-hash)) ) - (set! (-> obj enemy-info-override callback-info) *nav-enemy-physics-callback-info*) + (set! (-> obj enemy-info callback-info) *nav-enemy-physics-callback-info*) (let ((v1-2 obj)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-2 enemy-flags))) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 0 @@ -39,9 +39,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod citizen-init! citizen ((obj citizen)) "Initialize [[citizen]] defaults." - (set! (-> obj fact-info-override enemy-options) - (logior (enemy-option knocked-into-water) (-> obj fact-info-override enemy-options)) - ) + (set! (-> obj fact enemy-options) (logior (enemy-option knocked-into-water) (-> obj fact enemy-options))) (if (-> obj skel effect) (logclear! (-> obj skel effect flags) (effect-control-flag ecf2)) ) @@ -56,12 +54,12 @@ (set! (-> obj enemy-flags) (the-as enemy-flag (logand (enemy-flag dislike-combo) (-> obj enemy-flags)))) (logclear! (-> obj draw status) (draw-control-status no-draw lod-set)) (set! (-> obj draw death-timer) (the-as uint 0)) - (logior! (-> obj root-override2 nav-flags) (nav-flags has-root-sphere)) - (let ((v1-28 (-> obj root-override2 root-prim))) - (set! (-> v1-28 prim-core collide-as) (-> obj root-override2 backup-collide-as)) - (set! (-> v1-28 prim-core collide-with) (-> obj root-override2 backup-collide-with)) + (logior! (-> obj root nav-flags) (nav-flags has-root-sphere)) + (let ((v1-28 (-> obj root root-prim))) + (set! (-> v1-28 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-28 prim-core collide-with) (-> obj root backup-collide-with)) ) - (set! (-> obj root-override2 penetrated-by) + (set! (-> obj root penetrated-by) (penetrate generic-attack lunge @@ -88,12 +86,12 @@ ) (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) (logior! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) - (set! (-> obj hit-points) (-> obj enemy-info-override default-hit-points)) + (set! (-> obj hit-points) (-> obj enemy-info default-hit-points)) (set! (-> obj fated-time) 0) (set! (-> obj hit-by-player-count) 0) (set-vector! (-> obj draw color-mult) 1.0 1.0 1.0 1.0) (set-vector! (-> obj draw color-emissive) 0.0 0.0 0.0 1.0) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -105,7 +103,7 @@ @TODO - flesh out docs @returns the value that sets `aware`" (when arg1 - (let ((f0-0 (vector-vector-distance (get-trans arg0 0) (-> obj root-override2 trans)))) + (let ((f0-0 (vector-vector-distance (get-trans arg0 0) (-> obj root trans)))) (when (< f0-0 (-> arg1 rating)) (set! (-> arg1 rating) f0-0) (set! (-> arg1 proc) arg0) @@ -238,7 +236,7 @@ (defmethod citizen-method-187 citizen ((obj citizen)) (let* ((v1-0 (-> obj controller)) (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> v1-0 turn-exit-point) (-> v1-0 path-prev-point))) - (s5-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> v1-0 turn-exit-point))) + (s5-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> v1-0 turn-exit-point))) ) (set! (-> s5-1 y) 0.0) (set! (-> gp-1 y) 0.0) @@ -324,9 +322,9 @@ ((= v1-0 'traffic-activate) (set! (-> obj controller traffic) (the-as traffic-engine (-> arg3 param 1))) (let ((s5-1 (the-as object (-> arg3 param 0)))) - (set! (-> obj root-override2 trans quad) (-> (the-as traffic-object-spawn-params s5-1) position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> (the-as traffic-object-spawn-params s5-1) rotation)) - (set! (-> obj root-override2 transv quad) (-> (the-as traffic-object-spawn-params s5-1) velocity quad)) + (set! (-> obj root trans quad) (-> (the-as traffic-object-spawn-params s5-1) position quad)) + (quaternion-copy! (-> obj root quat) (-> (the-as traffic-object-spawn-params s5-1) rotation)) + (set! (-> obj root transv quad) (-> (the-as traffic-object-spawn-params s5-1) velocity quad)) (let ((a0-24 (-> (the-as traffic-object-spawn-params s5-1) nav-mesh))) (when a0-24 (change-to a0-24 obj) @@ -339,7 +337,7 @@ 0 (let ((a1-11 (-> (the-as traffic-object-spawn-params s5-1) nav-branch))) (when a1-11 - (vehicle-controller-method-13 (-> obj controller) a1-11 (-> obj root-override2 trans)) + (vehicle-controller-method-13 (-> obj controller) a1-11 (-> obj root trans)) (let ((a0-28 (-> obj nav state)) (v1-38 (-> obj controller turn-exit-point)) ) @@ -353,7 +351,7 @@ (citizen-nav-init! obj) (citizen-init! obj) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) - (set! (-> obj gnd-height) (-> obj root-override2 gspot-pos y)) + (set! (-> obj gnd-height) (-> obj root gspot-pos y)) (set-behavior! obj (the-as traffic-object-spawn-params s5-1)) ) ) @@ -377,18 +375,16 @@ ;; WARN: Return type mismatch int vs none. (defmethod citizen-method-200 citizen ((obj citizen)) (with-pp - (set! (-> obj root-override2 transv x) 0.0) - (set! (-> obj root-override2 transv z) 0.0) - (when (-> obj enemy-info-override move-to-ground) + (set! (-> obj root transv x) 0.0) + (set! (-> obj root transv z) 0.0) + (when (-> obj enemy-info move-to-ground) (if (focus-test? obj under-water) - (enemy-method-47 obj (-> obj root-override2 transv)) - (+! (-> obj root-override2 transv y) - (* (-> obj enemy-info-override movement-gravity) (-> pp clock seconds-per-frame)) - ) + (enemy-method-47 obj (-> obj root transv)) + (+! (-> obj root transv y) (* (-> obj enemy-info movement-gravity) (-> pp clock seconds-per-frame))) ) ) (let ((a2-0 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-15 (-> obj enemy-info-override))) + (let ((v1-15 (-> obj enemy-info))) (set! (-> a2-0 gnd-collide-with) (the-as collide-spec (-> obj gnd-collide))) (set! (-> a2-0 popup) 8192.0) (set! (-> a2-0 dont-move-if-overlaps?) #t) @@ -398,7 +394,7 @@ ) (set! (-> a2-0 overlaps-params tlist) *touching-list*) (-> a2-0 overlaps-params) - (enemy-method-128 obj (-> obj root-override2 transv) a2-0) + (enemy-method-128 obj (-> obj root transv) a2-0) ) 0 (none) @@ -422,7 +418,7 @@ (if (and (-> obj next-state) (= (-> obj next-state name) 'flee)) (set! (-> s5-0 quad) (-> obj danger-pos quad)) ) - (when (< (vector-vector-distance s5-0 (-> obj root-override2 trans)) 122880.0) + (when (< (vector-vector-distance s5-0 (-> obj root trans)) 122880.0) (look-at-target! obj (enemy-flag lock-focus)) (target-set! (-> obj neck) s5-0) ) @@ -443,12 +439,12 @@ (>= (- (current-time) (-> obj auto-reset-penetrate-time)) (seconds 0.1)) ) (set! (-> obj enemy-flags) (logclear a0-18 (enemy-flag attackable-backup))) - (set! (-> obj root-override2 penetrated-by) (get-penetrate-info obj)) + (set! (-> obj root penetrated-by) (get-penetrate-info obj)) (let ((v1-50 0)) - (if (logtest? (penetrate knocked) (-> obj root-override2 penetrate-using)) + (if (logtest? (penetrate knocked) (-> obj root penetrate-using)) (set! v1-50 (logior (shl 1 32) v1-50)) ) - (set! (-> obj root-override2 penetrate-using) (the-as penetrate v1-50)) + (set! (-> obj root penetrate-using) (the-as penetrate v1-50)) ) ) ) @@ -457,7 +453,7 @@ ) (let ((s5-3 (-> obj draw shadow-ctrl))) (when (!= *nav-enemy-dummy-shadow-control* s5-3) - (let ((f0-7 (vector-vector-distance (camera-pos) (-> obj root-override2 trans)))) + (let ((f0-7 (vector-vector-distance (camera-pos) (-> obj root trans)))) (cond ((< 163840.0 f0-7) (logior! (-> s5-3 settings flags) (shadow-flags disable-draw)) @@ -480,10 +476,8 @@ ) (when (logtest? (enemy-flag trackable-backup directed-ready) (-> obj enemy-flags)) (enemy-method-54 obj) - (when (and (focus-test? obj touch-water) - (< (-> obj root-override2 trans y) (+ -11468.8 (-> obj water-surface-height))) - ) - (set! (-> obj root-override2 trans y) (+ -11468.8 (-> obj water-surface-height))) + (when (and (focus-test? obj touch-water) (< (-> obj root trans y) (+ -11468.8 (-> obj water-surface-height)))) + (set! (-> obj root trans y) (+ -11468.8 (-> obj water-surface-height))) (if (not (and (-> obj next-state) (= (-> obj next-state name) 'in-ditch))) (go (method-of-object obj in-ditch)) ) @@ -507,7 +501,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (set! (-> arg1 on-ground?) #f) (set! (-> arg1 do-move?) #t) (set! (-> arg1 old-gspot-pos quad) (-> gp-0 gspot-pos quad)) @@ -639,7 +633,7 @@ (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) (let ((gp-0 (new 'stack-no-clear 'quaternion)) - (s5-1 (-> obj root-override2 quat)) + (s5-1 (-> obj root quat)) ) (quaternion-set! gp-0 0.0 (-> s3-0 x) 0.0 (+ 1.0 (-> s3-0 z))) (quaternion-normalize! gp-0) @@ -666,8 +660,8 @@ (cond ((logtest? (enemy-flag enemy-flag38) (-> obj enemy-flags)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag38)))) - (set! (-> obj root-override2 gspot-pos quad) (-> obj root-override2 trans quad)) - (set! (-> obj gnd-height) (-> obj root-override2 gspot-pos y)) + (set! (-> obj root gspot-pos quad) (-> obj root trans quad)) + (set! (-> obj gnd-height) (-> obj root gspot-pos y)) ) (else (nav-enemy-method-142 obj (-> obj nav)) @@ -677,7 +671,7 @@ ) ) (track-target! obj) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -729,8 +723,8 @@ This commonly includes things such as: (stack-size-set! (-> self main-thread) 512) (logclear! (-> self mask) (process-mask enemy)) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg0 rotation)) + (set! (-> self root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 rotation)) (if (not (logtest? (-> arg0 flags) (traffic-spawn-flags trsflags-00))) (lwide-entity-hack) ) @@ -840,7 +834,7 @@ This commonly includes things such as: (set! (-> v1-76 frame-interp 0) f0-21) ) (let* ((f0-22 (current-cycle-distance (-> self skel))) - (f0-25 (/ (/ (* 16.0 f30-0) (* 15.0 f0-22)) (-> self root-override2 scale x))) + (f0-25 (/ (/ (* 16.0 f30-0) (* 15.0 f0-22)) (-> self root scale x))) ) (if (logtest? (-> self flags) (citizen-flag shuffle-mode)) (set! f0-25 1.0) @@ -869,7 +863,7 @@ This commonly includes things such as: (set! (-> s5-0 y) 0.0) (vector-xz-normalize! s5-0 20480.0) (set! (-> s4-0 quad) (-> s5-0 quad)) - (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root-override2 trans) s1-0 s4-0 s2-0) + (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) s1-0 s4-0 s2-0) ) (cond ((-> s2-0 found-boundary) @@ -908,7 +902,7 @@ This commonly includes things such as: (let ((s2-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s5-0 quad) (-> obj root trans quad)) (let ((a1-1 (-> obj nav state))) (set! (-> s2-0 quad) (-> a1-1 heading quad)) ) @@ -971,9 +965,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod citizen-method-190 citizen ((obj citizen) (arg0 vector)) (local-vars (sv-288 nav-poly) (sv-304 clamp-travel-vector-to-mesh-return-info) (sv-320 vector)) - (let ((s3-1 - (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (the-as vector (-> obj cp-sphere))) - ) + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (the-as vector (-> obj cp-sphere)))) (s4-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) ) @@ -1028,7 +1020,7 @@ This commonly includes things such as: ) (set! (-> arg0 quad) (-> s1-0 quad)) (let ((a1-11 (new 'stack-no-clear 'vector))) - (set! (-> a1-11 quad) (-> obj root-override2 trans quad)) + (set! (-> a1-11 quad) (-> obj root trans quad)) (set! (-> a1-11 y) 0.0) (let ((f0-15 (- f28-0 (vector-vector-xz-distance s4-0 a1-11)))) (if (< f0-15 0.0) @@ -1108,7 +1100,7 @@ This commonly includes things such as: (cond ((< 0.0 (vector4-dot (the-as vector (-> arg0 cp-plane)) s3-0)) (let ((s0-1 (vector-! (new 'stack-no-clear 'vector) s3-0 s4-0)) - (s1-1 (vector-! (new 'stack-no-clear 'vector) (-> s2-0 root-override2 trans) s4-0)) + (s1-1 (vector-! (new 'stack-no-clear 'vector) (-> s2-0 root trans) s4-0)) ) (set! (-> s1-1 y) 0.0) (vector-rotate90-around-y! s0-1 s0-1) @@ -1175,7 +1167,7 @@ This commonly includes things such as: ) (let ((s3-0 (new 'stack-no-clear 'vector))) (set! (-> s3-0 quad) (-> obj cp-vec quad)) - (set! (-> s4-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 quad) (-> obj root trans quad)) (set! (-> s4-0 w) 81920.0) (set! (-> gp-0 seg) #f) (set! (-> gp-0 score) 0.0) @@ -1185,7 +1177,7 @@ This commonly includes things such as: (set! (-> gp-0 cp-plane quad) (-> s3-0 quad)) (set! (-> gp-0 cp-plane w) (- (vector-dot s3-0 (the-as vector (-> obj cp-sphere))))) ) - (when (< (vector4-dot (the-as vector (-> gp-0 cp-plane)) (-> obj root-override2 trans)) 0.0) + (when (< (vector4-dot (the-as vector (-> gp-0 cp-plane)) (-> obj root trans)) 0.0) (set! (-> gp-0 cp-plane x) (- (-> gp-0 cp-plane x))) (set! (-> gp-0 cp-plane y) (- (-> gp-0 cp-plane y))) (set! (-> gp-0 cp-plane z) (- (-> gp-0 cp-plane z))) @@ -1285,7 +1277,7 @@ This commonly includes things such as: (gp-0 (new 'stack-no-clear 'iter-seg)) ) (set! (-> (new 'stack-no-clear 'vector) quad) (-> obj cp-vec quad)) - (set! (-> s4-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 quad) (-> obj root trans quad)) (set! (-> s4-0 w) arg1) (set! (-> gp-0 seg) #f) (set! (-> gp-0 score) 0.0) @@ -1335,20 +1327,14 @@ This commonly includes things such as: (defmethod throw-off-vehicle citizen ((obj citizen)) (with-pp (let ((s4-0 (handle->process (-> obj vehicle)))) - (let ((v1-4 (-> obj root-override2 root-prim))) - (set! (-> v1-4 prim-core collide-as) (-> obj root-override2 backup-collide-as)) - (set! (-> v1-4 prim-core collide-with) (-> obj root-override2 backup-collide-with)) + (let ((v1-4 (-> obj root root-prim))) + (set! (-> v1-4 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-4 prim-core collide-with) (-> obj root backup-collide-with)) ) (when s4-0 - (let ((s5-1 (vector-! - (new 'stack-no-clear 'vector) - (-> obj root-override2 trans) - (-> (the-as vehicle s4-0) root-override-2 trans) - ) - ) - ) - (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root-override-2 quat))) - (v1-10 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root-override-2 quat))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> (the-as vehicle s4-0) root trans)))) + (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root quat))) + (v1-10 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as vehicle s4-0) root quat))) ) (if (< 0.0 (vector-dot s5-1 s3-0)) (vector+! s5-1 v1-10 s3-0) @@ -1357,7 +1343,7 @@ This commonly includes things such as: ) (vector-normalize! s5-1 32768.0) (set! (-> s5-1 y) 71680.0) - (vector+! s5-1 s5-1 (-> (the-as vehicle s4-0) root-override-2 transv)) + (vector+! s5-1 s5-1 (-> (the-as vehicle s4-0) root transv)) (let ((a1-8 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-8 from) (process->ppointer pp)) (set! (-> a1-8 num-params) 2) @@ -1405,7 +1391,7 @@ This commonly includes things such as: ) (when (focus-test? self touch-water) (let ((a1-3 (new 'stack-no-clear 'vector))) - (set! (-> a1-3 quad) (-> self root-override2 trans quad)) + (set! (-> a1-3 quad) (-> self root trans quad)) (set! (-> a1-3 y) (+ 40.96 (-> self water-surface-height))) (splash-spawn 0.2 a1-3 1) ) @@ -1433,10 +1419,10 @@ This commonly includes things such as: ) (until (ja-done? 0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ 40.96 (-> self water-surface-height))) (when (and (logtest? (-> self draw status) (draw-control-status on-screen)) (zero? (-> self draw cur-lod))) - (let ((f0-6 (y-angle (-> self root-override2)))) + (let ((f0-6 (y-angle (-> self root)))) (rings-water-spawn f0-6 gp-0 *null-vector* 3072.0 4096.0) ) ) @@ -1449,13 +1435,10 @@ This commonly includes things such as: ) (else (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1509,13 +1492,10 @@ This commonly includes things such as: :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1532,11 +1512,8 @@ This commonly includes things such as: (none) ) :post (behavior () - (let ((a1-1 - (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root-override2 trans)) - ) - ) - (seek-toward-heading-vec! (-> self root-override2) a1-1 32768.0 (seconds 0.05)) + (let ((a1-1 (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root trans)))) + (seek-toward-heading-vec! (-> self root) a1-1 32768.0 (seconds 0.05)) ) (nav-enemy-simple-post) (none) @@ -1554,7 +1531,7 @@ This commonly includes things such as: (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1579,7 +1556,7 @@ This commonly includes things such as: (set! (-> self wait-time) (the-as time-frame (get-rand-int-range self 1200 9000))) (when (zero? (-> self controller branch)) (format 0 "citizen has no branch in active enter state~%") - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (none) ) @@ -1590,7 +1567,7 @@ This commonly includes things such as: :trans (behavior () (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) - (< (-> self root-override2 trans y) 4096.0) + (< (-> self root trans y) 4096.0) ) (go-virtual in-ditch) ) @@ -1606,7 +1583,7 @@ This commonly includes things such as: ) ) (let ((f0-8 2867.2) - (v1-36 (-> self root-override2 transv)) + (v1-36 (-> self root transv)) ) (if (< f0-8 (sqrtf (+ (* (-> v1-36 x) (-> v1-36 x)) (* (-> v1-36 z) (-> v1-36 z))))) (set! (-> self cp-next-time) (current-time)) @@ -1627,12 +1604,12 @@ This commonly includes things such as: (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 300) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 300) (none) ) :post (behavior () (if (and (nonzero? (-> self controller branch)) - (let ((f0-0 (vector-vector-xz-distance-squared (-> self root-override2 trans) (-> self controller turn-exit-point))) + (let ((f0-0 (vector-vector-xz-distance-squared (-> self root trans) (-> self controller turn-exit-point))) (f1-0 16384.0) ) (or (< f0-0 (* f1-0 f1-0)) (logtest? (-> self nav state flags) (nav-state-flag at-target))) @@ -1673,13 +1650,13 @@ This commonly includes things such as: 0 ) (logior! (-> self focus-status) (focus-status disable inactive)) - (let ((v1-10 (-> self root-override2 root-prim))) + (let ((v1-10 (-> self root root-prim))) (set! (-> v1-10 prim-core collide-as) (collide-spec)) (set! (-> v1-10 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (vehicle-controller-method-11 (-> self controller)) (none) ) @@ -1694,11 +1671,11 @@ This commonly includes things such as: (defstate knocked (citizen) :virtual #t :trans (behavior () - (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (gp-0 (new 'stack-no-clear 'quaternion)) ) (quaternion-from-two-vectors-max-angle! gp-0 a1-1 *up-vector* (* 7281.778 (-> self clock seconds-per-frame))) - (quaternion*! (-> self root-override2 quat) gp-0 (-> self root-override2 quat)) + (quaternion*! (-> self root quat) gp-0 (-> self root quat)) ) (let ((t9-3 (-> (method-of-type nav-enemy knocked) trans))) (if t9-3 diff --git a/test/decompiler/reference/jak2/levels/city/common/civilian_REF.gc b/test/decompiler/reference/jak2/levels/city/common/civilian_REF.gc index ddba1440cd..4acd0d0364 100644 --- a/test/decompiler/reference/jak2/levels/city/common/civilian_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/civilian_REF.gc @@ -190,9 +190,9 @@ (logclear! (-> obj flags) (citizen-flag persistent)) (send-event (ppointer->process (-> obj parent)) 'child-killed) (let ((a1-1 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-1 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-1 sphere quad) (-> obj root trans quad)) (set! (-> a1-1 sphere r) 40960.0) - (set! (-> a1-1 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-1 velocity quad) (-> obj root transv quad)) (set! (-> a1-1 notify-radius) 122880.0) (set! (-> a1-1 danger-level) 1.0) (set! (-> a1-1 decay-rate) 0.0) @@ -205,7 +205,7 @@ (go-inactive obj) ) (else - (set! (-> obj hit-points) (-> obj enemy-info-override default-hit-points)) + (set! (-> obj hit-points) (-> obj enemy-info default-hit-points)) (set! (-> obj hit-points) (rand-vu-int-range 1 4)) (set! (-> obj fated-time) 0) (logior! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -324,9 +324,9 @@ (set! (-> obj mask) (the-as process-mask (logior (process-mask civilian) (-> obj mask)))) (set! (-> obj hit-points) (rand-vu-int-range 1 4)) (set! (-> obj hit-points) 4) - (set! (-> obj fact-info-override pickup-type) (pickup-type none)) - (set! (-> obj fact-info-override pickup-amount) 0.0) - (set! (-> obj fact-info-override pickup-spawn-amount) 0.0) + (set! (-> obj fact pickup-type) (pickup-type none)) + (set! (-> obj fact pickup-amount) 0.0) + (set! (-> obj fact pickup-spawn-amount) 0.0) 0 (none) ) @@ -336,7 +336,7 @@ ;; WARN: Return type mismatch nav-segment vs none. (defmethod civilian-method-215 civilian ((obj civilian) (arg0 vector)) (let ((v1-0 (new 'stack-no-clear 'vector))) - (set! (-> v1-0 quad) (-> obj root-override2 trans quad)) + (set! (-> v1-0 quad) (-> obj root trans quad)) (set! (-> v1-0 w) 81920.0) (let ((s5-0 (find-segment obj v1-0 arg0))) (if s5-0 @@ -449,12 +449,8 @@ ((or (= v1-0 'hit) (= v1-0 'hit-flinch) (= v1-0 'hit-knocked)) (speech-control-method-13 *speech-control* (the-as handle obj)) (if (logtest? (-> obj flags) (citizen-flag female)) - (speech-control-method-12 - *speech-control* - obj - (speech-type speech-type-0 speech-type-1 speech-type-3 speech-type-4) - ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-4)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-27)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-19)) ) ((method-of-type citizen general-event-handler) obj arg0 arg1 arg2 arg3) ) @@ -526,10 +522,7 @@ ) ) 0.0 - (let ((s2-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self controller turn-exit-point)) - ) - ) + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self controller turn-exit-point)))) (set! (-> s2-1 y) 0.0) (set! (-> s3-1 y) 0.0) (vector-xz-normalize! s3-1 1.0) @@ -583,8 +576,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self cp-force)) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) (-> self cp-force)) *color-red* #f (the-as rgba -1) @@ -614,7 +607,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -626,14 +619,11 @@ (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self speed-run))) ) 0 - (let ((a1-5 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self danger-pos))) - ) - ) + (let ((a1-5 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self danger-pos))))) (civilian-method-215 self a1-5) ) (if (zero? (-> self controller branch)) - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (if (zero? (-> self controller branch)) (go-dive self) @@ -651,16 +641,16 @@ ) :trans (behavior () (when (and (logtest? (-> self draw status) (draw-control-status on-screen)) - (< (vector-vector-distance (-> self root-override2 trans) (camera-pos)) 204800.0) + (< (vector-vector-distance (-> self root trans) (camera-pos)) 204800.0) ) (if (logtest? (-> self flags) (citizen-flag female)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-3 speech-type-4)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-4)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-24)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-16)) ) ) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1)) (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) - (< (-> self root-override2 trans y) 4096.0) + (< (-> self root trans y) 4096.0) ) (go-virtual in-ditch) ) @@ -681,14 +671,8 @@ ;; INFO: Used lq/sq (defbehavior civilian-avoid-danger-post civilian () (local-vars (sv-352 nav-poly)) - (let ((gp-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self danger-pos))) - ) - ) - (let ((s5-1 - (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root-override2 trans)) - ) - ) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self danger-pos))))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) (-> self root trans)))) (vector-! (new 'stack-no-clear 'vector) (-> self controller turn-exit-point) @@ -777,7 +761,7 @@ ) (vector-xz-normalize! gp-1 4096.0) (let ((a0-27 (-> self nav state)) - (v1-41 (vector+! (new 'stack-no-clear 'vector) gp-1 (-> self root-override2 trans))) + (v1-41 (vector+! (new 'stack-no-clear 'vector) gp-1 (-> self root trans))) ) (logclear! (-> a0-27 flags) (nav-state-flag directional-mode)) (logior! (-> a0-27 flags) (nav-state-flag target-poly-dirty)) @@ -799,8 +783,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) gp-0) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) gp-0) *color-blue* #f (the-as rgba -1) @@ -814,8 +798,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) gp-1) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) gp-1) *color-green* #f (the-as rgba -1) @@ -845,7 +829,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -858,9 +842,9 @@ ) 0 (set! (-> self next-time) (+ (current-time) (get-rand-int-range self 300 600))) - (set! (-> self last-second-pos quad) (-> self root-override2 trans quad)) + (set! (-> self last-second-pos quad) (-> self root trans quad)) (set! (-> self last-distance) - (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root-override2 trans)) + (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root trans)) ) (if *citizen-debug* (set-vector! (-> self draw color-mult) 0.0 0.0 1.0 1.0) @@ -887,7 +871,7 @@ (else (vehicle-controller-method-14 (-> self controller) (the-as vehicle self)) (set! (-> self last-distance) - (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root-override2 trans)) + (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root trans)) ) ) ) @@ -895,7 +879,7 @@ (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () @@ -908,9 +892,7 @@ ;; INFO: Used lq/sq (defbehavior civilian-clear-path-post civilian () (local-vars (sv-304 nav-poly)) - (let ((s5-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self cp-sphere))) - ) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self cp-sphere)))) (s1-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -967,15 +949,15 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) gp-0) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) gp-0) *color-blue* #f (the-as rgba -1) ) ) (let ((a0-21 (-> self nav state)) - (v1-34 (vector+! (new 'stack-no-clear 'vector) gp-0 (-> self root-override2 trans))) + (v1-34 (vector+! (new 'stack-no-clear 'vector) gp-0 (-> self root trans))) ) (logclear! (-> a0-21 flags) (nav-state-flag directional-mode)) (logior! (-> a0-21 flags) (nav-state-flag target-poly-dirty)) @@ -1003,8 +985,8 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (-> self cp-force)) + (-> self root trans) + (vector+! (new 'stack-no-clear 'vector) (-> self root trans) (-> self cp-force)) *color-blue* #f (the-as rgba -1) @@ -1034,7 +1016,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1063,13 +1045,10 @@ (when (citizen-method-187 self) (vehicle-controller-method-14 (-> self controller) (the-as vehicle self)) (set! (-> self last-distance) - (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root-override2 trans)) + (vector-vector-xz-distance (-> self controller turn-exit-point) (-> self root trans)) ) ) - (let ((v1-8 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self cp-sphere))) - ) - ) + (let ((v1-8 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self cp-sphere))))) (cond ((< (* 0.5 (vector-length (-> self cp-vec))) (vector-length v1-8)) (let ((a0-10 (-> self nav))) @@ -1077,11 +1056,11 @@ ) 0 (let ((a0-12 (-> self nav))) - (set! (-> a0-12 acceleration) (-> self enemy-info-override walk-acceleration)) + (set! (-> a0-12 acceleration) (-> self enemy-info walk-acceleration)) ) 0 (let ((a0-14 (-> self nav))) - (set! (-> a0-14 turning-acceleration) (-> self enemy-info-override walk-turning-acceleration)) + (set! (-> a0-14 turning-acceleration) (-> self enemy-info walk-turning-acceleration)) ) 0 ) @@ -1091,20 +1070,18 @@ ) 0 (let ((a0-18 (-> self nav))) - (set! (-> a0-18 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> a0-18 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((a0-20 (-> self nav))) - (set! (-> a0-20 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> a0-20 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 ) ) (if (and (-> self allow-dive) (< (vector-length v1-8) (* (-> self dive-reaction) (vector-length (-> self cp-vec)))) - (< (fabs (vector4-dot (-> self root-override2 trans) (the-as vector (-> self cp-plane)))) - (* 0.5 (-> self cp-sphere r)) - ) + (< (fabs (vector4-dot (-> self root trans) (the-as vector (-> self cp-plane)))) (* 0.5 (-> self cp-sphere r))) ) (go-dive self) ) @@ -1115,7 +1092,7 @@ (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 30) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 30) (none) ) :post (behavior () @@ -1149,12 +1126,12 @@ (set! (-> v1-5 enemy-flags) (the-as enemy-flag (logclear (-> v1-5 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (if *citizen-debug* (set-vector! (-> self draw color-mult) 0.5 0.5 1.0 1.0) ) @@ -1164,11 +1141,11 @@ (if *citizen-debug* (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (none) ) :trans (behavior () @@ -1215,19 +1192,19 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) (set! (-> v1-5 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-5 enemy-flags)))) ) 0 - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (let ((v1-12 (-> self nav))) (set! (-> v1-12 sphere-mask) (the-as uint 0)) ) @@ -1245,7 +1222,7 @@ (set! (-> gp-0 quad) (-> a1-4 heading quad)) ) (vector-normalize! gp-0 614400.0) - (vector+! (-> self dive-target-point) (-> self root-override2 trans) gp-0) + (vector+! (-> self dive-target-point) (-> self root trans) gp-0) (set! (-> self dive-target-point quad) (-> gp-0 quad)) ) (if *citizen-debug* @@ -1258,11 +1235,11 @@ (if *citizen-debug* (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-9 (-> self nav))) (set! (-> v1-9 sphere-mask) (the-as uint #x800fe)) ) @@ -1293,7 +1270,7 @@ (ja :num! (seek! max (-> self speed-scale))) ) (set! (-> self dive-finished?) #t) - (set! (-> self root-override2 transv quad) (the-as uint128 0)) + (set! (-> self root transv quad) (the-as uint128 0)) (go-virtual cower-ground) (none) ) @@ -1328,12 +1305,12 @@ (set! (-> v1-5 enemy-flags) (the-as enemy-flag (logclear (-> v1-5 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) 0 - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (let ((v1-12 (-> self nav))) (set! (-> v1-12 sphere-mask) (the-as uint 0)) ) @@ -1347,11 +1324,11 @@ (if *citizen-debug* (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-9 (-> self nav))) (set! (-> v1-9 sphere-mask) (the-as uint #x800fe)) ) @@ -1568,17 +1545,14 @@ ;; INFO: Used lq/sq (defbehavior civilian-falling-post civilian () (set! (-> self enemy-flags) (logior (enemy-flag directed) (-> self enemy-flags))) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (cond ((focus-test? self under-water) (enemy-method-47 self (-> gp-0 transv)) ) (else (let ((a1-1 (new-stack-vector0))) - (vector-v++! - (-> gp-0 transv) - (compute-acc-due-to-gravity gp-0 a1-1 (-> self enemy-info-override slip-factor)) - ) + (vector-v++! (-> gp-0 transv) (compute-acc-due-to-gravity gp-0 a1-1 (-> self enemy-info slip-factor))) ) ) ) @@ -1606,24 +1580,23 @@ ) ) (set! (-> self hit-face) - (the-as uint (if (< (vector-dot - (-> self root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) - 0.0 - ) - 1 - 0 - ) - ) + (the-as + uint + (if (< (vector-dot (-> self root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + 0.0 + ) + 1 + 0 + ) + ) ) (set! (-> self state-time) (current-time)) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((t9-0 (-> (method-of-type nav-enemy knocked) exit))) (if t9-0 @@ -1690,13 +1663,11 @@ (none) ) :trans (behavior () - (if (and (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) - (< (-> self root-override2 trans y) 4096.0) - ) + (if (and (not (logtest? (-> self nav state flags) (nav-state-flag in-mesh))) (< (-> self root trans y) 4096.0)) (go-virtual in-ditch) ) (when (-> self vehicle) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((14 15 16 11 12 13) (go-virtual move-to-vehicle) ) @@ -1707,13 +1678,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1741,9 +1709,9 @@ (s4-0 (new 'stack 'collide-query)) ) (compute-seat-position (the-as vehicle s3-0) arg0 (-> obj seat)) - (vector-! arg0 arg0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector-! arg0 arg0 (-> (the-as vehicle s3-0) root trans)) (vector-normalize! arg0 (+ 14336.0 (vector-length arg0))) - (vector+! arg0 arg0 (-> (the-as vehicle s3-0) root-override-2 trans)) + (vector+! arg0 arg0 (-> (the-as vehicle s3-0) root trans)) (when (enemy-above-ground? obj s4-0 arg0 (collide-spec backgnd) 8192.0 81920.0 1024.0) (set! (-> arg0 y) (-> s4-0 best-other-tri intersect y)) (let ((v1-14 (-> obj nav)) @@ -1844,7 +1812,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -1876,12 +1844,8 @@ (let ((s0-0 (handle->process (-> self vehicle)))) (cond (s0-0 - (set! (-> self seat) (get-best-seat-for-vehicle - (the-as vehicle s0-0) - (-> self root-override2 trans) - (the-as int (-> self info seat-flag)) - 1 - ) + (set! (-> self seat) + (get-best-seat-for-vehicle (the-as vehicle s0-0) (-> self root trans) (the-as int (-> self info seat-flag)) 1) ) (cond ((!= (-> self seat) -1) @@ -1893,10 +1857,10 @@ ) (let ((s3-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (set! (-> s2-0 quad) (-> self root-override2 trans quad)) + (set! (-> s2-0 quad) (-> self root trans quad)) (set! (-> s1-0 quad) (-> gp-0 quad)) - (vector-! s5-0 gp-0 (-> (the-as vehicle s0-0) root-override-2 trans)) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-! s5-0 gp-0 (-> (the-as vehicle s0-0) root trans)) + (vector-z-quaternion! s4-0 (-> self root quat)) (let ((f30-1 (* 0.5 (vector-vector-xz-distance s2-0 s1-0)))) (vector-normalize! s4-0 (* 2.0 f30-1)) (vector-normalize! s5-0 (* 4.0 f30-1)) @@ -1910,8 +1874,8 @@ ) 0 (if (and (< (vector-dot (vector-normalize! s4-0 1.0) (vector-normalize! s5-0 1.0)) -0.5) - (< (vector-vector-xz-distance gp-0 (-> self root-override2 trans)) 18432.0) - (< (fabs (- (-> gp-0 y) (-> self root-override2 trans y))) 20480.0) + (< (vector-vector-xz-distance gp-0 (-> self root trans)) 18432.0) + (< (fabs (- (-> gp-0 y) (-> self root trans y))) 20480.0) ) (go-virtual board-vehicle) ) @@ -1927,14 +1891,14 @@ ) ) ) - (if (< 73728.0 (vector-vector-xz-distance gp-0 (-> self root-override2 trans))) + (if (< 73728.0 (vector-vector-xz-distance gp-0 (-> self root trans))) (go-virtual wait-for-ride) ) ) (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () @@ -1962,7 +1926,7 @@ :enter (behavior () (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self state-time) (current-time)) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -2005,8 +1969,8 @@ ) ) (let ((gp-2 (new 'stack-no-clear 'vector))) - (set! (-> gp-2 quad) (-> self root-override2 trans quad)) - (let ((s5-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)))) + (set! (-> gp-2 quad) (-> self root trans quad)) + (let ((s5-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 5.0 0) 0.86956525) :frame-num (ja-aframe 1.0 0) @@ -2020,7 +1984,7 @@ (if (not s2-0) (go-virtual wait-for-ride) ) - (quaternion-copy! s3-0 (-> (the-as vehicle s2-0) root-override-2 quat)) + (quaternion-copy! s3-0 (-> (the-as vehicle s2-0) root quat)) (compute-seat-position (the-as vehicle s2-0) s1-0 (-> self seat)) (vector-! s4-1 s1-0 gp-2) (let ((s2-1 lerp-scale) @@ -2038,8 +2002,8 @@ ) ) ) - (quaternion-slerp! (-> self root-override2 quat) s5-0 s3-0 f30-1) - (vector+float*! (-> self root-override2 trans) gp-2 s4-1 f30-1) + (quaternion-slerp! (-> self root quat) s5-0 s3-0 f30-1) + (vector+float*! (-> self root trans) gp-2 s4-1 f30-1) ) ) ) @@ -2048,7 +2012,7 @@ ) ) ) - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 12.0 0) 0.4) :frame-num (ja-aframe 5.0 0) @@ -2060,14 +2024,14 @@ (if (not s5-1) (go-virtual wait-for-ride) ) - (quaternion-copy! gp-4 (-> (the-as vehicle s5-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-1) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! gp-4 (-> (the-as vehicle s5-1) root quat)) + (compute-seat-position (the-as vehicle s5-1) (-> self root trans) (-> self seat)) (let ((f0-22 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 7.0 0) (ja-aframe 10.0 0)))) - (quaternion-rotate-local-y! (-> self root-override2 quat) gp-4 (* (- 1.0 f0-22) (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) - ) + (quaternion-rotate-local-y! (-> self root quat) gp-4 (* (- 1.0 f0-22) (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) + ) ) ) ) @@ -2123,7 +2087,7 @@ :enter (behavior () (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self state-time) (current-time)) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -2180,7 +2144,7 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior civilian) enemy-event-handler) :enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) - (change-to (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)) self) + (change-to (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)) self) (if (not (-> self nav)) (go-inactive self) ) @@ -2190,7 +2154,7 @@ 0 (citizen-method-195 self - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (let ((a0-8 (-> self nav state)) (v1-14 (-> self controller turn-exit-point)) @@ -2201,11 +2165,11 @@ ) 0 (citizen-nav-init! self) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status))) (set! (-> self state-time) (current-time)) - (let ((v1-28 (-> self root-override2 root-prim))) + (let ((v1-28 (-> self root root-prim))) (set! (-> v1-28 prim-core collide-as) (collide-spec)) (set! (-> v1-28 prim-core collide-with) (collide-spec)) ) @@ -2247,14 +2211,14 @@ (let ((s5-0 (handle->process (-> self vehicle))) (gp-1 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! gp-1 (-> (the-as vehicle s5-0) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-0) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! gp-1 (-> (the-as vehicle s5-0) root quat)) + (compute-seat-position (the-as vehicle s5-0) (-> self root trans) (-> self seat)) (let ((f0-3 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 10.0 0) (ja-aframe 7.0 0)))) - (quaternion-rotate-local-y! (-> self root-override2 quat) gp-1 (* f0-3 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) - ) + (quaternion-rotate-local-y! (-> self root quat) gp-1 (* f0-3 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) + ) ) ) ) @@ -2268,18 +2232,18 @@ (let ((s4-1 (handle->process (-> self vehicle))) (s3-1 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s3-1 (-> (the-as vehicle s4-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s4-1) (-> self root-override2 trans) (-> self seat)) - (quaternion-rotate-local-y! (-> self root-override2 quat) s3-1 (if (zero? (-> self seat)) - -16384.0 - 16384.0 - ) + (quaternion-copy! s3-1 (-> (the-as vehicle s4-1) root quat)) + (compute-seat-position (the-as vehicle s4-1) (-> self root trans) (-> self seat)) + (quaternion-rotate-local-y! (-> self root quat) s3-1 (if (zero? (-> self seat)) + -16384.0 + 16384.0 + ) ) ) (suspend) ) (let ((v1-43 (handle->process (-> self vehicle)))) - (quaternion-copy! s5-2 (-> (the-as vehicle v1-43) root-override-2 quat)) + (quaternion-copy! s5-2 (-> (the-as vehicle v1-43) root quat)) ) (ja-no-eval :group! (-> self draw art-group data (-> self info get-in-car-anim)) :num! (seek! (ja-aframe 1.0 0) 0.5) @@ -2308,8 +2272,8 @@ 16384.0 ) ) - (quaternion-copy! (-> self root-override2 quat) s3-2) - (vector+float*! (-> self root-override2 trans) gp-3 s4-3 f30-0) + (quaternion-copy! (-> self root quat) s3-2) + (vector+float*! (-> self root trans) gp-3 s4-3 f30-0) ) ) ) @@ -2317,9 +2281,9 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.5)) ) ) - (let ((v1-74 (-> self root-override2 root-prim))) - (set! (-> v1-74 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-74 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-74 (-> self root root-prim))) + (set! (-> v1-74 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-74 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual active) (none) @@ -2355,13 +2319,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/ctyport-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/common/ctyport-obs_REF.gc index 43b9b609fb..c2182dbf3a 100644 --- a/test/decompiler/reference/jak2/levels/city/common/ctyport-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/ctyport-obs_REF.gc @@ -405,14 +405,14 @@ (t9-0 obj) ) (when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) - (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat))) + (let ((a1-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s5-0 (new 'stack-no-clear 'quaternion)) ) (quaternion-from-two-vectors-max-angle! s5-0 a1-1 *up-vector* (* 728.1778 (-> pp clock seconds-per-frame))) - (quaternion*! (-> obj root-override-2 quat) s5-0 (-> obj root-override-2 quat)) + (quaternion*! (-> obj root quat) s5-0 (-> obj root quat)) ) (let ((s4-0 (new 'stack-no-clear 'vector)) - (s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat))) + (s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (new 'stack-no-clear 'vector) (let ((a1-4 (-> obj nav state))) @@ -425,7 +425,7 @@ (let ((s0-0 (-> obj nav state current-poly))) (vector-xz-normalize-copy! s1-0 s4-0 163840.0) (set! (-> s2-0 quad) (-> s1-0 quad)) - (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root-override-2 trans) s0-0 s2-0 s3-0) + (clamp-vector-to-mesh-no-gaps (-> obj nav) (-> obj root trans) s0-0 s2-0 s3-0) ) (when (-> s3-0 found-boundary) (let ((f30-0 (vector-length s4-0))) @@ -434,7 +434,7 @@ (vector-normalize! s4-0 f30-0) ) (when (= obj *debug-actor*) - (add-debug-vector #t (bucket-id debug-no-zbuf1) (-> obj root-override-2 trans) s4-0 (meters 10) *color-blue*) + (add-debug-vector #t (bucket-id debug-no-zbuf1) (-> obj root trans) s4-0 (meters 10) *color-blue*) (format *stdcon* "avoid border~%") ) ) @@ -443,26 +443,26 @@ (+! (-> obj y-rot) (* 10.0 (-> pp clock seconds-per-frame) - (deg- (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root-override-2 quat))) (-> obj y-rot)) + (deg- (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root quat))) (-> obj y-rot)) ) ) (set! (-> obj y-rot) (fmax -10922.667 (fmin 10922.667 (-> obj y-rot)))) - (set! (-> obj y-rot) (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root-override-2 quat)))) + (set! (-> obj y-rot) (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> obj root quat)))) (quaternion-rotate-local-y! - (-> obj root-override-2 quat) - (-> obj root-override-2 quat) + (-> obj root quat) + (-> obj root quat) (* (-> obj y-rot) (-> pp clock seconds-per-frame)) ) - (vector-v*float+! (-> obj root-override-2 trans) (-> obj root-override-2 trans) s5-1 8954.266) + (vector-v*float+! (-> obj root trans) (-> obj root trans) s5-1 8954.266) ) - (seek! (-> obj root-override-2 trans y) 4096.0 (* 4096.0 (-> pp clock seconds-per-frame))) + (seek! (-> obj root trans y) 4096.0 (* 4096.0 (-> pp clock seconds-per-frame))) (when (= obj *debug-actor*) (format *stdcon* "no physics~%") - (format *stdcon* "~M~%" (-> obj root-override-2 trans y)) + (format *stdcon* "~M~%" (-> obj root trans y)) ) ) (if (= obj *debug-actor*) - (format *stdcon* "speed ~M~%" (vector-length (-> obj root-override-2 transv))) + (format *stdcon* "speed ~M~%" (vector-length (-> obj root transv))) ) (let ((s4-2 (ppointer->process (-> obj parent))) (s5-2 (new 'stack-no-clear 'vector)) @@ -471,7 +471,7 @@ (let ((a1-24 (-> obj nav state))) (set! (-> s5-2 quad) (-> a1-24 target-post quad)) ) - (when (< (vector-vector-xz-distance (-> obj root-override-2 trans) s5-2) 163840.0) + (when (< (vector-vector-xz-distance (-> obj root trans) s5-2) 163840.0) (set! (-> obj path-index) (+ 0.01 (-> obj path-index))) (let ((f0-22 (-> obj path-index))) (set! (-> obj path-index) (- f0-22 (* (the float (the int (/ f0-22 1.0))) 1.0))) @@ -508,7 +508,7 @@ ) (init-vf0-vector) (let ((s3-0 (-> obj rbody)) - (s2-0 (-> obj info-override)) + (s2-0 (-> obj info)) (s4-0 (new 'stack-no-clear 'matrix)) ) (let ((a1-1 (-> obj nav state))) @@ -517,8 +517,8 @@ (vector-! (the-as vector (-> s4-0 vector)) (-> s4-0 vector 1) (-> s3-0 state lin-velocity)) (vector-float*! (the-as vector (-> s4-0 vector)) (the-as vector (-> s4-0 vector)) (* 4.0 (-> s2-0 info mass))) (let ((s1-0 (-> s4-0 vector 2))) - (let ((s0-0 (-> obj root-override-2 trans))) - (let ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((s0-0 (-> obj root trans))) + (let ((v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-6 40960.0)) (.mov vf7 a0-6) ) @@ -533,7 +533,7 @@ ) (let ((s0-1 (-> s4-0 vector 2))) (let ((s1-1 (-> s4-0 vector 2))) - (let ((v1-9 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((v1-9 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-9 -32768.0)) (.mov vf7 a0-9) ) @@ -610,12 +610,12 @@ 0 (set! (-> obj path-num) (-> arg0 user-data)) (set! (-> obj path-index) (+ 0.05 (-> arg0 position w))) - (set! (-> obj root-override-2 root-prim prim-core collide-as) - (logior (collide-spec pusher) (-> obj root-override-2 root-prim prim-core collide-as)) + (set! (-> obj root root-prim prim-core collide-as) + (logior (collide-spec pusher) (-> obj root root-prim prim-core collide-as)) ) - (let ((v1-21 (-> obj root-override-2 root-prim))) - (set! (-> obj root-override-2 backup-collide-as) (-> v1-21 prim-core collide-as)) - (set! (-> obj root-override-2 backup-collide-with) (-> v1-21 prim-core collide-with)) + (let ((v1-21 (-> obj root root-prim))) + (set! (-> obj root backup-collide-as) (-> v1-21 prim-core collide-as)) + (set! (-> obj root backup-collide-with) (-> v1-21 prim-core collide-with)) ) 0 (none) @@ -681,7 +681,7 @@ ) :post (behavior () (rigid-body-object-method-37 self) - (update-transforms (-> self root-override-2)) + (update-transforms (-> self root)) (none) ) ) @@ -733,8 +733,8 @@ (t9-0 obj) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let ((s4-0 (-> obj root-override-2 trans))) - (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((s4-0 (-> obj root trans))) + (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-4 -61440.0)) (.mov vf7 a0-4) ) @@ -758,8 +758,8 @@ ) ) (let ((s5-1 (new 'stack-no-clear 'vector))) - (let ((s4-2 (-> obj root-override-2 trans))) - (let ((v1-9 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override-2 quat)))) + (let ((s4-2 (-> obj root trans))) + (let ((v1-9 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-10 61440.0)) (.mov vf7 a0-10) ) @@ -902,7 +902,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-49 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-49 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -921,7 +921,7 @@ (set! (-> obj engine) (new-sound-id)) (set! (-> obj bow-wash) (new-sound-id)) (iterate-prims - (-> obj root-override-2) + (-> obj root) (lambda ((arg0 collide-shape-prim)) (case (-> arg0 prim-core prim-type) (((prim-type sphere)) diff --git a/test/decompiler/reference/jak2/levels/city/common/ctywide-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/common/ctywide-obs_REF.gc index eb2714f944..59e7102917 100644 --- a/test/decompiler/reference/jak2/levels/city/common/ctywide-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/ctywide-obs_REF.gc @@ -3,7 +3,7 @@ ;; definition of type security-wall (deftype security-wall (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (pass int32 :offset-assert 200) (incoming-attack-id uint32 :offset-assert 204) (next-message-time int64 :offset-assert 208) @@ -216,14 +216,14 @@ (with-pp (let ((s4-0 *target*)) (when s4-0 - (let* ((f0-0 (vector-vector-distance-squared (-> obj root-override trans) (-> s4-0 control trans))) - (f30-0 (+ 40960.0 (-> obj root-override root-prim local-sphere w))) + (let* ((f0-0 (vector-vector-distance-squared (-> obj root trans) (-> s4-0 control trans))) + (f30-0 (+ 40960.0 (-> obj root root-prim local-sphere w))) (f1-1 f30-0) ) (when (< f0-0 (* f1-1 f1-1)) (let ((s5-0 (new 'stack-no-clear 'inline-array 'vector 1))) (set! (-> s5-0 0 quad) (-> s4-0 control trans quad)) - (when (< (vector-vector-distance-squared (-> obj root-override trans) (-> obj target-pos)) (* f30-0 f30-0)) + (when (< (vector-vector-distance-squared (-> obj root trans) (-> obj target-pos)) (* f30-0 f30-0)) (let ((f0-3 (vector4-dot (-> obj target-pos) (the-as vector (-> obj plane)))) (f1-7 (vector4-dot (-> s5-0 0) (the-as vector (-> obj plane)))) ) @@ -283,16 +283,16 @@ object (case event-type (('on) - (let ((v1-2 (-> self root-override root-prim))) - (set! (-> v1-2 prim-core collide-as) (-> self root-override backup-collide-as)) - (let ((v0-0 (the-as int (-> self root-override backup-collide-with)))) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (-> self root backup-collide-as)) + (let ((v0-0 (the-as int (-> self root backup-collide-with)))) (set! (-> v1-2 prim-core collide-with) (the-as collide-spec v0-0)) v0-0 ) ) ) (('off) - (let ((v1-4 (-> self root-override root-prim))) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -326,11 +326,7 @@ (send-event (ppointer->process s5-1) 'speed #x3fc00000) (send-event (ppointer->process s5-1) 'art-joint-anim "generic-ripples-idle" 0) (set-vector! (-> (the-as process-drawable (-> s5-1 0)) root scale) 1.0 1.0 1.0 1.0) - (quaternion-rotate-local-x! - (-> (the-as process-drawable (-> s5-1 0)) root quat) - (-> self root-override quat) - -16384.0 - ) + (quaternion-rotate-local-x! (-> (the-as process-drawable (-> s5-1 0)) root quat) (-> self root quat) -16384.0) (let ((v1-45 (-> (the-as process-drawable (-> s5-1 0)) root trans))) (let ((a0-29 (-> (the-as process-drawable (-> s5-1 0)) root trans))) (let ((a1-11 *up-vector*)) @@ -414,7 +410,7 @@ ) ) (when v1-83 - (let* ((gp-1 (-> v1-83 root-override)) + (let* ((gp-1 (-> v1-83 root)) (a0-45 (if (type? gp-1 collide-shape) gp-1 ) @@ -443,16 +439,16 @@ :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (the-as object (case event-type (('on) - (let ((v1-2 (-> self root-override root-prim))) - (set! (-> v1-2 prim-core collide-as) (-> self root-override backup-collide-as)) - (let ((v0-0 (the-as int (-> self root-override backup-collide-with)))) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (-> self root backup-collide-as)) + (let ((v0-0 (the-as int (-> self root backup-collide-with)))) (set! (-> v1-2 prim-core collide-with) (the-as collide-spec v0-0)) v0-0 ) ) ) (('off) - (let ((v1-4 (-> self root-override root-prim))) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -462,7 +458,7 @@ ) ) :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -471,7 +467,7 @@ ) :trans (behavior () (let* ((f28-0 (vector4-dot (the-as vector (-> self plane)) (target-pos 0))) - (f30-0 (calc-fade-from-fog (-> self root-override trans))) + (f30-0 (calc-fade-from-fog (-> self root trans))) (f28-1 (lerp-scale 0.0 1.0 (fabs f28-0) 163840.0 327680.0)) (gp-1 (new 'stack-no-clear 'vector)) ) @@ -520,10 +516,10 @@ (set! (-> s2-1 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s2-1 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override) s2-1) + (set! (-> obj root) s2-1) ) (let ((s2-2 (new 'stack-no-clear 'matrix)) - (s1-0 (-> obj root-override)) + (s1-0 (-> obj root)) ) (vector+! (-> s1-0 trans) s4-0 s3-0) (vector-float*! (-> s1-0 trans) (-> s1-0 trans) 0.5) @@ -538,8 +534,8 @@ (vector-normalize! (-> s2-2 vector 2) 1.0) (matrix->quaternion (-> s1-0 quat) s2-2) (set! (-> obj plane quad) (-> s2-2 vector 2 quad)) - (set! (-> obj plane w) (- (vector-dot (-> s2-2 vector 2) (-> obj root-override trans)))) - (let ((v0-8 (-> obj root-override root-prim local-sphere))) + (set! (-> obj plane w) (- (vector-dot (-> s2-2 vector 2) (-> obj root trans)))) + (let ((v0-8 (-> obj root root-prim local-sphere))) (set! (-> v0-8 x) 0.0) (set! (-> v0-8 y) (* 0.00024414062 (* 0.5 arg1))) (set! (-> v0-8 z) 0.0) @@ -580,7 +576,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-security-wall" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> obj root-override event-self) 'touched) + (set! (-> obj root event-self) 'touched) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (logior! (-> obj draw status) (draw-control-status disable-fog)) (set-security-texture-masks! (the-as vector (-> obj draw mgeo header texture-usage-group data 4))) @@ -1046,7 +1042,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1513,11 +1509,11 @@ This commonly includes things such as: ;; definition for method 20 of type cty-guard-turret (defmethod get-trans cty-guard-turret ((obj cty-guard-turret) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (cond ((= arg0 3) (let ((v0-0 (vector<-cspace! (new 'static 'vector) (-> obj node-list data 6)))) - (set! (-> v0-0 w) (-> obj root-override root-prim prim-core world-sphere w)) + (set! (-> v0-0 w) (-> obj root root-prim prim-core world-sphere w)) v0-0 ) ) @@ -1561,7 +1557,7 @@ This commonly includes things such as: ) (when (handle->process gp-0) (if (or (task-node-open? (game-task-node city-power-post-win)) - (not (send-event (handle->process gp-0) 'guard-turret-status (-> self id) (-> self root-override trans))) + (not (send-event (handle->process gp-0) 'guard-turret-status (-> self id) (-> self root trans))) ) (set! (-> self destroyed) #t) ) @@ -1572,18 +1568,15 @@ This commonly includes things such as: (set! (-> self destroyed) #t) ) (let ((gp-2 (handle->process (-> self focus handle)))) - (when (and gp-2 (and *traffic-engine* - (let ((f0-0 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable gp-2) 0) - (-> self root-override trans) - ) - ) - (f1-0 409600.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) - (not (-> self destroyed)) - ) + (when (and gp-2 + (and *traffic-engine* + (let ((f0-0 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable gp-2) 0) (-> self root trans))) + (f1-0 409600.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) + (not (-> self destroyed)) + ) ) (cond ((and (>= (-> self id) 0) (task-node-open? (game-task-node city-power-resolution))) @@ -1658,7 +1651,7 @@ This commonly includes things such as: ) ) (setup-masks (-> self draw) 0 2) - (set! (-> self root-override root-prim specific 0) (+ (-> self root-override root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (none) ) :post (behavior () @@ -1703,7 +1696,7 @@ This commonly includes things such as: ) ) (setup-masks (-> self draw) 0 2) - (set! (-> self root-override root-prim specific 0) (+ (-> self root-override root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (none) ) :code (behavior () @@ -1736,7 +1729,7 @@ This commonly includes things such as: (loop (suspend) ) - (set! (-> self root-override root-prim specific 0) (-> self root-override root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (setup-masks (-> self draw) 2 0) (go-virtual idle) (none) @@ -1783,7 +1776,7 @@ This commonly includes things such as: ) ) (setup-masks (-> self draw) 0 2) - (set! (-> self root-override root-prim specific 0) (+ (-> self root-override root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (set! (-> self button-down?) #f) (none) ) @@ -1812,7 +1805,7 @@ This commonly includes things such as: (suspend) ) ) - (set! (-> self root-override root-prim specific 0) (-> self root-override root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (setup-masks (-> self draw) 2 0) (go-virtual idle) (none) @@ -1919,7 +1912,7 @@ This commonly includes things such as: (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> (get-trans (the-as process-focusable s5-0) 3) quad)) (let ((s0-0 (new 'stack-no-clear 'vector))) - (let ((v1-8 (-> obj root-override trans))) + (let ((v1-8 (-> obj root trans))) (let ((a0-5 *y-vector*)) (let ((a1-3 10240.0)) (.mov vf7 a1-3) @@ -1937,7 +1930,7 @@ This commonly includes things such as: (a0-7 s4-0) ) (let ((v1-10 s4-0)) - (let ((a1-6 (-> (the-as process-focusable s5-0) root-override transv))) + (let ((a1-6 (-> (the-as process-focusable s5-0) root transv))) (let ((a2-0 f0-2)) (.mov vf7 a2-0) ) @@ -1951,7 +1944,7 @@ This commonly includes things such as: (.svf (&-> a0-7 quad) vf6) ) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) s4-0 s0-0)) - (s1-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (s1-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! sv-192 (new 'stack-no-clear 'vector)) (let ((s2-0 (new 'stack-no-clear 'vector))) @@ -2080,15 +2073,12 @@ This commonly includes things such as: (suspend) (let ((gp-0 (handle->process (-> self focus handle)))) (cond - ((and gp-0 (let ((f0-5 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable gp-0) 0) - (-> self root-override trans) - ) - ) - (f1-0 491520.0) - ) - (< f0-5 (* f1-0 f1-0)) - ) + ((and gp-0 + (let ((f0-5 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable gp-0) 0) (-> self root trans))) + (f1-0 491520.0) + ) + (< f0-5 (* f1-0 f1-0)) + ) ) (cond ((and (>= (-> self id) 0) (task-node-open? (game-task-node city-power-resolution))) @@ -2211,7 +2201,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-22 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2277,7 +2267,7 @@ This commonly includes things such as: (set! (-> a1-11 num-params) 2) (set! (-> a1-11 message) 'guard-turret-status) (set! (-> a1-11 param 0) (the-as uint (-> obj id))) - (set! (-> a1-11 param 1) (the-as uint (-> obj root-override trans))) + (set! (-> a1-11 param 1) (the-as uint (-> obj root trans))) (let* ((t9-12 send-event-function) (v1-33 (-> *game-info* sub-task-list (game-task-node city-power-resolution))) (v1-38 (t9-12 @@ -2398,9 +2388,7 @@ This commonly includes things such as: ((or (focus-test? (the-as vehicle s5-0) dead inactive) (not (logtest? (-> (the-as vehicle s5-0) flags) (rigid-body-object-flag waiting-for-player))) (let ((f0-0 (-> obj test-sphere r))) - (< (* f0-0 f0-0) - (vector-vector-distance-squared (-> (the-as vehicle s5-0) root-override-2 trans) (-> obj test-sphere)) - ) + (< (* f0-0 f0-0) (vector-vector-distance-squared (-> (the-as vehicle s5-0) root trans) (-> obj test-sphere))) ) ) (logclear! (-> (the-as vehicle s5-0) flags) (rigid-body-object-flag persistent)) @@ -2736,7 +2724,7 @@ This commonly includes things such as: ((< (-> self hit-points) 3) (setup-masks (-> self draw) 0 -1) (setup-masks (-> self draw) 1 0) - (let* ((a0-9 (the-as collide-shape-prim-group (-> self root-override root-prim))) + (let* ((a0-9 (the-as collide-shape-prim-group (-> self root root-prim))) (v1-17 (-> a0-9 child 0)) ) (let ((a0-11 (-> a0-9 child 1))) @@ -2770,7 +2758,7 @@ This commonly includes things such as: (let ((v1-25 (-> t3-0 trans)) (t4-0 (new 'stack-no-clear 'vector)) ) - (let ((t5-1 (-> self root-override trans))) + (let ((t5-1 (-> self root trans))) (let ((t6-0 *up-vector*)) (let ((t7-1 8192.0)) (.mov vf7 t7-1) @@ -2825,7 +2813,7 @@ This commonly includes things such as: :post (behavior () (cond ((or (not (-> *setting-control* user-current speech-control)) - (< 245760.0 (vector-vector-distance (camera-pos) (-> self root-override trans))) + (< 245760.0 (vector-vector-distance (camera-pos) (-> self root trans))) ) (when (nonzero? (-> self sound-id)) (set-action! @@ -2846,7 +2834,7 @@ This commonly includes things such as: ) ) ) - ((< (vector-vector-distance (camera-pos) (-> self root-override trans)) 225280.0) + ((< (vector-vector-distance (camera-pos) (-> self root trans)) 225280.0) (cond ((zero? (-> self sound-id)) (set! (-> self sound-id) (add-process @@ -2860,7 +2848,7 @@ This commonly includes things such as: ) ) (let ((a1-4 (new 'stack-no-clear 'vector))) - (set! (-> a1-4 quad) (-> self root-override trans quad)) + (set! (-> a1-4 quad) (-> self root trans quad)) (set! (-> a1-4 w) 40960.0) (propa-method-31 self a1-4) ) @@ -2873,11 +2861,11 @@ This commonly includes things such as: (set! (-> gp-2 params fo-min) 40) (set! (-> gp-2 params fo-max) 55) (set! (-> gp-2 params fo-curve) 2) - (let ((a1-5 (-> self root-override trans))) + (let ((a1-5 (-> self root trans))) (let ((s5-0 self)) (when (= a1-5 #t) - (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root-override))) - (set! a1-5 (-> s5-0 root-override trans)) + (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root))) + (set! a1-5 (-> s5-0 root trans)) (set! a1-5 (the-as vector #f)) ) ) @@ -2912,10 +2900,10 @@ This commonly includes things such as: ) ) (when a0-25 - (vector-! s4-0 (-> a0-25 root-override trans) (-> self root-override trans)) + (vector-! s4-0 (-> a0-25 root trans) (-> self root trans)) (set! (-> self y-rot) (deg-seek (-> self y-rot) - (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> self root-override quat))) + (deg- (vector-y-angle s4-0) (quaternion-y-angle (-> self root quat))) (* 36408.89 (-> self clock seconds-per-frame)) ) ) @@ -2960,7 +2948,7 @@ This commonly includes things such as: (not (logtest? (process-mask crate) (-> s1-1 mask))) (not (logtest? (process-mask vehicle) (-> s1-1 mask))) ) - (let ((f0-0 (vector-vector-xz-distance (-> obj root-override trans) (-> s1-1 root-override trans)))) + (let ((f0-0 (vector-vector-xz-distance (-> obj root trans) (-> s1-1 root trans)))) (when (or (not s5-0) (< f0-0 f30-0)) (set! s5-0 s1-1) (set! f30-0 f0-0) @@ -3018,7 +3006,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -3280,7 +3268,7 @@ This commonly includes things such as: (t9-0 (method-of-object a0-0 look-at!)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-4 (-> self root-override trans))) + (let ((v1-4 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 20480.0)) (.mov vf7 a3-1) @@ -3336,14 +3324,14 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) (let ((s5-0 gp-0) - (s4-0 (-> self root-override trans)) + (s4-0 (-> self root trans)) (s3-0 vector-orient-by-quat!) (s2-0 (new 'stack-no-clear 'vector)) (s1-0 (new 'static 'vector :y 16384.0 :z 40960.0 :w 1.0)) (s0-0 quaternion-rotate-local-y!) ) (set! sv-272 (new 'stack-no-clear 'vector)) - (set! sv-288 (-> self root-override quat)) + (set! sv-288 (-> self root quat)) (let ((a2-0 (* 182.04445 (* 30.0 (sin (* 7281.778 (-> self time))))))) (vector+! s5-0 s4-0 (s3-0 s2-0 s1-0 (s0-0 (the-as quaternion sv-272) sv-288 a2-0))) ) @@ -3354,7 +3342,7 @@ This commonly includes things such as: (a1-2 (new 'stack-no-clear 'vector)) (v1-17 (new 'stack-no-clear 'vector)) ) - (let ((a2-3 (-> self root-override trans))) + (let ((a2-3 (-> self root trans))) (let ((a3-0 *up-vector*)) (let ((t0-1 20480.0)) (.mov vf7 t0-1) @@ -3470,7 +3458,7 @@ This commonly includes things such as: (t9-0 (method-of-object a0-0 look-at!)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-4 (-> self root-override trans))) + (let ((v1-4 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 20480.0)) (.mov vf7 a3-1) @@ -3842,11 +3830,11 @@ This commonly includes things such as: (when (!= (-> self time) -1.0) (let ((gp-1 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (vector+! gp-1 (-> self root-override trans) (vector-orient-by-quat! - (new 'stack-no-clear 'vector) - (new 'static 'vector :y 24166.4 :z 32768.0 :w 1.0) - (-> self root-override quat) - ) + (vector+! gp-1 (-> self root trans) (vector-orient-by-quat! + (new 'stack-no-clear 'vector) + (new 'static 'vector :y 24166.4 :z 32768.0 :w 1.0) + (-> self root quat) + ) ) (set! (-> *camera* slave 0 trans quad) (-> gp-1 quad)) (let ((t9-66 forward-down->inv-matrix) @@ -3854,7 +3842,7 @@ This commonly includes things such as: (a1-30 (new 'stack-no-clear 'vector)) (v1-96 (new 'stack-no-clear 'vector)) ) - (let ((a2-21 (-> self root-override trans))) + (let ((a2-21 (-> self root trans))) (let ((a3-11 *up-vector*)) (let ((t0-12 24166.4)) (.mov vf7 t0-12) @@ -3960,7 +3948,7 @@ This commonly includes things such as: (t9-0 (method-of-object a0-0 look-at!)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-4 (-> self root-override trans))) + (let ((v1-4 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 20480.0)) (.mov vf7 a3-1) @@ -3983,9 +3971,9 @@ This commonly includes things such as: ;; definition for method 32 of type burning-bush (defmethod burning-bush-method-32 burning-bush ((obj burning-bush)) - (let* ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root-override trans))) - (f30-0 (vector-dot (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat)) gp-1)) - (f0-2 (vector-dot (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat)) gp-1)) + (let* ((gp-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root trans))) + (f30-0 (vector-dot (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) gp-1)) + (f0-2 (vector-dot (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) gp-1)) ) (and *target* (not (focus-test? *target* pilot)) @@ -4019,7 +4007,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -4055,8 +4043,8 @@ This commonly includes things such as: (or (not (logtest? (-> obj mask) (process-mask actor-pause))) (or (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) (draw-control-status on-screen)) - (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root-override pause-adjust-distance)) - (vector-vector-distance (-> obj root-override trans) (math-camera-pos)) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (math-camera-pos)) ) ) (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) @@ -4085,14 +4073,14 @@ This commonly includes things such as: (burning-bush-method-31 obj) (let ((f0-0 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-0 0.0) - (quaternion-rotate-local-y! (-> obj root-override quat) (-> obj root-override quat) f0-0) + (quaternion-rotate-local-y! (-> obj root quat) (-> obj root quat) f0-0) ) ) (set! (-> obj task) (new 'process 'game-task-control (res-lump-value arg0 'task-actor game-task-actor :time -1000000000.0)) ) (set! (-> obj angle) 0.0) - (set! (-> obj root-override pause-adjust-distance) 819200.0) + (set! (-> obj root pause-adjust-distance) 819200.0) (transform-post) (go (method-of-object obj idle)) (none) @@ -4381,7 +4369,7 @@ This commonly includes things such as: ) (set! (-> self angle) 0.0) ) - (quaternion-vector-angle! (-> self root-override quat) *x-vector* (-> self angle)) + (quaternion-vector-angle! (-> self root quat) *x-vector* (-> self angle)) (ja-post) (none) ) @@ -4410,7 +4398,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -4538,7 +4526,7 @@ This commonly includes things such as: :trans (the-as (function none :behavior ctyn-lamp) #f) :code (behavior () (sound-play "lamp-hit") - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -4594,7 +4582,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/city/common/ctywide-speech_REF.gc b/test/decompiler/reference/jak2/levels/city/common/ctywide-speech_REF.gc new file mode 100644 index 0000000000..6bd17e3cac --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/common/ctywide-speech_REF.gc @@ -0,0 +1,535 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for function restore-city-speeches +(defun restore-city-speeches () + (speech-table-set! + *speech-control* + (speech-type speech-type-1) + (new 'static 'speech-type-info + :priority -10 + :min-delay (seconds 8) + :max-delay (seconds 20) + :list (new 'static 'boxed-array :type string + "kg007a" + "kg010" + "kg015" + "kg030" + "kg031" + "kg032" + "kg033" + "kg007" + "kg035a" + "kg033a" + "kg121a" + "kg034" + "kg030a" + "kg031a" + "kg034a" + "kg128a" + "kg035" + "kg032a" + "kg038" + "kg129a" + "kg041a" + "kg042a" + "kg043a" + "kg121" + "kg125" + "kg124" + "kg128" + "kg125a" + "kg129" + "kg131" + "kg124a" + "kg131a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-2) + (new 'static 'speech-type-info + :priority 3 + :request-timeout #x12c + :min-delay (seconds 8) + :max-delay (seconds 20) + :list (new 'static 'boxed-array :type string "kg044a" "kg045a" "kg046a" "kg047a" "kg048a" "kg049a" "kg050a") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-3) + (new 'static 'speech-type-info + :priority 3 + :request-timeout #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg070" + "kg071a" + "kg072a" + "kg077" + "kg073a" + "kg074a" + "kg070a" + "kg075a" + "kg076a" + "kg077a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-4) + (new 'static 'speech-type-info + :min-delay (seconds 3) + :max-delay (seconds 8) + :list (new 'static 'boxed-array :type string + "kg029a" + "kg036" + "kg037" + "kg051a" + "kg052a" + "kg053a" + "kg037a" + "kg054a" + "kg055a" + "kg056a" + "kg036a" + "kg057a" + "kg058a" + "kg059a" + "kg060a" + "kg061a" + "kg029" + "kg062a" + "kg063a" + "kg064a" + "kg113a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-5) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 5 + :request-timeout #x12c + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string "kg065a" "kg066a" "kg069" "kg067a" "kg068a" "kg069a") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-6) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg001" + "kg002" + "kg004" + "kg006" + "kg001a" + "kg013" + "kg016" + "kg018" + "kg019" + "kg020" + "kg023" + "kg024" + "kg002a" + "kg004a" + "kg078a" + "kg079a" + "kg080a" + "kg081a" + "kg004a" + "kg082a" + "kg083a" + "kg084a" + "kg085a" + "kg086a" + "kg087a" + "kg088a" + "kg091a" + "kg023a" + "kg006a" + "kg092a" + "kg020a" + "kg093a" + "kg094a" + "kg005a" + "kg095a" + "kg103a" + "kg104a" + "kg112a" + "kg024a" + "kg134" + "kg136" + "kg137" + "kg138" + "kg139" + "kg140" + "kg141" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-7) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg005" + "kg008" + "kg008a" + "kg011" + "kg011a" + "kg021" + "kg022" + "kg025" + "kg025a" + "kg026" + "kg026a" + "kg027" + "kg027a" + "kg028" + "kg028a" + "kg039" + "kg039a" + "kg040" + "kg040a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-8) + (new 'static 'speech-type-info + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg300a" + "kg301a" + "kg302a" + "kg303a" + "kg304a" + "kg305a" + "kg306a" + "kg307a" + "kg308a" + "kg309a" + "kg310a" + "kg311a" + "kg312a" + "kg313a" + "kg314a" + "kg315a" + "kg316a" + "kg317a" + "kg318a" + "kg319a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-9) + (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string "kg014" "kg153" "kg135" "kg142" "kg144" "kg145" "kg150") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-10) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 10 + :request-timeout #x258 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg009" + "kg132" + "kg132a" + "kg133" + "kg146" + "kg147" + "kg148" + "kg149" + "kg151" + "kg152" + "kg153" + "kg154" + "kg159" + "kg165" + "kg165a" + "kg165b" + "kg166" + "kg166a" + "kg166b" + "kg167" + "kg167a" + "kg167b" + "kg168" + "kg168a" + "kg168b" + "kg169" + "kg169a" + "kg169b" + "kg170" + "kg170a" + "kg170b" + "kg171" + "kg171a" + "kg171b" + "kg172" + "kg172a" + "kg172b" + "kg173" + "kg173a" + "kg173b" + "kg236a" + "kg236b" + "kg237a" + "kg237b" + "kg238a" + "kg239a" + "kg239b" + "kg240a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-11) + (new 'static 'speech-type-info + :priority 2 + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) + :list (new 'static 'boxed-array :type string + "kg386a" + "kg387a" + "kg388a" + "kg389a" + "kg390a" + "kg391a" + "kg392a" + "kg393a" + "kg394a" + "kg395a" + "kg396a" + "kg397a" + "kg398a" + "kg399a" + "kg400a" + "kg401a" + "kg402a" + "kg403a" + "kg404a" + "kg090a" + "kg405a" + "kg406a" + "kg407a" + "kg408a" + "kg409a" + "kg410a" + "kg411a" + "kg412a" + "kg413a" + "kg414a" + "kg415a" + "kg416a" + "kg417a" + "kg418a" + "kg419a" + "kg420a" + "kg421a" + "kg422a" + "kg423a" + "kg424a" + "kg425a" + "kg426a" + "kg427a" + "kg428a" + "kg089a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-12) + (new 'static 'speech-type-info + :priority 5 + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-13) + (new 'static 'speech-type-info + :priority 10 + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string "kg012" "kg012a" "kg176") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-14) + (new 'static 'speech-type-info + :priority 10 + :min-delay (seconds 1) + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string "kg387a" "kg396a" "kg399a") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-16) + (new 'static 'speech-type-info + :channel #x1 + :flags (speech-type-flag random-order) + :min-delay (seconds 3) + :max-delay (seconds 7) + :list (new 'static 'boxed-array :type string + "cit099" + "cit099a" + "cit099b" + "cit100" + "cit100a" + "cit101" + "cit101a" + "cit101b" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-19) + (new 'static 'speech-type-info + :channel #x1 + :flags (speech-type-flag random-order) + :priority 2 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "cit097" "cit097a" "cit097b" "cit098" "cit098a" "cit098b") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-20) + (new 'static 'speech-type-info + :channel #x1 + :min-delay (seconds 5) + :max-delay (seconds 15) + :list (new 'static 'boxed-array :type string + "cit099" + "cit099a" + "cit099b" + "cit100" + "cit100a" + "cit100b" + "cit101" + "cit101a" + "cit101b" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-22) + (new 'static 'speech-type-info + :channel #x1 + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "cit001" + "cit004" + "cit008" + "cit010" + "cit016" + "cit033" + "cit034" + "cit035" + "cit046" + "cit047" + "cit051" + "cit053" + "cit055" + "cit056" + "cit057" + "cit058" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-24) + (new 'static 'speech-type-info + :channel #x1 + :flags (speech-type-flag random-order) + :min-delay (seconds 3) + :max-delay (seconds 7) + :list (new 'static 'boxed-array :type string + "cit099c" + "cit099d" + "cit100c" + "cit101c" + "cit103" + "cit103a" + "cit104" + "cit104a" + "cit105" + "cit120" + "cit120a" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-27) + (new 'static 'speech-type-info + :channel #x1 + :flags (speech-type-flag random-order) + :priority 2 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "cit097c" "cit097d" "cit098c" "cit098d" "cit099c" "cit098d") + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-28) (new 'static 'speech-type-info + :channel #x1 + :min-delay (seconds 5) + :max-delay (seconds 15) + :list (new 'static 'boxed-array :type string + "cit099c" + "cit099d" + "cit100c" + "cit101c" + "cit103" + "cit103a" + "cit104" + "cit104a" + "cit105" + "cit120" + "cit120a" + ) + ) + ) + (none) + ) diff --git a/test/decompiler/reference/jak2/levels/city/common/ctywide-tasks_REF.gc b/test/decompiler/reference/jak2/levels/city/common/ctywide-tasks_REF.gc index 4d0702acf0..59d506b192 100644 --- a/test/decompiler/reference/jak2/levels/city/common/ctywide-tasks_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/ctywide-tasks_REF.gc @@ -551,7 +551,7 @@ (when (zero? (-> self sub-state)) (set! (-> self sub-state) (the-as uint 1)) (set-setting! 'exclusive-task #f 0.0 (-> self node-info task)) - (set! (-> self slave 0) (process->handle (race-start (-> self info index) (the-as symbol self) #f))) + (set! (-> self slave 0) (process->handle (race-start (-> self info index) self #f))) ) ) (else @@ -874,3 +874,7 @@ (none) ) ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/common/guard_REF.gc b/test/decompiler/reference/jak2/levels/city/common/guard_REF.gc index 8fd8f17a23..91bff3ee6e 100644 --- a/test/decompiler/reference/jak2/levels/city/common/guard_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/guard_REF.gc @@ -284,7 +284,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -445,7 +445,7 @@ (init-vf0-vector) (set! sv-240 arg0) (let ((s0-0 (new 'stack-no-clear 'vector))) - (let ((v1-1 (-> obj root-override2 trans))) + (let ((v1-1 (-> obj root trans))) (let ((a0-1 *y-vector*)) (let ((a1-2 8192.0)) (.mov vf7 a1-2) @@ -465,11 +465,11 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (-> obj node-list data 4 bone transform) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - (set! (-> s0-0 quad) (-> obj root-override2 trans quad)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) + (set! (-> s0-0 quad) (-> obj root trans quad)) (cond ((logtest? (enemy-flag dislike-combo) (-> obj enemy-flags)) (let ((a1-6 s0-0)) @@ -534,7 +534,7 @@ (vector+! sv-288 sv-288 v0-5) ) (vector-normalize! (vector-! sv-320 sv-288 s0-0) 1.0) - (vector-z-quaternion! sv-304 (-> obj root-override2 quat)) + (vector-z-quaternion! sv-304 (-> obj root quat)) (rot-zxy-from-vector! s2-0 sv-304) (rot-zxy-from-vector! s1-0 sv-320) (set! (-> s5-0 x) (fmax -14563.556 (fmin 14563.556 (deg- (-> s1-0 x) (-> s2-0 x))))) @@ -584,7 +584,7 @@ (let ((t9-0 (method-of-type citizen track-target!))) (t9-0 obj) ) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) (if (< (-> obj traffic-id) *guard-min-id-hack*) (set! *guard-min-id-hack* (-> obj traffic-id)) ) @@ -641,7 +641,7 @@ ) ) (when s1-0 - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-11)) (trigger-alert obj 1 (the-as target s1-0)) ) ) @@ -656,7 +656,7 @@ (when (or (and (-> obj next-state) (= (-> obj next-state name) 'active)) (and (-> obj next-state) (= (-> obj next-state name) 'wait)) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-2 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-14)) (go (method-of-object obj close-attack-active)) ) ) @@ -739,7 +739,7 @@ (when (not (focus-test? obj dead)) (when (logtest? (-> obj flags) (citizen-flag hostile)) (logclear! (-> obj flags) (citizen-flag persistent in-pursuit hostile)) - (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (go (method-of-object obj active)) ) ) @@ -781,8 +781,8 @@ (when (not (focus-test? obj dead)) (when (logtest? (-> obj flags) (citizen-flag hostile)) (logclear! (-> obj flags) (citizen-flag persistent in-pursuit hostile)) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-2)) - (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-5)) + (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (go (method-of-object obj active)) ) ) @@ -804,7 +804,7 @@ (when (logtest? (-> (the-as process-focusable v1-130) mask) (process-mask target)) (when (focus-test? (the-as process-focusable v1-130) dead) (format #t "guard killed player~%") - (the-as object (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-3))) + (the-as object (speech-control-method-12 *speech-control* obj (speech-type speech-type-10))) ) ) ) @@ -848,7 +848,7 @@ (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) (set! (-> self hit-face) (the-as uint -1)) - (let ((v1-6 (-> self root-override2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-6) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core collide-as) (collide-spec enemy)) @@ -922,7 +922,7 @@ (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) ) (set! (-> self hit-face) (the-as uint -1)) - (let ((v1-6 (-> self root-override2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-6) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-6) child 1 prim-core collide-as) (collide-spec enemy)) @@ -978,7 +978,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -986,26 +986,25 @@ ) 0 (if (zero? (-> self hit-points)) - (set! (-> self root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> self root penetrated-by) (the-as penetrate -1)) ) (set! (-> self hit-face) - (the-as uint (if (< (vector-dot - (-> self root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) - 0.0 - ) - 1 - 0 - ) - ) + (the-as + uint + (if (< (vector-dot (-> self root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + 0.0 + ) + 1 + 0 + ) + ) ) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((t9-0 (-> (method-of-type nav-enemy knocked) exit))) (if t9-0 @@ -1055,7 +1054,7 @@ (logclear! (-> obj flags) (citizen-flag knocked-out-bike)) ) ((begin - (let ((v1-37 (-> obj root-override2 transv))) + (let ((v1-37 (-> obj root transv))) (cond ((< (sqrtf (+ (* (-> v1-37 x) (-> v1-37 x)) (* (-> v1-37 z) (-> v1-37 z)))) 32768.0) (set! (-> obj small-hit) 1) @@ -1314,11 +1313,11 @@ (go (method-of-object obj hostile)) ) ((11) - (set! (-> obj root-override2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> arg0 rotation)) + (set! (-> obj root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> obj root quat) (-> arg0 rotation)) (set! (-> obj vehicle) (-> arg0 handle)) (ja-channel-set! 1) - (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> obj vehicle))) info object-type) ((11 12 13 18) (logior! (-> obj flags) (citizen-flag knocked-out-bike)) (let ((v1-64 (-> obj skel root-channel 0))) @@ -1442,7 +1441,7 @@ ) ) (if (logtest? (-> self draw status) (draw-control-status on-screen)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-1)) ) (when (logtest? (-> self controller traffic alert-state flags) (traffic-alert-flag guard-multi-focus)) (let ((gp-0 (find-closest-to-with-collide-lists (-> self controller traffic) self (-> self focus collide-with)))) @@ -1485,7 +1484,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-3 prim-core action) (collide-action deadly)) ) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -1507,7 +1506,7 @@ ) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) - (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logior! (-> v1-22 prim-core action) (collide-action deadly)) ) (set! gp-0 #t) @@ -1696,7 +1695,7 @@ ) ) (let ((a1-3 (new 'stack-no-clear 'vector))) - (set! (-> a1-3 quad) (-> obj root-override2 trans quad)) + (set! (-> a1-3 quad) (-> obj root trans quad)) (set! (-> a1-3 y) (+ 8192.0 (-> a1-3 y))) (let ((s5-1 (traffic-engine-method-49 (-> obj controller traffic) a1-3 (-> obj traffic-id) (-> obj traffic-target-status)) @@ -1728,9 +1727,9 @@ ) (set! (-> obj target-flags) (the-as uint (-> s5-1 flags))) (set! (-> obj target-pos quad) (-> (get-trans (the-as process-focusable s4-1) 3) quad)) - (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s4-1) root-override transv quad)) + (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s4-1) root transv quad)) (set! (-> obj target-vel) (vector-length (-> obj target-vel-vec))) - (let ((s5-4 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> obj target-pos)))) + (let ((s5-4 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj target-pos)))) (let* ((f0-3 (vector-length s5-4)) (f0-4 (* 0.0000012207031 f0-3)) (a1-9 (-> obj target-pos-predict)) @@ -1757,19 +1756,19 @@ (vector-normalize! s5-4 (-> obj miss-amount)) (vector+! (-> obj target-pos-predict-miss) (-> obj target-pos-predict) s5-4) ) - (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root-override2 trans)) + (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root trans)) (set! (-> obj target-self-xz quad) (-> obj target-self quad)) (set! (-> obj target-self-xz y) 0.0) (set! (-> obj target-self-dist) (vector-length (-> obj target-self))) (set! (-> obj target-self-xz-dist) (vector-length (-> obj target-self-xz))) (set! (-> obj target-y-angle) - (deg-diff (quaternion-y-angle (-> obj root-override2 quat)) (vector-y-angle (-> obj target-self))) + (deg-diff (quaternion-y-angle (-> obj root quat)) (vector-y-angle (-> obj target-self))) ) ) (else (set! (-> obj traffic-target-status handle) (the-as handle #f)) (logclear! (-> obj flags) (citizen-flag persistent in-pursuit hostile)) - (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (citizen-method-195 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (go (method-of-object obj active)) ) ) @@ -1785,9 +1784,9 @@ ;; INFO: Used lq/sq (defmethod crimson-guard-method-221 crimson-guard ((obj crimson-guard)) (let ((a1-0 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-0 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-0 sphere quad) (-> obj root trans quad)) (set! (-> a1-0 sphere r) 40960.0) - (set! (-> a1-0 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-0 velocity quad) (-> obj root transv quad)) (set! (-> a1-0 notify-radius) 122880.0) (set! (-> a1-0 danger-level) 1.0) (set! (-> a1-0 decay-rate) 0.0) @@ -1840,7 +1839,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1849,11 +1848,11 @@ 0 (nav-enemy-method-166 self) (let ((v1-9 (-> self nav))) - (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info run-travel-speed))) ) 0 (if (zero? (-> self controller branch)) - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (none) ) @@ -1866,22 +1865,22 @@ (crimson-guard-method-220 self) (cond ((logtest? (-> self target-flags) 1) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-3)) (go-hostile self) ) (else - (speech-control-method-12 *speech-control* self (speech-type speech-type-2)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-4)) ) ) (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () (if (and (nonzero? (-> self controller branch)) - (let ((f0-0 (vector-vector-xz-distance-squared (-> self root-override2 trans) (-> self controller turn-exit-point))) + (let ((f0-0 (vector-vector-xz-distance-squared (-> self root trans) (-> self controller turn-exit-point))) (f1-0 16384.0) ) (< f0-0 (* f1-0 f1-0)) @@ -1994,7 +1993,7 @@ (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-11 enemy-flags)))) ) (set! (-> v1-11 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-11 enemy-flags)))) - (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info-override callback-info)) + (set! (-> v1-11 nav callback-info) (-> v1-11 enemy-info callback-info)) ) 0 (let ((v1-14 self)) @@ -2004,12 +2003,12 @@ (nav-enemy-method-166 self) (when (-> self nav) (let ((v1-20 (-> self nav))) - (set! (-> v1-20 target-speed) (* (-> self speed-scale) (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-20 target-speed) (* (-> self speed-scale) (-> self enemy-info run-travel-speed))) ) 0 ) (logior! (-> self flags) (citizen-flag persistent in-pursuit)) - (set! (-> self root-override2 nav-radius) 6144.0) + (set! (-> self root nav-radius) 6144.0) (none) ) :exit (behavior () @@ -2047,13 +2046,13 @@ (if (and (not (logtest? (-> s5-0 flags) (traffic-target-flag visible-recently))) (logtest? (-> s5-0 flags) (traffic-target-flag visible-ever)) ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-2)) ) (when (and (logtest? (-> self nav state flags) (nav-state-flag at-target)) (not (logtest? (-> s5-0 flags) (traffic-target-flag visible-recently))) ) (logclear! (-> self flags) (citizen-flag persistent)) - (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (citizen-method-195 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (go-virtual search) ) (when (or (logtest? (-> s5-0 flags) (traffic-target-flag visible-recently)) @@ -2064,7 +2063,7 @@ ((focus-test? gp-0 arrestable) (if (and (< (-> self target-self-xz-dist) 28672.0) (< (fabs (-> self target-y-angle)) 7281.778) - (>= 8192.0 (fabs (- (-> (get-trans gp-0 1) y) (-> self root-override2 trans y)))) + (>= 8192.0 (fabs (- (-> (get-trans gp-0 1) y) (-> self root trans y)))) ) (go-virtual arrest) ) @@ -2107,7 +2106,7 @@ (none) ) :code (behavior () - (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info-override walk-anim))) 60) + (citizen-travel-anim (the-as int (-> self draw art-group data (-> self enemy-info walk-anim))) 60) (none) ) :post (behavior () @@ -2127,7 +2126,7 @@ ) (cond ((< 8192000.0 (-> self target-self-xz-dist)) - (let ((s5-0 (-> self root-override2 trans)) + (let ((s5-0 (-> self root trans)) (s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) @@ -2135,7 +2134,7 @@ ) (new 'stack-no-clear 'vector) (set! (-> s3-0 quad) (-> v1-5 quad)) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (let ((f30-0 (* 182.04445 (* 60.0 (the float (- (-> self traffic-id) *guard-min-id-hack*)))))) (set-vector! s2-0 (cos f30-0) 0.0 (sin f30-0) 1.0) ) @@ -2195,7 +2194,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -2215,7 +2214,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-3 prim-core action) (collide-action deadly)) ) (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) @@ -2238,7 +2237,7 @@ ) (until (ja-done? 0) (when (and (< 7.0 (ja-frame-num 0)) (not gp-0)) - (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logior! (-> v1-22 prim-core action) (collide-action deadly)) ) (set! gp-0 #t) @@ -2339,7 +2338,7 @@ ) :code (behavior () (local-vars (v1-35 object)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data (-> self anim-shoot 0 anim-index)) @@ -2354,7 +2353,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2429,7 +2428,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2446,8 +2445,8 @@ ;; definition for method 226 of type crimson-guard (defmethod crimson-guard-method-226 crimson-guard ((obj crimson-guard)) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s5-0 (-> obj root-override2)) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s5-0 (-> obj root)) (s3-0 (lambda ((arg0 crimson-guard) (arg1 collide-shape-moving) (arg2 vector)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) @@ -2460,7 +2459,7 @@ ) ((let ((a1-4 (new 'stack-no-clear 'vector))) (set! (-> a1-4 quad) (-> s4-0 quad)) - (set! (-> a1-4 w) (-> arg0 root-override2 nav-radius)) + (set! (-> a1-4 w) (-> arg0 root nav-radius)) (add-root-sphere-to-hash! (-> arg0 nav) a1-4 #x8046e) ) #f @@ -2508,16 +2507,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior crimson-guard) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) 40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) 40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -2531,12 +2530,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2555,12 +2550,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2605,18 +2596,18 @@ (let ((a0-0 self)) (when (logtest? (enemy-flag enemy-flag36) (-> a0-0 enemy-flags)) (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new 'stack-no-clear 'vector) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (-> self root) (new 'stack-no-clear 'vector) 0.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (a0-5 (-> self root-override2)) + (a0-5 (-> self root)) ) (set! (-> a2-1 collide-with) (-> a0-5 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (-> a0-5 pat-ignore-mask)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide a0-5 (-> self root-override2 transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide a0-5 (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -2630,16 +2621,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior crimson-guard) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) -40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) -40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -2653,12 +2644,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2677,12 +2664,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -2742,7 +2725,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((a0-9 (-> self nav state)) (v1-12 *null-vector*) ) @@ -2768,7 +2751,7 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-2 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data 19) @@ -2779,7 +2762,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2812,7 +2795,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2843,7 +2826,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((a0-9 (-> self nav state)) (v1-12 *null-vector*) ) @@ -2865,7 +2848,7 @@ :trans (behavior () (crimson-guard-method-220 self) (if (logtest? (-> self flags) (citizen-flag target-in-sight)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-3)) ) (none) ) @@ -2912,7 +2895,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (nav-enemy-simple-post) (none) ) @@ -3338,7 +3321,7 @@ (sound-stop (-> self lazer-sound)) ) (iterate-prims - (-> self root-override2) + (-> self root) (lambda ((arg0 collide-shape-prim)) (logclear! (-> arg0 prim-core action) (collide-action deadly)) (none)) ) (let ((v1-5 (-> self l-control)) @@ -3399,7 +3382,7 @@ (while (or (< 7281.778 (fabs (-> self target-y-angle))) (>= (-> self next-shot) (current-time))) (when gp-2 ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (cond ((< 7281.778 (fabs (-> self target-y-angle))) (ja-channel-push! 1 (seconds 0.1)) @@ -3421,8 +3404,8 @@ ) (until (ja-done? 0) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f30-0 (-> self clock seconds-per-frame)) ) (suspend) @@ -3436,8 +3419,8 @@ ) (until (ja-done? 0) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f30-0 (-> self clock seconds-per-frame)) ) (suspend) @@ -3498,7 +3481,7 @@ ) (crimson-guard-method-221 self) (set! (-> self next-shot) (the-as int (+ (current-time) (seconds 0.1)))) - (let ((v1-155 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-155 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logior! (-> v1-155 prim-core action) (collide-action deadly)) ) (let* ((v1-156 *game-info*) @@ -3537,7 +3520,7 @@ (ja :num! (loop! f30-1)) ) ) - (let ((v1-181 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-181 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logclear! (-> v1-181 prim-core action) (collide-action deadly)) ) (let ((v1-182 (-> self l-control)) @@ -3597,7 +3580,7 @@ ) ) (when s4-0 - (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root-override trans)))) + (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans)))) (s3-1 (new 'stack-no-clear 'vector)) ) (set! (-> s3-1 x) (if (zero? (-> obj transport-side)) @@ -3608,8 +3591,8 @@ (set! (-> s3-1 y) 12288.0) (set! (-> s3-1 z) (lerp-scale -16384.0 -49152.0 arg0 0.0 1.0)) (set! (-> s3-1 w) 1.0) - (quaternion-rotate-local-y! (-> obj root-override2 quat) (-> s4-0 root-override quat) 32768.0) - (vector-matrix*! (-> obj root-override2 trans) s3-1 s2-0) + (quaternion-rotate-local-y! (-> obj root quat) (-> s4-0 root quat) 32768.0) + (vector-matrix*! (-> obj root trans) s3-1 s2-0) ) ) ) @@ -3642,7 +3625,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (f30-0 0.0) ) (dotimes (s3-0 2) @@ -3654,7 +3637,7 @@ ) (vector-rotate-around-y! sv-768 s4-0 (* 182.04445 (the float (+ (* 23 s2-0) -70)))) (let ((v1-10 s1-0)) - (let ((a0-6 (-> obj root-override2 trans))) + (let ((a0-6 (-> obj root trans))) (let ((a1-5 sv-768)) (let ((a2-2 1.0)) (.mov vf7 a2-2) @@ -3747,20 +3730,20 @@ ;; WARN: Return type mismatch object vs none. (defmethod enemy-method-93 crimson-guard ((obj crimson-guard)) (let ((s5-0 (-> obj nav state)) - (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-0 heading quad) (-> v1-2 quad)) ) 0 (let ((s5-1 (-> obj nav state)) - (v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (logior! (-> s5-1 flags) (nav-state-flag directional-mode)) (set! (-> s5-1 travel quad) (-> v1-7 quad)) ) 0 (let ((s5-2 (-> obj nav state)) - (v1-12 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-12 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-2 velocity quad) (-> v1-12 quad)) ) @@ -3872,7 +3855,7 @@ (logclear! (-> self flags) (citizen-flag hostile)) (nav-enemy-method-166 self) (let ((v1-9 (-> self nav))) - (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-9 target-speed) (* (-> self speed-scale) (-> self enemy-info run-travel-speed))) ) 0 (set! (-> self already-shot) #f) @@ -3895,8 +3878,8 @@ (when (not (-> self already-shot)) (crimson-guard-method-223 self 1.0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (set! (-> gp-0 quad) (-> self root trans quad)) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack 'collide-query)) ) (let ((a0-3 gp-0)) @@ -4040,7 +4023,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -4107,17 +4090,17 @@ (cond ((zero? (-> obj guard-type)) (setup-masks (-> obj draw) 16 0) - (set! (-> obj root-override2 nav-radius) 8192.0) + (set! (-> obj root nav-radius) 8192.0) ) (else (setup-masks (-> obj draw) 8 0) - (set! (-> obj root-override2 nav-radius) 6144.0) + (set! (-> obj root nav-radius) 6144.0) ) ) (cond ((and (not arg1) (logtest? (-> obj flags) (citizen-flag dark-guard))) (setup-masks (-> obj draw) 5 0) - (set-vector! (-> obj root-override2 scale) 1.1 1.1 1.1 1.0) + (set-vector! (-> obj root scale) 1.1 1.1 1.1 1.0) (set-vector! (-> obj joint scale) 1.1 1.0 1.1 1.0) (let* ((a0-16 (-> obj neck)) (t9-5 (method-of-object a0-16 trs-set!)) @@ -4137,7 +4120,7 @@ ) (else (setup-masks (-> obj draw) 3 0) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (set-vector! (-> obj joint scale) 1.0 1.0 1.0 1.0) (let* ((a0-29 (-> obj neck)) (t9-8 (method-of-object a0-29 trs-set!)) @@ -4166,7 +4149,7 @@ (t9-0 obj) ) (if (logtest? (-> obj flags) (citizen-flag dark-guard)) - (set! (-> obj hit-points) (the int (* 2.0 (the float (-> obj enemy-info-override default-hit-points))))) + (set! (-> obj hit-points) (the int (* 2.0 (the float (-> obj enemy-info default-hit-points))))) ) (set! (-> obj hit-face) (the-as uint -1)) (crimson-guard-method-225 obj (get-guard-type-for-traffic-obj (-> obj controller traffic) 6) #f) @@ -4177,9 +4160,9 @@ (set! (-> obj joint-enable) #f) (logclear! (-> obj mask) (process-mask enemy)) (set! (-> obj mask) (logior (process-mask guard) (-> obj mask))) - (set! (-> obj fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> obj fact-info-override pickup-amount) 10.0) - (set! (-> obj fact-info-override pickup-spawn-amount) 1.0) + (set! (-> obj fact pickup-type) (pickup-type ammo-random)) + (set! (-> obj fact pickup-amount) 10.0) + (set! (-> obj fact pickup-spawn-amount) 1.0) (set! (-> obj traffic-target-status handle) (the-as handle #f)) (let ((v1-24 (get-rand-int obj 2))) (cond @@ -4223,3 +4206,7 @@ 0 (none) ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/common/metalhead-flitter_REF.gc b/test/decompiler/reference/jak2/levels/city/common/metalhead-flitter_REF.gc index 836ce0e365..afa90707da 100644 --- a/test/decompiler/reference/jak2/levels/city/common/metalhead-flitter_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/metalhead-flitter_REF.gc @@ -194,7 +194,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 5) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 5) :frustration-distance (meters 12) :frustration-time (seconds 4) @@ -215,7 +215,7 @@ (camera-pos) (let* ((s3-0 (get-trans arg0 0)) (s5-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-0 vector 2) 1.0)) - (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) s3-0) 1.0)) + (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) s3-0) 1.0)) ) (< 0.0 (vector-dot s5-1 v1-7)) ) @@ -307,19 +307,19 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (set! (-> self base-height) (-> self root-override2 trans y)) - (let ((v1-13 (-> self root-override2 root-prim))) + (set! (-> self base-height) (-> self root trans y)) + (let ((v1-13 (-> self root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) 0 (let ((a0-4 (handle->process (-> self focus handle)))) (when a0-4 - (let* ((gp-1 (-> self root-override2)) + (let* ((gp-1 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-4) 0) (-> gp-1 trans)) @@ -357,7 +357,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-4 a1-2 @@ -394,7 +394,7 @@ (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-8 a1-5 @@ -416,7 +416,7 @@ (suspend) ) ) - (set! (-> self root-override2 trans y) (+ -8192.0 (-> self root-override2 trans y))) + (set! (-> self root trans y) (+ -8192.0 (-> self root trans y))) (logior! (-> self draw status) (draw-control-status no-draw)) (let ((gp-3 (current-time))) (until (>= (- (current-time) gp-3) (the int (* 300.0 (get-rand-float-range self 0.0 0.6)))) @@ -442,7 +442,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -451,7 +451,7 @@ 0 (look-at-target! self (enemy-flag lock-focus)) (set! (-> self state-time) (current-time)) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (vector-reset! (-> gp-0 transv)) (set! (-> gp-0 transv y) (* 4096.0 (get-rand-float-range self 34.0 38.0))) ) @@ -463,7 +463,7 @@ :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) frames num-frames) -1))) ) (until #f - (when (< (-> self base-height) (-> self root-override2 trans y)) + (when (< (-> self base-height) (-> self root trans y)) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-0 (let ((t9-3 (method-of-type part-tracker activate))) @@ -484,7 +484,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-4 a1-4 @@ -506,10 +506,10 @@ ) #f (until #f - (when (< (+ 204.8 (-> self base-height)) (-> self root-override2 trans y)) - (let ((v1-40 (-> self root-override2 root-prim))) - (set! (-> v1-40 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-40 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (< (+ 204.8 (-> self base-height)) (-> self root trans y)) + (let ((v1-40 (-> self root root-prim))) + (set! (-> v1-40 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-40 prim-core collide-with) (-> self root backup-collide-with)) ) (goto cfg-11) ) @@ -520,10 +520,8 @@ #f (until #f (label cfg-11) - (if (or (and (>= 0.0 (-> self root-override2 transv y)) - (>= (+ 1638.4 (-> self base-height)) (-> self root-override2 trans y)) - ) - (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (or (and (>= 0.0 (-> self root transv y)) (>= (+ 1638.4 (-> self base-height)) (-> self root trans y))) + (logtest? (-> self root status) (collide-status on-ground)) ) (goto cfg-26) ) @@ -543,7 +541,7 @@ (ja :num! (seek!)) ) (until #f - (if (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (logtest? (-> self root status) (collide-status on-ground)) (goto cfg-33) ) (suspend) @@ -573,7 +571,7 @@ ) (when s3-0 (let* ((s5-1 (get-trans (the-as process-focusable s3-0) 0)) - (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root-override2 trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root trans))) (f30-0 (vector-length s4-1)) ) (cond @@ -583,12 +581,12 @@ ((and (< f30-0 32768.0) (not (metalhead-flitter-method-207 obj (the-as process-focusable s3-0)))) (go (method-of-object obj circling)) ) - ((< f30-0 (-> obj enemy-info-override notice-nav-radius)) + ((< f30-0 (-> obj enemy-info notice-nav-radius)) (set! (-> obj target-pos quad) (-> s5-1 quad)) (let ((s3-1 (new 'stack-no-clear 'vector))) (set! (-> s3-1 quad) (-> s4-1 quad)) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> obj root-override2 transv quad)) + (set! (-> s5-2 quad) (-> obj root transv quad)) (vector-normalize! s5-2 f30-0) (if (>= (vector-dot s3-1 s5-2) 0.98) (go (method-of-object obj attack)) @@ -600,7 +598,7 @@ (set! (-> obj target-pos quad) (-> s5-1 quad)) ) ((or (>= (- (current-time) (the-as int (-> obj last-change-dir))) (-> obj change-dir-time)) - (< (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj target-pos)) 0.1) + (< (vector-vector-distance-squared (-> obj root trans) (-> obj target-pos)) 0.1) ) (set! (-> obj last-change-dir) (the-as uint (current-time))) (set! (-> obj change-dir-time) (rand-vu-int-range (seconds 0.5) (seconds 0.7))) @@ -639,7 +637,7 @@ (when (>= (- (current-time) (the-as int (-> obj amb-sound-timer))) (the int (* 300.0 (rand-vu-float-range 1.5 3.0))) ) - (sound-play "flitter-amb" :position (-> obj root-override2 trans)) + (sound-play "flitter-amb" :position (-> obj root trans)) (set! (-> obj amb-sound-timer) (the-as uint (current-time))) ) (none) @@ -652,19 +650,19 @@ (stop-looking-at-target! self) (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim arg0)) (let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector))) - (s3-0 (-> self root-override2)) + (s3-0 (-> self root)) ) (when (if (type? s3-0 collide-shape-moving) s3-0 ) - (set! (-> self root-override2 transv y) 33775.48) + (set! (-> self root transv y) 33775.48) (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self state-time) (current-time)) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (until v1-29 (let ((f0-2 102400.0)) - (set! (-> self root-override2 transv x) (* (-> s4-1 x) f0-2)) - (set! (-> self root-override2 transv z) (* (-> s4-1 z) f0-2)) + (set! (-> self root transv x) (* (-> s4-1 x) f0-2)) + (set! (-> self root transv z) (* (-> s4-1 z) f0-2)) ) (suspend) (ja :num! (seek! max arg1)) @@ -719,17 +717,14 @@ 0 ) (let ((v1-29 (ja-group))) - (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -811,7 +806,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (metalhead-flitter-fall-and-play-death-anim - (the-as int (-> self draw art-group data (-> self enemy-info-override die-anim))) + (the-as int (-> self draw art-group data (-> self enemy-info die-anim))) 1.0 (seconds 2) ) @@ -823,7 +818,7 @@ ;; definition for method 209 of type metalhead-flitter (defmethod metalhead-flitter-method-209 metalhead-flitter ((obj metalhead-flitter)) - (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root-override2 trans y)) 13926.4 25600.0) + (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root trans y)) 13926.4 25600.0) ) ;; failed to figure out what this is: @@ -840,7 +835,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (sound-play "flitter-attack") @@ -988,17 +983,14 @@ 0 ) (let ((v1-29 (ja-group))) - (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1090,13 +1082,10 @@ (nav-enemy-method-166 self) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1117,7 +1106,7 @@ ;; definition for method 208 of type metalhead-flitter ;; WARN: Return type mismatch int vs none. (defmethod metalhead-flitter-method-208 metalhead-flitter ((obj metalhead-flitter) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (-> v1-1 specific 0))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1180,7 +1169,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1221,7 +1210,7 @@ 318 (new 'static 'vector :x -942.08 :y -860.16 :z 1269.76 :w 163840.0) ) - (set-gravity-length (-> obj root-override2 dynam) 491520.0) + (set-gravity-length (-> obj root dynam) 491520.0) (set! (-> obj minimap) #f) (none) ) @@ -1233,10 +1222,10 @@ (let ((t9-0 (method-of-type citizen-enemy citizen-init!))) (t9-0 obj) ) - (set! (-> obj speed-walk) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj dist-walk-anim) (-> obj enemy-info-override walk-travel-speed)) - (set! (-> obj dist-run-anim) (-> obj enemy-info-override run-travel-speed)) - (set! (-> obj speed-run) (-> obj enemy-info-override walk-travel-speed)) + (set! (-> obj speed-walk) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj dist-walk-anim) (-> obj enemy-info walk-travel-speed)) + (set! (-> obj dist-run-anim) (-> obj enemy-info run-travel-speed)) + (set! (-> obj speed-run) (-> obj enemy-info walk-travel-speed)) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/metalhead-grunt_REF.gc b/test/decompiler/reference/jak2/levels/city/common/metalhead-grunt_REF.gc index a8ffadc8cf..ece56f704a 100644 --- a/test/decompiler/reference/jak2/levels/city/common/metalhead-grunt_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/metalhead-grunt_REF.gc @@ -200,7 +200,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 6) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -309,7 +309,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -342,10 +342,10 @@ ;; definition for method 66 of type metalhead-grunt (defmethod go-ambush metalhead-grunt ((obj metalhead-grunt)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user10)) + ((logtest? (-> obj fact enemy-options) (enemy-option user10)) (go (method-of-object obj falling-ambush)) ) - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user11)) + ((logtest? (-> obj fact enemy-options) (enemy-option user11)) (go (method-of-object obj jumping-ambush)) ) (else @@ -368,7 +368,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -379,7 +379,7 @@ ) ) (when a0-4 - (let* ((gp-2 (-> self root-override2)) + (let* ((gp-2 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-4 0) (-> gp-2 trans)) 1.0)) (f0-0 (deg-diff (quaternion-y-angle (-> gp-2 quat)) (vector-y-angle s3-0))) ) @@ -397,13 +397,10 @@ (none) ) :code (behavior () - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -447,7 +444,7 @@ (format 0 "ERROR: ~A has no intro path, skipping jumping-ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-in-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-in-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -606,13 +603,10 @@ 0 (nav-enemy-method-167 self) (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -625,13 +619,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -649,7 +640,7 @@ (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-171 enemy-flags)))) ) (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-171 enemy-flags)))) - (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info-override callback-info)) + (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info callback-info)) ) 0 ) @@ -674,7 +665,7 @@ (let ((v1-3 (get-trans gp-0 0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-! s4-0 v1-3 (-> obj root-override2 trans)) + (vector-! s4-0 v1-3 (-> obj root trans)) (.lvf vf1 (&-> s4-0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -688,7 +679,7 @@ (f0-2 12288.0) ) (when (or (>= (* f0-2 f0-2) f30-0) (>= f28-0 f30-0)) - (let ((f26-0 (quaternion-y-angle (-> obj root-override2 quat))) + (let ((f26-0 (quaternion-y-angle (-> obj root quat))) (f0-7 (atan (-> s4-0 x) (-> s4-0 z))) (f1-0 1228.8) ) @@ -727,10 +718,9 @@ (when (and (>= gp-0 (-> self next-warn-time)) (not (logtest? (-> self draw status) (draw-control-status on-screen))) ) - (when (and a0-1 - (let ((f0-0 65536.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root-override2 trans))) - ) + (when (and a0-1 (let ((f0-0 65536.0)) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root trans))) + ) ) (sound-play "grunt-warn") (set! (-> self next-warn-time) (+ gp-0 (get-rand-int-range self 300 360))) @@ -807,12 +797,12 @@ ) :enter (behavior () (let ((v1-1 (-> self nav state))) - (set! (-> v1-1 speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-1 speed) (-> self enemy-info run-travel-speed)) ) 0 (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-10 *game-info*) (a0-5 (+ (-> v1-10 attack-id) 1)) @@ -881,7 +871,7 @@ ) 0 (let ((v1-38 (-> self nav))) - (set! (-> v1-38 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-38 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((gp-1 (-> self draw art-group data (-> self charge-anim anim-index)))) @@ -995,7 +985,7 @@ (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable a0-9) 0) quad)) ) ) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1167,7 +1157,7 @@ ) (else (let ((s4-3 (ash 1 (-> *grunt-global-info* prev-knocked-anim-index)))) - (let ((s3-0 (-> obj root-override2))) + (let ((s3-0 (-> obj root))) (if (>= 16384.0 (fabs (deg- (quaternion-y-angle (-> s3-0 quat)) (atan (-> s3-0 transv x) (-> s3-0 transv z))))) (set! s4-3 (logior s4-3 4)) ) @@ -1256,25 +1246,25 @@ (when s5-0 (let ((gp-0 (get-trans (the-as process-focusable s5-0) 0))) (when (and (or (not (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice))) - (>= 163840.0 (vector-vector-distance (-> self root-override2 trans) gp-0)) + (>= 163840.0 (vector-vector-distance (-> self root trans) gp-0)) ) - (or (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user8))) + (or (not (logtest? (-> self fact enemy-options) (enemy-option user8))) (and (not (focus-test? (the-as process-focusable s5-0) in-air)) - (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root-override2 trans y)))) + (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root trans y)))) ) ) ) (cond - ((and (logtest? (-> self fact-info-override enemy-options) (enemy-option user9)) + ((and (logtest? (-> self fact enemy-options) (enemy-option user9)) (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice)) ) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector-! s5-1 gp-0 (-> self root-override2 trans)) + (vector-! s5-1 gp-0 (-> self root trans)) (let ((f0-2 32768.0) (v1-26 s5-1) ) (if (or (>= f0-2 (sqrtf (+ (* (-> v1-26 x) (-> v1-26 x)) (* (-> v1-26 z) (-> v1-26 z))))) - (>= 20024.889 (fabs (deg- (y-angle (-> self root-override2)) (atan (-> s5-1 x) (-> s5-1 z))))) + (>= 20024.889 (fabs (deg- (y-angle (-> self root)) (atan (-> s5-1 x) (-> s5-1 z))))) ) (go-virtual notice) ) @@ -1402,7 +1392,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 8)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1434,7 +1424,7 @@ (set! (-> v1-8 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (let ((s5-2 *grunt-global-info*)) (set! (-> obj patrol-anim) (-> s5-2 patrol-anim (get-rand-int obj 4))) (set! (-> obj charge-anim) (-> s5-2 charge-anim (get-rand-int obj 3))) diff --git a/test/decompiler/reference/jak2/levels/city/common/metalhead-predator_REF.gc b/test/decompiler/reference/jak2/levels/city/common/metalhead-predator_REF.gc new file mode 100644 index 0000000000..119f27517c --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/common/metalhead-predator_REF.gc @@ -0,0 +1,1261 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type metalhead-predator-shot +(deftype metalhead-predator-shot (metalhead-shot) + () + :heap-base #x170 + :method-count-assert 40 + :size-assert #x1f0 + :flag-assert #x28017001f0 + ) + +;; definition for method 3 of type metalhead-predator-shot +(defmethod inspect metalhead-predator-shot ((obj metalhead-predator-shot)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type metalhead-shot inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; definition for method 28 of type metalhead-predator-shot +;; WARN: Return type mismatch sound-id vs none. +(defmethod play-impact-sound metalhead-predator-shot ((obj metalhead-predator-shot) (arg0 projectile-options)) + (case arg0 + (((projectile-options lose-altitude)) + (sound-play "pred-shot-hit") + ) + (((projectile-options lose-altitude proj-options-2)) + (let ((f0-0 (doppler-pitch-shift (-> obj root trans) (-> obj root transv))) + (a0-8 (static-sound-spec "pred-shot-loop" :volume 0.0 :mask (pitch reg0))) + ) + (set! (-> a0-8 volume) 1024) + (set! (-> a0-8 pitch-mod) (the int (* 1524.0 f0-0))) + (sound-play-by-spec a0-8 (-> obj sound-id) (-> obj root trans)) + ) + ) + ) + (none) + ) + +;; definition for method 30 of type metalhead-predator-shot +;; WARN: Return type mismatch int vs none. +(defmethod init-proj-collision! metalhead-predator-shot ((obj metalhead-predator-shot)) + "Init the [[projectile]]'s [[collide-shape]]" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) + (the-as (function control-info collide-query vector vector collide-status) cshape-reaction-just-move) + ) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrate-using) (penetrate jak-yellow-shot)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s5-0 total-prims) (the-as uint 3)) + (set! (-> s4-0 prim-core collide-as) (collide-spec projectile)) + (set! (-> s4-0 prim-core collide-with) + (collide-spec backgnd jak bot crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list) + ) + (set! (-> s4-0 prim-core action) (collide-action solid)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 2457.6) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-13 prim-core collide-as) (collide-spec projectile)) + (set! (-> v1-13 prim-core collide-with) + (collide-spec backgnd jak bot crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list) + ) + (set! (-> v1-13 prim-core action) (collide-action solid deadly)) + (set-vector! (-> v1-13 local-sphere) 0.0 0.0 0.0 819.2) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core collide-as) (collide-spec projectile)) + (set! (-> v1-15 prim-core collide-with) + (collide-spec jak bot crate civilian enemy vehicle-sphere hit-by-others-list player-list) + ) + (set! (-> v1-15 prim-core action) (collide-action deadly)) + (set-vector! (-> v1-15 local-sphere) 0.0 0.0 0.0 2457.6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-18 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-18 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) + ) + (set! (-> s5-0 max-iteration-count) (the-as uint 1)) + (set! (-> s5-0 event-self) 'touched) + (set! (-> obj root) s5-0) + ) + (set! (-> obj root pat-ignore-mask) + (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) + ) + (none) + ) + +;; definition for method 31 of type metalhead-predator-shot +;; INFO: Used lq/sq +(defmethod init-proj-settings! metalhead-predator-shot ((obj metalhead-predator-shot)) + "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" + (set! (-> obj tail-pos quad) (-> obj root trans quad)) + (set! (-> obj attack-mode) 'predator-shot) + (set! (-> obj max-speed) 532480.0) + (set! (-> obj move) metalhead-shot-move) + (set! (-> obj update-velocity) projectile-update-velocity-space-wars) + (set! (-> obj timeout) (seconds 0.767)) + (set! (-> obj sound-id) (new-sound-id)) + (set-gravity-length (-> obj root dynam) 573440.0) + (none) + ) + +;; failed to figure out what this is: +(defskelgroup skel-metalhead-predator predator predator-lod0-jg predator-idle-ja + ((predator-lod0-mg (meters 20)) (predator-lod1-mg (meters 40)) (predator-lod2-mg (meters 999999))) + :bounds (static-spherem 0 1 0 4) + ) + +;; definition for symbol *metalhead-predator-nav-enemy-info*, type nav-enemy-info +(define *metalhead-predator-nav-enemy-info* + (new 'static 'nav-enemy-info + :use-die-falling #f + :use-victory #f + :use-jump-blocked #f + :debug-draw-neck #f + :jump-debug-draw #f + :move-to-ground #t + :hover-if-no-ground #f + :idle-anim-script (new 'static 'array idle-control-frame 4 + (new 'static 'idle-control-frame :command (ic-cmd play) :anim #x5 :param0 #x1 :param1 #x1) + (new 'static 'idle-control-frame) + (new 'static 'idle-control-frame) + (new 'static 'idle-control-frame) + ) + :idle-anim 5 + :notice-anim 5 + :hostile-anim -1 + :hit-anim 5 + :knocked-anim 12 + :knocked-land-anim 13 + :die-anim 11 + :die-falling-anim 11 + :victory-anim 5 + :jump-wind-up-anim 5 + :jump-in-air-anim 5 + :jump-land-anim 5 + :neck-joint 7 + :look-at-joint 8 + :bullseye-joint 6 + :sound-hit (static-sound-name "metalhead-preda") + :sound-die (static-sound-name "metalhead-preda") + :notice-distance-delta (meters 0.1) + :default-hit-points 5 + :gnd-collide-with (collide-spec backgnd) + :overlaps-others-collide-with-filter (collide-spec jak civilian enemy vehicle-sphere hit-by-others-list player-list) + :penetrate-knocked (penetrate + touch + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech + mech-punch + mech-bonk + dark-skin + dark-punch + dark-bomb + dark-giant + shield + explode + jak-yellow-shot + jak-red-shot + jak-blue-shot + jak-dark-shot + enemy-yellow-shot + enemy-dark-shot + eco-yellow + eco-red + eco-blue + eco-green + knocked + penetrate-33 + penetrate-34 + penetrate-35 + penetrate-36 + penetrate-37 + penetrate-38 + penetrate-39 + penetrate-40 + penetrate-41 + penetrate-42 + penetrate-43 + penetrate-44 + penetrate-45 + penetrate-46 + penetrate-47 + penetrate-48 + penetrate-49 + penetrate-50 + penetrate-51 + penetrate-52 + penetrate-53 + penetrate-54 + penetrate-55 + penetrate-56 + penetrate-57 + penetrate-58 + penetrate-59 + penetrate-60 + penetrate-61 + penetrate-62 + penetrate-63 + ) + :movement-gravity (meters -100) + :friction 0.8 + :attack-shove-back (meters 3) + :attack-shove-up (meters 2) + :attack-mode 'generic + :attack-damage 2 + :recover-gnd-collide-with (collide-spec backgnd crate obstacle hit-by-others-list pusher) + :jump-height-min (meters 0.5) + :jump-height-factor 0.1 + :knocked-seek-ry-clamp 6371.5557 + :knocked-soft-vxz-lo 81920.0 + :knocked-soft-vxz-hi 81920.0 + :knocked-soft-vy-lo 69632.0 + :knocked-soft-vy-hi 69632.0 + :knocked-medium-vxz-lo 81920.0 + :knocked-medium-vxz-hi 81920.0 + :knocked-medium-vy-lo 69632.0 + :knocked-medium-vy-hi 69632.0 + :knocked-hard-vxz-lo 81920.0 + :knocked-hard-vxz-hi 81920.0 + :knocked-hard-vy-lo 69632.0 + :knocked-hard-vy-hi 69632.0 + :knocked-huge-vxz-lo 164659.2 + :knocked-huge-vxz-hi 249036.8 + :knocked-huge-vy-lo 183500.8 + :knocked-huge-vy-hi 217907.2 + :knocked-yellow-vxz-lo 40960.0 + :knocked-yellow-vxz-hi 53248.0 + :knocked-yellow-vy-lo 40960.0 + :knocked-yellow-vy-hi 53248.0 + :knocked-red-vxz-lo 102400.0 + :knocked-red-vxz-hi 102400.0 + :knocked-red-vy-lo 81920.0 + :knocked-red-vy-hi 81920.0 + :knocked-blue-vxz-lo 32768.0 + :knocked-blue-vxz-hi 65536.0 + :knocked-blue-vy-lo 32768.0 + :knocked-blue-vy-hi 49152.0 + :shadow-size (meters 2) + :shadow-max-y (meters 1) + :shadow-min-y (meters -1) + :shadow-locus-dist (meters 150) + :gem-joint -1 + :gem-offset (new 'static 'sphere :r 163840.0) + :callback-info #f + :use-momentum #t + :use-frustration #t + :use-stop-chase #f + :use-circling #f + :use-pacing #f + :walk-anim 6 + :turn-anim 5 + :run-anim 7 + :taunt-anim -1 + :run-travel-speed (meters 8) + :run-acceleration (meters 6) + :run-turning-acceleration (meters 30) + :walk-travel-speed (meters 4) + :walk-acceleration (meters 3) + :walk-turning-acceleration (meters 8) + :maximum-rotation-rate (degrees 720) + :frustration-distance (meters 8) + :frustration-time (seconds 4) + :blocked-time (seconds 0.3) + :circle-dist-lo 20480.0 + :circle-dist-hi 61440.0 + :nav-mesh #f + ) + ) + +;; failed to figure out what this is: +(set! (-> *metalhead-predator-nav-enemy-info* fact-defaults) *fact-info-enemy-defaults*) + +;; definition of type metalhead-predator +(deftype metalhead-predator (citizen-enemy) + ((los los-control :inline :offset-assert 992) + (want-stop symbol :offset-assert 1140) + (target-pos vector :inline :offset-assert 1152) + (curr-node int32 :offset-assert 1168) + (hide-pos vector :inline :offset-assert 1184) + (next-change int64 :offset-assert 1200) + (shoot-angle degrees :offset-assert 1208) + (miss-amount float :offset-assert 1212) + (ambient-sound-id sound-id :offset-assert 1216) + (shock-effect-time time-frame :offset-assert 1224) + (shock-effect-end int64 :offset-assert 1232) + (fade float :offset-assert 1240) + (dest-fade float :offset-assert 1244) + ) + :heap-base #x460 + :method-count-assert 209 + :size-assert #x4e0 + :flag-assert #xd1046004e0 + (:methods + (fire () _type_ :state 203) + (close-attack () _type_ :state 204) + (metalhead-predator-method-205 (_type_ symbol) none 205) + (metalhead-predator-method-206 (_type_ int float) none 206) + (metalhead-predator-method-207 (_type_ vector vector vector) symbol 207) + (metalhead-predator-method-208 (_type_) none 208) + ) + ) + +;; definition for method 3 of type metalhead-predator +(defmethod inspect metalhead-predator ((obj metalhead-predator)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type citizen-enemy inspect))) + (t9-0 obj) + ) + (format #t "~2Tlos: #~%" (-> obj los)) + (format #t "~2Twant-stop: ~A~%" (-> obj want-stop)) + (format #t "~2Ttarget-pos: #~%" (-> obj target-pos)) + (format #t "~2Tcurr-node: ~D~%" (-> obj curr-node)) + (format #t "~2Thide-pos: #~%" (-> obj hide-pos)) + (format #t "~2Tnext-change: ~D~%" (-> obj next-change)) + (format #t "~2Tshoot-angle: ~f~%" (-> obj shoot-angle)) + (format #t "~2Tmiss-amount: ~f~%" (-> obj miss-amount)) + (format #t "~2Tambient-sound-id: ~D~%" (-> obj ambient-sound-id)) + (format #t "~2Tshock-effect-time: ~D~%" (-> obj shock-effect-time)) + (format #t "~2Tshock-effect-end: ~D~%" (-> obj shock-effect-end)) + (format #t "~2Tfade: ~f~%" (-> obj fade)) + (format #t "~2Tdest-fade: ~f~%" (-> obj dest-fade)) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(set! (-> *lightning-spec-id-table* 15) (new 'static 'lightning-spec + :name "lightning-metalhead-predator-shock-skel" + :flags (lightning-spec-flags lsf0) + :rand-func #x2 + :start-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :end-color (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + :fade-to-color (new 'static 'rgba :r #xbf :b #x8f :a #x5) + :fade-start-factor 0.2 + :fade-time 120.0 + :texture (new 'static 'texture-id :index #x83 :page #xc) + :reduction 0.5 + :num-points 32 + :box-size 2048.0 + :merge-factor 0.5 + :merge-count 2 + :radius 2048.0 + :duration 30.0 + :sound (static-sound-spec "predator-zap") + ) + ) + +;; definition for method 208 of type metalhead-predator +;; WARN: Return type mismatch int vs none. +(defmethod metalhead-predator-method-208 metalhead-predator ((obj metalhead-predator)) + (with-pp + (cond + ((< (-> obj hit-points) 2) + (when (!= (-> obj dest-fade) 128.0) + (sound-play "pred-uncloak") + (set! (-> obj sound) (the-as ambient-sound 0)) + 0 + ) + (set! (-> obj dest-fade) 128.0) + ) + (else + (set! (-> obj dest-fade) 0.0) + ) + ) + (seek! (-> obj fade) (-> obj dest-fade) (* 60.0 (-> pp clock seconds-per-frame))) + (set! (-> obj draw force-fade) (the-as uint (the int (-> obj fade)))) + (cond + ((zero? (-> obj draw force-fade)) + (setup-masks (-> obj draw) 8 0) + (setup-masks (-> obj draw) 0 4) + (logclear! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) + ) + ((= (-> obj draw force-fade) 128) + (setup-masks (-> obj draw) 0 8) + (setup-masks (-> obj draw) 4 0) + (logclear! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) + ) + (else + (setup-masks (-> obj draw) 8 0) + (setup-masks (-> obj draw) 4 0) + (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) + ) + ) + (if (< 245760.0 (vector-vector-distance (-> obj root trans) (camera-pos))) + (setup-masks (-> obj draw) 0 8) + ) + (when (< (current-time) (-> obj shock-effect-end)) + (when (>= (- (current-time) (-> obj shock-effect-time)) (seconds 0.04)) + (set! (-> obj shock-effect-time) (current-time)) + (process-drawable-shock-skel-effect + obj + (-> *lightning-spec-id-table* 15) + lightning-probe-callback + (-> *part-id-table* 166) + 2048.0 + -1 + -1 + ) + ) + ) + 0 + (none) + ) + ) + +;; definition for method 55 of type metalhead-predator +(defmethod track-target! metalhead-predator ((obj metalhead-predator)) + "Does a lot of various things relating to interacting with the target +- tracks when the enemy was last drawn +- looks at the target and handles attacking +@TODO Not extremely well understood yet" + (let ((t9-0 (method-of-type citizen-enemy track-target!))) + (t9-0 obj) + ) + (metalhead-predator-method-208 obj) + (set-dst-proc! (-> obj los) (-> obj focus handle)) + (los-control-method-9 (-> obj los) (the-as process-focusable #f) (the-as vector #f) 2048.0) + (none) + ) + +;; definition for method 74 of type metalhead-predator +;; WARN: disable def twice: 21. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. +(defmethod general-event-handler metalhead-predator ((obj metalhead-predator) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + "Handles various events for the enemy +@TODO - unsure if there is a pattern for the events and this should have a more specific name" + (case arg2 + (('attack) + (set! (-> obj shock-effect-end) (the-as int (+ (current-time) (seconds 1)))) + ((method-of-type citizen-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + (('combo) + (and (not (and (-> obj next-state) (= (-> obj next-state name) 'inactive))) + (and (not (logtest? (enemy-flag multi-focus) (-> obj enemy-flags))) (nonzero? (-> obj hit-points))) + ) + ) + (else + ((method-of-type citizen-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 77 of type metalhead-predator +(defmethod enemy-method-77 metalhead-predator ((obj metalhead-predator) (arg0 (pointer float))) + (cond + ((zero? (-> obj hit-points)) + (case (-> obj incoming knocked-type) + (((knocked-type knocked-type-5)) + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-3 (-> obj skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> obj draw art-group data 18))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 18)) frames num-frames) -1)) + ) + (set! (-> a0-3 param 1) (-> arg0 0)) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> obj draw art-group data 18)) num-func-seek!) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-5 (-> obj skel root-channel 0))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> obj draw art-group data 14))) + (set! (-> a0-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 14)) frames num-frames) -1)) + ) + (set! (-> a0-5 param 1) (-> arg0 0)) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> obj draw art-group data 14)) num-func-seek!) + ) + ) + ) + #t + ) + (else + (case (-> obj incoming knocked-type) + (((knocked-type knocked-type-6)) + (ja-channel-push! 1 (seconds 0.01)) + (let ((v1-32 (get-rand-int obj 2))) + (cond + ((zero? v1-32) + (let ((a0-10 (-> obj skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> obj draw art-group data 21))) + (set! (-> a0-10 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 21)) frames num-frames) -1)) + ) + (set! (-> a0-10 param 1) (-> arg0 0)) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> obj draw art-group data 21)) num-func-seek!) + ) + ) + ((= v1-32 1) + (let ((a0-12 (-> obj skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> obj draw art-group data 22))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 22)) frames num-frames) -1)) + ) + (set! (-> a0-12 param 1) (-> arg0 0)) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> obj draw art-group data 22)) num-func-seek!) + ) + ) + ) + ) + ) + (((knocked-type knocked-type-5)) + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-15 (-> obj skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> obj draw art-group data 18))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 18)) frames num-frames) -1)) + ) + (set! (-> a0-15 param 1) (-> arg0 0)) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> obj draw art-group data 18)) num-func-seek!) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-17 (-> obj skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> obj draw art-group data 12))) + (set! (-> a0-17 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 12)) frames num-frames) -1)) + ) + (set! (-> a0-17 param 1) (-> arg0 0)) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> obj draw art-group data 12)) num-func-seek!) + ) + ) + ) + #t + ) + ) + ) + +;; definition for method 78 of type metalhead-predator +(defmethod enemy-method-78 metalhead-predator ((obj metalhead-predator) (arg0 (pointer float))) + (cond + ((zero? (-> obj hit-points)) + (case (-> obj incoming knocked-type) + (((knocked-type knocked-type-5)) + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-3 (-> obj skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> obj draw art-group data 20))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 20)) frames num-frames) -1)) + ) + (set! (-> a0-3 param 1) (-> arg0 0)) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> obj draw art-group data 20)) num-func-seek!) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-5 (-> obj skel root-channel 0))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> obj draw art-group data 15))) + (set! (-> a0-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 15)) frames num-frames) -1)) + ) + (set! (-> a0-5 param 1) (-> arg0 0)) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> obj draw art-group data 15)) num-func-seek!) + ) + ) + ) + #t + ) + (else + (case (-> obj incoming knocked-type) + (((knocked-type knocked-type-6)) + (ja-channel-push! 1 (seconds 0.01)) + (let ((a0-8 (-> obj skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> obj draw art-group data 23))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 23)) frames num-frames) -1)) + ) + (set! (-> a0-8 param 1) (-> arg0 0)) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> obj draw art-group data 23)) num-func-seek!) + ) + ) + (((knocked-type knocked-type-5)) + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-11 (-> obj skel root-channel 0))) + (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> obj draw art-group data 19))) + (set! (-> a0-11 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 19)) frames num-frames) -1)) + ) + (set! (-> a0-11 param 1) (-> arg0 0)) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> obj draw art-group data 19)) num-func-seek!) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.1)) + (let ((a0-13 (-> obj skel root-channel 0))) + (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> obj draw art-group data 13))) + (set! (-> a0-13 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 13)) frames num-frames) -1)) + ) + (set! (-> a0-13 param 1) (-> arg0 0)) + (set! (-> a0-13 frame-num) 0.0) + (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> obj draw art-group data 13)) num-func-seek!) + ) + ) + ) + #t + ) + ) + ) + +;; definition for method 26 of type metalhead-predator +(defmethod get-inv-mass metalhead-predator ((obj metalhead-predator)) + 0.5 + ) + +;; definition for method 207 of type metalhead-predator +;; INFO: Used lq/sq +(defmethod metalhead-predator-method-207 metalhead-predator ((obj metalhead-predator) (arg0 vector) (arg1 vector) (arg2 vector)) + (let ((s5-0 (new 'stack-no-clear 'collide-query))) + (let ((f0-0 1228.8) + (f30-0 6144.0) + ) + (set! (-> s5-0 start-pos quad) (-> arg0 quad)) + (vector-! (-> s5-0 move-dist) arg1 arg0) + (let ((v1-4 s5-0)) + (set! (-> v1-4 radius) f0-0) + (set! (-> v1-4 collide-with) (collide-spec backgnd)) + (set! (-> v1-4 ignore-process0) obj) + (set! (-> v1-4 ignore-process1) (handle->process (-> obj focus handle))) + (set! (-> v1-4 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) + (set! (-> v1-4 action-mask) (collide-action solid)) + ) + (let ((f0-1 (fill-and-probe-using-line-sphere *collide-cache* s5-0))) + (cond + ((>= f0-1 0.0) + (vector-float*! (-> s5-0 move-dist) (-> s5-0 move-dist) f0-1) + (cond + ((< (vector-dot + (-> s5-0 best-other-tri normal) + (vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri))) + ) + 0.0 + ) + ) + (else + ) + ) + ) + (else + (vector-! (-> s5-0 move-dist) arg1 arg0) + ) + ) + ) + (set! (-> s5-0 start-pos quad) (-> arg0 quad)) + (let ((v1-14 s5-0)) + (set! (-> v1-14 radius) f30-0) + (set! (-> v1-14 collide-with) (collide-spec enemy hit-by-player-list hit-by-others-list)) + (set! (-> v1-14 ignore-process0) obj) + (set! (-> v1-14 ignore-process1) (handle->process (-> obj focus handle))) + (set! (-> v1-14 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) + (set! (-> v1-14 action-mask) (collide-action solid)) + ) + ) + (cond + ((< (fill-and-probe-using-line-sphere *collide-cache* s5-0) 0.0) + #t + ) + (else + (let ((s4-1 (-> s5-0 best-other-tri collide-ptr))) + (if (and (if (type? s4-1 collide-shape-prim) + s4-1 + ) + (< (vector-dot + (-> s5-0 best-other-tri normal) + (vector-! (new 'stack-no-clear 'vector) arg2 (the-as vector (-> s5-0 best-other-tri))) + ) + 0.0 + ) + ) + #f + ) + ) + ) + ) + ) + ) + +;; definition for method 206 of type metalhead-predator +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod metalhead-predator-method-206 metalhead-predator ((obj metalhead-predator) (arg0 int) (arg1 float)) + (local-vars (sv-240 vector) (sv-256 vector)) + (rlet ((acc :class vf) + (vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + (vf7 :class vf) + ) + (init-vf0-vector) + (let ((a1-1 (-> obj node-list data arg0)) + (s5-0 (new 'stack-no-clear 'projectile-init-by-other-params)) + ) + (set! (-> s5-0 ent) (-> obj entity)) + (set! (-> s5-0 charge) 1.0) + (set! (-> s5-0 options) (projectile-options)) + (set! (-> s5-0 notify-handle) (process->handle obj)) + (set! (-> s5-0 owner-handle) (the-as handle #f)) + (set! (-> s5-0 ignore-handle) (process->handle obj)) + (let* ((v1-10 *game-info*) + (a0-11 (+ (-> v1-10 attack-id) 1)) + ) + (set! (-> v1-10 attack-id) a0-11) + (set! (-> s5-0 attack-id) a0-11) + ) + (set! (-> s5-0 timeout) (seconds 4)) + (vector<-cspace! (-> s5-0 pos) a1-1) + (let ((s3-0 (handle->process (-> obj focus handle))) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (when s3-0 + (seek! (-> obj miss-amount) (* 0.2 (vector-length (-> (the-as process-drawable s3-0) root transv))) 4096.0) + (set! (-> s2-0 quad) (-> (get-trans (the-as process-focusable s3-0) 3) quad)) + (set! sv-240 (new 'stack-no-clear 'vector)) + (let ((v1-25 (-> s5-0 pos)) + (a0-18 s2-0) + ) + (.lvf vf4 (&-> v1-25 quad)) + (.lvf vf5 (&-> a0-18 quad)) + ) + (.mov.vf vf6 vf0 :mask #b1000) + (.sub.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> sv-240 quad) vf6) + (let* ((f0-5 (vector-length sv-240)) + (f0-6 (* 0.0000018780048 f0-5)) + ) + (set! sv-256 (new 'stack-no-clear 'vector)) + (let ((s0-0 (new 'stack-no-clear 'vector)) + (s1-1 (new 'stack-no-clear 'vector)) + ) + (let ((a0-19 s2-0)) + (let ((v1-31 s2-0)) + (let ((a1-6 (-> (the-as process-focusable s3-0) root transv))) + (let ((a2-2 f0-6)) + (.mov vf7 a2-2) + ) + (.lvf vf5 (&-> a1-6 quad)) + ) + (.lvf vf4 (&-> v1-31 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> a0-19 quad) vf6) + ) + (vector-normalize! sv-240 1.0) + (vector-flatten! sv-256 *up-vector* sv-240) + (vector-normalize! sv-256 1.0) + (vector-cross! s0-0 sv-240 sv-256) + (vector-normalize! s0-0 1.0) + (let ((a2-5 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) sv-240 (-> obj shoot-angle)))) + (vector-orient-by-quat! sv-256 sv-256 a2-5) + ) + (let* ((t9-9 quaternion-vector-angle!) + (a0-27 (new 'stack-no-clear 'quaternion)) + (a2-6 (-> obj shoot-angle)) + (a2-7 (t9-9 a0-27 sv-240 a2-6)) + ) + (vector-orient-by-quat! s0-0 s0-0 a2-7) + ) + (let ((a0-29 s1-1)) + (let ((v1-33 s2-0)) + (let ((a1-17 (-> obj miss-amount))) + (.mov vf7 a1-17) + ) + (.lvf vf5 (&-> sv-256 quad)) + (.lvf vf4 (&-> v1-33 quad)) + ) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> a0-29 quad) vf6) + ) + (let ((v1-34 s2-0)) + (let ((a0-30 (* arg1 (-> obj miss-amount)))) + (.mov vf7 a0-30) + ) + (.lvf vf5 (&-> s0-0 quad)) + (.lvf vf4 (&-> s1-1 quad)) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> v1-34 quad) vf6) + ) + ) + ) + (vector-! (-> s5-0 vel) s2-0 (-> s5-0 pos)) + (vector-normalize! (-> s5-0 vel) 409600.0) + (when (metalhead-predator-method-207 + obj + (-> s5-0 pos) + (vector+! (new 'stack-no-clear 'vector) (-> s5-0 pos) (-> s5-0 vel)) + (get-trans (the-as process-focusable s3-0) 3) + ) + (vector-normalize! (-> s5-0 vel) 532480.0) + (spawn-projectile metalhead-predator-shot s5-0 obj *default-dead-pool*) + ) + ) + ) + ) + 0 + (none) + ) + ) + +;; failed to figure out what this is: +(defstate active (metalhead-predator) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type citizen-enemy active) enter))) + (if t9-0 + (t9-0) + ) + ) + (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) + (none) + ) + :trans (behavior () + (let ((t9-0 (-> (method-of-type citizen-enemy active) trans))) + (if t9-0 + (t9-0) + ) + ) + (none) + ) + ) + +;; failed to figure out what this is: +(defstate hostile (metalhead-predator) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type citizen-enemy hostile) enter))) + (if t9-0 + (t9-0) + ) + ) + (set! (-> self want-stop) #f) + (set! (-> self state-time) (current-time)) + (set! (-> self next-change) (the-as int (+ (current-time) (the int (* 300.0 (rand-vu-float-range 4.0 8.0)))))) + (if (zero? (get-rand-int self 3)) + (sound-play "pred-talk") + ) + (none) + ) + :trans (behavior () + (let ((t9-0 (-> (method-of-type citizen-enemy hostile) trans))) + (if t9-0 + (t9-0) + ) + ) + (let ((gp-0 (handle->process (-> self focus handle)))) + (if (and gp-0 (or (focus-test? (the-as process-focusable gp-0) inactive) + (focus-test? (the-as process-focusable gp-0) disable) + ) + ) + (set! gp-0 (the-as process #f)) + ) + (if (not gp-0) + (go-virtual active) + ) + (when (get-enemy-target self) + (when (and gp-0 (>= (- (current-time) (-> self state-time)) (-> self reaction-time))) + (cond + ((< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 16384.0) + (go-virtual close-attack) + ) + ((check-los? (-> self los) 0) + (go-virtual fire) + ) + ) + ) + ) + ) + (none) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 7) + :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) frames num-frames) -1))) + :frame-num 6.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (until #f + (ja-no-eval :group! (-> self draw art-group data 7) + :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + ) + +;; failed to figure out what this is: +(defstate fire (metalhead-predator) + :virtual #t + :event (the-as + (function process int symbol event-message-block object :behavior metalhead-predator) + enemy-event-handler + ) + :enter (behavior () + (logior! (-> self focus-status) (focus-status dangerous)) + (let* ((v1-2 *game-info*) + (a0-1 (+ (-> v1-2 attack-id) 1)) + ) + (set! (-> v1-2 attack-id) a0-1) + (set! (-> self attack-id) a0-1) + ) + (traffic-danger-init! self) + (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) + (none) + ) + :exit (behavior () + (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) + (logior! (-> self focus-status) (focus-status dangerous)) + (logclear! (-> self focus-status) (focus-status dangerous)) + ) + (none) + ) + :trans (behavior () + (let ((v1-2 (handle->process (-> self focus handle)))) + (if (and v1-2 (or (focus-test? (the-as process-focusable v1-2) inactive) + (focus-test? (the-as process-focusable v1-2) disable) + ) + ) + (set! v1-2 (the-as process #f)) + ) + (if (not v1-2) + (go-virtual active) + ) + ) + (none) + ) + :code (behavior () + (label cfg-0) + 1.0 + (let ((gp-0 0)) + (set! (-> self shoot-angle) (* 182.04445 (rand-vu-float-range -45.0 45.0))) + (ja-channel-push! 1 (seconds 0.2)) + (ja-no-eval :group! (-> self draw art-group data 10) + :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (when (and (< 9.0 (ja-frame-num 0)) (zero? gp-0)) + (set! gp-0 1) + (metalhead-predator-method-206 self 12 1.0) + ) + (when (and (< 11.0 (ja-frame-num 0)) (= gp-0 1)) + (set! gp-0 2) + (metalhead-predator-method-206 self 16 -1.0) + ) + (let ((s5-0 (handle->process (-> self focus handle)))) + (when s5-0 + (seek-toward-heading-vec! + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s5-0) 0) (-> self root trans)) + 32768.0 + (seconds 0.05) + ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable s5-0) 0)) 24576.0) + (go-virtual close-attack) + ) + ) + ) + (suspend) + (ja :num! (seek!)) + ) + ) + (b! #t cfg-26 :delay (nop!)) + (b! (not #f) cfg-0 :delay (empty-form)) + (label cfg-26) + (go-hostile self) + (none) + ) + :post (the-as (function none :behavior metalhead-predator) enemy-simple-post) + ) + +;; failed to figure out what this is: +(defstate close-attack (metalhead-predator) + :virtual #t + :event (the-as + (function process int symbol event-message-block object :behavior metalhead-predator) + enemy-event-handler + ) + :enter (behavior () + (traffic-danger-init! self) + (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) + (logior! (-> self focus-status) (focus-status dangerous)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) + (enemy-method-49 self) + (let* ((v1-9 *game-info*) + (a0-5 (+ (-> v1-9 attack-id) 1)) + ) + (set! (-> v1-9 attack-id) a0-5) + (set! (-> self attack-id) a0-5) + ) + (let ((v1-10 (-> self nav))) + (set! (-> v1-10 target-speed) 4096.0) + ) + 0 + (none) + ) + :exit (behavior () + (metalhead-predator-method-205 self #f) + (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) + (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) + (logior! (-> self focus-status) (focus-status dangerous)) + (logclear! (-> self focus-status) (focus-status dangerous)) + ) + (none) + ) + :trans (behavior () + (enemy-method-49 self) + (none) + ) + :code (behavior () + (ja-channel-push! 1 (seconds 0.2)) + (let ((gp-0 #f)) + (ja-no-eval :group! (-> self draw art-group data 8) + :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (when (and (< 4.0 (ja-frame-num 0)) (not gp-0)) + (metalhead-predator-method-205 self #t) + (set! gp-0 #t) + ) + (suspend) + (ja :num! (seek!)) + ) + ) + (let ((v1-32 (-> self nav state))) + (set! (-> v1-32 speed) 0.0) + ) + 0 + (ja-no-eval :group! (-> self draw art-group data 9) + :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + (if (zero? (get-rand-int self 3)) + (sound-play "pred-talk") + ) + (go-hostile self) + (none) + ) + :post (the-as (function none :behavior metalhead-predator) nav-enemy-chase-post) + ) + +;; definition for method 205 of type metalhead-predator +;; WARN: Return type mismatch int vs none. +(defmethod metalhead-predator-method-205 metalhead-predator ((obj metalhead-predator) (arg0 symbol)) + (let ((v1-1 (-> obj root root-prim))) + (dotimes (a0-1 (the-as int (+ (-> v1-1 specific 0) -2))) + (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child (+ a0-1 2)))) + (if arg0 + (logior! (-> a2-1 prim-core action) (collide-action deadly)) + (logclear! (-> a2-1 prim-core action) (collide-action deadly)) + ) + ) + ) + ) + 0 + (none) + ) + +;; definition for method 114 of type metalhead-predator +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy-collision! metalhead-predator ((obj metalhead-predator)) + "Initializes the [[collide-shape-moving]] and any ancillary tasks to make the enemy collide properly" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrated-by) (penetrate + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech-punch + dark-punch + dark-giant + ) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 5) 0))) + (set! (-> s5-0 total-prims) (the-as uint 6)) + (set! (-> s4-0 prim-core collide-as) (collide-spec enemy)) + (set! (-> s4-0 prim-core collide-with) + (collide-spec backgnd jak civilian enemy hit-by-others-list player-list) + ) + (set! (-> s4-0 prim-core action) (collide-action solid no-standon)) + (set-vector! (-> s4-0 local-sphere) 0.0 11264.0 0.0 17203.2) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-13 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-13 prim-core collide-with) (collide-spec backgnd jak civilian hit-by-others-list player-list)) + (set! (-> v1-13 prim-core action) (collide-action solid)) + (set-vector! (-> v1-13 local-sphere) 0.0 5120.0 0.0 5120.0) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-15 prim-core collide-with) (collide-spec backgnd jak civilian hit-by-others-list player-list)) + (set! (-> v1-15 prim-core action) (collide-action solid no-standon)) + (set-vector! (-> v1-15 local-sphere) 0.0 9216.0 0.0 5120.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-17 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-17 prim-core collide-with) (collide-spec jak civilian hit-by-others-list player-list)) + (set! (-> v1-17 prim-core action) (collide-action solid no-standon)) + (set! (-> v1-17 transform-index) 7) + (set-vector! (-> v1-17 local-sphere) 0.0 0.0 0.0 3072.0) + ) + (let ((v1-19 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-19 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-19 prim-core collide-with) (collide-spec jak civilian hit-by-others-list player-list)) + (set! (-> v1-19 transform-index) 16) + (set-vector! (-> v1-19 local-sphere) 0.0 0.0 0.0 3276.8) + ) + (let ((v1-21 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-21 prim-core collide-as) (collide-spec enemy)) + (set! (-> v1-21 prim-core collide-with) (collide-spec jak civilian hit-by-others-list player-list)) + (set! (-> v1-21 transform-index) 12) + (set-vector! (-> v1-21 local-sphere) 0.0 0.0 0.0 3276.8) + ) + (set! (-> s5-0 nav-radius) 6144.0) + (let ((v1-23 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-23 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) + ) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> s5-0 event-priority) (the-as uint 8)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 7 of type metalhead-predator +;; WARN: Return type mismatch process-drawable vs metalhead-predator. +(defmethod relocate metalhead-predator ((obj metalhead-predator) (arg0 int)) + (the-as + metalhead-predator + ((the-as (function process-drawable int process-drawable) (find-parent-method metalhead-predator 7)) obj arg0) + ) + ) + +;; definition for method 115 of type metalhead-predator +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy! metalhead-predator ((obj metalhead-predator)) + "Common method called to initialize the enemy, typically sets up default field values and calls ancillary helper methods" + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-metalhead-predator" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (init-enemy-behaviour-and-stats! obj *metalhead-predator-nav-enemy-info*) + (let ((v1-5 (-> obj nav))) + (set! (-> v1-5 speed-scale) 1.0) + ) + 0 + (set! (-> obj draw lod-set lod 0 dist) 491520.0) + (set! (-> obj draw lod-set lod 1 dist) 573440.0) + (set! (-> obj anim-shuffle) 6) + (set! (-> obj anim-walk) 6) + (set! (-> obj speed-walk) 12288.0) + (set! (-> obj dist-walk-anim) 16179.2) + (set! (-> obj dist-run-anim) 26214.4) + (set! (-> obj anim-run) 7) + (set! (-> obj speed-run) 49152.0) + (set! (-> obj water-anim) -1) + (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x 1228.8 :y 450.56 :z 983.04 :w 614400.0)) + (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x -1228.8 :y 450.56 :z 983.04 :w 614400.0)) + (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd obstacle)) + (set! (-> obj minimap) #f) + 0 + (none) + ) + +;; definition for method 181 of type metalhead-predator +;; WARN: Return type mismatch int vs none. +(defmethod citizen-init! metalhead-predator ((obj metalhead-predator)) + "Initialize [[citizen]] defaults." + (let ((t9-0 (method-of-type citizen-enemy citizen-init!))) + (t9-0 obj) + ) + (setup-masks (-> obj draw) 8 0) + (setup-masks (-> obj draw) 0 4) + (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) + (set! (-> obj draw force-fade) (the-as uint 0)) + (set! (-> obj fade) 0.0) + (set! (-> obj dest-fade) 0.0) + (set! (-> obj curr-node) -1) + (set! (-> obj next-change) 0) + (set! (-> obj miss-amount) 16384.0) + (set-vector! (-> obj draw color-mult) 1.0 1.0 1.0 1.0) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc b/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc index c9f75e8e46..2ed8c69005 100644 --- a/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/pilot-states_REF.gc @@ -845,7 +845,7 @@ (set! (-> v1-4 damage) (-> *FACT-bank* health-default-inc)) ) (combine! sv-16 arg1 self) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-pilot-death (-> sv-16 mode)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/target-pilot_REF.gc b/test/decompiler/reference/jak2/levels/city/common/target-pilot_REF.gc index 9ec8ee2b7d..e0011ca514 100644 --- a/test/decompiler/reference/jak2/levels/city/common/target-pilot_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/target-pilot_REF.gc @@ -84,20 +84,17 @@ ) (('vehicle-hit) (speech-control-method-12 *speech-control* self (if (-> self pilot as-daxter?) - (speech-type speech-type-1 speech-type-3 speech-type-5) - (speech-type speech-type-0 speech-type-5) + (speech-type speech-type-42) + (speech-type speech-type-33) ) ) ) (('vehicle-got-hit) - (speech-control-method-12 - *speech-control* - self - (if (-> self pilot as-daxter?) - (speech-type speech-type-0 speech-type-1 speech-type-3 speech-type-5) - (speech-type speech-type-1 speech-type-5) - ) - ) + (speech-control-method-12 *speech-control* self (if (-> self pilot as-daxter?) + (speech-type speech-type-43) + (speech-type speech-type-34) + ) + ) ) (else (target-standard-event-handler arg0 arg1 arg2 arg3) @@ -218,8 +215,8 @@ (let ((s4-1 (handle->process (-> s5-0 vehicle)))) (when s4-1 (set! (-> s5-0 entity) (-> s4-1 entity)) - (set! (-> s5-0 gun?) (logtest? (-> (the-as vehicle s4-1) info-override flags) 32)) - (set! (-> s5-0 enable-cam-side-shift) (logtest? (-> (the-as vehicle s4-1) info-override flags) 128)) + (set! (-> s5-0 gun?) (logtest? (-> (the-as vehicle s4-1) info flags) 32)) + (set! (-> s5-0 enable-cam-side-shift) (logtest? (-> (the-as vehicle s4-1) info flags) 128)) (send-event (ppointer->process (-> (the-as vehicle s4-1) parent)) 'player-got-on-vehicle-child @@ -350,8 +347,8 @@ ) (when s5-0 (compute-seat-position (the-as vehicle s5-0) (-> self control trans) (-> gp-2 seat-index)) - (set! (-> self control transv quad) (-> (the-as vehicle s5-0) root-override-2 transv quad)) - (quaternion-copy! (-> self control quat) (-> (the-as vehicle s5-0) root-override-2 quat)) + (set! (-> self control transv quad) (-> (the-as vehicle s5-0) root transv quad)) + (quaternion-copy! (-> self control quat) (-> (the-as vehicle s5-0) root quat)) (quaternion-copy! (-> self control quat-for-control) (-> self control quat)) (quaternion-copy! (-> self control dir-targ) (-> self control quat)) (let ((s4-0 (-> self alt-cam-pos))) @@ -481,3 +478,7 @@ 0 (none) ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/common/test-car_REF.gc b/test/decompiler/reference/jak2/levels/city/common/test-car_REF.gc index 9b0fb43680..ae9ba32aa6 100644 --- a/test/decompiler/reference/jak2/levels/city/common/test-car_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/test-car_REF.gc @@ -95,7 +95,7 @@ :seat-count 3 :section-count 4 :rider-stance #x1 - :grab-rail-count #x6 + :grab-rail-count 6 :grab-rail-array (new 'static 'inline-array vehicle-grab-rail-info 6 (new 'static 'vehicle-grab-rail-info :local-pos (new 'static 'inline-array vector 2 @@ -298,7 +298,3 @@ 0 (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/city/common/traffic-engine_REF.gc b/test/decompiler/reference/jak2/levels/city/common/traffic-engine_REF.gc index a1d78a2dd7..7278524b81 100644 --- a/test/decompiler/reference/jak2/levels/city/common/traffic-engine_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/traffic-engine_REF.gc @@ -1696,7 +1696,7 @@ Process is recycled and moved to reserved, if it deactivates." (when (nonzero? (-> a2-0 pilot)) (let ((a2-1 (handle->process (-> a2-0 pilot vehicle)))) (when a2-1 - (set! (-> s5-0 quad) (-> (the-as process-focusable a2-1) root-override root-prim prim-core world-sphere quad)) + (set! (-> s5-0 quad) (-> (the-as process-focusable a2-1) root root-prim prim-core world-sphere quad)) (spatial-hash-method-39 (-> obj object-hash) s5-0 (the-as hash-object-info a2-1)) ) ) @@ -1719,7 +1719,7 @@ Process is recycled and moved to reserved, if it deactivates." (deactivate-object (-> obj citizen-tracker-array) (the-as int s4-0) #f) ) ((begin - (let ((v1-33 (-> (the-as vehicle s3-0) root-override-2))) + (let ((v1-33 (-> (the-as vehicle s3-0) root))) (set! (-> s5-0 quad) (-> v1-33 trans quad)) (set! (-> s5-0 w) (-> v1-33 root-prim prim-core world-sphere w)) ) @@ -1749,7 +1749,7 @@ Process is recycled and moved to reserved, if it deactivates." (deactivate-object (-> obj vehicle-tracker-array) (the-as int s4-1) #f) ) ((begin - (let ((v1-54 (-> (the-as process-focusable s3-1) root-override))) + (let ((v1-54 (-> (the-as process-focusable s3-1) root))) (set! (-> s5-0 quad) (-> v1-54 trans quad)) (set! (-> s5-0 w) (-> v1-54 root-prim prim-core world-sphere w)) ) @@ -2189,7 +2189,7 @@ Process is recycled and moved to reserved, if it deactivates." ) ) (when (and s2-0 (not (focus-test? s2-0 disable dead inactive)) (!= arg0 s2-0)) - (let ((f0-0 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-0 root-override trans)))) + (let ((f0-0 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-0 root trans)))) (when (or (not gp-0) (< f0-0 f30-0)) (set! gp-0 s2-0) (set! f30-0 f0-0) @@ -2221,7 +2221,7 @@ Process is recycled and moved to reserved, if it deactivates." ) ) (when (and s2-1 (not (focus-test? s2-1 disable dead inactive)) (!= arg0 s2-1)) - (let ((f0-1 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-1 root-override trans)))) + (let ((f0-1 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-1 root trans)))) (when (or (not gp-0) (< f0-1 f30-0)) (set! gp-0 s2-1) (set! f30-0 f0-1) @@ -2252,7 +2252,7 @@ Process is recycled and moved to reserved, if it deactivates." ) ) (when (and s2-2 (not (focus-test? s2-2 disable dead inactive)) (!= arg0 s2-2)) - (let ((f0-2 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-2 root-override trans)))) + (let ((f0-2 (vector-vector-xz-distance (-> arg0 root trans) (-> s2-2 root trans)))) (when (or (not gp-0) (< f0-2 f30-0)) (set! gp-0 s2-2) (set! f30-0 f0-2) @@ -2347,7 +2347,7 @@ Process is recycled and moved to reserved, if it deactivates." ) (set! (-> guards guard-idx) (the-as crimson-guard guard)) (set! (-> guard-target-dists guard-idx) - (vector-vector-distance (-> (the-as crimson-guard guard) root-override2 trans) target-pos) + (vector-vector-distance (-> (the-as crimson-guard guard) root trans) target-pos) ) (set! guard-idx (+ guard-idx 1)) (set! (-> (the-as crimson-guard guard) move-index) -1) @@ -2382,7 +2382,7 @@ Process is recycled and moved to reserved, if it deactivates." (dotimes (s2-4 (-> *guard-target-spots* length)) (when (= (-> *guard-status-spots* s2-4) 1) (let* ((a0-53 (vector+! (new 'stack-no-clear 'vector) target-pos (-> *guard-target-spots* s2-4))) - (f0-4 (vector-vector-distance a0-53 (-> crimson-guard root-override2 trans))) + (f0-4 (vector-vector-distance a0-53 (-> crimson-guard root trans))) ) (when (or (= sv-208 -1) (< f0-4 sv-216)) (set! sv-208 s2-4) @@ -2642,7 +2642,7 @@ Process is recycled and moved to reserved, if it deactivates." :shot-count 1 ) :ped-rifle (new 'static 'traffic-guard-type-settings - :target-count #x7 + :target-count 7 :inaccuracy 0.25 :acquire-delay #x12c :shot-delay #x4b @@ -2693,7 +2693,7 @@ Process is recycled and moved to reserved, if it deactivates." :shot-count 1 ) :ped-rifle (new 'static 'traffic-guard-type-settings - :target-count #x7 + :target-count 7 :inaccuracy 0.125 :acquire-delay #x96 :shot-delay #x2d @@ -2775,7 +2775,7 @@ Process is recycled and moved to reserved, if it deactivates." (not (focus-test? (the-as vehicle a3-6) dead inactive)) (logtest? (rigid-body-object-flag alert) (-> (the-as vehicle a3-6) flags)) ) - (let ((t0-13 (-> (the-as vehicle a3-6) info-override guard-type))) + (let ((t0-13 (-> (the-as vehicle a3-6) info guard-type))) (+! (-> obj alert-state guard-type-info-array t0-13 count) 1) ) (when (and (logtest? (rigid-body-object-flag in-pursuit) (-> (the-as vehicle a3-6) flags)) diff --git a/test/decompiler/reference/jak2/levels/city/common/traffic-height-map_REF.gc b/test/decompiler/reference/jak2/levels/city/common/traffic-height-map_REF.gc index bac4a75130..70b67b8bf6 100644 --- a/test/decompiler/reference/jak2/levels/city/common/traffic-height-map_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/traffic-height-map_REF.gc @@ -779,16 +779,16 @@ 0 0 1 - #x7 - #x6 + 7 + 6 3 0 3 4 - #x6 - #x6 + 6 + 6 5 - #x7 + 7 4 0 0 @@ -859,8 +859,8 @@ 0 0 4 - #x9 - #x7 + 9 + 7 3 0 3 @@ -1029,8 +1029,8 @@ 3 2 5 - #x8 - #x9 + 8 + 9 5 0 1 @@ -1103,14 +1103,14 @@ 2 3 3 - #xa - #x6 - #x7 + 10 + 6 + 7 4 0 - #x6 - #xb - #xb + 6 + 11 + 11 4 0 0 @@ -1184,13 +1184,13 @@ 2 0 5 - #x7 - #x6 + 7 + 6 3 0 3 - #x7 - #x8 + 7 + 8 5 0 0 @@ -1247,7 +1247,7 @@ 2 3 5 - #x6 + 6 4 4 2 @@ -1258,8 +1258,8 @@ 1 1 0 - #x9 - #x9 + 9 + 9 4 1 0 @@ -1338,8 +1338,8 @@ 1 0 0 - #x9 - #x8 + 9 + 8 4 3 2 @@ -1585,14 +1585,14 @@ 0 0 3 - #x8 - #x9 - #xa + 8 + 9 + 10 4 0 0 4 - #x7 + 7 0 0 0 @@ -1665,15 +1665,15 @@ 0 0 4 - #x8 - #xb - #xb - #x7 + 8 + 11 + 11 + 7 3 3 - #x8 - #xa - #x6 + 8 + 10 + 6 0 0 0 @@ -1745,14 +1745,14 @@ 0 0 2 - #x7 - #xb - #xb + 7 + 11 + 11 3 3 3 - #x8 - #x9 + 8 + 9 4 0 0 @@ -2140,12 +2140,12 @@ 0 4 5 - #x6 + 6 1 1 1 0 - #x7 + 7 5 0 0 @@ -2225,8 +2225,8 @@ 2 0 4 - #xa - #x8 + 10 + 8 0 0 4 @@ -2299,14 +2299,14 @@ 0 0 0 - #x6 + 6 5 4 0 0 5 - #x9 - #x6 + 9 + 6 0 2 4 @@ -2384,8 +2384,8 @@ 0 0 0 - #x6 - #xa + 6 + 10 0 0 3 @@ -3961,38 +3961,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4041,38 +4041,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4121,38 +4121,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4201,38 +4201,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4281,38 +4281,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4361,38 +4361,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4441,38 +4441,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4521,38 +4521,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4601,38 +4601,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4681,38 +4681,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4761,38 +4761,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4841,38 +4841,38 @@ 0 0 4 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -4921,38 +4921,38 @@ 0 0 4 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5001,38 +5001,38 @@ 0 0 4 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 0 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5081,38 +5081,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5161,38 +5161,38 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 3 1 1 3 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 - #x6 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 0 0 0 @@ -5241,24 +5241,24 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 3 0 0 3 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 0 0 0 @@ -5321,24 +5321,24 @@ 0 0 0 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 3 0 0 3 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 - #x9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 0 0 0 @@ -7394,8 +7394,8 @@ 0 0 4 - #x8 - #x8 + 8 + 8 4 0 0 @@ -7425,7 +7425,7 @@ 0 2 5 - #x6 + 6 3 0 0 @@ -7474,8 +7474,8 @@ 0 0 4 - #x8 - #x8 + 8 + 8 4 0 0 @@ -7504,7 +7504,7 @@ 0 0 4 - #x6 + 6 5 2 0 @@ -8111,7 +8111,7 @@ 0 0 4 - #x7 + 7 2 0 0 @@ -8148,8 +8148,8 @@ 0 0 5 - #x7 - #x7 + 7 + 7 0 0 0 @@ -8191,7 +8191,7 @@ 0 0 5 - #x6 + 6 2 0 0 @@ -8228,8 +8228,8 @@ 0 0 0 - #x6 - #x6 + 6 + 6 0 0 0 @@ -8368,10 +8368,10 @@ 0 4 5 - #x6 - #x6 - #x6 - #x6 + 6 + 6 + 6 + 6 5 0 0 @@ -8447,12 +8447,12 @@ 0 0 4 - #x8 - #xa - #xa - #xa - #xa - #x6 + 8 + 10 + 10 + 10 + 10 + 6 0 0 0 @@ -8527,12 +8527,12 @@ 0 0 5 - #x7 - #x9 - #x9 - #x9 - #x9 - #x6 + 7 + 9 + 9 + 9 + 9 + 6 0 0 0 @@ -8972,7 +8972,3 @@ ) ) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/city/common/transport_REF.gc b/test/decompiler/reference/jak2/levels/city/common/transport_REF.gc index 5d6e81a33f..e89082a52b 100644 --- a/test/decompiler/reference/jak2/levels/city/common/transport_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/transport_REF.gc @@ -70,9 +70,9 @@ ) ) ) - (vector-matrix*! (-> obj root-override trans) (new 'static 'vector :y 8601.6 :z 12288.0 :w 1.0) a2-0) + (vector-matrix*! (-> obj root trans) (new 'static 'vector :y 8601.6 :z 12288.0 :w 1.0) a2-0) ) - (quaternion-copy! (-> obj root-override quat) (-> (the-as process-drawable s5-0) root quat)) + (quaternion-copy! (-> obj root quat) (-> (the-as process-drawable s5-0) root quat)) ) ) 0 @@ -94,12 +94,7 @@ (s5-1 (new 'stack-no-clear 'vector)) ) (set! (-> s5-1 quad) (-> (get-trans (the-as process-focusable gp-0) 3) quad)) - (turret-control-method-11 - (-> self turret) - self - s5-1 - (-> (the-as process-focusable gp-0) root-override transv) - ) + (turret-control-method-11 (-> self turret) self s5-1 (-> (the-as process-focusable gp-0) root transv)) ) ) (none) @@ -132,7 +127,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -167,8 +162,8 @@ (set-info (-> self turret) arg0) (logior! (-> self turret flags) (turret-flag targetting-laser no-rot-y-clamp)) (vehicle-turret-method-29 self) - (vector-identity! (-> self root-override scale)) - (vector-float*! (-> self root-override scale) (-> self root-override scale) 2.0) + (vector-identity! (-> self root scale)) + (vector-float*! (-> self root scale) (-> self root scale) 2.0) (ctywide-entity-hack) (initialize-skeleton self @@ -330,13 +325,13 @@ ;; definition for method 35 of type transport ;; WARN: Return type mismatch int vs none. (defmethod transport-method-35 transport ((obj transport)) - (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root-override transv y)) 0.0 122880.0)) - (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root-override trans y) (-> obj y-dest)) 143360.0 20480.0)) + (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root transv y)) 0.0 122880.0)) + (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root trans y) (-> obj y-dest)) 143360.0 20480.0)) (a0-3 (static-sound-spec "transport" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-3 volume) (the int (* 1024.0 f0-4))) (set! (-> a0-3 pitch-mod) (the int (* 1524.0 f30-0))) - (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root trans)) ) 0 (none) @@ -372,10 +367,10 @@ (none) ) :post (behavior () - (set! (-> self root-override transv y) (* 2.0 (- (-> self y-dest) (-> self root-override trans y)))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) - (if (< (fabs (- (-> self root-override trans y) (-> self y-dest))) 409.6) + (set! (-> self root transv y) (* 2.0 (- (-> self y-dest) (-> self root trans y)))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) + (if (< (fabs (- (-> self root trans y) (-> self y-dest))) 409.6) (go-virtual idle) ) (transport-method-35 self) @@ -390,7 +385,7 @@ :event transport-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (set! (-> self last-guard-spawn-time) 0) 0 (none) @@ -469,7 +464,7 @@ :event transport-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (none) ) :code (behavior () @@ -489,11 +484,11 @@ ) :post (behavior () (transport-method-35 self) - (+! (-> self root-override transv y) (* 40960.0 (-> self clock seconds-per-frame))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) + (+! (-> self root transv y) (* 40960.0 (-> self clock seconds-per-frame))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) (if (and (not (logtest? (-> self draw status) (draw-control-status on-screen))) - (< 163840.0 (- (-> self root-override trans y) (-> self y-dest))) + (< 163840.0 (- (-> self root trans y) (-> self y-dest))) ) (go-virtual die-fast) ) @@ -519,9 +514,9 @@ (set! (-> s5-0 flags) (traffic-spawn-flags)) (set! (-> s5-0 guard-type) (the-as uint 7)) (vector-reset! (-> s5-0 velocity)) - (set! (-> s5-0 position quad) (-> obj root-override trans quad)) + (set! (-> s5-0 position quad) (-> obj root trans quad)) (set! (-> s5-0 position y) (+ 8192.0 (-> s5-0 position y))) - (quaternion-rotate-local-y! (-> s5-0 rotation) (-> obj root-override quat) 32768.0) + (quaternion-rotate-local-y! (-> s5-0 rotation) (-> obj root quat) 32768.0) (send-event *traffic-manager* 'activate-object s5-0) (when (-> s5-0 proc) (set! (-> obj spawn-side) (- 1 (the-as int (-> obj spawn-side)))) @@ -591,7 +586,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -610,9 +605,9 @@ ;; WARN: Return type mismatch object vs none. (defbehavior transport-init-by-other transport ((arg0 transport-params)) (transport-method-31 self) - (set! (-> self root-override trans quad) (-> arg0 spawn-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> arg0 quat)) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> arg0 spawn-pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (vector-identity! (-> self root scale)) (set! (-> self max-guard) (-> arg0 max-guard)) (set! (-> self count-guard) (the-as uint 0)) (set! (-> self nav-mesh) (-> arg0 nav-mesh)) @@ -623,8 +618,8 @@ (the-as pair 0) ) (transport-method-32 self) - (set! (-> self y-dest) (-> self root-override trans y)) - (set! (-> self root-override trans y) (+ 163840.0 (-> self root-override trans y))) + (set! (-> self y-dest) (-> self root trans y)) + (set! (-> self root trans y) (+ 163840.0 (-> self root trans y))) (set! (-> self spawn?) #t) (set! (-> self leave-time) 0) (if (-> arg0 turret?) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-control_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-control_REF.gc index 1f7616e9ae..a75667ca05 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-control_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-control_REF.gc @@ -354,12 +354,12 @@ 0 (set! sv-16 arg0) (set! sv-20 arg3) - (set! sv-24 (-> arg2 info-override info inv-mass)) + (set! sv-24 (-> arg2 info info inv-mass)) (let ((gp-0 (new 'stack-no-clear 'inline-array 'vector 16))) (set! (-> gp-0 15 x) (+ (-> obj target-speed) (-> obj target-speed-offset))) (set! (-> gp-0 1 quad) (-> arg1 quad)) - (set! (-> gp-0 0 quad) (-> arg2 root-override-2 trans quad)) - (vector-z-quaternion! (-> gp-0 3) (-> arg2 root-override-2 quat)) + (set! (-> gp-0 0 quad) (-> arg2 root trans quad)) + (vector-z-quaternion! (-> gp-0 3) (-> arg2 root quat)) (vector-reset! (-> gp-0 2)) (cond ((logtest? (-> obj flags) (vehicle-controller-flag on-straightaway)) @@ -426,7 +426,7 @@ ) ) (let ((s3-1 (new 'stack-no-clear 'array 'collide-shape 12)) - (f30-1 (-> arg2 root-override-2 root-prim prim-core world-sphere w)) + (f30-1 (-> arg2 root root-prim prim-core world-sphere w)) ) (countdown (s4-1 (fill-actor-list-for-line-sphere (-> obj traffic object-hash) @@ -448,8 +448,8 @@ (not (logtest? (-> v1-70 flags) (rigid-body-object-flag dead))) (nonzero? (-> v1-70 flight-level-index)) ) - (set! (-> gp-0 10 quad) (-> v1-70 root-override-2 trans quad)) - (set! (-> gp-0 11 quad) (-> v1-70 root-override-2 transv quad)) + (set! (-> gp-0 10 quad) (-> v1-70 root trans quad)) + (set! (-> gp-0 11 quad) (-> v1-70 root transv quad)) (vector-! (-> gp-0 12) (-> gp-0 0) (-> gp-0 10)) (.lvf vf1 (&-> (-> gp-0 12) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) @@ -461,7 +461,7 @@ (let ((f1-12 a0-35)) (vector-float*! (-> gp-0 14) (-> gp-0 12) (/ 1.0 (sqrtf f1-12))) (when #t - (let* ((f0-28 (+ f30-1 (-> v1-70 root-override-2 root-prim prim-core world-sphere w))) + (let* ((f0-28 (+ f30-1 (-> v1-70 root root-prim prim-core world-sphere w))) (f28-0 (* f0-28 f0-28)) ) (let ((f0-31 (fmax 0.0 (/ (- f28-0 f1-12) f28-0)))) @@ -473,7 +473,7 @@ (vector-float*! (-> gp-0 6) (-> gp-0 14) - (* -0.5 (/ sv-24 (+ sv-24 (-> v1-70 info-override info inv-mass))) sv-20 f1-14) + (* -0.5 (/ sv-24 (+ sv-24 (-> v1-70 info info inv-mass))) sv-20 f1-14) ) (vector+! (-> gp-0 2) (-> gp-0 2) (-> gp-0 6)) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-effects_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-effects_REF.gc index baed6e3e09..6dce5b8b45 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-effects_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-effects_REF.gc @@ -23,7 +23,7 @@ (set! (-> obj scrape-sound-id) (new-sound-id)) ) (sound-play-by-name - (-> obj info-override scrape-sound) + (-> obj info scrape-sound) (-> obj scrape-sound-id) (the int (* 1024.0 (-> obj scrape-sound-envelope))) 0 @@ -48,18 +48,17 @@ ) (let* ((f30-0 (fabs (* (-> obj engine-thrust) (-> obj power-level) (-> obj force-scale)))) (f28-0 (* (-> obj engine-sound-envelope) (+ 0.6 (* 0.4 f30-0)))) - (f26-0 (doppler-pitch-shift (-> obj root-override-2 trans) (-> obj root-override-2 transv))) - (f0-22 (+ (-> obj info-override engine-pitch-offset) - (* (-> obj info-override engine-pitch-scale) f30-0) - (* (-> obj info-override engine-pitch-mod-amp) - (sin (* 109.22667 (the float (- (current-time) (-> obj state-time))))) - ) - f26-0 - ) - ) + (f26-0 (doppler-pitch-shift (-> obj root trans) (-> obj root transv))) + (f0-22 + (+ (-> obj info engine-pitch-offset) + (* (-> obj info engine-pitch-scale) f30-0) + (* (-> obj info engine-pitch-mod-amp) (sin (* 109.22667 (the float (- (current-time) (-> obj state-time)))))) + f26-0 + ) + ) (a0-9 (static-sound-spec "vehicle-engine" :volume 0.0 :mask (pitch reg0))) ) - (set! (-> a0-9 sound-name) (-> obj info-override engine-sound)) + (set! (-> a0-9 sound-name) (-> obj info engine-sound)) (set! (-> obj engine-sound-factor) f30-0) (cond (#f @@ -84,7 +83,7 @@ (the-as rigid-body-object-flag (logclear (-> obj flags) (rigid-body-object-flag idle-sound))) ) ) - (sound-play "accel-to-steady" :id (-> obj engine-sound-id) :position (-> obj root-override-2 trans)) + (sound-play "accel-to-steady" :id (-> obj engine-sound-id) :position (-> obj root trans)) ) (else (format *stdcon* "decel-to-idle id ~d~%" (-> obj engine-sound-id)) @@ -96,7 +95,7 @@ (the-as rigid-body-object-flag (logior (rigid-body-object-flag idle-sound) (-> obj flags))) ) ) - (sound-play "decel-to-idle" :id (-> obj engine-sound-id) :position (-> obj root-override-2 trans)) + (sound-play "decel-to-idle" :id (-> obj engine-sound-id) :position (-> obj root trans)) ) ) ) @@ -104,9 +103,9 @@ (else (set! (-> a0-9 volume) (the int (* 1024.0 f28-0))) (set! (-> a0-9 pitch-mod) (the int (* 1524.0 f0-22))) - (set! (-> a0-9 reg 0) (the-as uint (-> obj info-override engine-sound-select))) + (set! (-> a0-9 reg 0) (the-as uint (-> obj info engine-sound-select))) (set! (-> a0-9 reg 1) (the-as uint (the int (* 127.0 (-> obj hit-points))))) - (sound-play-by-spec a0-9 (-> obj engine-sound-id) (-> obj root-override-2 trans)) + (sound-play-by-spec a0-9 (-> obj engine-sound-id) (-> obj root trans)) ) ) ) @@ -141,7 +140,7 @@ (f0-38 0.0) ) (sound-play-by-name - (-> obj info-override thrust-sound) + (-> obj info thrust-sound) (-> obj thrust-sound-id) (the int (* 1024.0 f1-25)) (the int (* 1524.0 f0-38)) @@ -238,7 +237,7 @@ (s4-1 (* arg3 f0-0)) (s0-0 (fmin (* arg2 f0-0) (* 0.5 s4-1))) (s3-1 (new 'stack-no-clear 'inline-array 'vehicle-control-point 3)) - (s2-0 (-> obj info-override)) + (s2-0 (-> obj info)) ) (let ((a1-2 (-> s3-1 0 normal))) (let ((v1-2 arg0)) @@ -264,7 +263,7 @@ (set! (-> v1-3 local-pos w) f0-5) ) 0 - (let ((f28-0 (/ s4-1 (-> obj info-override thruster-flame-length)))) + (let ((f28-0 (/ s4-1 (-> obj info thruster-flame-length)))) (set! (-> s3-1 2 local-pos y) (rand-vu-float-range 0.0 64.0)) (set! (-> s3-1 2 local-pos w) (* (-> obj fog-fade) (+ (* 16.0 f28-0) (* 4.0 (rand-vu))))) ) @@ -369,15 +368,15 @@ ) (set-vector! (-> s5-0 0 vector 1) 0.0 0.0 -1.0 1.0) (vector-rotate*! (-> s5-0 0 vector 1) (-> s5-0 0 vector 1) (-> s5-0 1)) - (set! (-> obj fog-fade) (calc-fade-from-fog (-> obj root-override-2 trans))) + (set! (-> obj fog-fade) (calc-fade-from-fog (-> obj root trans))) (let ((f30-1 (* (-> obj fog-fade) (-> obj lights-factor)))) (when (< 0.0 f30-1) (let ((s4-0 (new 'stack-no-clear 'sprite-glow-data)) (s3-0 *vehicle-headlight-glow-template*) ) - (dotimes (s2-0 (-> obj info-override headlight-count)) + (dotimes (s2-0 (-> obj info headlight-count)) (quad-copy! (the-as pointer s4-0) (the-as pointer s3-0) 4) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override headlight-local-pos s2-0) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info headlight-local-pos s2-0) (-> s5-0 1)) (let* ((v1-44 s4-0) (a1-6 (-> s5-0 0)) (f0-14 (-> v1-44 position w)) @@ -410,8 +409,8 @@ ) (let ((s4-1 (new 'stack-no-clear 'sprite-glow-data))) (quad-copy! (the-as pointer s4-1) (the-as pointer *vehicle-taillight-glow-template*) 4) - (dotimes (s3-1 (-> obj info-override taillight-count)) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override taillight-local-pos s3-1) (-> s5-0 1)) + (dotimes (s3-1 (-> obj info taillight-count)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info taillight-local-pos s3-1) (-> s5-0 1)) (let* ((v1-66 s4-1) (a1-18 (-> s5-0 0)) (f0-28 (-> v1-66 position w)) @@ -429,17 +428,16 @@ ) ) (when (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics)) - (let* ((f30-2 (fmax 0.0 (* (-> obj info-override thruster-flame-length) - (-> obj power-level) - (-> obj force-scale) - (-> obj engine-thrust) - ) - ) - ) - (f28-3 (fmin (-> obj info-override thruster-flame-width) f30-2)) + (let* ((f30-2 + (fmax + 0.0 + (* (-> obj info thruster-flame-length) (-> obj power-level) (-> obj force-scale) (-> obj engine-thrust)) + ) + ) + (f28-3 (fmin (-> obj info thruster-flame-width) f30-2)) ) (dotimes (s4-2 2) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override thruster-local-pos s4-2) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info thruster-local-pos s4-2) (-> s5-0 1)) (draw-thruster obj (the-as vector (-> s5-0 0)) (-> s5-0 0 vector 1) f28-3 f30-2) ) ) @@ -456,23 +454,23 @@ ) (let ((s4-3 (-> *part-id-table* 776))) (dotimes (s3-2 2) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override exhaust-local-pos s3-2) (-> s5-0 1)) - (vector-rotate*! (-> s5-0 0 vector 1) (-> obj info-override exhaust-local-dir s3-2) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info exhaust-local-pos s3-2) (-> s5-0 1)) + (vector-rotate*! (-> s5-0 0 vector 1) (-> obj info exhaust-local-dir s3-2) (-> s5-0 1)) (vector+float*! - (-> obj info-override part-vel) + (-> obj info part-vel) (-> obj rbody state lin-velocity) (-> s5-0 0 vector 1) - (* 0.2 (-> obj info-override max-engine-thrust) (+ 0.5 (-> obj engine-power-factor))) + (* 0.2 (-> obj info max-engine-thrust) (+ 0.5 (-> obj engine-power-factor))) ) - (let ((v1-117 (-> obj info-override part-vel)) - (a0-45 (-> obj info-override part-vel)) + (let ((v1-117 (-> obj info part-vel)) + (a0-45 (-> obj info part-vel)) (f0-46 300.0) ) (vector-float*! v1-117 a0-45 (/ 1.0 f0-46)) ) (set! (-> s4-3 birthaccum) (the-as float (-> obj exhaust-part-accum s3-2))) (let ((t9-25 sp-launch-particles-var) - (a0-46 (-> obj info-override particle-system-2d)) + (a0-46 (-> obj info particle-system-2d)) (a1-34 s4-3) (a2-14 *launch-matrix*) ) @@ -520,19 +518,19 @@ (when sv-272 (let ((s3-3 #f)) (dotimes (s4-4 2) - (vector-rotate*! (-> s5-0 0 vector 2) (-> obj info-override smoke-local-vel s4-4) (-> s5-0 1)) + (vector-rotate*! (-> s5-0 0 vector 2) (-> obj info smoke-local-vel s4-4) (-> s5-0 1)) (vector+! (-> s5-0 0 vector 2) (-> s5-0 0 vector 2) (-> obj rbody state lin-velocity)) (vector+float*! (-> s5-0 0 vector 2) (-> s5-0 0 vector 2) (-> s5-0 0 trans) (* 24576.0 (rand-vu))) - (let ((v1-152 (-> obj info-override part-vel)) + (let ((v1-152 (-> obj info part-vel)) (a0-54 (-> s5-0 0 vector 2)) (f0-63 300.0) ) (vector-float*! v1-152 a0-54 (/ 1.0 f0-63)) ) - (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info-override smoke-local-pos s4-4) (-> s5-0 1)) + (vector-matrix*! (the-as vector (-> s5-0 0)) (-> obj info smoke-local-pos s4-4) (-> s5-0 1)) (when (and sv-276 (< (rand-vu) 0.005)) (let ((t9-37 sp-launch-particles-var) - (a0-56 (-> obj info-override particle-system-2d)) + (a0-56 (-> obj info particle-system-2d)) (a1-44 sv-276) (a2-17 *launch-matrix*) ) @@ -550,7 +548,7 @@ ) (set! (-> sv-272 birthaccum) (the-as float (-> obj smoke-part-accum s4-4))) (let ((t9-38 sp-launch-particles-var) - (a0-57 (-> obj info-override particle-system-2d)) + (a0-57 (-> obj info particle-system-2d)) (a1-45 sv-272) (a2-18 *launch-matrix*) ) @@ -575,7 +573,7 @@ (when (>= (-> obj scrape-sound-envelope) 0.75) (let ((a1-47 (-> *part-id-table* 773)) (t9-40 sp-launch-particles-var) - (a0-60 (-> obj info-override particle-system-2d)) + (a0-60 (-> obj info particle-system-2d)) (a2-20 *launch-matrix*) ) (set! (-> a2-20 trans quad) (-> obj impact-pos quad)) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-guard_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-guard_REF.gc index 2a93b82ca9..96c28ba458 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-guard_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-guard_REF.gc @@ -774,9 +774,9 @@ (set! (-> arg0 target) (the-as target s5-0)) (when s5-0 (set! (-> arg0 tpos quad) (-> (the-as process-drawable s5-0) root trans quad)) - (set! (-> arg0 spos quad) (-> obj root-override-2 trans quad)) + (set! (-> arg0 spos quad) (-> obj root trans quad)) (set! (-> arg0 tvel quad) (-> (the-as process-drawable s5-0) root transv quad)) - (set! (-> arg0 svel quad) (-> obj root-override-2 transv quad)) + (set! (-> arg0 svel quad) (-> obj root transv quad)) (vector-normalize-copy! (-> arg0 tdir) (-> arg0 tvel) 1.0) (vector-normalize-copy! (-> arg0 sdir) (-> arg0 svel) 1.0) (set! (-> arg0 tpos y) (+ 4096.0 (-> arg0 tpos y))) @@ -833,7 +833,7 @@ (cond ((< -12288.0 (- (-> arg0 tpos y) (-> arg0 spos y))) (logior! (-> obj controller flags) (vehicle-controller-flag ignore-others no-slowing-for-turns)) - (let* ((f0-9 (* 2.0 (-> obj info-override max-xz-speed))) + (let* ((f0-9 (* 2.0 (-> obj info max-xz-speed))) (f1-8 (fmax 0.0 (vector-dot (-> arg0 sdir) (-> arg0 to-target-dir)))) (f0-10 (* f0-9 (* f1-8 f1-8))) ) @@ -842,8 +842,7 @@ ) (else (logclear! (-> obj controller flags) (vehicle-controller-flag ignore-others no-slowing-for-turns)) - (let ((f0-13 (* (-> obj info-override max-xz-speed) (fmax 0.0 (vector-dot (-> arg0 sdir) (-> arg0 to-target-dir))))) - ) + (let ((f0-13 (* (-> obj info max-xz-speed) (fmax 0.0 (vector-dot (-> arg0 sdir) (-> arg0 to-target-dir)))))) (+! (-> obj controller target-speed) f0-13) ) ) @@ -864,7 +863,7 @@ (cond ((handle->process (-> obj pursuit-target)) (let ((v1-3 (new 'stack-no-clear 'vehicle-control-point))) - (set! (-> v1-3 local-pos quad) (-> obj root-override-2 trans quad)) + (set! (-> v1-3 local-pos quad) (-> obj root trans quad)) (let ((v1-4 (traffic-engine-method-49 (-> obj controller traffic) (-> v1-3 local-pos) @@ -921,7 +920,7 @@ (#f (let ((s5-0 (new 'stack-no-clear 'traj3d-params))) (let ((f0-2 (+ 0.5 (* 0.5 (rand-vu))))) - (set! (-> s5-0 src quad) (-> obj root-override-2 trans quad)) + (set! (-> s5-0 src quad) (-> obj root trans quad)) (vector+float*! (-> s5-0 dest) arg0 arg1 f0-2) ) (set! (-> s5-0 initial-tilt) 8192.0) @@ -946,7 +945,7 @@ (spawn-projectile vehicle-grenade a1-1 obj *default-dead-pool*) ) (let ((a1-2 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-2 sphere quad) (-> obj root-override-2 trans quad)) + (set! (-> a1-2 sphere quad) (-> obj root trans quad)) (set! (-> a1-2 sphere r) 40960.0) (set! (-> a1-2 velocity quad) (-> s5-0 initial-velocity quad)) (set! (-> a1-2 notify-radius) 122880.0) @@ -962,7 +961,7 @@ ) (else (let ((s5-1 (new 'stack-no-clear 'turret-unknown-stack-structure2))) - (set! (-> s5-1 mat-1 quad 0) (-> obj root-override-2 trans quad)) + (set! (-> s5-1 mat-1 quad 0) (-> obj root trans quad)) (vector-! (-> s5-1 mat-1 vector 1) arg0 (the-as vector (-> s5-1 mat-1))) (vector-normalize! (-> s5-1 mat-1 vector 1) 1.0) (set! (-> s5-1 proj-params ent) (-> obj entity)) @@ -1017,7 +1016,7 @@ ) ) (else - (if (and (< (* 49152.0 (-> obj info-override info mass)) (-> s5-1 trans x)) + (if (and (< (* 49152.0 (-> obj info info mass)) (-> s5-1 trans x)) (logtest? (-> a1-2 mask) (process-mask target)) ) (vehicle-method-134 obj a1-2) @@ -1056,7 +1055,7 @@ (set! (-> obj flags) (the-as rigid-body-object-flag (logclear (-> obj flags) (rigid-body-object-flag persistent alert in-pursuit))) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-2)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-5)) (vehicle-method-109 obj) (go (method-of-object obj active)) ) @@ -1095,7 +1094,7 @@ (s4-0 (new 'stack-no-clear 'inline-array 'vector 5)) ) (set! (-> s4-0 4 x) -10000000000000000000000000000000000000.0) - (set! (-> s4-0 3 quad) (-> arg1 root-override-2 trans quad)) + (set! (-> s4-0 3 quad) (-> arg1 root trans quad)) (vector-! (-> s4-0 0) (-> s4-0 3) (the-as vector (&-> arg1 stack 896))) (vector-normalize! (-> s4-0 0) 1.0) (dotimes (s3-0 (-> s5-0 branch-count)) @@ -1150,7 +1149,7 @@ (t9-0 obj) ) (set! (-> obj turret guard-settings) - (get-traffic-guard-type-settings (-> obj controller traffic) (the-as int (-> obj info-override guard-type))) + (get-traffic-guard-type-settings (-> obj controller traffic) (the-as int (-> obj info guard-type))) ) (none) ) @@ -1211,7 +1210,7 @@ (init-vf0-vector) (and (logtest? (rigid-body-object-flag target-in-sight) (-> obj flags)) (or (and (not (logtest? (focus-status pilot) (-> arg0 target focus-status))) (< (-> arg0 dist) 184320.0)) - (and (< (-> arg0 tpos y) (+ -16384.0 (-> obj root-override-2 trans y))) + (and (< (-> arg0 tpos y) (+ -16384.0 (-> obj root trans y))) (begin (.lvf vf1 (&-> (-> arg0 tvel) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) @@ -1249,7 +1248,7 @@ (f28-0 0.0) ) (when (and v1-9 (logtest? (rigid-body-object-flag target-in-sight) (-> obj flags))) - (vector-! s5-0 (-> (the-as process-drawable v1-9) root trans) (-> obj root-override-2 trans)) + (vector-! s5-0 (-> (the-as process-drawable v1-9) root trans) (-> obj root trans)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (if (< (vector-dot s3-0 s5-0) (cos 2730.6667)) @@ -1277,12 +1276,12 @@ (if (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) (rigid-body-object-method-38 obj) ) - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (vehicle-controller-method-18 (-> obj controller) (-> obj target-acceleration) - (-> obj root-override-2 transv) + (-> obj root transv) obj (/ 1.0 (-> pp clock seconds-per-frame)) ) @@ -1291,7 +1290,7 @@ (vehicle-method-106 obj) (when (not (logtest? (rigid-body-object-flag in-pursuit) (-> obj flags))) (if (not (logtest? (-> obj target-flags) (turret-flag aiming))) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-2)) ) (go (method-of-object obj active)) ) @@ -1427,7 +1426,7 @@ (logior! (-> self flags) (rigid-body-object-flag persistent)) (go-virtual hostile) ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-2)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-4)) (if (or (>= (- (current-time) (-> self state-time)) (seconds 8)) (let ((f0-0 409600.0)) (< (* f0-0 f0-0) (-> self player-dist2)) ) @@ -1436,7 +1435,7 @@ ) ) (else - (speech-control-method-12 *speech-control* self (speech-type speech-type-0)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-1)) ) ) (check-player-get-on self) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-h_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-h_REF.gc index 5c3ac68517..fb4168ad4d 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-h_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-h_REF.gc @@ -560,8 +560,8 @@ ;; definition of type vehicle (deftype vehicle (rigid-body-object) - ((self-override vehicle :offset 32) - (info-override rigid-body-vehicle-constants :offset 204) + ((self vehicle :override) + (info rigid-body-vehicle-constants :override) (pad uint32 2 :offset-assert 272) (vehicle-jkhn1b23jn1 int64 :offset-assert 280) (controls vehicle-controls :inline :offset-assert 288) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-physics_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-physics_REF.gc index 3960110fbf..ca1254fbb6 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-physics_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-physics_REF.gc @@ -6,7 +6,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-99 vehicle ((obj vehicle) (arg0 float)) (let ((s4-0 (new 'stack-no-clear 'vehicle-grab-rail-info)) - (s3-0 (-> obj root-override-2 root-prim)) + (s3-0 (-> obj root root-prim)) (s2-0 1) ) (when (< (-> obj rbody state position y) (+ (-> obj water-height) (-> s3-0 local-sphere w))) @@ -40,7 +40,7 @@ (f0-8 (* f0-7 (* f1-8 f1-8))) (f1-11 4096.0) (f1-13 (* f1-11 f1-11)) - (f0-10 (fmin (* f0-8 (/ 1.0 f1-13)) (/ (-> obj info-override info mass) (* 2.0 arg0 (the float s2-0))))) + (f0-10 (fmin (* f0-8 (/ 1.0 f1-13)) (/ (-> obj info info mass) (* 2.0 arg0 (the float s2-0))))) ) (vector-float*! (-> s4-0 local-pos 1) (-> s4-0 normal) (* -1.0 f0-10)) ) @@ -55,7 +55,7 @@ (f1-19 4096.0) (f2-13 4096.0) (f1-20 (* f1-19 (* f2-13 f2-13))) - (f0-16 (* f0-12 (/ 1.0 f1-20) (-> obj info-override buoyancy-factor) f30-0 (-> s0-0 world-sphere w))) + (f0-16 (* f0-12 (/ 1.0 f1-20) (-> obj info buoyancy-factor) f30-0 (-> s0-0 world-sphere w))) (f1-25 (-> s0-0 world-sphere w)) ) (set! (-> s4-0 local-pos 1 y) (* f0-16 (* f1-25 f1-25))) @@ -193,7 +193,7 @@ (+! (-> obj physics-counter) 1) (let ((s3-0 (-> obj rbody))) (mem-copy! (the-as pointer (-> arg1 mat)) (the-as pointer (-> s3-0 state matrix)) 64) - (let* ((f28-0 (* -1.0 (-> obj controls steering) (-> obj info-override tire-steering-angle))) + (let* ((f28-0 (* -1.0 (-> obj controls steering) (-> obj info tire-steering-angle))) (f30-0 (cos f28-0)) (f0-2 (sin f28-0)) ) @@ -206,14 +206,14 @@ (logclear! (-> obj flags) (rigid-body-object-flag on-ground on-flight-level)) (vector-reset! (-> arg1 ground-normal)) (set! (-> arg1 ground-normal y) 1.0) - (let ((f30-1 (-> obj info-override ground-probe-distance))) + (let ((f30-1 (-> obj info ground-probe-distance))) (let ((s2-0 (new 'stack-no-clear 'collide-query))) (vector-reset! (-> arg1 lift-dir)) (set! (-> arg1 lift-dir y) -1.0) (set! (-> arg1 speed-factor) (fmax 0.0 (fmin 0.9 (* 0.000008138021 (+ -40960.0 (vector-length (-> s3-0 state lin-velocity)))))) ) - (when (logtest? (-> obj info-override flags) 1) + (when (logtest? (-> obj info flags) 1) (vector-float*! (-> arg1 tmp) (-> arg1 mat vector 1) -1.0) (let ((t9-4 vector-lerp!) (a0-7 (-> arg1 lift-dir)) @@ -245,8 +245,8 @@ (set! (-> v1-28 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nopilot #x1)) (set! (-> v1-28 action-mask) (collide-action solid)) ) - (dotimes (s1-0 (-> obj info-override lift-thruster-count)) - (let ((v1-31 (-> obj info-override lift-thruster-array s1-0)) + (dotimes (s1-0 (-> obj info lift-thruster-count)) + (let ((v1-31 (-> obj info lift-thruster-array s1-0)) (s0-0 (-> arg1 probe-work-array s1-0)) ) (vector-reset! (-> s0-0 tire-force)) @@ -256,7 +256,7 @@ (let ((a1-9 (-> s0-0 probe-pos))) (let ((v1-34 (-> s0-0 world-pos))) (let ((a0-22 (-> arg1 mat vector 1))) - (let ((a2-6 (-> obj info-override ground-probe-offset))) + (let ((a2-6 (-> obj info ground-probe-offset))) (.mov vf7 a2-6) ) (.lvf vf5 (&-> a0-22 quad)) @@ -313,7 +313,7 @@ (set! (-> obj roll-thrust 0) 0.0) (set! (-> obj roll-thrust 1) 0.0) (when (>= 1 (-> obj force-level)) - (dotimes (s2-1 (-> obj info-override lift-thruster-count)) + (dotimes (s2-1 (-> obj info lift-thruster-count)) (let ((s1-1 (-> arg1 probe-work-array s2-1))) (set! (-> arg1 world-pos quad) (-> s1-1 world-pos quad)) (set! (-> arg1 velocity quad) (-> s1-1 velocity quad)) @@ -343,9 +343,9 @@ ) (let* ((f0-37 (* -1.0 (-> obj force-scale) - (-> obj info-override inv-lift-thruster-count) - (-> obj info-override info mass) - (-> obj info-override extra gravity) + (-> obj info inv-lift-thruster-count) + (-> obj info info mass) + (-> obj info extra gravity) (+ 1.0 (* 2.0 (the float (-> obj flight-level-index)))) ) ) @@ -383,10 +383,10 @@ (and (> (-> obj flight-level-index) 0) (< f0-40 0.0) (< (-> arg1 velocity y) 0.0)) ) (vector-reset! (-> arg1 force)) - (let ((f0-43 (* -0.25 (-> obj info-override inv-lift-thruster-count))) + (let ((f0-43 (* -0.25 (-> obj info inv-lift-thruster-count))) (f1-28 arg0) ) - (set! (-> arg1 force y) (* f0-43 (/ 1.0 f1-28) (-> obj info-override info mass) (-> arg1 velocity y))) + (set! (-> arg1 force y) (* f0-43 (/ 1.0 f1-28) (-> obj info info mass) (-> arg1 velocity y))) ) (let ((v1-140 s3-0) (a1-16 (-> arg1 world-pos)) @@ -401,9 +401,7 @@ (let* ((f1-36 (fmax 4096.0 (fmin (- (-> s1-1 probe-pos y) (-> s1-1 ground-pos y)) f30-1))) (f28-2 (- 1.0 (/ (+ -4096.0 f1-36) (+ -4096.0 f30-1)))) ) - (if (>= (-> obj info-override cos-ground-effect-angle) - (vector-dot (-> s1-1 ground-normal) (-> arg1 mat vector 1)) - ) + (if (>= (-> obj info cos-ground-effect-angle) (vector-dot (-> s1-1 ground-normal) (-> arg1 mat vector 1))) (set! f28-2 0.0) ) (set! (-> arg1 tmp y) 0.0) @@ -423,8 +421,8 @@ ) (vector-float*! v1-155 a0-55 (* f0-58 (/ 1.0 f1-41) - (-> obj info-override inv-lift-thruster-count) - (-> obj info-override info mass) + (-> obj info inv-lift-thruster-count) + (-> obj info info mass) (fmax 0.0 (- (vector-dot (-> arg1 velocity) (-> arg1 normal)))) ) ) @@ -436,16 +434,15 @@ (rigid-body-method-18 (-> v1-157 state) a1-28 a2-13) ) (vector+! (-> s1-1 tire-force) (-> s1-1 tire-force) (-> arg1 force)) - (let ((f0-72 (* 8.0 - (-> obj info-override info mass) - (-> obj info-override extra gravity) - (-> obj info-override inv-lift-thruster-count) - (+ (* (-> obj info-override spring-lift-factor) f28-2) - (* 0.75 (-> obj jump-thrust) (-> obj info-override jump-thrust-factor)) - ) - (- (+ 1.0 (* 2.0 (rand-vu) (-> obj power-fluctuation-factor))) (-> obj power-fluctuation-factor)) - ) - ) + (let ((f0-72 + (* 8.0 + (-> obj info info mass) + (-> obj info extra gravity) + (-> obj info inv-lift-thruster-count) + (+ (* (-> obj info spring-lift-factor) f28-2) (* 0.75 (-> obj jump-thrust) (-> obj info jump-thrust-factor))) + (- (+ 1.0 (* 2.0 (rand-vu) (-> obj power-fluctuation-factor))) (-> obj power-fluctuation-factor)) + ) + ) ) (+! (-> obj lift-thrust s2-1) f0-72) (vector-float*! (-> arg1 force) (-> arg1 lift-dir) (* -1.0 f0-72)) @@ -458,16 +455,16 @@ (rigid-body-method-18 (-> v1-176 state) a1-32 a2-14) ) (vector+! (-> s1-1 tire-force) (-> s1-1 tire-force) (-> arg1 force)) - (when (and (< 0.0 (-> obj info-override tire-friction-factor)) (let ((f0-75 0.0)) - (.lvf vf1 (&-> (-> s1-1 ground-normal) quad)) - (.add.w.vf vf2 vf0 vf0 :mask #b1) - (.mul.vf vf1 vf1 vf1) - (.mul.x.vf acc vf2 vf1 :mask #b1) - (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) - (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) - (.mov v1-184 vf1) - (< f0-75 v1-184) - ) + (when (and (< 0.0 (-> obj info tire-friction-factor)) (let ((f0-75 0.0)) + (.lvf vf1 (&-> (-> s1-1 ground-normal) quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v1-184 vf1) + (< f0-75 v1-184) + ) ) (vector+float*! (-> arg1 normal) @@ -486,11 +483,11 @@ (let ((f0-82 (fabs (-> arg1 vel-dot-norm)))) (set! (-> arg1 friction-coef) (smooth-interp - (-> obj info-override tire-static-friction) - (-> obj info-override tire-dynamic-friction) + (-> obj info tire-static-friction) + (-> obj info tire-dynamic-friction) f0-82 - (-> obj info-override tire-static-friction-speed) - (-> obj info-override tire-dynamic-friction-speed) + (-> obj info tire-static-friction-speed) + (-> obj info tire-dynamic-friction-speed) ) ) ) @@ -499,7 +496,7 @@ ) (let ((f0-90 (* (-> arg1 friction-coef) - (-> obj info-override tire-friction-factor) + (-> obj info tire-friction-factor) (fmax 0.0 (vector-dot (-> s1-1 ground-normal) (-> s1-1 tire-force))) ) ) @@ -550,7 +547,7 @@ (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'inline-array 'matrix 9)) (s5-0 (-> obj rbody)) - (s4-0 (-> obj info-override)) + (s4-0 (-> obj info)) ) (mem-copy! (the-as pointer (-> gp-0 0)) (the-as pointer (-> s5-0 state matrix)) 64) (when (not (logtest? (-> obj flags) (rigid-body-object-flag dead))) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-rider_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-rider_REF.gc index 2f7a429b61..2ae798dbb7 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-rider_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-rider_REF.gc @@ -3,12 +3,12 @@ ;; definition of type vehicle-rider (deftype vehicle-rider (process-focusable) - ((parent-override (pointer vehicle) :offset 16) - (flags uint8 :offset-assert 204) - (riding-anim int32 :offset-assert 208) - (anim-t float :offset-assert 212) - (anim-speed float :offset-assert 216) - (seat-index int8 :offset-assert 220) + ((parent (pointer vehicle) :override) + (flags uint8 :offset-assert 204) + (riding-anim int32 :offset-assert 208) + (anim-t float :offset-assert 212) + (anim-speed float :offset-assert 216) + (seat-index int8 :offset-assert 220) ) :heap-base #x60 :method-count-assert 36 @@ -48,17 +48,13 @@ ;; definition for method 20 of type vehicle-rider (defmethod get-trans vehicle-rider ((obj vehicle-rider) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (-> obj root-override trans) + (-> obj root trans) ) ;; definition for method 33 of type vehicle-rider ;; WARN: Return type mismatch int vs none. (defmethod vehicle-rider-method-33 vehicle-rider ((obj vehicle-rider)) - (let* ((v1-0 (-> obj parent-override)) - (s4-0 (if v1-0 - (-> v1-0 0 self-override) - ) - ) + (let* ((s4-0 (ppointer->process (-> obj parent))) (s5-0 (if (type? s4-0 vehicle) s4-0 ) @@ -79,15 +75,10 @@ ;; WARN: Return type mismatch int vs none. (defmethod vehicle-rider-method-35 vehicle-rider ((obj vehicle-rider)) (logior! (-> obj draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> obj parent-override))) - (put-rider-in-seat - (the-as vehicle (if v1-3 - (-> v1-3 0 self-override) - ) - ) - (-> obj seat-index) - (the-as process-focusable #f) - ) + (put-rider-in-seat + (the-as vehicle (ppointer->process (-> obj parent))) + (-> obj seat-index) + (the-as process-focusable #f) ) (go (method-of-object obj inactive)) 0 @@ -104,7 +95,7 @@ (stack-size-set! (-> obj main-thread) 256) (go process-drawable-art-error "no lwide entity found") ) - (set! (-> obj root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape (new 'process 'trsqv))) 0 (none) ) @@ -128,12 +119,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod vehicle-rider-method-34 vehicle-rider ((obj vehicle-rider)) (with-pp - (let* ((v1-0 (-> obj parent-override)) - (a0-1 (if v1-0 - (-> v1-0 0 self-override) - ) - ) - ) + (let ((a0-1 (ppointer->process (-> obj parent)))) (when a0-1 (+! (-> obj anim-t) (* 41870.223 (-> obj anim-speed) (-> pp clock seconds-per-frame))) (if (< 65536.0 (-> obj anim-t)) @@ -171,7 +157,7 @@ ) (('knocked-off) (let ((gp-0 (new 'stack 'traffic-object-spawn-params))) - (let ((v1-14 (find-nearest-nav-mesh (-> self root-override trans) (the-as float #x7f800000)))) + (let ((v1-14 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (set! (-> gp-0 object-type) (traffic-type citizen-norm-1)) (set! (-> gp-0 behavior) (the-as uint 11)) (set! (-> gp-0 id) (the-as uint 0)) @@ -179,7 +165,7 @@ ) (set! (-> gp-0 nav-branch) #f) (set! (-> gp-0 proc) #f) - (set! (-> gp-0 handle) (process->handle (-> self parent-override 0))) + (set! (-> gp-0 handle) (process->handle (-> self parent 0))) (set! (-> gp-0 user-data) (-> self draw seg-mask)) (set! (-> gp-0 flags) (traffic-spawn-flags)) (set! (-> gp-0 guard-type) (the-as uint 7)) @@ -188,8 +174,8 @@ (send-event *traffic-manager* 'increase-alert-level 2) (set! (-> gp-0 object-type) (traffic-type crimson-guard-1)) ) - (set! (-> gp-0 position quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-0 rotation) (-> self root-override quat)) + (set! (-> gp-0 position quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-0 rotation) (-> self root quat)) (send-event *traffic-manager* 'activate-object gp-0) ) (set! (-> self flags) (logand -3 (-> self flags))) @@ -305,8 +291,8 @@ This commonly includes things such as: ;; INFO: Used lq/sq (defbehavior vehicle-rider-init-by-other vehicle-rider ((arg0 traffic-object-spawn-params)) (initialize-collision self) - (set! (-> self root-override trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> self root-override quat) (-> arg0 rotation)) + (set! (-> self root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 rotation)) (logior! (-> self focus-status) (focus-status pilot-riding)) (vehicle-rider-method-32 self arg0) (cond @@ -519,7 +505,3 @@ This commonly includes things such as: 0 (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-states_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-states_REF.gc index a91f31447d..77de407c17 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-states_REF.gc @@ -94,9 +94,9 @@ (set! (-> self controls brake) 0.0) (set! (-> self controls steering) 0.0) (vehicle-method-83 self) - (update-transforms (-> self root-override-2)) + (update-transforms (-> self root)) (vehicle-method-143 self) - (let ((v1-15 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-15 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-15 (set! (-> v1-15 prim-core collide-with) (collide-spec)) (set! (-> v1-15 prim-core collide-as) (collide-spec)) @@ -107,7 +107,7 @@ ) :exit (behavior () (logclear! (-> self flags) (rigid-body-object-flag waiting-for-player)) - (let ((v1-3 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-3 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-3 (set! (-> v1-3 prim-core collide-with) (collide-spec backgnd @@ -142,16 +142,14 @@ :enter (behavior () (set-setting! 'sound-flava #f 31.0 5) (set! (-> self state-time) (current-time)) - (iterate-prims - (-> self root-override-2) - (lambda ((arg0 collide-shape-prim)) - (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) - (logior! (-> arg0 prim-core collide-as) (collide-spec jak)) - (logior! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) - ) - (none) - ) - ) + (iterate-prims (-> self root) (lambda ((arg0 collide-shape-prim)) + (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) + (logior! (-> arg0 prim-core collide-as) (collide-spec jak)) + (logior! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) + ) + (none) + ) + ) (vehicle-method-139 self) (set! (-> self flags) (the-as @@ -163,32 +161,25 @@ (rigid-body-object-method-38 self) (vehicle-method-102 self) (vehicle-method-87 self) - (set! (-> self root-override-2 penetrated-by) - (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) - (-> self root-override-2 penetrated-by) - ) + (set! (-> self root penetrated-by) + (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) (-> self root penetrated-by)) ) (set! (-> self damage-factor) (* 0.7518797 (-> self damage-factor))) 0 (none) ) :exit (behavior () - (logclear! - (-> self root-override-2 penetrated-by) - (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) - ) + (logclear! (-> self root penetrated-by) (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot)) (when (not (logtest? (rigid-body-object-flag measure-control-parameters) (-> self flags))) - (iterate-prims - (-> self root-override-2) - (lambda ((arg0 collide-shape-prim)) - (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) - (logclear! (-> arg0 prim-core collide-as) (collide-spec jak)) - (logclear! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) - ) - (none) - ) - ) - (if (and (not (logtest? (-> self info-override flags) 256)) (= (send-event *target* 'query 'mode) 'pilot)) + (iterate-prims (-> self root) (lambda ((arg0 collide-shape-prim)) + (when (!= (-> arg0 prim-core prim-type) (prim-type mesh)) + (logclear! (-> arg0 prim-core collide-as) (collide-spec jak)) + (logclear! (-> arg0 prim-core collide-with) (collide-spec blocking-plane)) + ) + (none) + ) + ) + (if (and (not (logtest? (-> self info flags) 256)) (= (send-event *target* 'query 'mode) 'pilot)) (send-event *target* 'end-mode) ) (set! (-> self controls throttle) 0.0) @@ -211,7 +202,7 @@ (go-virtual waiting) ) (when (and (cpad-pressed? 0 triangle) - (not (logtest? (-> self info-override flags) 256)) + (not (logtest? (-> self info flags) 256)) (-> *setting-control* user-current pilot-exit) (not (focus-test? *target* dead hit grabbed)) (!= (-> self crash-level) 3) @@ -271,7 +262,7 @@ (vehicle-method-129 self) (set! (-> self crash-level) 3) (vehicle-method-88 self) - (dotimes (gp-0 (-> self info-override seat-count)) + (dotimes (gp-0 (-> self info seat-count)) (send-event (handle->process (-> self rider-array gp-0)) 'vehicle-crash) ) (none) @@ -301,8 +292,8 @@ (vf2 :class vf) ) (init-vf0-vector) - (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (camera-pos))) - (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (target-pos 0))) + (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root trans) (camera-pos))) + (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (cond ((logtest? (-> self draw status) (draw-control-status on-screen)) (set! (-> self state-time) (current-time)) @@ -324,7 +315,7 @@ (cond ((logtest? (-> self rbody state flags) (rigid-body-flag enable-physics)) (let ((gp-2 (new 'stack-no-clear 'rigid-body-info))) - (mem-copy! (&-> gp-2 mass) (the-as pointer (-> self info-override info)) 188) + (mem-copy! (&-> gp-2 mass) (the-as pointer (-> self info info)) 188) (set! (-> self rbody state info) (the-as rigid-body-info (&-> gp-2 mass))) (set! (-> gp-2 bounce-mult-factor) 0.0) (set! (-> gp-2 bounce-factor) 0.4) @@ -333,7 +324,7 @@ (set! (-> gp-2 friction-factor) 0.05) ) (vehicle-method-121 self) - (set! (-> self rbody state info) (-> self info-override info)) + (set! (-> self rbody state info) (-> self info info)) (when (logtest? (-> self flags) (rigid-body-object-flag disturbed)) (let* ((f0-14 (* 0.0033333334 (the float (- (current-time) (-> self disturbed-time))))) (f0-17 (* f0-14 f0-14 (-> self camera-dist2))) @@ -408,7 +399,7 @@ (set! gp-0 (-> gp-0 0 brother)) ) ) - (dotimes (gp-1 (-> self info-override seat-count)) + (dotimes (gp-1 (-> self info seat-count)) (let ((a1-2 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-2 from) (process->ppointer self)) (set! (-> a1-2 num-params) 2) @@ -456,17 +447,17 @@ (vehicle-method-110 self) (vehicle-method-103 self) (let ((gp-5 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-5 spawn-point quad) (-> self root-override-2 trans quad)) - (quaternion-copy! (-> gp-5 spawn-quat) (-> self root-override-2 quat)) - (set! (-> gp-5 radius) (+ 12288.0 (-> self root-override-2 root-prim local-sphere w))) - (set! (-> gp-5 group) (-> *part-group-id-table* (-> self info-override explosion-part))) + (set! (-> gp-5 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-5 spawn-quat) (-> self root quat)) + (set! (-> gp-5 radius) (+ 12288.0 (-> self root root-prim local-sphere w))) + (set! (-> gp-5 group) (-> *part-group-id-table* (-> self info explosion-part))) (set! (-> gp-5 collide-with) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) (set! (-> gp-5 penetrate-using) (penetrate explode)) (explosion-spawn (the-as process-drawable (ppointer->process (-> self parent))) explosion gp-5) ) - (let ((gp-6 (-> self info-override explosion))) + (let ((gp-6 (-> self info explosion))) (when gp-6 (set! (-> gp-6 skel) (the-as skeleton-group (art-group-get-by-name *level* (-> gp-6 skel-name) (the-as (pointer uint32) #f))) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle-util_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle-util_REF.gc index 52593af588..a01c10c002 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle-util_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle-util_REF.gc @@ -221,14 +221,14 @@ This commonly includes things such as: (t9-0 obj) ) (cond - ((logtest? (-> obj info-override flags) 2048) + ((logtest? (-> obj info flags) 2048) (set! (-> obj rbody state force-callback) (method-of-object obj vehicle-method-125)) ) - ((logtest? (-> obj info-override flags) 4096) + ((logtest? (-> obj info flags) 4096) (set! (-> obj rbody state force-callback) (method-of-object obj vehicle-method-126)) ) ) - (rigid-body-vehicle-constants-method-9 (-> obj info-override)) + (rigid-body-vehicle-constants-method-9 (-> obj info)) (none) ) @@ -242,7 +242,7 @@ This commonly includes things such as: ) (when (< f0-0 (* f1-0 f1-0)) (let ((s5-0 (new 'stack-no-clear 'mystery-vehicle-type))) - (set! (-> s5-0 floats 4) (+ 8192.0 (-> obj root-override-2 root-prim local-sphere w))) + (set! (-> s5-0 floats 4) (+ 8192.0 (-> obj root root-prim local-sphere w))) (if (logtest? (rigid-body-object-flag ai-driving) (-> obj flags)) (set! (-> s5-0 floats 4) (* 1.5 (-> s5-0 floats 4))) ) @@ -353,8 +353,8 @@ This commonly includes things such as: (matrix-4x4-inverse! (-> s5-0 matrices 2) (-> s5-0 matrices 1)) (vector-matrix*! (the-as vector (-> s5-0 matrices)) (-> s5-0 matrices 0 vector 1) (-> s5-0 matrices 2)) (set! (-> s5-0 floats 0) 81920.0) - (dotimes (s2-1 (-> obj info-override grab-rail-count)) - (let ((s1-0 (-> obj info-override grab-rail-array s2-1))) + (dotimes (s2-1 (-> obj info grab-rail-count)) + (let ((s1-0 (-> obj info grab-rail-array s2-1))) (vector-! (-> s5-0 matrices 0 trans) (the-as vector (-> s5-0 matrices)) (the-as vector (-> s1-0 local-pos))) (when #t (let ((f30-0 (vector-segment-distance-point! @@ -497,7 +497,7 @@ This commonly includes things such as: ;; definition for method 65 of type vehicle ;; WARN: Return type mismatch int vs none. (defmethod start-jump vehicle ((obj vehicle)) - (when (logtest? (-> obj info-override flags) 16) + (when (logtest? (-> obj info flags) 16) (when (not (logtest? (rigid-body-object-flag jump-sound) (-> obj flags))) (set! (-> obj flags) (logior (rigid-body-object-flag jump-sound) (-> obj flags))) (sound-play "bike-hop") @@ -517,7 +517,7 @@ This commonly includes things such as: ;; definition for method 67 of type vehicle (defmethod get-seat-count vehicle ((obj vehicle)) - (-> obj info-override seat-count) + (-> obj info seat-count) ) ;; definition for method 68 of type vehicle @@ -525,7 +525,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod compute-seat-position vehicle ((obj vehicle) (arg0 vector) (arg1 int)) (let ((v1-0 (new 'stack-no-clear 'vector))) - (set! (-> v1-0 quad) (-> obj info-override seat-array arg1 position quad)) + (set! (-> v1-0 quad) (-> obj info seat-array arg1 position quad)) (set! (-> v1-0 w) 1.0) (vector-matrix*! arg0 v1-0 (-> obj node-list data 0 bone transform)) ) @@ -536,7 +536,7 @@ This commonly includes things such as: ;; definition for method 69 of type vehicle (defmethod get-rider-in-seat vehicle ((obj vehicle) (arg0 int)) (let ((v0-0 (the-as process #f))) - (if (< arg0 (-> obj info-override seat-count)) + (if (< arg0 (-> obj info seat-count)) (set! v0-0 (handle->process (-> obj rider-array arg0))) ) v0-0 @@ -546,8 +546,8 @@ This commonly includes things such as: ;; definition for method 70 of type vehicle (defmethod vehicle-method-70 vehicle ((obj vehicle)) (let ((gp-0 (the-as process #f))) - (countdown (s4-0 (-> obj info-override seat-count)) - (when (logtest? (-> obj info-override seat-array s4-0 flags) 1) + (countdown (s4-0 (-> obj info seat-count)) + (when (logtest? (-> obj info seat-array s4-0 flags) 1) (let ((v1-7 (get-rider-in-seat obj s4-0))) (if v1-7 (set! gp-0 v1-7) @@ -565,8 +565,8 @@ This commonly includes things such as: (let ((f30-0 (the-as float #x7f800000)) (s1-0 (new 'stack-no-clear 'vector)) ) - (countdown (s0-0 (-> obj info-override seat-count)) - (when (logtest? arg1 (-> obj info-override seat-array s0-0 flags)) + (countdown (s0-0 (-> obj info seat-count)) + (when (logtest? arg1 (-> obj info seat-array s0-0 flags)) (let ((v1-7 arg2)) (when (cond ((zero? v1-7) @@ -601,7 +601,7 @@ This commonly includes things such as: ;; definition for method 74 of type vehicle ;; WARN: Return type mismatch int vs none. (defmethod remove-rider vehicle ((obj vehicle) (arg0 process)) - (let ((v1-1 (-> obj info-override seat-count))) + (let ((v1-1 (-> obj info seat-count))) (dotimes (a2-0 v1-1) (if (= arg0 (handle->process (-> obj rider-array a2-0))) (set! (-> obj rider-array a2-0) (the-as handle #f)) @@ -615,7 +615,7 @@ This commonly includes things such as: ;; definition for method 71 of type vehicle ;; WARN: Return type mismatch int vs none. (defmethod put-rider-in-seat vehicle ((obj vehicle) (arg0 int) (arg1 process-focusable)) - (if (< arg0 (-> obj info-override seat-count)) + (if (< arg0 (-> obj info seat-count)) (set! (-> obj rider-array arg0) (process->handle arg1)) ) 0 @@ -626,7 +626,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-117 vehicle ((obj vehicle) (arg0 vector) (arg1 int) (arg2 int)) (let ((v1-0 (new 'stack-no-clear 'vector))) - (vector+! v1-0 (-> obj info-override seat-array arg1 position) (-> obj info-override rider-hand-offset arg2)) + (vector+! v1-0 (-> obj info seat-array arg1 position) (-> obj info rider-hand-offset arg2)) (vector-matrix*! arg0 v1-0 (-> obj node-list data 0 bone transform)) ) 0 @@ -635,7 +635,7 @@ This commonly includes things such as: ;; definition for method 72 of type vehicle (defmethod vehicle-method-72 vehicle ((obj vehicle)) - (-> obj info-override rider-stance) + (-> obj info rider-stance) ) ;; definition for method 75 of type vehicle @@ -678,7 +678,7 @@ This commonly includes things such as: (s3-0 0) ) (while (nonzero? s4-1) - (when (and (logtest? s4-1 1) (< s3-0 (-> obj info-override section-count))) + (when (and (logtest? s4-1 1) (< s3-0 (-> obj info section-count))) (let ((v1-14 (-> obj section-array s3-0))) (+! (-> v1-14 damage) (* 4.0 (-> obj damage-factor) arg0)) ) @@ -698,7 +698,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-118 vehicle ((obj vehicle) (arg0 int)) (let* ((v1-2 (-> obj section-array arg0)) - (s4-0 (-> obj info-override section-array arg0)) + (s4-0 (-> obj info section-array arg0)) (s5-1 (max 0 @@ -771,24 +771,24 @@ This commonly includes things such as: (rigid-body-object-method-39 obj) (vehicle-method-103 obj) (set! (-> obj hit-points) 1.0) - (set! (-> obj damage-factor) (-> obj info-override damage-factor)) + (set! (-> obj damage-factor) (-> obj info damage-factor)) (set! (-> obj crash-level) 0) (set! (-> obj power-fluctuation-factor) 0.02) (set! (-> obj power-level) 1.0) (set! (-> obj flight-level-index) 0) - (let ((a1-0 (-> obj root-override-2 trans))) + (let ((a1-0 (-> obj root trans))) (set! (-> obj flight-level) (get-height-at-point *traffic-height-map* a1-0)) ) (set! (-> obj lights-factor) 0.0) - (let ((a0-8 (-> obj info-override color-option-select))) - (set! (-> obj draw color-mult quad) (-> obj info-override color-option-array a0-8 quad)) + (let ((a0-8 (-> obj info color-option-select))) + (set! (-> obj draw color-mult quad) (-> obj info color-option-array a0-8 quad)) ) - (+! (-> obj info-override color-option-select) 1) - (when (>= (-> obj info-override color-option-select) (-> obj info-override color-option-count)) - (set! (-> obj info-override color-option-select) 0) + (+! (-> obj info color-option-select) 1) + (when (>= (-> obj info color-option-select) (-> obj info color-option-count)) + (set! (-> obj info color-option-select) 0) 0 ) - (dotimes (s5-0 (-> obj info-override section-count)) + (dotimes (s5-0 (-> obj info section-count)) (let ((v1-34 (-> obj section-array s5-0))) (set! (-> v1-34 damage) 0.0) ) @@ -908,8 +908,8 @@ This commonly includes things such as: (set-vector! (-> s4-1 vector 2) 0.0 1.0 0.0 1.0) (mem-copy! (the-as pointer (-> s4-1 vector 4)) (the-as pointer s5-1) 64) (dotimes (s3-0 2) - (vector-matrix*! (the-as vector (-> s4-1 vector)) (-> obj info-override exhaust-local-pos s3-0) s5-1) - (vector-rotate*! (-> s4-1 vector 1) (-> obj info-override exhaust-local-dir s3-0) s5-1) + (vector-matrix*! (the-as vector (-> s4-1 vector)) (-> obj info exhaust-local-pos s3-0) s5-1) + (vector-rotate*! (-> s4-1 vector 1) (-> obj info exhaust-local-dir s3-0) s5-1) (vector-cross! (-> s4-1 vector 3) (-> s4-1 vector 1) (-> s4-1 vector 2)) (vector-normalize! (-> s4-1 vector 3) 1.0) (vector-cross! (-> s4-1 vector 6) (-> s4-1 vector 3) (-> s4-1 vector 1)) @@ -948,7 +948,7 @@ This commonly includes things such as: ;; definition for method 141 of type vehicle ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-141 vehicle ((obj vehicle)) - (let ((a0-2 (find-nearest-nav-mesh (-> obj root-override-2 trans) (the-as float #x7f800000)))) + (let ((a0-2 (find-nearest-nav-mesh (-> obj root trans) (the-as float #x7f800000)))) (when a0-2 (add-process-drawable-to-navmesh a0-2 obj #t) (logclear! (-> obj nav flags) (nav-control-flag output-sphere-hash)) @@ -986,9 +986,9 @@ This commonly includes things such as: (v1-2 (cond (s5-0 - (do-navigation-to-destination (-> s5-0 state) (-> obj root-override-2 trans)) + (do-navigation-to-destination (-> s5-0 state) (-> obj root trans)) (when (not (logtest? (-> s5-0 state flags) (nav-state-flag in-mesh))) - (let ((a0-6 (find-nearest-nav-mesh (-> obj root-override-2 trans) (the-as float #x7f800000)))) + (let ((a0-6 (find-nearest-nav-mesh (-> obj root trans) (the-as float #x7f800000)))) (when (and a0-6 (!= a0-6 (-> s5-0 state mesh))) (change-to a0-6 obj) (logclear! (-> obj nav flags) (nav-control-flag output-sphere-hash)) @@ -1018,10 +1018,10 @@ This commonly includes things such as: (when (not (logtest? (rigid-body-object-flag camera) (-> obj flags))) (set! (-> obj flags) (logior (rigid-body-object-flag camera) (-> obj flags))) (set! (-> obj cam-speed-interp) 0.0) - (set-setting! 'string-min-height 'abs (-> obj info-override camera-string-min-height) 0) - (set-setting! 'string-max-height 'abs (-> obj info-override camera-string-max-height) 0) - (set-setting! 'head-offset 'abs (-> obj info-override camera-head-offset) 0) - (set-setting! 'foot-offset 'abs (-> obj info-override camera-foot-offset) 0) + (set-setting! 'string-min-height 'abs (-> obj info camera-string-min-height) 0) + (set-setting! 'string-max-height 'abs (-> obj info camera-string-max-height) 0) + (set-setting! 'head-offset 'abs (-> obj info camera-head-offset) 0) + (set-setting! 'foot-offset 'abs (-> obj info camera-foot-offset) 0) (set-setting! 'target-height 'abs (meters 0) 0) (vehicle-method-92 obj) (vehicle-method-89 obj) @@ -1128,9 +1128,9 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-object-method-40 vehicle ((obj vehicle)) (logior! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> obj root-override-2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> obj root-override-2 backup-collide-with)) + (let ((v1-3 (-> obj root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> obj root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> obj root backup-collide-with)) ) 0 (none) @@ -1140,7 +1140,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod rigid-body-object-method-41 vehicle ((obj vehicle)) (logclear! (-> obj flags) (rigid-body-object-flag enable-collision)) - (let ((v1-3 (-> obj root-override-2 root-prim))) + (let ((v1-3 (-> obj root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1176,12 +1176,8 @@ This commonly includes things such as: (defmethod rigid-body-object-method-38 vehicle ((obj vehicle)) (when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics))) (logior! (-> obj rbody state flags) (rigid-body-flag enable-physics)) - (rigid-body-method-26 (-> obj rbody state) (-> obj root-override-2 trans) (-> obj root-override-2 quat)) - (vector-float*! - (-> obj rbody state lin-momentum) - (-> obj root-override-2 transv) - (-> obj info-override info mass) - ) + (rigid-body-method-26 (-> obj rbody state) (-> obj root trans) (-> obj root quat)) + (vector-float*! (-> obj rbody state lin-momentum) (-> obj root transv) (-> obj info info mass)) (vector-reset! (-> obj rbody state ang-momentum)) (vector-reset! (-> obj lin-acceleration)) ) @@ -1224,7 +1220,7 @@ This commonly includes things such as: ;; definition for method 80 of type vehicle ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-80 vehicle ((obj vehicle)) - (when (and (logtest? (-> obj info-override flags) 64) (< (-> obj flight-level-index) 1)) + (when (and (logtest? (-> obj info flags) 64) (< (-> obj flight-level-index) 1)) 1 (cond ((< (+ 8192.0 (-> obj rbody state position y)) (-> obj flight-level)) @@ -1243,7 +1239,7 @@ This commonly includes things such as: ;; definition for method 81 of type vehicle ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-81 vehicle ((obj vehicle)) - (when (and (logtest? (-> obj info-override flags) 64) (> (-> obj flight-level-index) 0)) + (when (and (logtest? (-> obj info flags) 64) (> (-> obj flight-level-index) 0)) (sound-play "bike-down") (vehicle-method-78 obj 0) ) @@ -1344,14 +1340,14 @@ This commonly includes things such as: (logclear! (-> obj draw status) (draw-control-status no-draw)) (logior! (-> obj skel status) (joint-control-status sync-math)) (ja-post) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (logclear! (-> obj skel status) (joint-control-status sync-math)) (go (method-of-object obj idle)) ) ((= v1-0 2) (let ((a1-1 (-> arg0 nav-branch))) (if a1-1 - (vehicle-controller-method-13 (-> obj controller) a1-1 (-> obj root-override-2 trans)) + (vehicle-controller-method-13 (-> obj controller) a1-1 (-> obj root trans)) ) ) (vehicle-method-128 obj) @@ -1398,7 +1394,7 @@ This commonly includes things such as: (set! s5-0 (-> s5-0 0 brother)) ) ) - (dotimes (s5-1 (-> obj info-override seat-count)) + (dotimes (s5-1 (-> obj info seat-count)) (put-rider-in-seat obj s5-1 (the-as process-focusable #f)) ) (vehicle-method-142 obj) @@ -1412,7 +1408,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-128 vehicle ((obj vehicle)) (vehicle-method-82 obj) - (set! (-> obj root-override-2 trans y) (-> obj flight-level)) + (set! (-> obj root trans y) (-> obj flight-level)) (set! (-> obj flags) (logior (rigid-body-object-flag ignition ai-driving) (-> obj flags))) (let ((gp-1 (-> obj child))) (while gp-1 @@ -1546,8 +1542,8 @@ This commonly includes things such as: (defmethod vehicle-method-107 vehicle ((obj vehicle)) (logclear! (-> obj controller flags) (vehicle-controller-flag ignore-others direct-mode)) (let ((s5-0 (new 'stack-no-clear 'vehicle-control-point))) - (set! (-> s5-0 local-pos quad) (-> obj root-override-2 trans quad)) - (set! (-> s5-0 normal quad) (-> obj root-override-2 transv quad)) + (set! (-> s5-0 local-pos quad) (-> obj root trans quad)) + (set! (-> s5-0 normal quad) (-> obj root transv quad)) (set! (-> s5-0 local-pos w) 40960.0) (let ((s4-0 0)) (label cfg-1) @@ -1558,7 +1554,7 @@ This commonly includes things such as: (goto cfg-1) ) (if v1-7 - (vehicle-controller-method-13 (-> obj controller) (-> v1-7 branch) (-> obj root-override-2 trans)) + (vehicle-controller-method-13 (-> obj controller) (-> v1-7 branch) (-> obj root trans)) (vehicle-method-113 obj) ) ) @@ -1572,17 +1568,13 @@ This commonly includes things such as: ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-119 vehicle ((obj vehicle)) - (dotimes (s5-0 (-> obj info-override seat-count)) + (dotimes (s5-0 (-> obj info seat-count)) (let ((s4-0 (handle->process (-> obj rider-array s5-0)))) (when (and s4-0 (focus-test? (the-as vehicle-rider s4-0) pilot-riding)) - (compute-seat-position obj (-> (the-as vehicle-rider s4-0) root-override trans) s5-0) - (set! (-> (the-as vehicle-rider s4-0) root-override transv quad) (-> obj root-override-2 transv quad)) - (let ((f0-1 (the float (-> obj info-override seat-array s5-0 angle)))) - (quaternion-rotate-local-y! - (-> (the-as vehicle-rider s4-0) root-override quat) - (-> obj root-override-2 quat) - f0-1 - ) + (compute-seat-position obj (-> (the-as vehicle-rider s4-0) root trans) s5-0) + (set! (-> (the-as vehicle-rider s4-0) root transv quad) (-> obj root transv quad)) + (let ((f0-1 (the float (-> obj info seat-array s5-0 angle)))) + (quaternion-rotate-local-y! (-> (the-as vehicle-rider s4-0) root quat) (-> obj root quat) f0-1) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/city/common/vehicle_REF.gc b/test/decompiler/reference/jak2/levels/city/common/vehicle_REF.gc index 5d9c248842..623d951c02 100644 --- a/test/decompiler/reference/jak2/levels/city/common/vehicle_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/common/vehicle_REF.gc @@ -104,8 +104,8 @@ (let* ((f0-0 1.0) (f1-0 (-> arg0 impulse)) (f2-0 61440.0) - (f30-0 (fmin f0-0 (* f1-0 (/ 1.0 f2-0) (-> obj info-override info inv-mass)))) - (f28-0 (* (-> obj info-override info mass) (-> obj info-override toughness-factor))) + (f30-0 (fmin f0-0 (* f1-0 (/ 1.0 f2-0) (-> obj info info inv-mass)))) + (f28-0 (* (-> obj info info mass) (-> obj info toughness-factor))) ) (set! (-> obj crash-impulse) (-> arg0 impulse)) (cond @@ -145,7 +145,7 @@ ) (if (< 0.1 f30-0) (sound-play-by-name - (-> obj info-override glance-sound) + (-> obj info glance-sound) (new-sound-id) (the int (* 1024.0 f30-0)) 0 @@ -158,7 +158,7 @@ ) (when (< (* 102400.0 f28-0) (-> arg0 impulse)) (sound-play-by-name - (-> obj info-override impact-sound) + (-> obj info impact-sound) (new-sound-id) (the int (* 1024.0 f30-0)) 0 @@ -207,21 +207,21 @@ (defmethod vehicle-method-104 vehicle ((obj vehicle)) (with-pp (when (= (-> obj controller traffic sync-mask-8) (ash 1 (logand (-> obj traffic-priority-id) 7))) - (let ((a1-0 (-> obj root-override-2 trans))) + (let ((a1-0 (-> obj root trans))) (set! (-> obj flight-level) (get-height-at-point *traffic-height-map* a1-0)) ) ) (set! (-> obj target-acceleration y) - (- (* 8.0 (- (-> obj flight-level) (-> obj root-override-2 trans y))) (-> obj root-override-2 transv y)) + (- (* 8.0 (- (-> obj flight-level) (-> obj root trans y))) (-> obj root transv y)) ) - (vector-v++! (-> obj root-override-2 transv) (-> obj target-acceleration)) - (vector-v++! (-> obj root-override-2 trans) (-> obj root-override-2 transv)) - (let* ((v1-14 (-> obj root-override-2 transv)) + (vector-v++! (-> obj root transv) (-> obj target-acceleration)) + (vector-v++! (-> obj root trans) (-> obj root transv)) + (let* ((v1-14 (-> obj root transv)) (f30-0 (sqrtf (+ (* (-> v1-14 x) (-> v1-14 x)) (* (-> v1-14 z) (-> v1-14 z))))) (s5-0 (new 'stack-no-clear 'vehicle-control-point)) ) (when (< 40.96 f30-0) - (vector-float*! (-> s5-0 normal) (-> obj root-override-2 transv) (/ 1.0 f30-0)) + (vector-float*! (-> s5-0 normal) (-> obj root transv) (/ 1.0 f30-0)) (quaternion-set! (the-as quaternion (-> s5-0 local-pos)) 0.0 @@ -236,8 +236,8 @@ (* -0.08886719 (-> obj controls steering) (fmin 81920.0 f30-0)) ) (quaternion-smooth-seek! - (-> obj root-override-2 quat) - (-> obj root-override-2 quat) + (-> obj root quat) + (-> obj root quat) (the-as quaternion (-> s5-0 local-pos)) (* 0.00014686584 (-> pp clock seconds-per-frame) f30-0) ) @@ -416,7 +416,7 @@ (set! (-> s5-0 z) (fmin 1.0 (* 0.023529412 (the float (-> *cpad-list* cpads 0 abutton 7))))) (vehicle-method-95 obj (the-as vector (&-> s5-0 x))) ) - (if (or (cpad-hold? 0 l1) (and (logtest? (-> obj info-override flags) 512) (cpad-hold? 0 r1))) + (if (or (cpad-hold? 0 l1) (and (logtest? (-> obj info flags) 512) (cpad-hold? 0 r1))) (start-jump obj) ) (if (cpad-pressed? 0 circle) @@ -434,11 +434,10 @@ (with-pp (when (and *target* (logtest? (rigid-body-object-flag ignition) (-> obj flags))) (when (and (logtest? (-> obj flags) (rigid-body-object-flag player-driving)) - (zero? (-> obj root-override-2 num-riders)) - (or (not *target*) - (or (< 32768.0 (vector-vector-distance (-> obj root-override-2 trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (zero? (-> obj root num-riders)) + (or (not *target*) (or (< 32768.0 (vector-vector-distance (-> obj root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) ) (set! (-> obj controls throttle) 0.0) @@ -513,24 +512,22 @@ (let* ((f1-13 (fmax 0.0 - (fmin - 1.0 - (/ (* (vector-length (-> obj rbody state lin-velocity)) (-> obj info-override engine-intake-factor)) - (-> obj info-override max-xz-speed) - ) - ) + (fmin 1.0 (/ (* (vector-length (-> obj rbody state lin-velocity)) (-> obj info engine-intake-factor)) + (-> obj info max-xz-speed) + ) + ) ) ) (f1-16 (fmin (-> obj controls throttle) (* 0.83333 (+ 0.5 f1-13)))) ) 0 (if (logtest? (rigid-body-object-flag turbo-boost) (-> obj flags)) - (set! f1-16 (+ 1.0 (* (-> obj turbo-boost-factor) (-> obj info-override turbo-boost-factor)))) + (set! f1-16 (+ 1.0 (* (-> obj turbo-boost-factor) (-> obj info turbo-boost-factor)))) ) (if (< (-> obj engine-thrust) f1-16) (+! (-> obj engine-thrust) (* (- f1-16 (-> obj engine-thrust)) - (fmin 1.0 (* (-> obj info-override engine-response-rate) (-> pp clock seconds-per-frame))) + (fmin 1.0 (* (-> obj info engine-response-rate) (-> pp clock seconds-per-frame))) ) ) (seek! (-> obj engine-thrust) f1-16 (-> pp clock seconds-per-frame)) @@ -633,12 +630,12 @@ ((logtest? (-> obj flags) (rigid-body-object-flag in-air)) (when (or (< 55296.0 (-> obj rbody state lin-velocity y)) (>= (- (current-time) (-> obj air-time)) (seconds 0.75))) (set-setting! 'extra-follow-height 'abs (meters -4) 0) - (send-event *camera* 'set-max-angle-offset (-> obj info-override camera-air-max-angle-offset)) + (send-event *camera* 'set-max-angle-offset (-> obj info camera-air-max-angle-offset)) ) ) (else (remove-setting! 'extra-follow-height) - (send-event *camera* 'set-max-angle-offset (-> obj info-override camera-normal-max-angle-offset)) + (send-event *camera* 'set-max-angle-offset (-> obj info camera-normal-max-angle-offset)) ) ) (let ((f0-5 (vector-dot (-> obj rbody state lin-velocity) (-> obj rbody state matrix vector 2)))) @@ -646,10 +643,10 @@ ((= (-> obj crash-level) 2) (vehicle-method-90 obj) ) - ((< f0-5 (-> obj info-override camera-max-lookaround-speed)) + ((< f0-5 (-> obj info camera-max-lookaround-speed)) (vehicle-method-90 obj) ) - ((< (+ 4096.0 (-> obj info-override camera-max-lookaround-speed)) f0-5) + ((< (+ 4096.0 (-> obj info camera-max-lookaround-speed)) f0-5) (vehicle-method-89 obj) ) ) @@ -657,11 +654,12 @@ (when (not (logtest? (rigid-body-object-flag flight-level-transition) (-> obj flags))) (let* ((f0-6 1.0) (v1-57 (-> obj rbody state lin-velocity)) - (f0-7 (fmin f0-6 (/ (sqrtf (+ (* (-> v1-57 x) (-> v1-57 x)) (* (-> v1-57 z) (-> v1-57 z)))) - (-> obj info-override max-xz-speed) - ) - ) - ) + (f0-7 + (fmin + f0-6 + (/ (sqrtf (+ (* (-> v1-57 x) (-> v1-57 x)) (* (-> v1-57 z) (-> v1-57 z)))) (-> obj info max-xz-speed)) + ) + ) ) (seek! (-> obj cam-speed-interp) f0-7 (* 0.1 (-> pp clock seconds-per-frame))) ) @@ -671,13 +669,12 @@ (fmax 0.0 (fmin 1.0 (analog-input (the-as int (-> *cpad-list* cpads 1 righty)) 128.0 48.0 110.0 -1.0))) ) ) - (let ((f0-15 (lerp-scale (-> obj info-override camera-min-fov) (-> obj info-override camera-max-fov) f30-0 0.0 1.0)) - ) + (let ((f0-15 (lerp-scale (-> obj info camera-min-fov) (-> obj info camera-max-fov) f30-0 0.0 1.0))) (set-setting! 'fov 'abs f0-15 0) ) (let ((f30-2 (lerp-scale 1.0 0.6 f30-0 0.0 1.0))) - (set-setting! 'string-min-length 'abs (* f30-2 (-> obj info-override camera-string-min-length)) 0) - (set-setting! 'string-max-length 'abs (* f30-2 (-> obj info-override camera-string-max-length)) 0) + (set-setting! 'string-min-length 'abs (* f30-2 (-> obj info camera-string-min-length)) 0) + (set-setting! 'string-max-length 'abs (* f30-2 (-> obj info camera-string-max-length)) 0) ) ) ) @@ -687,7 +684,7 @@ ) (cond ((logtest? (rigid-body-object-flag camera-rapid-track-mode) (-> obj flags)) - (.lvf vf1 (&-> (-> obj root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> obj root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -706,7 +703,7 @@ (let* ((f0-21 143360.0) (f0-23 (* f0-21 f0-21)) ) - (.lvf vf1 (&-> (-> obj root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> obj root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -734,7 +731,7 @@ (set-setting! 'vertical-follow-matches-camera #f 0.0 0) ) (else - (if (< (fabs (-> obj root-override-2 transv y)) 8192.0) + (if (< (fabs (-> obj root transv y)) 8192.0) (remove-setting! 'vertical-follow-matches-camera) ) ) @@ -757,7 +754,7 @@ (with-pp (let ((s5-0 (-> obj draw shadow-ctrl))) (when (!= *vehicle-shadow-control-disabled* s5-0) - (let ((f30-0 (vector-vector-xz-distance (camera-pos) (-> obj root-override-2 trans)))) + (let ((f30-0 (vector-vector-xz-distance (camera-pos) (-> obj root trans)))) (cond ((< 245760.0 f30-0) (logior! (-> s5-0 settings flags) (shadow-flags disable-draw)) @@ -765,7 +762,7 @@ (set! (-> obj draw bounds w) (-> obj bound-radius)) ) (else - (let ((s4-1 (-> obj root-override-2))) + (let ((s4-1 (-> obj root))) (when (or (logtest? (-> s5-0 settings flags) (shadow-flags disable-draw)) (= (-> obj controller traffic sync-mask-8) (ash 1 (logand (-> obj traffic-priority-id) 7))) ) @@ -778,8 +775,8 @@ (set! (-> s4-1 gspot-normal quad) (-> s3-0 best-other-tri normal quad)) (set! (-> s4-1 ground-pat) (-> s3-0 best-other-tri pat)) (when (logtest? (-> s5-0 settings flags) (shadow-flags disable-draw)) - (set! (-> s5-0 settings top-plane w) (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y))) - (set! (-> s5-0 settings bot-plane w) (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y))) + (set! (-> s5-0 settings top-plane w) (- (-> s5-0 settings center y) (-> obj root gspot-pos y))) + (set! (-> s5-0 settings bot-plane w) (- (-> s5-0 settings center y) (-> obj root gspot-pos y))) ) (let ((v1-29 s5-0)) (logclear! (-> v1-29 settings flags) (shadow-flags disable-draw)) @@ -797,7 +794,7 @@ ) ) (set! (-> obj draw bounds w) (lerp-scale - (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y)) + (- (-> s5-0 settings center y) (-> obj root gspot-pos y)) (-> obj bound-radius) f30-0 81920.0 @@ -808,8 +805,8 @@ (set! (-> obj draw bounds w) (-> obj bound-radius)) ) (let* ((f0-13 (lerp-scale 0.0 1.0 f30-0 245760.0 40960.0)) - (f30-1 (* 4096.0 (+ 5.0 (* 5.0 (- 1.0 (-> obj root-override-2 gspot-normal y)))))) - (f28-0 (- (-> s5-0 settings center y) (-> obj root-override-2 gspot-pos y))) + (f30-1 (* 4096.0 (+ 5.0 (* 5.0 (- 1.0 (-> obj root gspot-normal y)))))) + (f28-0 (- (-> s5-0 settings center y) (-> obj root gspot-pos y))) (f0-16 (fmax 0.01 (+ (* -2.0 f0-13 f0-13 f0-13) (* 3.0 f0-13 f0-13)))) ) (set! (-> s5-0 settings shadow-dir w) (+ 20480.0 (* 409600.0 f0-16) f28-0)) @@ -844,7 +841,7 @@ (set! (-> s5-0 start-pos quad) (-> obj rbody state position quad)) (vector-float*! (-> s5-0 move-dist) (-> obj rbody state lin-velocity) (-> pp clock seconds-per-frame)) (let ((v1-4 s5-0)) - (set! (-> v1-4 radius) (+ 4096.0 (-> obj root-override-2 root-prim local-sphere w))) + (set! (-> v1-4 radius) (+ 4096.0 (-> obj root root-prim local-sphere w))) (set! (-> v1-4 collide-with) (collide-spec backgnd crate @@ -872,7 +869,7 @@ (logclear! (-> s5-0 collide-with) (collide-spec jak player-list)) ) (let ((s4-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> obj root-override-2) s4-0 (collide-action solid semi-solid)) + (water-info-init! (-> obj root) s4-0 (collide-action solid semi-solid)) (if (and (logtest? (-> s4-0 flags) (water-flags active)) (logtest? (water-flags over-water) (-> s4-0 flags))) (set! f30-0 (-> s4-0 base-height)) ) @@ -906,14 +903,14 @@ (defmethod rigid-body-object-method-52 vehicle ((obj vehicle)) (with-pp (let ((v1-0 (new 'stack-no-clear 'vehicle-control-point))) - (set! (-> v1-0 local-pos quad) (-> obj root-override-2 transv quad)) + (set! (-> v1-0 local-pos quad) (-> obj root transv quad)) (vector-! (-> v1-0 normal) (-> obj rbody state lin-velocity) (-> v1-0 local-pos)) (vector-float*! (-> obj lin-acceleration) (-> v1-0 normal) (-> pp clock frames-per-second)) ) - (set! (-> obj root-override-2 transv quad) (-> obj rbody state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (set! (-> obj root transv quad) (-> obj rbody state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (let ((v1-6 (-> obj rbody)) - (a1-7 (-> obj root-override-2 trans)) + (a1-7 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-6 state) a1-7) ) @@ -929,7 +926,7 @@ (set! (-> v1-11 quad 2) a2-1) (set! (-> v1-11 trans quad) a3-1) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (vehicle-method-119 obj) (let ((f0-1 (-> obj player-dist2)) (f1-0 245760.0) @@ -951,7 +948,7 @@ ) ) (vehicle-method-120 obj) - (let ((s5-0 (-> obj root-override-2))) + (let ((s5-0 (-> obj root))) (update-transforms s5-0) (when (and (logtest? (-> obj flags) (rigid-body-object-flag player-touching)) (not (logtest? (-> obj flags) (rigid-body-object-flag player-driving))) @@ -1013,7 +1010,7 @@ (logclear! (-> obj flags) (rigid-body-object-flag player-touching player-edge-grabbing player-standing-on)) ) (when (logtest? (-> obj flags) (rigid-body-object-flag player-touching)) - (detect-riders! (-> obj root-override-2)) + (detect-riders! (-> obj root)) 0 ) (if (logtest? (-> obj flags) (rigid-body-object-flag player-touching player-driving)) @@ -1050,8 +1047,8 @@ (.sync.p) (label cfg-2) 0 - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (cond ((logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics)) (if (not (vehicle-method-105 obj)) @@ -1123,8 +1120,8 @@ ;; WARN: Return type mismatch int vs none. (defmethod vehicle-method-123 vehicle ((obj vehicle)) (local-vars (v1-4 symbol) (a0-21 int) (a0-23 int)) - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (b! (not (logtest? (rigid-body-object-flag traffic-managed) (-> obj flags))) cfg-3 @@ -1247,12 +1244,12 @@ (.sync.p) (label cfg-2) 0 - (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (camera-pos))) - (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root-override-2 trans) (target-pos 0))) + (set! (-> obj camera-dist2) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) + (set! (-> obj player-dist2) (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (vehicle-controller-method-18 (-> obj controller) (-> obj target-acceleration) - (-> obj root-override-2 transv) + (-> obj root transv) obj (/ 1.0 (-> pp clock seconds-per-frame)) ) @@ -1306,7 +1303,7 @@ (f1-8 245760.0) ) (when (< f0-9 (* f1-8 f1-8)) - (let ((f0-10 (vector-length (-> obj root-override-2 transv)))) + (let ((f0-10 (vector-length (-> obj root transv)))) (seek! (-> obj engine-power-factor) (* 0.000016276043 f0-10) (* 6.0 (-> pp clock seconds-per-frame))) ) (do-engine-sounds obj) @@ -1314,7 +1311,7 @@ ) (when (logtest? (-> obj draw status) (draw-control-status on-screen)) (when #t - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (draw-thrusters obj) ) ) @@ -1349,8 +1346,8 @@ (label cfg-21) 0 (vehicle-method-120 obj) - (update-transforms (-> obj root-override-2)) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (update-transforms (-> obj root)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (vehicle-method-119 obj) (let ((v1-85 (-> *perf-stats* data 20))) (b! (zero? (-> v1-85 ctrl)) cfg-23 :delay (nop!)) @@ -1398,7 +1395,7 @@ (defmethod alloc-and-init-rigid-body-control vehicle ((obj vehicle) (arg0 rigid-body-vehicle-constants)) (if (logtest? (-> arg0 flags) 8) (iterate-prims - (-> obj root-override-2) + (-> obj root) (lambda ((arg0 collide-shape-prim)) (case (-> arg0 prim-core prim-type) (((prim-type sphere)) @@ -1446,23 +1443,22 @@ ) ) (iterate-prims - (-> obj root-override-2) + (-> obj root) (lambda ((arg0 collide-shape-prim)) - (set! (-> arg0 prim-core collide-with) - (collide-spec - backgnd - jak - crate - civilian - enemy - obstacle - vehicle-sphere - hit-by-player-list - hit-by-others-list - player-list - collectable - pusher - ) + (set! (-> arg0 prim-core collide-with) (collide-spec + backgnd + jak + crate + civilian + enemy + obstacle + vehicle-sphere + hit-by-player-list + hit-by-others-list + player-list + collectable + pusher + ) ) (set! (-> arg0 prim-core collide-as) (collide-spec vehicle-sphere vehicle-mesh)) (none) @@ -1476,25 +1472,23 @@ ) (set! (-> obj draw shadow-ctrl) *vehicle-shadow-control-disabled*) ) - (logior! (-> obj root-override-2 root-prim prim-core action) (collide-action pull-rider-can-collide)) - (set! (-> obj root-override-2 pat-ignore-mask) - (new 'static 'pat-surface :noentity #x1 :nopilot #x1 :probe #x1) - ) - (set! (-> obj root-override-2 event-self) 'touched) + (logior! (-> obj root root-prim prim-core action) (collide-action pull-rider-can-collide)) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nopilot #x1 :probe #x1)) + (set! (-> obj root event-self) 'touched) (let ((t9-3 (method-of-type rigid-body-object alloc-and-init-rigid-body-control))) (t9-3 obj arg0) ) (logior! (-> obj rbody state flags) (rigid-body-flag enable-collision)) - (set! (-> obj root-override-2 max-iteration-count) (the-as uint 8)) + (set! (-> obj root max-iteration-count) (the-as uint 8)) (set! (-> obj max-time-step) 0.033333335) (set! (-> obj mask) (logior (process-mask vehicle) (-> obj mask))) (logclear! (-> obj mask) (process-mask actor-pause movie)) (logclear! (-> obj skel status) (joint-control-status sync-math)) (process-entity-status! obj (entity-perm-status no-kill) #t) (set! (-> obj nav) #f) - (let ((v1-32 (-> obj root-override-2 root-prim))) - (set! (-> obj root-override-2 backup-collide-as) (-> v1-32 prim-core collide-as)) - (set! (-> obj root-override-2 backup-collide-with) (-> v1-32 prim-core collide-with)) + (let ((v1-32 (-> obj root root-prim))) + (set! (-> obj root backup-collide-as) (-> v1-32 prim-core collide-as)) + (set! (-> obj root backup-collide-with) (-> v1-32 prim-core collide-with)) ) (rigid-body-object-method-40 obj) (vehicle-controller-method-9 (-> obj controller)) @@ -1521,7 +1515,7 @@ (set! (-> obj draw light-index) (the-as uint 10)) ) (rigid-body-queue-method-11 - (if (logtest? (-> obj info-override flags) 1024) + (if (logtest? (-> obj info flags) 1024) *race-rigid-body-queue* *traffic-rigid-body-queue* ) @@ -1582,14 +1576,14 @@ (and (logtest? (-> arg1 mask) (attack-info-mask mode)) (= (-> arg1 mode) 'eco-dark)) ) (set! (-> s5-0 vector 2 y) (* 0.1 (-> s5-0 vector 2 y))) - (set! f0-2 (* 409600.0 (-> obj info-override info mass))) - (/ 0.4 (-> obj info-override damage-factor)) + (set! f0-2 (* 409600.0 (-> obj info info mass))) + (/ 0.4 (-> obj info damage-factor)) ) ((or (logtest? (penetrate dark-punch dark-bomb) arg3) (and (logtest? (penetrate dark-skin) arg3) (logtest? arg3 (penetrate punch spin))) ) - (set! f0-2 (* 204800.0 (-> obj info-override info mass))) - (/ 0.2 (-> obj info-override damage-factor)) + (set! f0-2 (* 204800.0 (-> obj info info mass))) + (/ 0.2 (-> obj info damage-factor)) ) ((logtest? (penetrate enemy-yellow-shot) arg3) (set! f0-2 49152.0) @@ -1712,16 +1706,16 @@ ) ) (else - (set! (-> s5-0 velocity quad) (-> obj root-override-2 transv quad)) + (set! (-> s5-0 velocity quad) (-> obj root transv quad)) ) ) - (let ((v1-18 (-> arg0 root-override))) + (let ((v1-18 (-> arg0 root))) (set! (-> s2-0 quad) (-> v1-18 transv quad)) (vector-! (-> s5-0 velocity) (-> v1-18 transv) (-> s5-0 velocity)) ) (let ((f0-1 (vector-dot (-> s5-0 velocity) (-> s5-0 normal)))) (b! (>= f0-1 0.0) cfg-32 :delay #f) - (set! (-> s5-0 impulse) (/ f0-1 (+ f30-0 (-> obj info-override info inv-mass)))) + (set! (-> s5-0 impulse) (/ f0-1 (+ f30-0 (-> obj info info inv-mass)))) ) (vector+float*! s2-0 s2-0 (-> s5-0 normal) (* -3.1 f30-0 (-> s5-0 impulse))) (set! (-> s2-0 y) (fmax (* 49152.0 f30-0) (-> s2-0 y))) @@ -1859,9 +1853,9 @@ (set! (-> obj controller traffic) (the-as traffic-engine (-> arg3 param 1))) (set! (-> obj flags) (logior (rigid-body-object-flag traffic-managed) (-> obj flags))) (let ((s5-1 (the-as traffic-object-spawn-params (-> arg3 param 0)))) - (set! (-> obj root-override-2 trans quad) (-> s5-1 position quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> s5-1 rotation)) - (set! (-> obj root-override-2 transv quad) (-> s5-1 velocity quad)) + (set! (-> obj root trans quad) (-> s5-1 position quad)) + (quaternion-copy! (-> obj root quat) (-> s5-1 rotation)) + (set! (-> obj root transv quad) (-> s5-1 velocity quad)) (vehicle-method-130 obj s5-1) ) ) @@ -1876,7 +1870,7 @@ ) ) (set! (-> obj incoming-attack-id) (-> s3-1 id)) - (when (and (logtest? (-> obj info-override flags) 4) (logtest? (rigid-body-object-flag ai-driving) (-> obj flags))) + (when (and (logtest? (-> obj info flags) 4) (logtest? (rigid-body-object-flag ai-driving) (-> obj flags))) (let ((a1-8 (find-offending-process-focusable arg0 s3-1))) (if (and a1-8 (logtest? (-> a1-8 mask) (process-mask target))) (vehicle-method-134 obj a1-8) @@ -1955,8 +1949,8 @@ (stack-size-set! (-> self main-thread) 16) (set! (-> self mask) (logior (process-mask vehicle) (-> self mask))) (allocate-and-init-cshape self) - (set! (-> self root-override-2 trans quad) (-> arg0 position quad)) - (quaternion-copy! (-> self root-override-2 quat) (-> arg0 rotation)) + (set! (-> self root trans quad) (-> arg0 position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 rotation)) (if (not (logtest? (-> arg0 flags) (traffic-spawn-flags trsflags-00))) (lwide-entity-hack) ) diff --git a/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc index 51056ccc1f..0e07725e99 100644 --- a/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/farm/ctyfarm-obs_REF.gc @@ -1092,7 +1092,7 @@ :exit (the-as (function none :behavior farm-marrow) #f) :trans (the-as (function none :behavior farm-marrow) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1130,13 +1130,10 @@ gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1211,7 +1208,7 @@ (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1283,7 +1280,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1314,13 +1311,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-marrow-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -1419,7 +1412,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-beetree) #f) :trans (the-as (function none :behavior farm-beetree) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1457,13 +1450,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1499,7 +1489,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1568,7 +1558,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1599,13 +1589,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-beetree-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -1700,7 +1686,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-cabbage) #f) :trans (the-as (function none :behavior farm-cabbage) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1738,13 +1724,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -1780,7 +1763,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 40960.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -1849,7 +1832,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1880,13 +1863,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-cabbage-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -1983,7 +1962,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-small-cabbage) #f) :trans (the-as (function none :behavior farm-small-cabbage) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -2021,13 +2000,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -2048,7 +2024,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -2117,7 +2093,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2148,13 +2124,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-small-cabbage-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -2251,7 +2223,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior farm-chilirots) #f) :trans (the-as (function none :behavior farm-chilirots) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -2289,13 +2261,10 @@ This commonly includes things such as: gp-4 (vector-cross! (new 'stack-no-clear 'vector) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root-override trans) (-> self root-override trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> s5-0 root trans) (-> self root trans)) 1.0) *up-vector* ) - (-> self root-override quat) + (-> self root quat) ) (let ((v1-10 (-> self shakers))) (set! (-> v1-10 0 axis quad) (-> gp-4 quad)) @@ -2361,7 +2330,7 @@ This commonly includes things such as: (else (sound-play "veggie-burst") (let ((gp-6 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root-override trans quad)) + (set! (-> gp-6 fountain-rand-transv-lo quad) (-> s5-0 root trans quad)) (set! (-> gp-6 fountain-rand-transv-hi x) 4096.0) (set! (-> gp-6 fountain-rand-transv-hi y) 122880.0) (process-spawn @@ -2429,7 +2398,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2460,13 +2429,9 @@ This commonly includes things such as: (the-as pair 0) ) (farm-chilirots-method-30 obj) - (quaternion-vector-angle! - (-> obj root-override quat) - *up-vector* - (* 182.04445 (rand-vu-float-range 0.0 360.0)) - ) + (quaternion-vector-angle! (-> obj root quat) *up-vector* (* 182.04445 (rand-vu-float-range 0.0 360.0))) (let ((f0-2 (rand-vu-float-range 0.9 1.1))) - (set-vector! (-> obj root-override scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) (transform-post) (go (method-of-object obj idle)) @@ -2565,7 +2530,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/city/farm/yakow_REF.gc b/test/decompiler/reference/jak2/levels/city/farm/yakow_REF.gc index 4347f1ad69..7d9097f508 100644 --- a/test/decompiler/reference/jak2/levels/city/farm/yakow_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/farm/yakow_REF.gc @@ -255,7 +255,7 @@ (f0-2 (* 4096.0 (get-rand-float-range obj -10.0 10.0))) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s4-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 quad) (-> obj root trans quad)) (+! (-> s4-0 x) f30-1) (+! (-> s4-0 z) f0-2) (let ((v1-7 (-> obj nav)) @@ -338,13 +338,10 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -409,19 +406,16 @@ (set! (-> v1-103 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-103 enemy-flags)))) ) (set! (-> v1-103 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-103 enemy-flags)))) - (set! (-> v1-103 nav callback-info) (-> v1-103 enemy-info-override callback-info)) + (set! (-> v1-103 nav callback-info) (-> v1-103 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -521,7 +515,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -541,7 +535,7 @@ (set! (-> v1-5 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc-states_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc-states_REF.gc index 964b8a1df8..b0ae749c01 100644 --- a/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc-states_REF.gc @@ -20,7 +20,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -211,12 +211,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -236,7 +231,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -303,7 +298,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -336,14 +331,10 @@ ) (let ((s5-0 (new 'stack-no-clear 'inline-array 'matrix 2))) (compute-seat-position (the-as vehicle gp-0) (the-as vector (-> s5-0 0)) (-> self vehicle-seat-index)) - (set! (-> s5-0 0 vector 1 quad) (-> self root-override2 trans quad)) + (set! (-> s5-0 0 vector 1 quad) (-> self root trans quad)) (set! (-> s5-0 0 trans quad) (-> s5-0 0 quad 0)) - (vector-! - (the-as vector (-> s5-0 1)) - (the-as vector (-> s5-0 0)) - (-> (the-as vehicle gp-0) root-override-2 trans) - ) - (vector-z-quaternion! (-> s5-0 0 vector 2) (-> self root-override2 quat)) + (vector-! (the-as vector (-> s5-0 1)) (the-as vector (-> s5-0 0)) (-> (the-as vehicle gp-0) root trans)) + (vector-z-quaternion! (-> s5-0 0 vector 2) (-> self root quat)) (let ((f30-1 (* 0.5 (vector-vector-xz-distance (-> s5-0 0 vector 1) (-> s5-0 0 trans))))) (vector-normalize! (-> s5-0 0 vector 2) (* 2.0 f30-1)) (vector-normalize! (the-as vector (-> s5-0 1)) (* 4.0 f30-1)) @@ -365,8 +356,8 @@ (set! (-> a0-26 target-post quad) (-> v1-47 quad)) ) 0 - (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-0 0)) (-> self root-override2 trans)) 17203.2) - (< (fabs (- (-> s5-0 0 vector 0 y) (-> self root-override2 trans y))) 20480.0) + (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-0 0)) (-> self root trans)) 17203.2) + (< (fabs (- (-> s5-0 0 vector 0 y) (-> self root trans y))) 20480.0) ) (go-virtual board-vehicle) ) @@ -428,7 +419,7 @@ ) :exit (behavior () (local-vars (v1-6 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logclear! (-> self focus-status) (focus-status disable)) (let ((v1-5 (-> self enemy-flags))) (if (logtest? v1-5 (enemy-flag checking-water)) @@ -457,15 +448,15 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.5)) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)))) + (set! (-> s5-2 quad) (-> self root trans quad)) + (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 1.0 0) ) (until (ja-done? 0) (let ((s3-1 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s3-1) root-override-2 quat)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s3-1) root quat)) (compute-seat-position (the-as vehicle s3-1) (the-as vector (-> gp-0 vector)) (-> self vehicle-seat-index)) ) (vector-! (-> gp-0 vector 1) (the-as vector (-> gp-0 vector)) s5-2) @@ -487,8 +478,8 @@ ) ) ) - (quaternion-slerp! (-> self root-override2 quat) s4-0 (the-as quaternion (-> gp-0 vector 2)) f30-0) - (vector+float*! (-> self root-override2 trans) s5-2 (-> gp-0 vector 1) f30-0) + (quaternion-slerp! (-> self root quat) s4-0 (the-as quaternion (-> gp-0 vector 2)) f30-0) + (vector+float*! (-> self root trans) s5-2 (-> gp-0 vector 1) f30-0) ) ) (suspend) @@ -497,22 +488,19 @@ ) ) (let ((s5-3 (new 'stack-no-clear 'vector))) - (set! (-> s5-3 quad) (-> self root-override2 trans quad)) + (set! (-> s5-3 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 7.0 0) 0.5) :frame-num (ja-aframe 5.0 0) ) (until (ja-done? 0) (let ((s4-2 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s4-2) root-override-2 quat)) - (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) - (if (zero? (-> self vehicle-seat-index)) - -16384.0 - 16384.0 - ) - ) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s4-2) root quat)) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (if (zero? (-> self vehicle-seat-index)) + -16384.0 + 16384.0 + ) + ) (vector-matrix*! (the-as vector (-> gp-0 vector)) (-> self local-seat-pos) @@ -521,29 +509,29 @@ ) (vector-! (-> gp-0 vector 1) (the-as vector (-> gp-0 vector)) s5-3) (let ((f0-16 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 5.0 0) (ja-aframe 7.0 0)))) - (vector+float*! (-> self root-override2 trans) s5-3 (-> gp-0 vector 1) f0-16) + (vector+float*! (-> self root trans) s5-3 (-> gp-0 vector 1) f0-16) ) (suspend) (ja :num! (seek! (ja-aframe 7.0 0) 0.5)) ) ) - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 12.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) (until (ja-done? 0) (let ((s5-5 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s5-5) root-override-2 quat)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector 2)) (-> (the-as vehicle s5-5) root quat)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle s5-5) node-list data 0 bone transform) ) ) (let ((f0-22 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 7.0 0) (ja-aframe 9.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector 2)) (* (- 1.0 f0-22) (if (zero? (-> self vehicle-seat-index)) -16384.0 @@ -582,7 +570,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-11 (-> self nav))) (logclear! (-> v1-11 shape nav-flags) (nav-flags has-extra-sphere)) ) @@ -593,7 +581,7 @@ ) :exit (behavior () (local-vars (v1-4 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-3 (-> self enemy-flags))) (if (logtest? v1-3 (enemy-flag checking-water)) (set! v1-4 (logior v1-3 (enemy-flag enable-on-active))) @@ -611,14 +599,14 @@ (let ((s5-0 (handle->process (-> self vehicle-handle))) (gp-0 (new 'stack-no-clear 'vector)) ) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-0) root-override-2 quat)) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-0) root quat)) + (set! (-> gp-0 quad) (-> self root trans quad)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle s5-0) node-list data 0 bone transform) ) - (let* ((f0-2 (* (vector-vector-distance (-> self root-override2 trans) gp-0) (-> self clock frames-per-second))) + (let* ((f0-2 (* (vector-vector-distance (-> self root trans) gp-0) (-> self clock frames-per-second))) (f0-3 (lerp-scale 0.3 1.2 f0-2 0.0 81920.0)) ) (seek! (-> self anim-speed) f0-3 (* 2.0 (-> self clock seconds-per-frame))) @@ -669,7 +657,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logior! (-> self focus-status) (focus-status disable)) (none) ) @@ -698,9 +686,9 @@ (check-vehicle-exit self) (when (focus-test? self pilot-riding) (let ((gp-0 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle gp-0) root-override-2 quat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle gp-0) root quat)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle gp-0) node-list data 0 bone transform) ) @@ -717,17 +705,17 @@ ) (until (ja-done? 0) (let ((s5-1 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-1) root-override-2 quat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-1) root quat)) (vector-matrix*! - (-> self root-override2 trans) + (-> self root trans) (-> self local-seat-pos) (-> (the-as vehicle s5-1) node-list data 0 bone transform) ) ) (let ((f0-3 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 9.0 0) (ja-aframe 7.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f0-3 (if (zero? (-> self vehicle-seat-index)) 16384.0 -16384.0 @@ -738,33 +726,30 @@ (suspend) (ja :num! (seek! (ja-aframe 7.0 0) 0.25)) ) - (set! (-> gp-0 0 vector 1 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 0 vector 1 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 5.0 0) 0.5) :frame-num (ja-aframe 7.0 0) ) (until (ja-done? 0) (let ((s5-5 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-5) root-override-2 quat)) - (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) - (if (zero? (-> self vehicle-seat-index)) - 16384.0 - -16384.0 - ) - ) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-5) root quat)) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (if (zero? (-> self vehicle-seat-index)) + 16384.0 + -16384.0 + ) + ) (compute-seat-position (the-as vehicle s5-5) (the-as vector (-> gp-0 0)) (-> self vehicle-seat-index)) ) (vector-! (-> gp-0 0 trans) (the-as vector (-> gp-0 0)) (-> gp-0 0 vector 1)) (let ((f0-10 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 7.0 0) (ja-aframe 5.0 0)))) - (vector+float*! (-> self root-override2 trans) (-> gp-0 0 vector 1) (-> gp-0 0 trans) f0-10) + (vector+float*! (-> self root trans) (-> gp-0 0 vector 1) (-> gp-0 0 trans) f0-10) ) (suspend) (ja :num! (seek! (ja-aframe 5.0 0) 0.5)) ) (logclear! (-> self focus-status) (focus-status pilot-riding)) - (set! (-> gp-0 0 quad 0) (-> self root-override2 trans quad)) + (set! (-> gp-0 0 quad 0) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 5.0 0) @@ -774,14 +759,14 @@ (compute-seat-position (the-as vehicle s5-9) (the-as vector (-> gp-0 0)) (-> self vehicle-seat-index)) (quaternion-rotate-local-y! (the-as quaternion (-> gp-0 1)) - (-> (the-as vehicle s5-9) root-override-2 quat) + (-> (the-as vehicle s5-9) root quat) (if (zero? (-> self vehicle-seat-index)) -49152.0 49152.0 ) ) ) - (let ((s5-10 (-> self root-override2 quat))) + (let ((s5-10 (-> self root quat))) (let ((f30-0 (quaternion-y-angle (the-as quaternion (-> gp-0 1))))) (quaternion-identity! s5-10) (quaternion-rotate-y! s5-10 s5-10 f30-0) @@ -809,7 +794,7 @@ 0 (vector-! (-> gp-0 0 trans) (the-as vector (-> gp-0 0)) (-> self exit-vehicle-dest)) (let ((f0-19 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 1.0 0) (ja-aframe 5.0 0)))) - (vector+float*! (-> self root-override2 trans) (-> self exit-vehicle-dest) (-> gp-0 0 trans) f0-19) + (vector+float*! (-> self root trans) (-> self exit-vehicle-dest) (-> gp-0 0 trans) f0-19) ) (suspend) (ja :num! (seek! (ja-aframe 0.0 0))) @@ -840,7 +825,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -1017,7 +1002,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (logior! (-> self bot-flags) (bot-flags bf09)) @@ -1056,7 +1041,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (logior! (-> self bot-flags) (bot-flags bf09)) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active checking-water)) diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc4-course_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc4-course_REF.gc index 35b889b641..f28a775718 100644 --- a/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc4-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc4-course_REF.gc @@ -16,12 +16,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -62,13 +62,13 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 2)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 2)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-14 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -87,9 +87,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 4 #f) @@ -111,7 +109,7 @@ (new 'static 'bot-waypoint :waypoint-id 4 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -129,9 +127,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 5 #f) @@ -153,9 +149,9 @@ (new 'static 'bot-waypoint :waypoint-id 5 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 3)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 3)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -174,9 +170,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 6 #f) @@ -198,9 +192,9 @@ (new 'static 'bot-waypoint :waypoint-id 6 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 7)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 7)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -219,9 +213,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 7 #f) @@ -243,7 +235,7 @@ (new 'static 'bot-waypoint :waypoint-id 7 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -261,9 +253,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 8 #f) @@ -285,7 +275,7 @@ (new 'static 'bot-waypoint :waypoint-id 8 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -303,9 +293,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 9 #f) @@ -327,9 +315,9 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 12)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 12)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -348,9 +336,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 10 #f) @@ -372,7 +358,7 @@ (new 'static 'bot-waypoint :waypoint-id 10 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -390,9 +376,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -414,7 +398,7 @@ (new 'static 'bot-waypoint :waypoint-id 11 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -432,9 +416,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 12 #f) @@ -456,7 +438,7 @@ (new 'static 'bot-waypoint :waypoint-id 12 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -474,9 +456,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 13 #f) @@ -498,7 +478,7 @@ (new 'static 'bot-waypoint :waypoint-id 13 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -516,9 +496,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 14 #f) @@ -540,9 +518,9 @@ (new 'static 'bot-waypoint :waypoint-id 14 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 crocadog-escort)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) @@ -561,9 +539,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 15 #f) @@ -585,7 +561,7 @@ (new 'static 'bot-waypoint :waypoint-id 15 :nav-mesh-index -1 - :skip-to #x13 + :skip-to 19 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) crocesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -603,9 +579,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 16 #f) @@ -622,13 +596,13 @@ ) :on-update #f :on-skipping-here (lambda ((arg0 crocadog-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 course spots 12)) - (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root-override2 trans)) + (vector-! (-> arg0 follow-dir) (the-as vector (-> arg0 course spots 14)) (-> arg0 root trans)) (vector-normalize! (-> arg0 follow-dir) 1.0) (send-event (handle->process (-> arg0 master-handle)) 'notify 'follow-dir (-> arg0 follow-dir)) (none) @@ -638,7 +612,7 @@ (new 'static 'bot-waypoint :waypoint-id 16 :nav-mesh-index -1 - :skip-to #x13 + :skip-to 19 :on-set (lambda ((arg0 crocadog-escort)) (let ((v1-3 (-> arg0 actor-group 0 data 0 actor))) (set! (-> arg0 poi-handle) (-> (the-as bot (if v1-3 @@ -665,9 +639,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 17 #f) @@ -770,9 +742,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 21 #f) @@ -789,9 +759,9 @@ ) :on-update #f :on-skipping-here (lambda ((arg0 crocadog-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 course spots 16)) @@ -820,9 +790,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 22 #f) @@ -862,9 +830,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 23 #f) @@ -909,9 +875,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 24 #f) @@ -951,9 +915,7 @@ ) ) (when (or (not a0-6) - (>= 20480.0 - (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root-override2 trans)) - ) + (>= 20480.0 (vector-vector-distance (get-trans (the-as process-focusable a0-6) 0) (-> arg1 root trans))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 25 #f) diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc_REF.gc new file mode 100644 index 0000000000..6a8f539784 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/crocesc_REF.gc @@ -0,0 +1,707 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *crocadog-escort-nav-enemy-info*, type nav-enemy-info +(define *crocadog-escort-nav-enemy-info* + (new 'static 'nav-enemy-info + :use-die-falling #t + :use-victory #f + :use-jump-blocked #f + :debug-draw-neck #f + :jump-debug-draw #f + :move-to-ground #t + :hover-if-no-ground #f + :idle-anim-script (new 'static 'array idle-control-frame 2 + (new 'static 'idle-control-frame :command (ic-cmd play) :anim #x3 :param0 #x1 :param1 #x1) + (new 'static 'idle-control-frame) + ) + :idle-anim 3 + :notice-anim 3 + :hostile-anim -1 + :hit-anim 3 + :knocked-anim 12 + :knocked-land-anim 13 + :die-anim 3 + :die-falling-anim 3 + :victory-anim -1 + :jump-wind-up-anim 3 + :jump-in-air-anim 3 + :jump-land-anim 3 + :neck-joint 6 + :look-at-joint 6 + :bullseye-joint 4 + :notice-distance (meters 6) + :notice-distance-delta (meters 10) + :proximity-notice-distance (meters 6) + :default-hit-points 100 + :gnd-collide-with (collide-spec backgnd) + :overlaps-others-collide-with-filter (collide-spec jak bot player-list) + :penetrate-knocked (penetrate + touch + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech + mech-punch + mech-bonk + dark-skin + dark-punch + dark-bomb + dark-giant + shield + explode + jak-yellow-shot + jak-red-shot + jak-blue-shot + jak-dark-shot + enemy-yellow-shot + enemy-dark-shot + eco-yellow + eco-red + eco-blue + eco-green + knocked + penetrate-33 + penetrate-34 + penetrate-35 + penetrate-36 + penetrate-37 + penetrate-38 + penetrate-39 + penetrate-40 + penetrate-41 + penetrate-42 + penetrate-43 + penetrate-44 + penetrate-45 + penetrate-46 + penetrate-47 + penetrate-48 + penetrate-49 + penetrate-50 + penetrate-51 + penetrate-52 + penetrate-53 + penetrate-54 + penetrate-55 + penetrate-56 + penetrate-57 + penetrate-58 + penetrate-59 + penetrate-60 + penetrate-61 + penetrate-62 + penetrate-63 + ) + :movement-gravity (meters -100) + :friction 0.7 + :attack-shove-back (meters 3) + :attack-shove-up (meters 2) + :attack-mode 'generic + :attack-damage 2 + :recover-gnd-collide-with (collide-spec backgnd crate obstacle hit-by-others-list pusher) + :jump-height-min (meters 3) + :jump-height-factor 0.5 + :knocked-seek-ry-clamp 2730.6667 + :knocked-soft-vxz-lo 49152.0 + :knocked-soft-vxz-hi 49152.0 + :knocked-soft-vy-lo 40960.0 + :knocked-soft-vy-hi 40960.0 + :knocked-medium-vxz-lo 49152.0 + :knocked-medium-vxz-hi 49152.0 + :knocked-medium-vy-lo 40960.0 + :knocked-medium-vy-hi 40960.0 + :knocked-hard-vxz-lo 49152.0 + :knocked-hard-vxz-hi 49152.0 + :knocked-hard-vy-lo 40960.0 + :knocked-hard-vy-hi 40960.0 + :knocked-huge-vxz-lo 164659.2 + :knocked-huge-vxz-hi 249036.8 + :knocked-huge-vy-lo 183500.8 + :knocked-huge-vy-hi 217907.2 + :knocked-yellow-vxz-lo 49152.0 + :knocked-yellow-vxz-hi 49152.0 + :knocked-yellow-vy-lo 40960.0 + :knocked-yellow-vy-hi 40960.0 + :knocked-red-vxz-lo 49152.0 + :knocked-red-vxz-hi 49152.0 + :knocked-red-vy-lo 40960.0 + :knocked-red-vy-hi 40960.0 + :knocked-blue-vxz-lo 49152.0 + :knocked-blue-vxz-hi 49152.0 + :knocked-blue-vy-lo 40960.0 + :knocked-blue-vy-hi 40960.0 + :shadow-size (meters 2) + :shadow-max-y (meters 1) + :shadow-min-y (meters -1) + :shadow-locus-dist (meters 150) + :gem-joint -1 + :gem-offset (new 'static 'sphere :r 163840.0) + :callback-info #f + :use-momentum #t + :use-frustration #t + :use-stop-chase #f + :use-circling #f + :use-pacing #f + :walk-anim 3 + :turn-anim -1 + :run-anim 3 + :taunt-anim -1 + :run-travel-speed (meters 7) + :run-acceleration (meters 14) + :run-turning-acceleration (meters 6) + :walk-travel-speed (meters 2.2) + :walk-acceleration (meters 8) + :walk-turning-acceleration (meters 6) + :maximum-rotation-rate (degrees 360) + :notice-nav-radius (meters 0.65) + :frustration-distance (meters 8) + :frustration-time (seconds 4) + :blocked-time (seconds 0.3) + :circle-dist-lo 20480.0 + :circle-dist-hi 61440.0 + :nav-mesh #f + ) + ) + +;; failed to figure out what this is: +(set! (-> *crocadog-escort-nav-enemy-info* fact-defaults) *fact-info-enemy-defaults*) + +;; definition for method 74 of type crocadog-escort +(defmethod general-event-handler crocadog-escort ((obj crocadog-escort) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + "Handles various events for the enemy +@TODO - unsure if there is a pattern for the events and this should have a more specific name" + (case arg2 + (('attack) + ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) + #f + ) + (('nav-mesh-kill) + (change-to *default-nav-mesh* obj) + #t + ) + (else + ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 59 of type crocadog-escort +(defmethod get-penetrate-info crocadog-escort ((obj crocadog-escort)) + "@returns the allowed way(s) this enemy can take damage +@see [[penetrate]] and [[penetrated-by-all&hit-points->penetrated-by]]" + (let ((v1-1 ((method-of-type bot get-penetrate-info) obj))) + (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot) v1-1) + ) + ) + +;; definition for method 193 of type crocadog-escort +(defmethod bot-method-193 crocadog-escort ((obj crocadog-escort)) + (let* ((t9-0 (method-of-type bot bot-method-193)) + (v0-0 (t9-0 obj)) + ) + (if (and (not v0-0) (logtest? #x1c00000 (-> obj incoming penetrate-using))) + (set! v0-0 #t) + ) + v0-0 + ) + ) + +;; definition for method 79 of type crocadog-escort +(defmethod enemy-method-79 crocadog-escort ((obj crocadog-escort) (arg0 int) (arg1 enemy-knocked-info)) + (local-vars (gp-0 symbol)) + (case arg0 + ((3) + (set! gp-0 (ja-done? 0)) + (let ((f30-0 1.0)) + (if (>= (ja-aframe-num 0) 4.0) + (set! f30-0 0.25) + ) + (let ((a0-4 (-> obj skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group frames num-frames) -1))) + (set! (-> a0-4 param 1) f30-0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (set! gp-0 ((method-of-type bot enemy-method-79) obj arg0 arg1)) + ) + ) + gp-0 + ) + +;; definition for method 234 of type crocadog-escort +;; INFO: Used lq/sq +(defmethod want-exit-vehicle? crocadog-escort ((obj crocadog-escort) (arg0 vector)) + (let ((s3-0 (handle->process (-> obj vehicle-handle)))) + (if (or (not s3-0) (not (-> obj nav))) + (return #f) + ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (compute-seat-position (the-as vehicle s3-0) s4-0 (-> obj vehicle-seat-index)) + (vector-! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 (+ 12288.0 (vector-length s4-0))) + (vector+! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) + (let ((s3-1 (new 'stack-no-clear 'collide-query))) + (when (enemy-above-ground? obj s3-1 s4-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) + (set! (-> s4-0 y) (-> s3-1 best-other-tri intersect y)) + (let ((s3-2 (new 'stack-no-clear 'vector))) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) + (when (cloest-point-on-mesh (-> obj nav) s3-2 s4-0 (the-as nav-poly #f)) + (let ((f0-4 2048.0)) + (when (>= (* f0-4 f0-4) (vector-vector-xz-distance-squared s3-2 s4-0)) + (set! (-> arg0 quad) (-> s3-2 quad)) + #t + ) + ) + ) + ) + ) + ) + ) + ) + ) + +;; definition for method 12 of type crocadog-escort +(defmethod run-logic? crocadog-escort ((obj crocadog-escort)) + (or (not (logtest? (process-mask enemy) (-> *setting-control* user-current process-mask))) + (logtest? (-> obj bot-flags) (bot-flags bf09)) + ) + ) + +;; definition for method 97 of type crocadog-escort +(defmethod enemy-method-97 crocadog-escort ((obj crocadog-escort)) + (let* ((s4-0 (handle->process (-> obj attacker-handle))) + (s5-0 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + ) + (when s5-0 + (when (>= (- (current-time) (-> obj attacker-time)) (seconds 3)) + (set! s5-0 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) + ) + ) + (handle->process (-> obj kid-handle)) + (cond + (s5-0 + (empty) + ) + ((begin + (let ((s4-1 (handle->process (-> obj poi-handle)))) + (set! s5-0 (if (type? s4-1 process-focusable) + s4-1 + ) + ) + ) + s5-0 + ) + (empty) + ) + (else + (set! s5-0 (select-focus! obj)) + (cond + (s5-0 + (empty) + ) + (else + (let ((s4-2 (handle->process (-> obj kid-handle)))) + (set! s5-0 (if (type? s4-2 process-focusable) + s4-2 + ) + ) + ) + *target* + (let ((f30-0 -1.0) + (f28-0 (vector-vector-distance (target-pos 0) (-> obj root trans))) + ) + (if s5-0 + (set! f30-0 (vector-vector-distance (get-trans (the-as process-focusable s5-0) 0) (-> obj root trans))) + ) + (if (and s5-0 (>= (* 2.0 f28-0) f30-0)) + (empty) + (set! s5-0 *target*) + ) + ) + ) + ) + ) + ) + (cond + (s5-0 + (try-update-focus (-> obj focus) (the-as process-focusable s5-0) obj) + (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s5-0 type) target)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + (else + (clear-focused (-> obj focus)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + s5-0 + ) + ) + +;; definition for method 183 of type crocadog-escort +;; WARN: Return type mismatch object vs symbol. +(defmethod alive? crocadog-escort ((obj crocadog-escort)) + (let ((t9-0 (method-of-type bot alive?))) + (the-as symbol (and (t9-0 obj) (-> obj next-state) (let ((v1-3 (-> obj next-state name))) + (or (= v1-3 'waiting-idle) (= v1-3 'waiting-turn)) + ) + ) + ) + ) + ) + +;; definition for method 11 of type crocadog-escort +(defmethod init-from-entity! crocadog-escort ((obj crocadog-escort) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (stack-size-set! (-> obj main-thread) 512) + ((method-of-type bot init-from-entity!) obj arg0) + (none) + ) + +;; definition for method 114 of type crocadog-escort +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy-collision! crocadog-escort ((obj crocadog-escort)) + "Initializes the [[collide-shape-moving]] and any ancillary tasks to make the enemy collide properly" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrated-by) (penetrate + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech-punch + dark-punch + dark-giant + ) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 1) 0))) + (set! (-> s5-0 total-prims) (the-as uint 2)) + (set! (-> s4-0 prim-core collide-as) (collide-spec bot)) + (set! (-> s4-0 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> s4-0 prim-core action) (collide-action solid can-ride no-standon)) + (set-vector! (-> s4-0 local-sphere) 0.0 3276.8 0.0 4505.6) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-13 prim-core collide-as) (collide-spec bot)) + (set! (-> v1-13 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-13 prim-core action) (collide-action solid can-ride no-standon)) + (set-vector! (-> v1-13 local-sphere) 0.0 2867.2 0.0 2867.2) + ) + (set! (-> s5-0 nav-radius) 2662.4) + (let ((v1-15 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) + ) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> s5-0 event-priority) (the-as uint 1)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 210 of type crocadog-escort +;; WARN: Return type mismatch int vs none. +(defmethod init! crocadog-escort ((obj crocadog-escort)) + "Set defaults for various fields." + (let ((t9-0 (method-of-type bot init!))) + (t9-0 obj) + ) + (set! (-> obj min-speed) 9011.2) + (set! (-> obj max-speed) 28672.0) + (set! (-> obj channel) (the-as uint 31)) + (set! (-> obj notice-enemy-dist) 24576.0) + (set! (-> obj travel-anim-interp) 0.0) + (set! (-> obj focus-info max-los-dist) 0.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) + (set! (-> obj spot-color) (the-as uint #x5000ff00)) + (set! (-> obj kid-handle) (the-as handle #f)) + (set! (-> obj vehicle-handle) (the-as handle #f)) + (set-vector! (-> obj local-seat-pos) 0.0 819.2 -1638.4 1.0) + 0 + (none) + ) + +;; definition for method 115 of type crocadog-escort +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy! crocadog-escort ((obj crocadog-escort)) + "Common method called to initialize the enemy, typically sets up default field values and calls ancillary helper methods" + (init! obj) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-crocadog-escort" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (init-enemy-behaviour-and-stats! obj *crocadog-escort-nav-enemy-info*) + (let ((v1-7 (-> obj neck))) + (set! (-> v1-7 up) (the-as uint 1)) + (set! (-> v1-7 nose) (the-as uint 2)) + (set! (-> v1-7 ear) (the-as uint 0)) + (set-vector! (-> v1-7 twist-max) 11832.889 11832.889 0.0 1.0) + (set! (-> v1-7 ignore-angle) 30947.555) + ) + (let ((t9-4 (method-of-type bot init-enemy!))) + (t9-4 obj) + ) + (let ((v1-10 (-> obj nav))) + (set! (-> v1-10 sphere-mask) (the-as uint 126)) + ) + 0 + (set! (-> obj my-simple-focus) (process-spawn simple-focus :to obj)) + (set! (-> obj draw light-index) (the-as uint 10)) + 0 + (none) + ) + +;; definition for method 214 of type crocadog-escort +(defmethod bot-method-214 crocadog-escort ((obj crocadog-escort)) + #f + ) + +;; definition for method 237 of type crocadog-escort +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod check-vehicle-exit crocadog-escort ((obj crocadog-escort)) + (local-vars (v1-22 enemy-flag)) + (with-pp + (when (focus-test? obj pilot) + (let ((v1-4 (handle->process (-> obj vehicle-handle)))) + (when (or (not v1-4) (logtest? (-> (the-as vehicle v1-4) flags) (rigid-body-object-flag dead))) + (set! (-> obj bot-flags) (logior (bot-flags bf17) (-> obj bot-flags))) + (logclear! (-> obj bot-flags) (bot-flags bf15)) + (logclear! (-> obj focus-status) (focus-status pilot-riding pilot)) + (set! (-> obj vehicle-seat-index) -1) + (set! (-> obj vehicle-handle) (the-as handle #f)) + (logior! (-> obj root nav-flags) (nav-flags has-root-sphere)) + (let* ((s5-0 (-> obj root quat)) + (f30-0 (quaternion-y-angle s5-0)) + ) + (quaternion-identity! s5-0) + (quaternion-rotate-y! s5-0 s5-0 f30-0) + ) + (let ((v1-21 (-> obj enemy-flags))) + (if (logtest? v1-21 (enemy-flag checking-water)) + (set! v1-22 (logior v1-21 (enemy-flag enable-on-active))) + (set! v1-22 (logclear v1-21 (enemy-flag enable-on-active))) + ) + ) + (set! (-> obj enemy-flags) v1-22) + (let ((f30-2 (+ 16384.0 (quaternion-y-angle (-> obj root quat)))) + (s5-1 (new 'stack-no-clear 'vector)) + ) + (set-vector! s5-1 (sin f30-2) 0.0 (cos f30-2) 1.0) + (vector-normalize! s5-1 65536.0) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) (process->ppointer pp)) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'attack) + (set! (-> a1-3 param 0) (the-as uint #f)) + (let ((v1-29 (new 'static 'attack-info :mask (attack-info-mask vector id attacker-velocity knock)))) + (let* ((a0-24 *game-info*) + (a2-2 (+ (-> a0-24 attack-id) 1)) + ) + (set! (-> a0-24 attack-id) a2-2) + (set! (-> v1-29 id) a2-2) + ) + (set! (-> v1-29 vector quad) (-> s5-1 quad)) + (set! (-> v1-29 attacker-velocity quad) (-> s5-1 quad)) + (set! (-> v1-29 knock) (the-as uint 8)) + (set! (-> a1-3 param 1) (the-as uint v1-29)) + ) + (send-event-function obj a1-3) + ) + ) + ) + ) + ) + 0 + (none) + ) + ) + +;; definition for method 70 of type crocadog-escort +(defmethod go-hostile crocadog-escort ((obj crocadog-escort)) + (cond + ((logtest? (bot-flags bf17) (-> obj bot-flags)) + (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) + (logclear! (-> obj focus-status) (focus-status dangerous)) + (logclear! (-> obj enemy-flags) (enemy-flag check-water)) + (logclear! (-> obj mask) (process-mask collectable)) + (logclear! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (logclear! (-> obj enemy-flags) (enemy-flag notice)) + (logior! (-> obj focus-status) (focus-status disable)) + (go (method-of-object obj knocked-off-vehicle)) + ) + (else + (react-to-focus obj) + ) + ) + (none) + ) + +;; definition for method 72 of type crocadog-escort +(defmethod react-to-focus crocadog-escort ((obj crocadog-escort)) + "@TODO - flesh out docs" + (go-idle-or-move obj) + (none) + ) + +;; definition for method 236 of type crocadog-escort +;; WARN: Return type mismatch object vs none. +(defmethod go-waiting-turn crocadog-escort ((obj crocadog-escort)) + (go (method-of-object obj waiting-turn)) + (none) + ) + +;; definition for method 235 of type crocadog-escort +;; WARN: Return type mismatch object vs none. +(defmethod go-idle-or-move crocadog-escort ((obj crocadog-escort)) + (if (logtest? (-> obj bot-flags) (bot-flags bf15)) + (go (method-of-object obj move-to-vehicle)) + (go (method-of-object obj waiting-idle)) + ) + (none) + ) + +;; definition for method 238 of type crocadog-escort +;; WARN: Return type mismatch int vs none. +(defmethod play-walk-anim crocadog-escort ((obj crocadog-escort)) + (with-pp + (let ((f30-0 (-> obj nav state speed))) + (let ((f0-1 (lerp-scale 0.0 1.0 f30-0 9011.2 28672.0))) + (seek! (-> obj travel-anim-interp) f0-1 (* 4.0 (-> pp clock seconds-per-frame))) + ) + (let ((f28-0 (-> obj travel-anim-interp)) + (v1-7 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((and v1-7 (= v1-7 (-> obj draw art-group data 7))) + (let ((v1-12 (-> obj skel root-channel 1))) + (set! (-> v1-12 frame-interp 1) f28-0) + (set! (-> v1-12 frame-interp 0) f28-0) + ) + (let* ((f28-1 (current-cycle-distance (-> obj skel))) + (f0-5 (quaternion-y-angle (-> obj root quat))) + (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) + (f0-8 (fmin 28672.0 (* 0.15707962 (-> pp clock frames-per-second) (fabs f1-2)))) + (f0-11 (/ (* 7.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) + (a0-10 (-> obj skel root-channel 0)) + ) + (set! (-> a0-10 param 0) f0-11) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((a0-11 (-> obj skel root-channel 1))) + (set! (-> a0-11 param 0) 0.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-chan) + ) + ) + (else + (ja-channel-push! 2 (seconds 0.15)) + (let ((a0-13 (-> obj skel root-channel 0))) + (set! (-> a0-13 dist) 4206.592) + (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> obj draw art-group data 7))) + (set! (-> a0-13 param 0) 1.0) + (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> obj draw art-group data 7)) num-func-loop!) + ) + (let ((a0-14 (-> obj skel root-channel 1))) + (set! (-> a0-14 frame-interp 1) f28-0) + (set! (-> a0-14 frame-interp 0) f28-0) + (set! (-> a0-14 dist) 13393.92) + (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> obj draw art-group data 8))) + (set! (-> a0-14 param 0) 0.0) + (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> obj draw art-group data 8)) num-func-chan) + ) + ) + ) + ) + ) + (none) + ) + ) + +;; definition for method 56 of type crocadog-escort +(defmethod damage-amount-from-attack crocadog-escort ((obj crocadog-escort) (arg0 process) (arg1 event-message-block)) + "@returns the amount of damage taken from an attack. This can come straight off the [[attack-info]] or via [[penetrate-using->damage]]" + 0 + ) + +;; definition for method 190 of type crocadog-escort +(defmethod bot-method-190 crocadog-escort ((obj crocadog-escort)) + #t + ) + +;; definition for method 78 of type crocadog-escort +(defmethod enemy-method-78 crocadog-escort ((obj crocadog-escort) (arg0 (pointer float))) + (ja-channel-push! 1 (seconds 0.1)) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) + (a0-4 (-> obj skel root-channel 0)) + ) + (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) + (set! (-> a0-4 param 0) (the float (+ (-> (the-as art-joint-anim a1-2) frames num-frames) -1))) + (set! (-> a0-4 param 1) (-> arg0 0)) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim a1-2) num-func-seek!) + ) + #t + ) + +;; definition for method 116 of type crocadog-escort +(defmethod go-idle crocadog-escort ((obj crocadog-escort)) + (cond + ((task-node-closed? (game-task-node city-escort-kid-resolution)) + (cleanup-for-death obj) + (go (method-of-object obj die-fast)) + ) + (else + (go-idle-or-move obj) + ) + ) + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/hal4-course_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/hal4-course_REF.gc index 4a69591e76..5ee653e2c9 100644 --- a/test/decompiler/reference/jak2/levels/city/kid_escort/hal4-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/hal4-course_REF.gc @@ -306,9 +306,9 @@ ) (set-vector! s0-0 13312.0 0.0 17408.0 1.0) (vector-rotate-around-y! s0-0 s0-0 (* 16384.0 (the float s2-1))) - (vector+! s0-0 s0-0 (-> (the-as process-focusable gp-0) root-override trans)) + (vector+! s0-0 s0-0 (-> (the-as process-focusable gp-0) root trans)) (nav-mesh-method-10 arg0 s1-0 s0-0 (the-as nav-poly #f)) - (let ((f0-6 (vector-vector-xz-distance s1-0 (-> (the-as process-focusable gp-0) root-override trans)))) + (let ((f0-6 (vector-vector-xz-distance s1-0 (-> (the-as process-focusable gp-0) root trans)))) (when (or (< f30-0 0.0) (< f30-0 f0-6)) (set! f30-0 f0-6) (set! (-> s5-1 quad) (-> s1-0 quad)) @@ -341,7 +341,7 @@ (vector-reset! (-> s2-2 velocity)) (set! (-> s2-2 position quad) (-> s5-1 quad)) (let ((a1-9 (new 'stack-no-clear 'vector))) - (vector-! a1-9 (-> (the-as process-focusable gp-0) root-override trans) (-> s2-2 position)) + (vector-! a1-9 (-> (the-as process-focusable gp-0) root trans) (-> s2-2 position)) (forward-up->quaternion (-> s2-2 rotation) a1-9 *up-vector*) ) (send-event *traffic-manager* 'activate-object s2-2) @@ -377,7 +377,7 @@ ) ) (set! s4-1 - (get-best-seat-for-vehicle (the-as vehicle gp-0) (-> (the-as process-focusable s5-0) root-override trans) 2 1) + (get-best-seat-for-vehicle (the-as vehicle gp-0) (-> (the-as process-focusable s5-0) root trans) 2 1) ) ) (label cfg-20) @@ -683,7 +683,7 @@ ) (when (not s3-2) (let ((s3-3 (new 'stack-no-clear 'vector))) - (vector-! s3-3 (target-pos 0) (-> (the-as process-focusable s4-0) root-override trans)) + (vector-! s3-3 (target-pos 0) (-> (the-as process-focusable s4-0) root trans)) (vector-normalize! s3-3 1.0) (if (>= (vector-dot s3-3 (-> obj follow-dir)) 0.0) (set! s5-0 (logior s5-0 8)) @@ -756,14 +756,14 @@ (set-setting! 'exclusive-task #f 0.0 (game-task city-escort-kid)) (set-setting! 'allow-continue #f 0.0 0) (clear-speech-flags! arg0) - (speech-control-method-10 + (speech-table-set! *speech-control* - 6 + (speech-type speech-type-6) (new 'static 'speech-type-info :channel #x1 :priority -2 - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg280a" "kg281a" @@ -784,14 +784,14 @@ ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 7 + (speech-type speech-type-7) (new 'static 'speech-type-info :channel #x1 :priority -2 - :min-delay #x258 - :max-delay #x4b0 + :min-delay (seconds 2) + :max-delay (seconds 4) :list (new 'static 'boxed-array :type string "kg280a" "kg281a" @@ -928,7 +928,7 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 hal-escort)) (set-setting! 'sound-mode #f 0.0 2) (let ((s5-0 (-> arg0 hal4-course spots))) @@ -1002,7 +1002,7 @@ (new 'static 'bot-waypoint :waypoint-id 3 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 hal-escort)) (init-traffic-params! arg0 #t) (set-setting! 'sound-mode #f 0.0 1) @@ -1058,7 +1058,7 @@ (new 'static 'bot-waypoint :waypoint-id 6 :nav-mesh-index -1 - :skip-to #xf + :skip-to 15 :on-set (lambda ((arg0 hal-escort)) (reset-warn-time! arg0) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) @@ -1111,7 +1111,7 @@ (new 'static 'bot-waypoint :waypoint-id 15 :nav-mesh-index -1 - :skip-to #x14 + :skip-to 20 :on-set (lambda ((arg0 hal-escort)) (send-event *traffic-manager* 'set-guard-force-visible #f) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) @@ -1306,7 +1306,7 @@ ) (if (and (>= (-> arg1 hal4-course spots 7 center w) (vector-vector-xz-distance s1-1 (the-as vector s0-0))) (>= 16384.0 (- (-> s1-1 y) (-> s0-0 center y))) - (>= 61440.0 (vector-length (-> (the-as process-focusable s2-0) root-override transv))) + (>= 61440.0 (vector-length (-> (the-as process-focusable s2-0) root transv))) (>= 1.0 (vector-length (-> (the-as process-focusable s2-0) rbody state ang-velocity))) ) (set! s3-1 #t) @@ -1352,7 +1352,7 @@ (let ((v1-7 (handle->process (-> arg0 vehicle-handle)))) (if (and v1-7 (and (not (logtest? (-> (the-as vehicle v1-7) flags) (rigid-body-object-flag dead))) - (>= (vector-length (-> (the-as vehicle v1-7) root-override-2 transv)) 40960.0) + (>= (vector-length (-> (the-as vehicle v1-7) root transv)) 40960.0) (not (channel-active? arg0 (the-as uint 0))) ) ) @@ -1465,8 +1465,8 @@ ) ) ) - (vector-reset! (-> (the-as process-focusable s5-0) root-override transv)) - (vector-reset! (-> (the-as process-focusable s4-1) root-override transv)) + (vector-reset! (-> (the-as process-focusable s5-0) root transv)) + (vector-reset! (-> (the-as process-focusable s4-1) root transv)) (send-event s5-0 'hide #t) (send-event s4-1 'hide #t) ) diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc-states_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc-states_REF.gc index 6335f892a2..5301ea8b9f 100644 --- a/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc-states_REF.gc @@ -17,7 +17,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -135,12 +135,7 @@ (none) ) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -157,7 +152,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -228,7 +223,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -269,14 +264,10 @@ ) (let ((s5-1 (new 'stack-no-clear 'inline-array 'matrix 2))) (compute-seat-position (the-as vehicle gp-0) (the-as vector (-> s5-1 0)) (-> self vehicle-seat-index)) - (set! (-> s5-1 0 vector 1 quad) (-> self root-override2 trans quad)) + (set! (-> s5-1 0 vector 1 quad) (-> self root trans quad)) (set! (-> s5-1 0 trans quad) (-> s5-1 0 quad 0)) - (vector-! - (the-as vector (-> s5-1 1)) - (the-as vector (-> s5-1 0)) - (-> (the-as vehicle gp-0) root-override-2 trans) - ) - (vector-z-quaternion! (-> s5-1 0 vector 2) (-> self root-override2 quat)) + (vector-! (the-as vector (-> s5-1 1)) (the-as vector (-> s5-1 0)) (-> (the-as vehicle gp-0) root trans)) + (vector-z-quaternion! (-> s5-1 0 vector 2) (-> self root quat)) (let ((f30-1 (* 0.5 (vector-vector-xz-distance (-> s5-1 0 vector 1) (-> s5-1 0 trans))))) (vector-normalize! (-> s5-1 0 vector 2) (* 2.0 f30-1)) (vector-normalize! (the-as vector (-> s5-1 1)) (* 4.0 f30-1)) @@ -298,8 +289,8 @@ (set! (-> a0-30 target-post quad) (-> v1-55 quad)) ) 0 - (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-1 0)) (-> self root-override2 trans)) 17203.2) - (< (fabs (- (-> s5-1 0 vector 0 y) (-> self root-override2 trans y))) 20480.0) + (if (and (< (vector-vector-xz-distance (the-as vector (-> s5-1 0)) (-> self root trans)) 17203.2) + (< (fabs (- (-> s5-1 0 vector 0 y) (-> self root trans y))) 20480.0) ) (go-virtual board-vehicle) ) @@ -349,7 +340,7 @@ ) :exit (behavior () (local-vars (v1-6 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logclear! (-> self focus-status) (focus-status disable)) (let ((v1-5 (-> self enemy-flags))) (if (logtest? v1-5 (enemy-flag checking-water)) @@ -369,7 +360,7 @@ (local-vars (sv-112 float)) (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 1.0 0) 0.25) :frame-num (ja-aframe 0.0 0) @@ -379,10 +370,10 @@ (f30-0 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 0.0 0) (ja-aframe 1.0 0))) ) (compute-seat-position (the-as vehicle s5-1) (-> gp-0 trans) (-> self vehicle-seat-index)) - (vector-! (-> gp-0 trans) (-> gp-0 trans) (-> self root-override2 trans)) + (vector-! (-> gp-0 trans) (-> gp-0 trans) (-> self root trans)) (quaternion<-rotate-y-vector (the-as quaternion (-> gp-0 vector 1)) (-> gp-0 trans)) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 1)) f30-0 @@ -392,8 +383,8 @@ (ja :num! (seek! (ja-aframe 1.0 0) 0.25)) ) (let ((s5-3 (new 'stack-no-clear 'vector))) - (set! (-> s5-3 quad) (-> self root-override2 trans quad)) - (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root-override2 quat)) + (set! (-> s5-3 quad) (-> self root trans quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector)) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 1.0 0) @@ -413,7 +404,7 @@ ) (quaternion-rotate-local-y! (the-as quaternion (-> gp-0 vector 1)) - (-> (the-as vehicle s4-2) root-override-2 quat) + (-> (the-as vehicle s4-2) root quat) (* f30-1 (if (zero? (-> self vehicle-seat-index)) -16384.0 16384.0 @@ -421,12 +412,12 @@ ) ) (quaternion-slerp! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector)) (the-as quaternion (-> gp-0 vector 1)) f30-1 ) - (vector+float*! (-> self root-override2 trans) s5-3 (-> gp-0 trans) f30-1) + (vector+float*! (-> self root trans) s5-3 (-> gp-0 trans) f30-1) ) ) ) @@ -434,24 +425,24 @@ (ja :num! (seek! (ja-aframe 8.0 0))) ) ) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-49 (-> self nav))) (logclear! (-> v1-49 shape nav-flags) (nav-flags has-extra-sphere)) ) 0 - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 12.0 0) 0.25) :frame-num (ja-aframe 8.0 0) ) (until (ja-done? 0) (let ((s5-5 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (the-as quaternion (-> gp-0 vector 1)) (-> (the-as vehicle s5-5) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-5) (-> self root-override2 trans) (-> self vehicle-seat-index)) + (quaternion-copy! (the-as quaternion (-> gp-0 vector 1)) (-> (the-as vehicle s5-5) root quat)) + (compute-seat-position (the-as vehicle s5-5) (-> self root trans) (-> self vehicle-seat-index)) ) (let ((f0-16 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 8.0 0) (ja-aframe 11.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) + (-> self root quat) (the-as quaternion (-> gp-0 vector 1)) (* (- 1.0 f0-16) (if (zero? (-> self vehicle-seat-index)) -16384.0 @@ -487,7 +478,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logclear! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-11 (-> self nav))) (logclear! (-> v1-11 shape nav-flags) (nav-flags has-extra-sphere)) ) @@ -498,7 +489,7 @@ ) :exit (behavior () (local-vars (v1-4 enemy-flag)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (let ((v1-3 (-> self enemy-flags))) (if (logtest? v1-3 (enemy-flag checking-water)) (set! v1-4 (logior v1-3 (enemy-flag enable-on-active))) @@ -574,7 +565,7 @@ ) 0 (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (logior! (-> self focus-status) (focus-status disable)) (logclear! (-> self focus-status) (focus-status arrestable)) (none) @@ -618,13 +609,13 @@ ) (until (ja-done? 0) (let ((gp-1 (handle->process (-> self vehicle-handle)))) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle gp-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle gp-1) (-> self root-override2 trans) (-> self vehicle-seat-index)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle gp-1) root quat)) + (compute-seat-position (the-as vehicle gp-1) (-> self root trans) (-> self vehicle-seat-index)) ) (let ((f0-3 (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 11.0 0) (ja-aframe 8.0 0)))) (quaternion-rotate-local-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* f0-3 (if (zero? (-> self vehicle-seat-index)) -16384.0 16384.0 @@ -639,7 +630,7 @@ (let ((gp-4 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'quaternion)) ) - (set! (-> gp-4 quad) (-> self root-override2 trans quad)) + (set! (-> gp-4 quad) (-> self root trans quad)) (ja-no-eval :group! (-> self draw art-group data 10) :num! (seek! (ja-aframe 0.0 0)) :frame-num (ja-aframe 8.0 0) @@ -649,14 +640,14 @@ (compute-seat-position (the-as vehicle s4-2) gp-4 (-> self vehicle-seat-index)) (quaternion-rotate-local-y! s5-1 - (-> (the-as vehicle s4-2) root-override-2 quat) + (-> (the-as vehicle s4-2) root quat) (if (zero? (-> self vehicle-seat-index)) -16384.0 16384.0 ) ) ) - (let ((s4-3 (-> self root-override2 quat))) + (let ((s4-3 (-> self root quat))) (let ((f30-0 (quaternion-y-angle s5-1))) (quaternion-identity! s4-3) (quaternion-rotate-y! s4-3 s4-3 f30-0) @@ -703,7 +694,7 @@ (let* ((t0-2 (ja-aframe 8.0 0)) (f0-15 (s3-2 s2-2 s1-1 s0-1 sv-96 t0-2)) ) - (vector+float*! (-> self root-override2 trans) (-> self exit-vehicle-dest) s4-4 f0-15) + (vector+float*! (-> self root trans) (-> self exit-vehicle-dest) s4-4 f0-15) ) ) ) @@ -733,7 +724,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -872,7 +863,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (set! (-> self focus-status) (logior (focus-status arrestable) (-> self focus-status))) @@ -1083,7 +1074,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (logior! (-> self bot-flags) (bot-flags bf09)) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active checking-water)) diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc4-course_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc4-course_REF.gc index e83e53e7dc..30990638fb 100644 --- a/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc4-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc4-course_REF.gc @@ -38,12 +38,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) kidesct-wait-spot arg0))) @@ -84,12 +84,12 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #xe + :skip-to 14 :on-set (lambda ((arg0 kid-escort)) (add-icon! *minimap* arg0 (the-as uint 24) (the-as int #f) (the-as vector #t) 0) - (let ((v1-3 (-> arg0 root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-3 (-> arg0 root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 focus-status) (logior (focus-status arrestable) (-> arg0 focus-status))) @@ -127,7 +127,7 @@ (new 'static 'bot-waypoint :waypoint-id 14 :nav-mesh-index -1 - :skip-to #x13 + :skip-to 19 :on-set (lambda ((arg0 kid-escort)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) kidesct-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -158,9 +158,9 @@ ) :on-update (lambda ((arg0 kid-escort)) (kid4-update-spot-to-track-crocadog arg0) (none)) :on-skipping-here (lambda ((arg0 kid-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) @@ -265,9 +265,9 @@ (the-as symbol (kid4-update-spot-to-track-crocadog (the-as kid-escort arg0))) ) :on-skipping-here (lambda ((arg0 kid-escort)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 course spots 5)) @@ -363,7 +363,7 @@ (lambda ((arg0 object) (arg1 kid-escort)) (when (>= (- (current-time) (-> arg1 waypoint-time0)) (seconds 2)) (let ((v1-4 (-> arg1 spot))) - (set! (-> v1-4 center quad) (-> arg1 root-override2 trans quad)) + (set! (-> v1-4 center quad) (-> arg1 root trans quad)) (set! (-> v1-4 center w) 20480.0) ) ) diff --git a/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc_REF.gc b/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc_REF.gc new file mode 100644 index 0000000000..59beded37f --- /dev/null +++ b/test/decompiler/reference/jak2/levels/city/kid_escort/kidesc_REF.gc @@ -0,0 +1,823 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *kid-escort-nav-enemy-info*, type nav-enemy-info +(define *kid-escort-nav-enemy-info* + (new 'static 'nav-enemy-info + :use-die-falling #t + :use-victory #f + :use-jump-blocked #f + :debug-draw-neck #f + :jump-debug-draw #f + :move-to-ground #t + :hover-if-no-ground #f + :idle-anim-script (new 'static 'array idle-control-frame 2 + (new 'static 'idle-control-frame :command (ic-cmd play) :anim #x3 :param0 #x1 :param1 #x1) + (new 'static 'idle-control-frame) + ) + :idle-anim 3 + :notice-anim 3 + :hostile-anim -1 + :hit-anim 3 + :knocked-anim 6 + :knocked-land-anim 7 + :die-anim 3 + :die-falling-anim 3 + :victory-anim -1 + :jump-wind-up-anim 3 + :jump-in-air-anim 3 + :jump-land-anim 3 + :neck-joint 6 + :look-at-joint 6 + :bullseye-joint 4 + :notice-distance (meters 30) + :notice-distance-delta (meters 10) + :proximity-notice-distance (meters 30) + :default-hit-points 100 + :gnd-collide-with (collide-spec backgnd) + :overlaps-others-collide-with-filter (collide-spec jak bot player-list) + :penetrate-knocked (penetrate + touch + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech + mech-punch + mech-bonk + dark-skin + dark-punch + dark-bomb + dark-giant + shield + explode + jak-yellow-shot + jak-red-shot + jak-blue-shot + jak-dark-shot + enemy-yellow-shot + enemy-dark-shot + eco-yellow + eco-red + eco-blue + eco-green + knocked + penetrate-33 + penetrate-34 + penetrate-35 + penetrate-36 + penetrate-37 + penetrate-38 + penetrate-39 + penetrate-40 + penetrate-41 + penetrate-42 + penetrate-43 + penetrate-44 + penetrate-45 + penetrate-46 + penetrate-47 + penetrate-48 + penetrate-49 + penetrate-50 + penetrate-51 + penetrate-52 + penetrate-53 + penetrate-54 + penetrate-55 + penetrate-56 + penetrate-57 + penetrate-58 + penetrate-59 + penetrate-60 + penetrate-61 + penetrate-62 + penetrate-63 + ) + :movement-gravity (meters -100) + :friction 0.7 + :attack-shove-back (meters 3) + :attack-shove-up (meters 2) + :attack-mode 'generic + :attack-damage 2 + :recover-gnd-collide-with (collide-spec backgnd crate obstacle hit-by-others-list pusher) + :jump-height-min (meters 3) + :jump-height-factor 0.5 + :knocked-seek-ry-clamp 2730.6667 + :knocked-soft-vxz-lo 40960.0 + :knocked-soft-vxz-hi 40960.0 + :knocked-soft-vy-lo 40960.0 + :knocked-soft-vy-hi 40960.0 + :knocked-medium-vxz-lo 40960.0 + :knocked-medium-vxz-hi 40960.0 + :knocked-medium-vy-lo 40960.0 + :knocked-medium-vy-hi 40960.0 + :knocked-hard-vxz-lo 40960.0 + :knocked-hard-vxz-hi 40960.0 + :knocked-hard-vy-lo 40960.0 + :knocked-hard-vy-hi 40960.0 + :knocked-huge-vxz-lo 164659.2 + :knocked-huge-vxz-hi 249036.8 + :knocked-huge-vy-lo 183500.8 + :knocked-huge-vy-hi 217907.2 + :knocked-yellow-vxz-lo 40960.0 + :knocked-yellow-vxz-hi 40960.0 + :knocked-yellow-vy-lo 40960.0 + :knocked-yellow-vy-hi 40960.0 + :knocked-red-vxz-lo 40960.0 + :knocked-red-vxz-hi 40960.0 + :knocked-red-vy-lo 40960.0 + :knocked-red-vy-hi 40960.0 + :knocked-blue-vxz-lo 40960.0 + :knocked-blue-vxz-hi 40960.0 + :knocked-blue-vy-lo 40960.0 + :knocked-blue-vy-hi 40960.0 + :shadow-size (meters 2) + :shadow-max-y (meters 1) + :shadow-min-y (meters -1) + :shadow-locus-dist (meters 150) + :gem-joint -1 + :gem-offset (new 'static 'sphere :r 163840.0) + :callback-info #f + :use-momentum #t + :use-frustration #t + :use-stop-chase #f + :use-circling #f + :use-pacing #f + :walk-anim 3 + :turn-anim -1 + :run-anim 3 + :taunt-anim -1 + :run-travel-speed (meters 4.5) + :run-acceleration (meters 5) + :run-turning-acceleration (meters 6) + :walk-travel-speed (meters 4.5) + :walk-acceleration (meters 5) + :walk-turning-acceleration (meters 6) + :maximum-rotation-rate (degrees 360) + :notice-nav-radius (meters 0.85) + :frustration-distance (meters 8) + :frustration-time (seconds 4) + :blocked-time (seconds 0.3) + :circle-dist-lo 20480.0 + :circle-dist-hi 61440.0 + :nav-mesh #f + ) + ) + +;; failed to figure out what this is: +(set! (-> *kid-escort-nav-enemy-info* fact-defaults) *fact-info-enemy-defaults*) + +;; definition for method 74 of type kid-escort +(defmethod general-event-handler kid-escort ((obj kid-escort) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + "Handles various events for the enemy +@TODO - unsure if there is a pattern for the events and this should have a more specific name" + (case arg2 + (('arrest) + (let* ((s4-0 (handle->process (-> obj arrestor-handle))) + (v1-4 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + ) + (when (or (not v1-4) + (= v1-4 arg0) + (and (!= v1-4 arg0) (>= (- (current-time) (-> obj arrest-attempt-time)) (seconds 0.1))) + ) + (set! (-> obj arrestor-handle) (process->handle arg0)) + (set! (-> obj arrest-attempt-time) (current-time)) + (if (!= v1-4 arg0) + (send-event (handle->process (-> obj master-handle)) 'notify 'arrest arg0) + ) + ) + ) + #t + ) + (('instant-arrest) + (set! (-> obj bot-flags) (logior (bot-flags bf19) (-> obj bot-flags))) + (let ((s5-1 (the-as crimson-guard (-> arg3 param 0)))) + (set! (-> obj arrestor-handle) (process->handle s5-1)) + (set! (-> obj arrest-attempt-time) (current-time)) + (let ((a1-11 (new 'stack-no-clear 'vector))) + (vector-! a1-11 (-> s5-1 root trans) (-> obj root trans)) + (set! (-> a1-11 y) 0.0) + (forward-up->quaternion (-> obj root quat) a1-11 *up-vector*) + ) + (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) + (logclear! (-> obj mask) (process-mask collectable)) + (logclear! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (logclear! (-> obj enemy-flags) (enemy-flag notice)) + (send-event (handle->process (-> obj master-handle)) 'notify 'arrest s5-1) + ) + (go (method-of-object obj arrested)) + ) + (('attack) + ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) + #f + ) + (('nav-mesh-kill) + (change-to *default-nav-mesh* obj) + #t + ) + (else + ((method-of-type bot general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 12 of type kid-escort +(defmethod run-logic? kid-escort ((obj kid-escort)) + (or (not (logtest? (process-mask enemy) (-> *setting-control* user-current process-mask))) + (logtest? (-> obj bot-flags) (bot-flags bf09)) + ) + ) + +;; definition for method 97 of type kid-escort +(defmethod enemy-method-97 kid-escort ((obj kid-escort)) + (let* ((s4-0 (handle->process (-> obj attacker-handle))) + (s5-0 (if (type? s4-0 process-focusable) + s4-0 + ) + ) + (s3-0 (handle->process (-> obj arrestor-handle))) + (s4-1 (if (type? s3-0 process-focusable) + s3-0 + ) + ) + ) + (when s5-0 + (cond + ((= (-> s5-0 type) target) + (when (or (not (logtest? (-> obj bot-flags) (bot-flags attacked))) + (>= (- (current-time) (-> obj attacker-time)) (seconds 1.5)) + ) + (if (logtest? (-> obj bot-flags) (bot-flags attacked)) + (reset-attacker! obj) + ) + (set! s5-0 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) + ) + ) + (else + (when (>= (- (current-time) (-> obj attacker-time)) (seconds 6)) + (set! s5-0 (the-as process #f)) + (set! (-> obj attacker-handle) (the-as handle #f)) + ) + ) + ) + ) + (when s4-1 + (when (or (>= (- (current-time) (-> obj arrest-attempt-time)) (seconds 0.5)) + (focus-test? (the-as process-focusable s4-1) dead hit) + ) + (set! s4-1 (the-as process #f)) + (set! (-> obj arrestor-handle) (the-as handle #f)) + ) + ) + (let ((v1-34 (-> obj focus-mode)) + (s3-1 (the-as process #f)) + ) + (cond + ((zero? v1-34) + (cond + (s4-1 + (set! s3-1 s4-1) + ) + (s5-0 + (set! s3-1 s5-0) + ) + ((begin (set! s3-1 (select-focus! obj)) s3-1) + (empty) + ) + (else + (let ((s5-1 (handle->process (-> obj poi-handle)))) + (set! s3-1 (if (type? s5-1 process-focusable) + s5-1 + ) + ) + ) + (if s3-1 + (empty) + (set! s3-1 *target*) + ) + ) + ) + ) + ((= v1-34 1) + (cond + (s4-1 + (set! s3-1 s4-1) + ) + (s5-0 + (set! s3-1 s5-0) + ) + (else + (let ((s5-2 (handle->process (-> obj poi-handle)))) + (set! s3-1 (if (type? s5-2 process-focusable) + s5-2 + ) + ) + ) + (cond + (s3-1 + (empty) + ) + ((begin (set! s3-1 (select-focus! obj)) s3-1) + (empty) + ) + (else + (set! s3-1 *target*) + ) + ) + ) + ) + ) + ) + (cond + (s3-1 + (try-update-focus (-> obj focus) (the-as process-focusable s3-1) obj) + (if (and (logtest? (-> obj bot-flags) (bot-flags attacked)) (!= (-> s3-1 type) target)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + (else + (clear-focused (-> obj focus)) + (logclear! (-> obj bot-flags) (bot-flags attacked)) + ) + ) + s3-1 + ) + ) + ) + +;; definition for method 183 of type kid-escort +;; WARN: Return type mismatch object vs symbol. +(defmethod alive? kid-escort ((obj kid-escort)) + (let ((t9-0 (method-of-type bot alive?))) + (the-as symbol (and (t9-0 obj) (-> obj next-state) (let ((v1-3 (-> obj next-state name))) + (or (= v1-3 'waiting-idle) (= v1-3 'waiting-turn)) + ) + ) + ) + ) + ) + +;; definition for method 11 of type kid-escort +(defmethod init-from-entity! kid-escort ((obj kid-escort) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (stack-size-set! (-> obj main-thread) 512) + ((method-of-type bot init-from-entity!) obj arg0) + (none) + ) + +;; definition for method 114 of type kid-escort +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy-collision! kid-escort ((obj kid-escort)) + "Initializes the [[collide-shape-moving]] and any ancillary tasks to make the enemy collide properly" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrated-by) (penetrate + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech-punch + dark-punch + dark-giant + ) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) + (set! (-> s5-0 total-prims) (the-as uint 4)) + (set! (-> s4-0 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> s4-0 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> s4-0 prim-core action) (collide-action solid can-ride no-standon)) + (set-vector! (-> s4-0 local-sphere) 0.0 3276.8 0.0 4505.6) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-13 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> v1-13 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-13 prim-core action) (collide-action solid can-ride)) + (set-vector! (-> v1-13 local-sphere) 0.0 2048.0 0.0 2048.0) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> v1-15 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-15 prim-core action) (collide-action solid)) + (set-vector! (-> v1-15 local-sphere) 0.0 3584.0 0.0 2048.0) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-17 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> v1-17 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-17 prim-core action) (collide-action solid no-standon)) + (set-vector! (-> v1-17 local-sphere) 0.0 5120.0 0.0 2048.0) + ) + (set! (-> s5-0 nav-radius) 3481.6) + (let ((v1-19 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-19 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-19 prim-core collide-with)) + ) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> s5-0 event-priority) (the-as uint 3)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 210 of type kid-escort +;; WARN: Return type mismatch int vs none. +(defmethod init! kid-escort ((obj kid-escort)) + "Set defaults for various fields." + (let ((t9-0 (method-of-type bot init!))) + (t9-0 obj) + ) + (set! (-> obj min-speed) 18022.4) + (set! (-> obj max-speed) 18432.0) + (set! (-> obj channel) (the-as uint 26)) + (set! (-> obj notice-enemy-dist) 122880.0) + (set! (-> obj travel-anim-interp) 0.0) + (set! (-> obj focus-info max-los-dist) 0.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) + (set! (-> obj spot-color) (the-as uint #x60004f8f)) + (set! (-> obj arrestor-handle) (the-as handle #f)) + (set! (-> obj crocadog-handle) (the-as handle #f)) + 0 + (none) + ) + +;; definition for method 115 of type kid-escort +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy! kid-escort ((obj kid-escort)) + "Common method called to initialize the enemy, typically sets up default field values and calls ancillary helper methods" + (init! obj) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-kid-escort" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (init-enemy-behaviour-and-stats! obj *kid-escort-nav-enemy-info*) + (let ((v1-7 (-> obj neck))) + (set! (-> v1-7 up) (the-as uint 1)) + (set! (-> v1-7 nose) (the-as uint 2)) + (set! (-> v1-7 ear) (the-as uint 0)) + (set-vector! (-> v1-7 twist-max) 11832.889 11832.889 0.0 1.0) + (set! (-> v1-7 ignore-angle) 30947.555) + ) + (let ((t9-4 (method-of-type bot init-enemy!))) + (t9-4 obj) + ) + (let ((v1-10 (-> obj nav))) + (set! (-> v1-10 sphere-mask) (the-as uint 126)) + ) + 0 + (set! (-> obj my-simple-focus) (process-spawn simple-focus :to obj)) + (set! (-> obj draw light-index) (the-as uint 10)) + 0 + (none) + ) + +;; definition for method 214 of type kid-escort +(defmethod bot-method-214 kid-escort ((obj kid-escort)) + #f + ) + +;; definition for method 72 of type kid-escort +(defmethod react-to-focus kid-escort ((obj kid-escort)) + "@TODO - flesh out docs" + (check-arrest obj) + (none) + ) + +;; definition for method 237 of type kid-escort +;; WARN: Return type mismatch object vs none. +(defmethod go-waiting-turn kid-escort ((obj kid-escort)) + (go (method-of-object obj waiting-turn)) + (none) + ) + +;; definition for method 236 of type kid-escort +;; WARN: Return type mismatch object vs none. +(defmethod check-arrest kid-escort ((obj kid-escort)) + (let ((s5-0 (handle->process (-> obj arrestor-handle)))) + (cond + ((if (type? s5-0 process-focusable) + s5-0 + ) + (go (method-of-object obj arrested)) + ) + ((logtest? (-> obj bot-flags) (bot-flags bf15)) + (go (method-of-object obj move-to-vehicle)) + ) + (else + (go (method-of-object obj waiting-idle)) + ) + ) + ) + (none) + ) + +;; definition for method 239 of type kid-escort +;; WARN: Return type mismatch int vs none. +(defmethod play-walk-anim kid-escort ((obj kid-escort)) + (with-pp + (let ((f30-0 (-> obj nav state speed)) + (v1-5 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((and v1-5 (= v1-5 (-> obj draw art-group data 4))) + (let* ((f28-0 (current-cycle-distance (-> obj skel))) + (f0-1 (quaternion-y-angle (-> obj root quat))) + (f1-0 (deg- f0-1 (-> obj travel-prev-ry))) + (f0-4 (fmin 18432.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-0)))) + (f0-7 (/ (* 8.0 (fmax f30-0 f0-4)) (* 15.0 f28-0))) + (a0-8 (-> obj skel root-channel 0)) + ) + (set! (-> a0-8 param 0) f0-7) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.15)) + (let ((a0-10 (-> obj skel root-channel 0))) + (set! (-> a0-10 dist) 6553.6) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> obj draw art-group data 4))) + (set! (-> a0-10 param 0) 1.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> obj draw art-group data 4)) num-func-loop!) + ) + ) + ) + ) + (none) + ) + ) + +;; definition for method 56 of type kid-escort +(defmethod damage-amount-from-attack kid-escort ((obj kid-escort) (arg0 process) (arg1 event-message-block)) + "@returns the amount of damage taken from an attack. This can come straight off the [[attack-info]] or via [[penetrate-using->damage]]" + 0 + ) + +;; definition for method 190 of type kid-escort +(defmethod bot-method-190 kid-escort ((obj kid-escort)) + #t + ) + +;; definition for method 78 of type kid-escort +(defmethod enemy-method-78 kid-escort ((obj kid-escort) (arg0 (pointer float))) + (ja-channel-push! 1 (seconds 0.1)) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) + (a0-4 (-> obj skel root-channel 0)) + ) + (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) + (set! (-> a0-4 param 0) (the float (+ (-> (the-as art-joint-anim a1-2) frames num-frames) -1))) + (set! (-> a0-4 param 1) (-> arg0 0)) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim a1-2) num-func-seek!) + ) + #t + ) + +;; definition for method 198 of type kid-escort +;; WARN: Return type mismatch float vs meters. +(defmethod set-cam-height! kid-escort ((obj kid-escort) (arg0 vector)) + (the-as + meters + (cond + ((and (-> obj next-state) (= (-> obj next-state name) 'arrested)) + (set-vector! arg0 49152.0 12288.0 49152.0 1.0) + (vector<-cspace+vector! arg0 (-> obj node-list data 2) arg0) + (if (focus-test? obj under-water) + (set! (-> arg0 y) (+ (get-water-height obj) (-> *setting-control* cam-current target-height))) + ) + ) + (else + ((method-of-type bot set-cam-height!) obj arg0) + ) + ) + ) + ) + +;; definition for method 59 of type kid-escort +(defmethod get-penetrate-info kid-escort ((obj kid-escort)) + "@returns the allowed way(s) this enemy can take damage +@see [[penetrate]] and [[penetrated-by-all&hit-points->penetrated-by]]" + (let ((v1-1 ((method-of-type bot get-penetrate-info) obj))) + (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot) v1-1) + ) + ) + +;; definition for method 193 of type kid-escort +(defmethod bot-method-193 kid-escort ((obj kid-escort)) + (let* ((t9-0 (method-of-type bot bot-method-193)) + (v0-0 (t9-0 obj)) + ) + (if (and (not v0-0) (logtest? #x1c00000 (-> obj incoming penetrate-using))) + (set! v0-0 #t) + ) + v0-0 + ) + ) + +;; definition for method 79 of type kid-escort +(defmethod enemy-method-79 kid-escort ((obj kid-escort) (arg0 int) (arg1 enemy-knocked-info)) + (local-vars (gp-0 symbol)) + (case arg0 + ((3) + (set! gp-0 (ja-done? 0)) + (let ((f30-0 1.0)) + (if (>= (ja-aframe-num 0) 5.0) + (set! f30-0 0.28) + ) + (let ((a0-4 (-> obj skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group frames num-frames) -1))) + (set! (-> a0-4 param 1) f30-0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (set! gp-0 ((method-of-type bot enemy-method-79) obj arg0 arg1)) + ) + ) + gp-0 + ) + +;; definition for method 235 of type kid-escort +;; INFO: Used lq/sq +(defmethod want-exit-vehicle? kid-escort ((obj kid-escort) (arg0 vector)) + (let ((s3-0 (handle->process (-> obj vehicle-handle)))) + (if (or (not s3-0) (not (-> obj nav))) + (return #f) + ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (compute-seat-position (the-as vehicle s3-0) s4-0 (-> obj vehicle-seat-index)) + (vector-! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 (+ 14336.0 (vector-length s4-0))) + (vector+! s4-0 s4-0 (-> (the-as vehicle s3-0) root trans)) + (let ((s3-1 (new 'stack-no-clear 'collide-query))) + (when (enemy-above-ground? obj s3-1 s4-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) + (set! (-> s4-0 y) (-> s3-1 best-other-tri intersect y)) + (let ((s3-2 (new 'stack-no-clear 'vector))) + (do-navigation-to-destination (-> obj nav state) (-> obj root trans)) + (when (cloest-point-on-mesh (-> obj nav) s3-2 s4-0 (the-as nav-poly #f)) + (let ((f0-4 2048.0)) + (when (>= (* f0-4 f0-4) (vector-vector-xz-distance-squared s3-2 s4-0)) + (set! (-> arg0 quad) (-> s3-2 quad)) + #t + ) + ) + ) + ) + ) + ) + ) + ) + ) + +;; definition for method 238 of type kid-escort +;; INFO: Used lq/sq +;; WARN: Return type mismatch int vs none. +(defmethod check-vehicle-exit kid-escort ((obj kid-escort)) + (local-vars (v1-25 enemy-flag)) + (with-pp + (when (focus-test? obj pilot) + (let ((s5-0 (handle->process (-> obj vehicle-handle)))) + (when (or (not s5-0) (logtest? (-> (the-as vehicle s5-0) flags) (rigid-body-object-flag dead))) + (set! (-> obj bot-flags) (logior (bot-flags bf17) (-> obj bot-flags))) + (logclear! (-> obj bot-flags) (bot-flags bf15)) + (logclear! (-> obj focus-status) (focus-status pilot-riding pilot)) + (if (the-as vehicle s5-0) + (remove-rider (the-as vehicle s5-0) obj) + ) + (set! (-> obj vehicle-seat-index) -1) + (set! (-> obj vehicle-handle) (the-as handle #f)) + (logior! (-> obj root nav-flags) (nav-flags has-root-sphere)) + (let* ((s4-0 (-> obj root quat)) + (f30-0 (quaternion-y-angle s4-0)) + ) + (quaternion-identity! s4-0) + (quaternion-rotate-y! s4-0 s4-0 f30-0) + ) + (let ((v1-24 (-> obj enemy-flags))) + (if (logtest? v1-24 (enemy-flag checking-water)) + (set! v1-25 (logior v1-24 (enemy-flag enable-on-active))) + (set! v1-25 (logclear v1-24 (enemy-flag enable-on-active))) + ) + ) + (set! (-> obj enemy-flags) v1-25) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> (the-as vehicle s5-0) root trans)))) + (vector-normalize! s4-2 57344.0) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) (process->ppointer pp)) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'attack) + (set! (-> a1-4 param 0) (the-as uint #f)) + (let ((v1-31 (new 'static 'attack-info :mask (attack-info-mask vector id attacker-velocity knock)))) + (let* ((a0-23 *game-info*) + (a2-2 (+ (-> a0-23 attack-id) 1)) + ) + (set! (-> a0-23 attack-id) a2-2) + (set! (-> v1-31 id) a2-2) + ) + (set! (-> v1-31 vector quad) (-> s4-2 quad)) + (set! (-> v1-31 attacker-velocity quad) (-> s4-2 quad)) + (set! (-> v1-31 knock) (the-as uint 8)) + (set! (-> a1-4 param 1) (the-as uint v1-31)) + ) + (send-event-function obj a1-4) + ) + ) + ) + ) + ) + 0 + (none) + ) + ) + +;; definition for method 70 of type kid-escort +(defmethod go-hostile kid-escort ((obj kid-escort)) + (cond + ((logtest? (bot-flags bf17) (-> obj bot-flags)) + (logior! (-> obj bot-flags) (bot-flags bf09)) + (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) + (logclear! (-> obj focus-status) (focus-status dangerous)) + (logclear! (-> obj enemy-flags) (enemy-flag check-water)) + (logclear! (-> obj mask) (process-mask collectable)) + (logclear! (-> obj enemy-flags) (enemy-flag look-at-move-dest)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (logclear! (-> obj enemy-flags) (enemy-flag notice)) + (logior! (-> obj focus-status) (focus-status disable)) + (go (method-of-object obj knocked-off-vehicle)) + ) + (else + (react-to-focus obj) + ) + ) + (none) + ) + +;; definition for method 102 of type kid-escort +(defmethod enemy-method-102 kid-escort ((obj kid-escort)) + (if (logtest? (bot-flags bf19) (-> obj bot-flags)) + #f + ((method-of-type bot enemy-method-102) obj) + ) + ) + +;; definition for method 116 of type kid-escort +(defmethod go-idle kid-escort ((obj kid-escort)) + (cond + ((task-node-closed? (game-task-node city-escort-kid-resolution)) + (cleanup-for-death obj) + (go (method-of-object obj die-fast)) + ) + (else + (check-arrest obj) + ) + ) + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/city/market/ctymark-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/market/ctymark-obs_REF.gc index a1743684da..a83ac43ccc 100644 --- a/test/decompiler/reference/jak2/levels/city/market/ctymark-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/market/ctymark-obs_REF.gc @@ -1057,10 +1057,10 @@ (when attacking-proc (forward-up-nopitch->inv-matrix (-> self explode-matrix) - (vector-! (new 'stack-no-clear 'vector) (-> attacking-proc root-override trans) (-> self root-override trans)) + (vector-! (new 'stack-no-clear 'vector) (-> attacking-proc root trans) (-> self root trans)) *up-vector* ) - (set! (-> self explode-matrix trans quad) (-> self root-override trans quad)) + (set! (-> self explode-matrix trans quad) (-> self root trans quad)) ) ) ) @@ -1081,7 +1081,7 @@ :virtual #t :code (behavior () (logior! (-> self focus-status) (focus-status dead)) - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -1188,7 +1188,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1285,7 +1285,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1382,7 +1382,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1479,7 +1479,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1576,7 +1576,7 @@ This commonly includes things such as: knocked ) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) diff --git a/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ash4-course_REF.gc b/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ash4-course_REF.gc index 7c27e4ce6d..032d262652 100644 --- a/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ash4-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ash4-course_REF.gc @@ -100,7 +100,7 @@ :skip-to -1 :on-set (lambda ((arg0 ashelin-tanker)) (clear-speech-flags! arg0) - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ash-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ash-course spots 0))) (let ((v1-7 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) (set! (-> v1-7 bytes 5) 1) (set! (-> v1-7 bytes 6) 0) @@ -404,12 +404,12 @@ :on-set (lambda ((arg0 ashelin-tanker)) (logclear! (-> arg0 bot-flags) (bot-flags bf06)) (bot-method-196 arg0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) - (set! (-> arg0 root-override2 backup-collide-as) (collide-spec)) - (set! (-> arg0 root-override2 backup-collide-with) (collide-spec)) + (set! (-> arg0 root backup-collide-as) (collide-spec)) + (set! (-> arg0 root backup-collide-with) (collide-spec)) 0 (send-event arg0 'hide #t) (let ((v1-15 (get-task-by-type (-> arg0 ai-ctrl) asht-wait-spot arg0))) @@ -532,7 +532,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "asha034") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 20 :fo-max 100 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 20 :fo-max 100 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 1 (new 'static 'bot-spot :center (new 'static 'vector :x 1902510.1 :y 33587.2 :z 1786101.8 :w 61440.0)) diff --git a/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ctyasha-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ctyasha-obs_REF.gc index 2939794b01..738439af71 100644 --- a/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ctyasha-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/market/east/ashelin/ctyasha-obs_REF.gc @@ -938,15 +938,15 @@ (let ((f30-0 (get-num-segments s5-0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (get-point-at-percent-along-path! s5-0 (-> obj root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! s5-0 (-> obj root trans) f30-0 'interp) (displacement-between-points-at-percent-normalized! s5-0 s4-0 f30-0) - (forward-up->quaternion (-> obj root-override2 quat) s4-0 *up-vector*) + (forward-up->quaternion (-> obj root quat) s4-0 *up-vector*) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-notice alert victory called-dying)) (set! (-> obj enemy-flags) (logior (enemy-flag dangerous-backup) (-> obj enemy-flags))) (logclear! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj enemy-flags) (enemy-flag chase-startup)) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (go-hostile obj) #t ) @@ -967,7 +967,7 @@ (let ((t9-0 (method-of-type grunt init-enemy!))) (t9-0 obj) ) - (set-vector! (-> obj root-override2 scale) 0.0 0.0 0.0 1.0) + (set-vector! (-> obj root scale) 0.0 0.0 0.0 1.0) (none) ) @@ -1004,7 +1004,7 @@ (t9-0) ) ) - (set-vector! (-> self root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (none) ) :trans (behavior () @@ -1013,10 +1013,10 @@ (t9-0) ) ) - (let* ((f0-0 (-> self root-override2 scale x)) + (let* ((f0-0 (-> self root scale x)) (f0-3 (seek f0-0 1.0 (* 1.5 (-> self clock seconds-per-frame)))) ) - (set-vector! (-> self root-override2 scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) 0 (none) @@ -1062,15 +1062,15 @@ (let ((f30-0 (get-num-segments s5-0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (get-point-at-percent-along-path! s5-0 (-> obj root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! s5-0 (-> obj root trans) f30-0 'interp) (displacement-between-points-at-percent-normalized! s5-0 s4-0 f30-0) - (forward-up->quaternion (-> obj root-override2 quat) s4-0 *up-vector*) + (forward-up->quaternion (-> obj root quat) s4-0 *up-vector*) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-notice alert victory called-dying)) (set! (-> obj enemy-flags) (logior (enemy-flag dangerous-backup) (-> obj enemy-flags))) (logclear! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj enemy-flags) (enemy-flag chase-startup)) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (go-hostile obj) #t ) @@ -1091,7 +1091,7 @@ (let ((t9-0 (method-of-type juicer init-enemy!))) (t9-0 obj) ) - (set-vector! (-> obj root-override2 scale) 0.0 0.0 0.0 1.0) + (set-vector! (-> obj root scale) 0.0 0.0 0.0 1.0) (none) ) @@ -1128,7 +1128,7 @@ (t9-0) ) ) - (set-vector! (-> self root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (none) ) :trans (behavior () @@ -1137,10 +1137,10 @@ (t9-0) ) ) - (let* ((f0-0 (-> self root-override2 scale x)) + (let* ((f0-0 (-> self root scale x)) (f0-3 (seek f0-0 1.0 (* 1.15 (-> self clock seconds-per-frame)))) ) - (set-vector! (-> self root-override2 scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) 0 (none) @@ -1149,7 +1149,7 @@ ;; definition of type tanker-container (deftype tanker-container (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 23 @@ -1305,9 +1305,9 @@ (defbehavior tanker-container-event-handler tanker-container ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) - (let ((v1-2 (-> self root-override root-prim))) - (set! (-> v1-2 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-2 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-2 (-> self root root-prim))) + (set! (-> v1-2 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-2 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual idle) ) @@ -1338,9 +1338,9 @@ :event tanker-container-event-handler :enter (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (tanker-container-method-22 self) (none) @@ -1389,7 +1389,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1407,7 +1407,7 @@ This commonly includes things such as: (set! (-> s5-2 frame-num) 0.0) ) (transform-post) - (let ((v1-26 (-> obj root-override root-prim))) + (let ((v1-26 (-> obj root root-prim))) (set! (-> v1-26 prim-core collide-as) (collide-spec)) (set! (-> v1-26 prim-core collide-with) (collide-spec)) ) @@ -1429,7 +1429,7 @@ This commonly includes things such as: ;; definition of type tanker-crash (deftype tanker-crash (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -1477,9 +1477,9 @@ This commonly includes things such as: :virtual #t :enter (behavior () (logior! (-> self mask) (process-mask actor-pause)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (none) @@ -1529,7 +1529,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1547,7 +1547,7 @@ This commonly includes things such as: (set! (-> s5-2 frame-num) 0.0) ) (transform-post) - (let ((v1-26 (-> obj root-override root-prim))) + (let ((v1-26 (-> obj root root-prim))) (set! (-> v1-26 prim-core collide-as) (collide-spec)) (set! (-> v1-26 prim-core collide-with) (collide-spec)) ) @@ -1562,11 +1562,11 @@ This commonly includes things such as: ;; definition of type tanker-deadly (deftype tanker-deadly (process-drawable) - ((root-override collide-shape :offset 128) - (track-joint int32 :offset-assert 200) - (attack-id uint32 :offset-assert 204) - (die-time time-frame :offset-assert 208) - (prev-pos vector :inline :offset-assert 224) + ((root collide-shape :override) + (track-joint int32 :offset-assert 200) + (attack-id uint32 :offset-assert 204) + (die-time time-frame :offset-assert 208) + (prev-pos vector :inline :offset-assert 224) ) :heap-base #x70 :method-count-assert 22 @@ -1609,7 +1609,7 @@ This commonly includes things such as: (let ((a2-1 (-> event param 0)) (v1-1 (new 'stack-no-clear 'vector)) ) - (vector-! v1-1 (-> self root-override trans) (-> self prev-pos)) + (vector-! v1-1 (-> self root trans) (-> self prev-pos)) (let ((a1-4 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-4 from) (process->ppointer self)) (set! (-> a1-4 num-params) 2) @@ -1631,18 +1631,18 @@ This commonly includes things such as: ) :code (the-as (function none :behavior tanker-deadly) sleep-code) :post (behavior () - (set! (-> self prev-pos quad) (-> self root-override trans quad)) + (set! (-> self prev-pos quad) (-> self root trans quad)) (let ((v1-1 (ppointer->process (-> self parent))) (gp-0 (new 'stack-no-clear 'vector)) ) (vector<-cspace! gp-0 (-> (the-as process-drawable v1-1) node-list data (-> self track-joint))) - (move-to-point! (-> self root-override) gp-0) + (move-to-point! (-> self root) gp-0) ) (let ((a1-5 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-5 options) (overlaps-others-options)) (set! (-> a1-5 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-5 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-5) + (find-overlapping-shapes (-> self root) a1-5) ) (if (>= (current-time) (-> self die-time)) (go-virtual die-fast) @@ -1693,9 +1693,9 @@ This commonly includes things such as: (vector-identity! (-> gp-0 scale)) (quaternion-identity! (-> gp-0 quat)) (update-transforms gp-0) - (set! (-> self root-override) gp-0) + (set! (-> self root) gp-0) ) - (set! (-> self prev-pos quad) (-> self root-override trans quad)) + (set! (-> self prev-pos quad) (-> self root trans quad)) (logclear! (-> self mask) (process-mask actor-pause enemy)) (go-virtual active) (none) diff --git a/test/decompiler/reference/jak2/levels/city/market/west/brutter_kiosk/meet-brutter_REF.gc b/test/decompiler/reference/jak2/levels/city/market/west/brutter_kiosk/meet-brutter_REF.gc index ce30f95581..abf98aee3e 100644 --- a/test/decompiler/reference/jak2/levels/city/market/west/brutter_kiosk/meet-brutter_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/market/west/brutter_kiosk/meet-brutter_REF.gc @@ -138,7 +138,7 @@ :explosion #f :engine-pitch-scale 0.25 :engine-pitch-mod-amp 0.025 - :engine-sound-select #x8 + :engine-sound-select 8 :engine-sound (static-sound-name "vehicle-engine") :thrust-sound (static-sound-name "bike-thrust") :scrape-sound (static-sound-name "car-scrape-stn") @@ -313,7 +313,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -434,11 +434,8 @@ (let ((s1-0 (new 'stack-no-clear 'vector)) (s2-1 (new 'stack-no-clear 'pw-iter-seg)) ) - (let ((v1-10 - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> arg1 root-override-2 quat))) - ) - ) - (set! (-> s1-0 quad) (-> arg1 root-override-2 trans quad)) + (let ((v1-10 (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> arg1 root quat))))) + (set! (-> s1-0 quad) (-> arg1 root trans quad)) (set! (-> s1-0 w) f30-0) (set! (-> s2-1 seg) #f) (set! (-> s2-1 score) 0.0) @@ -791,7 +788,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 30) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -871,7 +868,7 @@ (t9-0) ) ) - (let ((s5-0 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000))) + (let ((s5-0 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000))) (gp-0 (new 'stack-no-clear 'vector)) ) (if s5-0 @@ -886,7 +883,7 @@ (set! (-> v1-17 current-poly) (the-as nav-poly #f)) ) 0 - (do-navigation-to-destination (-> self nav state) (-> self root-override2 trans)) + (do-navigation-to-destination (-> self nav state) (-> self root trans)) (cond ((-> self coming-from-pw) (let ((s5-1 (-> self nav)) @@ -894,8 +891,8 @@ (s3-0 gp-0) (s2-0 (new 'stack-no-clear 'vector)) ) - (let ((s1-0 (-> self root-override2 trans))) - (let ((v1-27 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((s1-0 (-> self root trans))) + (let ((v1-27 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((a0-7 20480.0)) (.mov vf7 a0-7) ) @@ -909,22 +906,22 @@ (.svf (&-> s2-0 quad) vf6) (s4-0 s5-1 s3-0 s2-0 (the-as nav-poly #f)) ) - (set! (-> self root-override2 transv x) (- (-> gp-0 x) (-> self root-override2 trans x))) - (set! (-> self root-override2 transv y) 40960.0) - (set! (-> self root-override2 transv z) (- (-> gp-0 z) (-> self root-override2 trans z))) + (set! (-> self root transv x) (- (-> gp-0 x) (-> self root trans x))) + (set! (-> self root transv y) 40960.0) + (set! (-> self root transv z) (- (-> gp-0 z) (-> self root trans z))) (set! (-> self coming-from-pw) #f) ) (else - (cloest-point-on-mesh (-> self nav) gp-0 (-> self root-override2 trans) (the-as nav-poly #f)) - (when (< 4096.0 (vector-vector-xz-distance gp-0 (-> self root-override2 trans))) - (set! (-> self root-override2 transv x) (- (-> gp-0 x) (-> self root-override2 trans x))) - (set! (-> self root-override2 transv y) 40960.0) - (set! (-> self root-override2 transv z) (- (-> gp-0 z) (-> self root-override2 trans z))) + (cloest-point-on-mesh (-> self nav) gp-0 (-> self root trans) (the-as nav-poly #f)) + (when (< 4096.0 (vector-vector-xz-distance gp-0 (-> self root trans))) + (set! (-> self root transv x) (- (-> gp-0 x) (-> self root trans x))) + (set! (-> self root transv y) 40960.0) + (set! (-> self root transv z) (- (-> gp-0 z) (-> self root trans z))) ) ) ) ) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (let ((a1-7 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-7 from) (process->ppointer self)) (set! (-> a1-7 num-params) 0) @@ -945,10 +942,10 @@ (let ((s5-2 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'quaternion)) ) - (vector-y-quaternion! s5-2 (-> self root-override2 quat)) + (vector-y-quaternion! s5-2 (-> self root quat)) (vector-normalize! s5-2 1.0) (quaternion-from-two-vectors! gp-1 s5-2 *up-vector*) - (quaternion*! (-> self root-override2 quat) gp-1 (-> self root-override2 quat)) + (quaternion*! (-> self root quat) gp-1 (-> self root quat)) ) (none) ) @@ -960,7 +957,7 @@ :virtual #t :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override run-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.45 0.65))) (until #f @@ -979,7 +976,7 @@ :code (behavior () (local-vars (sv-128 float) (sv-144 float) (sv-160 float)) (let ((gp-0 0)) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) (set! gp-0 (-> self info get-on-bike-anim)) ) @@ -999,8 +996,8 @@ ) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)))) + (set! (-> s5-2 quad) (-> self root trans quad)) + (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)))) (ja-no-eval :group! (-> self draw art-group data gp-0) :num! (seek! (ja-aframe 8.0 0)) :frame-num (ja-aframe 2.0 0) @@ -1014,7 +1011,7 @@ (if (not s1-0) (go-virtual wait-for-ride) ) - (quaternion-copy! s2-0 (-> (the-as vehicle s1-0) root-override-2 quat)) + (quaternion-copy! s2-0 (-> (the-as vehicle s1-0) root quat)) (compute-seat-position (the-as vehicle s1-0) s0-0 (-> self seat)) (vector-! s3-1 s0-0 s5-2) (let ((s1-1 lerp-scale) @@ -1026,8 +1023,8 @@ (let* ((t0-1 (ja-aframe 8.0 0)) (f30-1 (s1-1 s0-1 sv-128 sv-144 sv-160 t0-1)) ) - (quaternion-slerp! (-> self root-override2 quat) s4-0 s2-0 f30-1) - (vector+float*! (-> self root-override2 trans) s5-2 s3-1 f30-1) + (quaternion-slerp! (-> self root quat) s4-0 s2-0 f30-1) + (vector+float*! (-> self root trans) s5-2 s3-1 f30-1) ) ) ) @@ -1036,7 +1033,7 @@ ) ) ) - (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override2 quat)) + (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root quat)) (ja-no-eval :group! (-> self draw art-group data gp-0) :num! (seek! (ja-aframe 10.0 0)) :frame-num (ja-aframe 8.0 0) @@ -1049,10 +1046,10 @@ (if (not s5-4) (go-virtual wait-for-ride) ) - (quaternion-copy! gp-1 (-> (the-as vehicle s5-4) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-4) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! gp-1 (-> (the-as vehicle s5-4) root quat)) + (compute-seat-position (the-as vehicle s5-4) (-> self root trans) (-> self seat)) (lerp-scale 0.0 1.0 (ja-aframe-num 0) (ja-aframe 8.0 0) (ja-aframe 10.0 0)) - (quaternion-copy! (-> self root-override2 quat) gp-1) + (quaternion-copy! (-> self root quat) gp-1) ) (suspend) (ja :num! (seek! (ja-aframe 10.0 0))) @@ -1135,7 +1132,7 @@ ) :code (behavior () (ja-channel-push! 3 (seconds 0.2)) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) (ja :group! (-> self draw art-group data 12)) (ja :chan 1 :group! (-> self draw art-group data 13)) @@ -1159,11 +1156,11 @@ (let ((v1-28 (handle->process (-> self vehicle)))) (when v1-28 (let* ((v1-30 (-> (the-as vehicle v1-28) rbody)) - (a1-10 (-> self root-override2 trans)) + (a1-10 (-> self root trans)) (a2-1 (new 'stack-no-clear 'vector)) (gp-0 (rigid-body-method-22 (-> v1-30 state) a1-10 a2-1)) ) - (vector-inv-orient-by-quat! gp-0 gp-0 (-> self root-override2 quat)) + (vector-inv-orient-by-quat! gp-0 gp-0 (-> self root quat)) (seek! (-> self v-speed x) (-> gp-0 x) (* 81920.0 (-> self clock seconds-per-frame))) (seek! (-> self v-speed z) (-> gp-0 z) (* 49152.0 (-> self clock seconds-per-frame))) (set! (-> self left-right-interp) @@ -1253,7 +1250,7 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior city-lurker) enemy-event-handler) :enter (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) - (let ((a0-2 (find-nearest-nav-mesh (-> self root-override2 trans) (the-as float #x7f800000)))) + (let ((a0-2 (find-nearest-nav-mesh (-> self root trans) (the-as float #x7f800000)))) (if a0-2 (set! (-> self nav-mesh-aid) (-> a0-2 entity aid)) ) @@ -1269,7 +1266,7 @@ 0 (citizen-method-195 self - (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (vector-negate-in-place! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (let ((a0-9 (-> self nav state)) (v1-17 (-> self controller turn-exit-point)) @@ -1280,11 +1277,11 @@ ) 0 (citizen-nav-init! self) - (set! (-> self gnd-height) (-> self root-override2 gspot-pos y)) + (set! (-> self gnd-height) (-> self root gspot-pos y)) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self focus-status) (logior (focus-status pilot-riding pilot) (-> self focus-status))) (set! (-> self state-time) (current-time)) - (let ((v1-31 (-> self root-override2 root-prim))) + (let ((v1-31 (-> self root root-prim))) (set! (-> v1-31 prim-core collide-as) (collide-spec)) (set! (-> v1-31 prim-core collide-with) (collide-spec)) ) @@ -1312,7 +1309,7 @@ :code (behavior ((arg0 object) (arg1 object) (arg2 int) (arg3 symbol) (arg4 event-message-block)) (local-vars (sv-128 float)) (let ((gp-0 0)) - (case (-> (the-as vehicle (handle->process (-> self vehicle))) info-override object-type) + (case (-> (the-as vehicle (handle->process (-> self vehicle))) info object-type) ((11 12 13) (set! gp-0 (-> self info get-on-bike-anim)) ) @@ -1328,8 +1325,8 @@ (until (ja-done? 0) (let ((s5-1 (handle->process (-> self vehicle)))) (new 'stack-no-clear 'vector) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s5-1) root-override-2 quat)) - (compute-seat-position (the-as vehicle s5-1) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s5-1) root quat)) + (compute-seat-position (the-as vehicle s5-1) (-> self root trans) (-> self seat)) ) (suspend) (ja :num! (seek! (ja-aframe 8.0 0) 0.6666667)) @@ -1340,8 +1337,8 @@ (while (not (civilian-method-217 self s5-3)) (let ((s3-0 (handle->process (-> self vehicle)))) (new 'stack-no-clear 'vector) - (quaternion-copy! (-> self root-override2 quat) (-> (the-as vehicle s3-0) root-override-2 quat)) - (compute-seat-position (the-as vehicle s3-0) (-> self root-override2 trans) (-> self seat)) + (quaternion-copy! (-> self root quat) (-> (the-as vehicle s3-0) root quat)) + (compute-seat-position (the-as vehicle s3-0) (-> self root trans) (-> self seat)) ) (if (>= (- (current-time) (-> self state-time)) (seconds 2)) (go-virtual ride) @@ -1350,7 +1347,7 @@ ) (remove-rider (the-as vehicle (handle->process (-> self vehicle))) self) (logclear! (-> self focus-status) (focus-status pilot-riding pilot)) - (quaternion-copy! s4-0 (-> self root-override2 quat)) + (quaternion-copy! s4-0 (-> self root quat)) ) (ja-no-eval :group! (-> self draw art-group data gp-0) :num! (seek! (ja-aframe 2.0 0) 0.6666667) @@ -1362,7 +1359,7 @@ (gp-1 (new 'stack-no-clear 'vector)) (s4-2 (new 'stack-no-clear 'quaternion)) ) - (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root-override-2 quat)) + (quaternion-copy! s4-2 (-> (the-as vehicle s3-1) root quat)) (compute-seat-position (the-as vehicle s3-1) s2-0 (-> self seat)) (vector-! gp-1 s2-0 s5-3) (let ((s3-2 lerp-scale) @@ -1375,8 +1372,8 @@ (f0-9 (s3-2 s2-1 s1-0 s0-0 sv-128 t0-1)) (f30-0 (- 1.0 f0-9)) ) - (quaternion-copy! (-> self root-override2 quat) s4-2) - (vector+float*! (-> self root-override2 trans) s5-3 gp-1 f30-0) + (quaternion-copy! (-> self root quat) s4-2) + (vector+float*! (-> self root trans) s5-3 gp-1 f30-0) ) ) ) @@ -1385,9 +1382,9 @@ ) ) ) - (let ((v1-83 (-> self root-override2 root-prim))) - (set! (-> v1-83 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-83 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-83 (-> self root root-prim))) + (set! (-> v1-83 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-83 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual wait-for-ride) (none) @@ -1416,7 +1413,7 @@ (set! (-> v1-17 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-17 enemy-flags)))) ) (set! (-> v1-17 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-17 enemy-flags)))) - (set! (-> v1-17 nav callback-info) (-> v1-17 enemy-info-override callback-info)) + (set! (-> v1-17 nav callback-info) (-> v1-17 enemy-info callback-info)) ) 0 (let ((v1-20 self)) @@ -1436,7 +1433,7 @@ (t9-0) ) ) - (when (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 163840.0) + (when (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 163840.0) (if (-> self jump-in-pipe?) (go-virtual go-at-pipe) (go-virtual go-at-end) @@ -1448,13 +1445,10 @@ (until #f (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1466,8 +1460,8 @@ (suspend) (ja :num! (seek! max 0.5)) ) - (when (or (< 245760.0 (vector-vector-distance (-> self root-override2 trans) (target-pos 0))) - (< (vector-vector-distance (-> self root-override2 trans) (target-pos 0)) 24576.0) + (when (or (< 245760.0 (vector-vector-distance (-> self root trans) (target-pos 0))) + (< (vector-vector-distance (-> self root trans) (target-pos 0)) 24576.0) ) (let ((v1-37 (-> self nav))) (set! (-> v1-37 target-speed) 0.0) @@ -1490,13 +1484,10 @@ (label cfg-13) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1508,8 +1499,8 @@ (suspend) (ja :num! (seek! max 0.1)) ) - (when (and (< (vector-vector-distance (-> self root-override2 trans) (target-pos 0)) 245760.0) - (< 32768.0 (vector-vector-distance (-> self root-override2 trans) (target-pos 0))) + (when (and (< (vector-vector-distance (-> self root trans) (target-pos 0)) 245760.0) + (< 32768.0 (vector-vector-distance (-> self root trans) (target-pos 0))) ) (nav-enemy-method-166 self) (let ((v1-87 (-> self nav))) @@ -1521,7 +1512,7 @@ (set! (-> v1-89 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-89 enemy-flags)))) ) (set! (-> v1-89 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-89 enemy-flags)))) - (set! (-> v1-89 nav callback-info) (-> v1-89 enemy-info-override callback-info)) + (set! (-> v1-89 nav callback-info) (-> v1-89 enemy-info callback-info)) ) 0 (let ((v1-92 self)) @@ -1569,7 +1560,7 @@ (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1584,9 +1575,7 @@ (none) ) :trans (behavior () - (when (and (-> self jump-in-pipe?) - (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 24576.0) - ) + (when (and (-> self jump-in-pipe?) (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 24576.0)) (logclear! (-> self flags) (citizen-flag persistent)) (when (not (-> self task-done?)) (set! (-> self task-done?) #t) @@ -1608,7 +1597,7 @@ ) ) ) - (let ((v1-22 (-> self root-override2 root-prim))) + (let ((v1-22 (-> self root root-prim))) (set! (-> v1-22 prim-core collide-as) (collide-spec)) (set! (-> v1-22 prim-core collide-with) (collide-spec)) ) @@ -1625,7 +1614,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override run-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.45 0.65))) (until #f @@ -1667,7 +1656,7 @@ (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1687,7 +1676,7 @@ (set! (-> gp-0 quad) (-> self end-pos quad)) (set! (-> gp-0 r) 12288.0) (when (and (-> self jump-in-pipe?) - (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self end-pos)) 28672.0) + (< (vector-vector-xz-distance (-> self root trans) (-> self end-pos)) 28672.0) (not (add-root-sphere-to-hash! (-> self nav) gp-0 38)) ) (logclear! (-> self flags) (citizen-flag persistent)) @@ -1711,7 +1700,7 @@ ) ) ) - (let ((v1-27 (-> self root-override2 root-prim))) + (let ((v1-27 (-> self root root-prim))) (set! (-> v1-27 prim-core collide-as) (collide-spec)) (set! (-> v1-27 prim-core collide-with) (collide-spec)) ) @@ -1724,7 +1713,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override run-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info run-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.45 0.65))) (until #f @@ -1751,7 +1740,7 @@ ;; definition for method 86 of type city-lurker (defmethod enemy-method-86 city-lurker ((obj city-lurker)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (when (< (-> gp-0 transv y) 0.0) (when (and (< (-> gp-0 trans y) (+ 8192.0 (-> obj end-pos y))) (-> obj jump-in-pipe?)) (send-event (process-by-name (-> obj pipe-name) *active-pool*) 'spin) @@ -1841,13 +1830,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1949,7 +1935,7 @@ (set! (-> self hit-points) 100) (logior! (-> self flags) (citizen-flag persistent)) (set! (-> self state-time) (current-time)) - (let ((v1-8 (-> self root-override2 root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) @@ -1987,12 +1973,12 @@ (if a0-1 (remove-rider (the-as vehicle a0-1) self) ) - (let ((v1-9 (-> self root-override2 root-prim))) - (set! (-> v1-9 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-9 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-9 (-> self root root-prim))) + (set! (-> v1-9 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-9 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self vehicle) (the-as handle #f)) - (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (set! (-> gp-0 y) 1.0) (vector-normalize! gp-0 40960.0) (let ((a1-6 (new 'stack-no-clear 'event-message-block))) @@ -2189,7 +2175,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2246,9 +2232,9 @@ ((= v1-0 'traffic-activate) (set! (-> obj controller traffic) (the-as traffic-engine (-> arg3 param 1))) (let ((s5-0 (the-as object (-> arg3 param 0)))) - (set! (-> obj root-override2 trans quad) (-> (the-as traffic-object-spawn-params s5-0) position quad)) - (quaternion-copy! (-> obj root-override2 quat) (-> (the-as traffic-object-spawn-params s5-0) rotation)) - (set! (-> obj root-override2 transv quad) (-> (the-as traffic-object-spawn-params s5-0) velocity quad)) + (set! (-> obj root trans quad) (-> (the-as traffic-object-spawn-params s5-0) position quad)) + (quaternion-copy! (-> obj root quat) (-> (the-as traffic-object-spawn-params s5-0) rotation)) + (set! (-> obj root transv quad) (-> (the-as traffic-object-spawn-params s5-0) velocity quad)) (let ((a0-10 (-> (the-as traffic-object-spawn-params s5-0) nav-mesh))) (when a0-10 (change-to a0-10 obj) @@ -2261,7 +2247,7 @@ 0 (let ((a1-5 (-> (the-as traffic-object-spawn-params s5-0) nav-branch))) (when a1-5 - (vehicle-controller-method-13 (-> obj controller) a1-5 (-> obj root-override2 trans)) + (vehicle-controller-method-13 (-> obj controller) a1-5 (-> obj root trans)) (let ((a0-14 (-> obj nav state)) (v1-24 (-> obj controller turn-exit-point)) ) @@ -2275,7 +2261,7 @@ (citizen-nav-init! obj) (citizen-init! obj) (enemy-method-127 obj 40960.0 40960.0 #t (the-as collide-spec (-> obj gnd-collide))) - (set! (-> obj gnd-height) (-> obj root-override2 gspot-pos y)) + (set! (-> obj gnd-height) (-> obj root gspot-pos y)) ) ) (set-behavior! obj (the-as traffic-object-spawn-params s5-0)) @@ -2451,7 +2437,7 @@ (send-event *traffic-manager* 'add-object (-> gp-1 params 1 object-type) s3-0) (set! (-> s3-0 controller traffic) *traffic-engine*) (set! (-> s3-0 vehicle) (process->handle s4-0)) - (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root-override-2 trans) 4 0))) + (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root trans) 4 0))) (when (!= s2-1 -1) (format #t "adding lurker to seat ~d~%" s2-1) (put-rider-in-seat s4-0 s2-1 s3-0) @@ -2624,16 +2610,13 @@ (set! (-> s4-0 flags) (traffic-spawn-flags trsflags-01)) (set! (-> s4-0 guard-type) (the-as uint 7)) (vector-reset! (-> s4-0 velocity)) - (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-1) root-override-2 trans quad)) - (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-1) root-override-2 quat)) + (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-1) root trans quad)) + (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-1) root quat)) (activate-by-handle *traffic-engine* s4-0) ) (let ((s4-1 (handle->process (-> self slave gp-1)))) (when s4-1 - (let ((s3-0 - (get-best-seat-for-vehicle (the-as paddywagon s5-1) (-> (the-as paddywagon s5-1) root-override-2 trans) 4 0) - ) - ) + (let ((s3-0 (get-best-seat-for-vehicle (the-as paddywagon s5-1) (-> (the-as paddywagon s5-1) root trans) 4 0))) (when (!= s3-0 -1) (format #t "adding lurker to seat ~d~%" s3-0) (put-rider-in-seat (the-as paddywagon s5-1) s3-0 (the-as city-lurker s4-1)) @@ -2677,8 +2660,8 @@ (set! (-> s3-1 flags) (traffic-spawn-flags)) (set! (-> s3-1 guard-type) (the-as uint 7)) (vector-reset! (-> s3-1 velocity)) - (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root-override2 trans quad)) - (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root-override2 quat)) + (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root trans quad)) + (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root quat)) (activate-by-handle *traffic-engine* s3-1) ) ) @@ -2709,7 +2692,7 @@ (+! (-> self data-int32 s5-2) 1) ) (else - (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -2721,8 +2704,8 @@ ) (when (and (< f0-2 (* f1-0 f1-0)) (let ((f0-3 (vector-vector-distance-squared - (-> (the-as vehicle s3-3) root-override-2 trans) - (-> (the-as city-lurker s4-2) root-override2 trans) + (-> (the-as vehicle s3-3) root trans) + (-> (the-as city-lurker s4-2) root trans) ) ) (f1-3 65536.0) @@ -2746,7 +2729,7 @@ ((= (-> self data-int32 s5-2) 1) (when (the-as city-lurker s4-2) (if (or (not *target*) (not (logtest? (focus-status pilot) (-> *target* focus-status)))) - (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root-override2 trans)) + (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root trans)) ) (let ((s3-4 (-> self data-vector 3)) (s2-1 (handle->process (-> *target* pilot vehicle))) @@ -2754,13 +2737,13 @@ (cond ((focus-test? (the-as city-lurker s4-2) pilot) (when (and s2-1 - (let ((f0-4 (vector-vector-distance-squared s3-4 (-> (the-as vehicle s2-1) root-override-2 trans))) + (let ((f0-4 (vector-vector-distance-squared s3-4 (-> (the-as vehicle s2-1) root trans))) (f1-6 114688.0) ) (< f0-4 (* f1-6 f1-6)) ) (begin - (.lvf vf1 (&-> (-> (the-as vehicle s2-1) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s2-1) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -3049,7 +3032,7 @@ (send-event *traffic-manager* 'add-object (-> gp-0 params 1 object-type) s3-0) (set! (-> s3-0 controller traffic) *traffic-engine*) (set! (-> s3-0 vehicle) (process->handle s4-0)) - (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root-override-2 trans) 4 0))) + (let ((s2-1 (get-best-seat-for-vehicle s4-0 (-> s4-0 root trans) 4 0))) (when (!= s2-1 -1) (format #t "adding lurker to seat ~d~%" s2-1) (put-rider-in-seat s4-0 s2-1 s3-0) @@ -3216,16 +3199,13 @@ (set! (-> s4-0 flags) (traffic-spawn-flags trsflags-01)) (set! (-> s4-0 guard-type) (the-as uint 7)) (vector-reset! (-> s4-0 velocity)) - (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-2) root-override-2 trans quad)) - (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-2) root-override-2 quat)) + (set! (-> s4-0 position quad) (-> (the-as paddywagon s5-2) root trans quad)) + (quaternion-copy! (-> s4-0 rotation) (-> (the-as paddywagon s5-2) root quat)) (activate-by-handle *traffic-engine* s4-0) ) (let ((s4-1 (handle->process (-> self slave gp-1)))) (when s4-1 - (let ((s3-0 - (get-best-seat-for-vehicle (the-as paddywagon s5-2) (-> (the-as paddywagon s5-2) root-override-2 trans) 4 0) - ) - ) + (let ((s3-0 (get-best-seat-for-vehicle (the-as paddywagon s5-2) (-> (the-as paddywagon s5-2) root trans) 4 0))) (when (!= s3-0 -1) (format #t "adding lurker to seat ~d~%" s3-0) (put-rider-in-seat (the-as paddywagon s5-2) s3-0 (the-as process-focusable s4-1)) @@ -3269,8 +3249,8 @@ (set! (-> s3-1 flags) (traffic-spawn-flags)) (set! (-> s3-1 guard-type) (the-as uint 7)) (vector-reset! (-> s3-1 velocity)) - (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root-override2 trans quad)) - (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root-override2 quat)) + (set! (-> s3-1 position quad) (-> (the-as city-lurker s4-2) root trans quad)) + (quaternion-copy! (-> s3-1 rotation) (-> (the-as city-lurker s4-2) root quat)) (activate-by-handle *traffic-engine* s3-1) ) ) @@ -3301,12 +3281,9 @@ (+! (-> self data-int32 s5-3) 1) ) (else - (let ((v1-174 - (get-best-seat-for-vehicle (the-as vehicle s3-3) (-> (the-as vehicle s3-3) root-override-2 trans) 4 0) - ) - ) + (let ((v1-174 (get-best-seat-for-vehicle (the-as vehicle s3-3) (-> (the-as vehicle s3-3) root trans) 4 0))) (when (!= v1-174 -1) - (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s3-3) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -3318,8 +3295,8 @@ ) (when (and (< f0-2 (* f1-0 f1-0)) (let ((f0-3 (vector-vector-distance-squared - (-> (the-as vehicle s3-3) root-override-2 trans) - (-> (the-as city-lurker s4-2) root-override2 trans) + (-> (the-as vehicle s3-3) root trans) + (-> (the-as city-lurker s4-2) root trans) ) ) (f1-3 65536.0) @@ -3347,7 +3324,7 @@ (let ((f30-0 (the-as float #x7f800000))) (dotimes (s3-4 (-> *city-save-lurkers-pipe-info* length)) (let* ((s2-1 (-> *city-save-lurkers-pipe-info* s3-4)) - (f0-4 (vector-vector-xz-distance (-> s2-1 end-pos) (-> (the-as city-lurker s4-2) root-override2 trans))) + (f0-4 (vector-vector-xz-distance (-> s2-1 end-pos) (-> (the-as city-lurker s4-2) root trans))) ) (when (< f0-4 f30-0) (set! f30-0 f0-4) @@ -3358,7 +3335,7 @@ ) ) (if (or (not *target*) (not (logtest? (focus-status pilot) (-> *target* focus-status)))) - (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root-override2 trans)) + (send-event (the-as city-lurker s4-2) 'exit-vehicle (-> (the-as city-lurker s4-2) root trans)) ) (let ((s3-5 (-> (the-as city-lurker s4-2) end-pos)) (s2-2 (handle->process (-> *target* pilot vehicle))) @@ -3366,13 +3343,13 @@ (cond ((focus-test? (the-as city-lurker s4-2) pilot) (when (and s2-2 - (let ((f0-5 (vector-vector-distance-squared s3-5 (-> (the-as vehicle s2-2) root-override-2 trans))) + (let ((f0-5 (vector-vector-distance-squared s3-5 (-> (the-as vehicle s2-2) root trans))) (f1-6 114688.0) ) (< f0-5 (* f1-6 f1-6)) ) (begin - (.lvf vf1 (&-> (-> (the-as vehicle s2-2) root-override-2 transv) quad)) + (.lvf vf1 (&-> (-> (the-as vehicle s2-2) root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) diff --git a/test/decompiler/reference/jak2/levels/city/misc/collection_task/collection-task_REF.gc b/test/decompiler/reference/jak2/levels/city/misc/collection_task/collection-task_REF.gc index eb65898514..0aa6d6df52 100644 --- a/test/decompiler/reference/jak2/levels/city/misc/collection_task/collection-task_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/misc/collection_task/collection-task_REF.gc @@ -128,7 +128,7 @@ (set! (-> vec w) 4096.0) (when (focus-test? target pilot) (let ((vehicle (handle->process (-> target pilot vehicle)))) - (set! (-> vec quad) (-> (the-as vehicle vehicle) root-override-2 root-prim prim-core world-sphere quad)) + (set! (-> vec quad) (-> (the-as vehicle vehicle) root root-prim prim-core world-sphere quad)) ) ) (let ((dist-from-target (vector-vector-distance-squared (-> self root trans) vec)) diff --git a/test/decompiler/reference/jak2/levels/city/misc/delivery/delivery-task_REF.gc b/test/decompiler/reference/jak2/levels/city/misc/delivery/delivery-task_REF.gc index 2c666120cc..28b038f414 100644 --- a/test/decompiler/reference/jak2/levels/city/misc/delivery/delivery-task_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/misc/delivery/delivery-task_REF.gc @@ -82,8 +82,8 @@ ) ) (set! (-> self draw color-mult quad) (-> (the-as process-focusable gp-0) draw color-mult quad)) - (set! (-> self root trans quad) (-> (the-as process-focusable gp-0) root-override trans quad)) - (quaternion-copy! (-> self root quat) (-> (the-as process-focusable gp-0) root-override quat)) + (set! (-> self root trans quad) (-> (the-as process-focusable gp-0) root trans quad)) + (quaternion-copy! (-> self root quat) (-> (the-as process-focusable gp-0) root quat)) ) (else ) @@ -492,27 +492,27 @@ This commonly includes things such as: (send-event *traffic-manager* 'set-guard-target-count-range 5 0 10) (send-event *traffic-manager* 'set-alert-level 3) (send-event *traffic-manager* 'set-alert-duration #xa4cb80) - (speech-control-method-10 *speech-control* 7 (new 'static 'speech-type-info - :channel #x1 - :priority -2 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg243a" - "kg241a" - "kg242a" - "kg244a" - "kg245a" - "kg246a" - "kg247a" - "kg248a" - "kg249a" - "kg250a" - "kg251a" - "kg252a" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-7) (new 'static 'speech-type-info + :channel #x1 + :priority -2 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg243a" + "kg241a" + "kg242a" + "kg244a" + "kg245a" + "kg246a" + "kg247a" + "kg248a" + "kg249a" + "kg250a" + "kg251a" + "kg252a" + ) + ) + ) (talker-spawn-func (-> *talker-speech* 49) *entity-pool* (target-pos 0) (the-as region #f)) (let ((gp-2 (new 'static 'vector :x 3358720.0 :y 32768.0 :z 4689920.0 :w 204800.0)) (s5-2 #f) diff --git a/test/decompiler/reference/jak2/levels/city/oracle/oracle-scenes_REF.gc b/test/decompiler/reference/jak2/levels/city/oracle/oracle-scenes_REF.gc index 5d6cb00e06..365a9f7e59 100644 --- a/test/decompiler/reference/jak2/levels/city/oracle/oracle-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/oracle/oracle-scenes_REF.gc @@ -861,7 +861,7 @@ "Checks various things such the current actor, task status, etc to determine the right art-group data to use @returns the appropriate [[art-element]] for the given NPC" (logior! (-> obj draw status) (draw-control-status no-draw-bounds)) - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) diff --git a/test/decompiler/reference/jak2/levels/city/palace/ctypal-obs_REF.gc b/test/decompiler/reference/jak2/levels/city/palace/ctypal-obs_REF.gc index 372f27269f..a186f31aa8 100644 --- a/test/decompiler/reference/jak2/levels/city/palace/ctypal-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/palace/ctypal-obs_REF.gc @@ -137,7 +137,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -334,7 +334,3 @@ This commonly includes things such as: (go (method-of-object obj idle)) (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/city/port/mines/portrun_REF.gc b/test/decompiler/reference/jak2/levels/city/port/mines/portrun_REF.gc index 472fb7e541..a58e193b1a 100644 --- a/test/decompiler/reference/jak2/levels/city/port/mines/portrun_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/port/mines/portrun_REF.gc @@ -877,18 +877,18 @@ ;; definition of type ctyport-mine (deftype ctyport-mine (process-drawable) - ((root-override collide-shape-moving :offset 128) - (info city-port-run-mine-info :offset-assert 200) - (base-height float :offset-assert 204) - (center vector :inline :offset-assert 208) - (time-skew uint64 :offset-assert 224) - (period float :offset-assert 232) - (trans-y float :offset-assert 236) - (speed-y float :offset-assert 240) - (acc-y float :offset-assert 244) - (beep basic :offset-assert 248) - (beep-time time-frame :offset-assert 256) - (beep-color vector :inline :offset-assert 272) + ((root collide-shape-moving :override) + (info city-port-run-mine-info :offset-assert 200) + (base-height float :offset-assert 204) + (center vector :inline :offset-assert 208) + (time-skew uint64 :offset-assert 224) + (period float :offset-assert 232) + (trans-y float :offset-assert 236) + (speed-y float :offset-assert 240) + (acc-y float :offset-assert 244) + (beep basic :offset-assert 248) + (beep-time time-frame :offset-assert 256) + (beep-color vector :inline :offset-assert 272) ) :heap-base #xa0 :method-count-assert 24 @@ -957,7 +957,7 @@ (set! f0-9 (- 2.0 f0-9)) ) (let ((f0-13 (* 0.5 (- 1.0 (cos (* 32768.0 f0-9)))))) - (let ((v1-23 (-> obj root-override trans)) + (let ((v1-23 (-> obj root trans)) (a0-5 (new 'stack-no-clear 'vector)) ) (set! (-> a0-5 x) (-> s5-0 pos1-x)) @@ -966,8 +966,8 @@ (set! (-> a0-5 w) 1.0) (vector-float*! v1-23 a0-5 f0-13) ) - (let ((s4-0 (-> obj root-override trans))) - (let ((v1-27 (-> obj root-override trans))) + (let ((s4-0 (-> obj root trans))) + (let ((v1-27 (-> obj root trans))) (let ((a0-6 (new 'stack-no-clear 'vector))) (set! (-> a0-6 x) (-> s5-0 pos2-x)) (set! (-> a0-6 y) (-> s5-0 pos2-y)) @@ -989,7 +989,7 @@ ) ) (else - (let ((s4-1 (-> obj root-override trans))) + (let ((s4-1 (-> obj root trans))) (let ((s3-0 (new 'stack-no-clear 'vector))) (set! (-> s3-0 x) (-> s5-0 pos1-x)) (set! (-> s3-0 y) (-> s5-0 pos1-y)) @@ -1018,15 +1018,13 @@ ) ) ) - (+! (-> obj speed-y) (* 10.0 - (-> pp clock seconds-per-frame) - (- (get-height *ocean* (-> obj root-override trans) #t) (-> obj trans-y)) - ) + (+! (-> obj speed-y) + (* 10.0 (-> pp clock seconds-per-frame) (- (get-height *ocean* (-> obj root trans) #t) (-> obj trans-y))) ) (set! (-> obj speed-y) (- (-> obj speed-y) (* (-> obj speed-y) (-> pp clock seconds-per-frame)))) (set! (-> obj speed-y) (- (-> obj speed-y) (* 4096.0 (-> pp clock seconds-per-frame)))) (+! (-> obj trans-y) (* (-> obj speed-y) (-> pp clock seconds-per-frame))) - (set! (-> obj root-override trans y) (+ 2048.0 (-> obj trans-y))) + (set! (-> obj root trans y) (+ 2048.0 (-> obj trans-y))) (none) ) ) @@ -1065,7 +1063,7 @@ ) ((not (logtest? (-> self draw status) (draw-control-status no-draw))) (send-event (ppointer->process (-> self parent)) 'mine-dead) - (let ((v1-27 (-> self root-override root-prim))) + (let ((v1-27 (-> self root root-prim))) (set! (-> v1-27 prim-core collide-as) (collide-spec)) (set! (-> v1-27 prim-core collide-with) (collide-spec)) ) @@ -1075,8 +1073,8 @@ (cond ((-> self beep) (let ((gp-2 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-2 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-2 spawn-quat) (-> self root-override quat)) + (set! (-> gp-2 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-2 spawn-quat) (-> self root quat)) (set! (-> gp-2 radius) 32768.0) (set! (-> gp-2 group) (-> *part-group-id-table* 161)) (set! (-> gp-2 collide-with) (collide-spec jak crate hit-by-others-list player-list)) @@ -1085,7 +1083,7 @@ ) ) (else - (process-spawn touch-tracker :init touch-tracker-init (-> self root-override trans) #x46400000 30 :to self) + (process-spawn touch-tracker :init touch-tracker-init (-> self root trans) #x46400000 30 :to self) (let ((gp-4 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-4 (let ((t9-12 (method-of-type part-tracker activate))) @@ -1101,7 +1099,7 @@ (t2-2 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-13) a0-31 a1-14 @@ -1134,7 +1132,7 @@ (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1155,7 +1153,7 @@ (set! (-> self speed-y) (- (-> self speed-y) (* (-> self speed-y) (-> self clock seconds-per-frame)))) (set! (-> self speed-y) (- (-> self speed-y) (* (-> self acc-y) (-> self clock seconds-per-frame)))) (+! (-> self trans-y) (* (-> self speed-y) (-> self clock seconds-per-frame))) - (set! (-> self root-override trans y) (+ 2048.0 (-> self trans-y))) + (set! (-> self root trans y) (+ 2048.0 (-> self trans-y))) (transform-post) (none) ) @@ -1234,15 +1232,15 @@ (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) (set! (-> self info) arg0) (set! (-> arg0 handle) (process->handle self)) (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self mask) (logior (process-mask crate) (-> self mask))) - (set-vector! (-> self root-override trans) (-> arg0 pos1-x) (-> arg0 pos1-y) (-> arg0 pos1-z) 1.0) - (quaternion-copy! (-> self root-override quat) *unity-quaternion*) - (vector-identity! (-> self root-override scale)) + (set-vector! (-> self root trans) (-> arg0 pos1-x) (-> arg0 pos1-y) (-> arg0 pos1-z) 1.0) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (vector-identity! (-> self root scale)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-ctyport-mine" (the-as (pointer uint32) #f))) @@ -1251,9 +1249,9 @@ (set! (-> self base-height) 0.0) (set! (-> self time-skew) (the-as uint (the int (* 300.0 (rand-vu-float-range 0.1 1.4))))) (set! (-> self period) (* 300.0 (rand-vu-float-range 1.2 1.8))) - (set! (-> self center quad) (-> self root-override trans quad)) - (set! (-> self root-override pause-adjust-distance) 532480.0) - (set! (-> self trans-y) (-> self root-override trans y)) + (set! (-> self center quad) (-> self root trans quad)) + (set! (-> self root pause-adjust-distance) 532480.0) + (set! (-> self trans-y) (-> self root trans y)) (go-virtual idle) (none) ) @@ -1480,7 +1478,7 @@ (set! (-> gp-0 fountain-rand-transv-hi x) 40960.0) (set! (-> gp-0 fountain-rand-transv-hi y) 122880.0) (set! (-> self draw bounds w) 163840.0) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -1506,7 +1504,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-8 a1-4 @@ -1537,7 +1535,7 @@ (let ((t9-12 ctyport-spy-spawn) (a0-17 self) (a1-10 (new 'stack-no-clear 'vector)) - (v1-33 (-> self root-override trans)) + (v1-33 (-> self root trans)) (a2-14 *up-vector*) (a3-7 4096.0) ) @@ -1558,15 +1556,13 @@ ) ) :trans (behavior () - (+! (-> self speed-y) (* 10.0 - (-> self clock seconds-per-frame) - (- (get-height *ocean* (-> self root-override trans) #t) (-> self trans-y)) - ) + (+! (-> self speed-y) + (* 10.0 (-> self clock seconds-per-frame) (- (get-height *ocean* (-> self root trans) #t) (-> self trans-y))) ) (set! (-> self speed-y) (- (-> self speed-y) (* (-> self speed-y) (-> self clock seconds-per-frame)))) (set! (-> self speed-y) (- (-> self speed-y) (* 409.6 (-> self clock seconds-per-frame)))) (+! (-> self trans-y) (* (-> self speed-y) (-> self clock seconds-per-frame))) - (set! (-> self root-override trans y) (-> self trans-y)) + (set! (-> self root trans y) (-> self trans-y)) (none) ) :code (behavior () @@ -1588,7 +1584,7 @@ (defmethod ctyport-cargo-method-30 ctyport-cargo ((obj ctyport-cargo)) (send-event *camera* 'change-target obj) (let ((gp-0 (new 'stack 'transformq))) - (vector+! (-> gp-0 trans) (-> obj root-override trans) (new 'static 'vector :y 16384.0 :z 28672.0 :w 1.0)) + (vector+! (-> gp-0 trans) (-> obj root trans) (new 'static 'vector :y 16384.0 :z 28672.0 :w 1.0)) (set-vector! (-> gp-0 scale) 1.0 1.0 1.0 1.0) (quaternion-zxy! (-> gp-0 quat) (new 'static 'vector :x 1820.4445 :y 32768.0 :w 1.0)) (send-event *camera* 'teleport-to-transformq gp-0) @@ -1607,7 +1603,7 @@ (none) ) :trans (behavior () - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self trans-y) (* 1024.0 (+ (sin (* 182.04445 (* 150.0 (+ 10.0 (* 0.0033333334 (the float (current-time))))))) (cos (* 182.04445 (* -80.0 (- 40.0 (* 0.0033333334 (the float (current-time))))))) @@ -1698,11 +1694,11 @@ knocked ) ) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) (add-process-drawable-to-navmesh arg1 self #t) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root scale) 1.0 1.0 1.0 1.0) (set! (-> self minimap) (add-icon! *minimap* self (the-as uint 16) (the-as int #f) (the-as vector #t) 0)) (set! (-> self mask) (logior (process-mask crate) (-> self mask))) (initialize-skeleton @@ -1710,7 +1706,7 @@ (the-as skeleton-group (art-group-get-by-name *level* "skel-ctyport-cargo" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> self trans-y) (-> self root-override trans y)) + (set! (-> self trans-y) (-> self root trans y)) (go-virtual idle) (none) ) diff --git a/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc b/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc index 8ba91abac7..d8928b5431 100644 --- a/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/port/race/errol-chal_REF.gc @@ -426,7 +426,7 @@ (format 0 "errol-racer::initialize-collision: ERROR, no lerlchal level~%") (go process-drawable-art-error "no lerlchal level") ) - (set! (-> obj root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape (new 'process 'trsqv))) 0 (none) ) @@ -453,11 +453,7 @@ :virtual #t :enter (behavior () (format #t "errol-rider::got-passed~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-1 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-54)) (none) ) ) @@ -471,11 +467,7 @@ ) :enter (behavior () (format #t "errol-rider::taunt race-errol-pass~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-0 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-53)) (none) ) :code (behavior () @@ -506,15 +498,10 @@ (none) ) :post (behavior () - (let* ((v1-0 (-> self parent-override)) - (gp-0 (if v1-0 - (-> v1-0 0 self-override) - ) - ) - ) + (let ((gp-0 (ppointer->process (-> self parent)))) (when gp-0 - (compute-seat-position gp-0 (-> self root-override trans) 0) - (quaternion-copy! (-> self root-override quat) (-> gp-0 root-override-2 quat)) + (compute-seat-position gp-0 (-> self root trans) 0) + (quaternion-copy! (-> self root quat) (-> gp-0 root quat)) ) ) (ja-post) @@ -685,7 +672,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -783,7 +770,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 nav-flags) (nav-flags has-child-spheres)) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -806,16 +793,16 @@ ;; definition of type turbo-ring (deftype turbo-ring (process-drawable) - ((root-override collide-shape :offset 128) - (touch-time time-frame :offset-assert 200) - (minimap connection-minimap :offset-assert 208) - (player-got symbol :offset-assert 212) - (persistent symbol :offset-assert 216) - (id int8 :offset-assert 220) - (boost float :offset-assert 224) - (plane vector :inline :offset-assert 240) - (part-track handle :offset-assert 256) - (mat matrix :inline :offset-assert 272) + ((root collide-shape :override) + (touch-time time-frame :offset-assert 200) + (minimap connection-minimap :offset-assert 208) + (player-got symbol :offset-assert 212) + (persistent symbol :offset-assert 216) + (id int8 :offset-assert 220) + (boost float :offset-assert 224) + (plane vector :inline :offset-assert 240) + (part-track handle :offset-assert 256) + (mat matrix :inline :offset-assert 272) ) :heap-base #xd0 :method-count-assert 25 @@ -860,7 +847,7 @@ object (case event-type (('touched) - (let* ((s4-0 (-> (the-as vehicle proc) root-override-2)) + (let* ((s4-0 (-> (the-as vehicle proc) root)) (gp-0 (if (type? s4-0 collide-shape-moving) s4-0 ) @@ -875,8 +862,8 @@ (let ((f30-0 (vector4-dot (-> self plane) (-> s4-1 local-pos))) (f28-0 (vector4-dot (-> self plane) (-> s4-1 normal))) (f0-5 (fmax - (vector-vector-distance-squared (-> self root-override trans) (-> s4-1 local-pos)) - (vector-vector-distance-squared (-> self root-override trans) (-> s4-1 normal)) + (vector-vector-distance-squared (-> self root trans) (-> s4-1 local-pos)) + (vector-vector-distance-squared (-> self root trans) (-> s4-1 normal)) ) ) (f1-0 40960.0) @@ -917,10 +904,9 @@ :post (behavior () (if (and (-> self player-got) (>= (- (current-time) (-> self touch-time)) (seconds 3)) - (or (not *target*) - (or (< 204800.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (focus-test? *target* teleporting) - ) + (or (not *target*) (or (< 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (focus-test? *target* teleporting) + ) ) (not (-> self persistent)) ) @@ -937,7 +923,7 @@ :virtual #t :code (behavior () (set! (-> self state-time) (current-time)) - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -967,7 +953,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -979,14 +965,14 @@ (defmethod turbo-ring-method-23 turbo-ring ((obj turbo-ring)) (let ((s5-0 (-> obj mat))) (let ((s4-0 (new 'stack-no-clear 'quaternion))) - (quaternion-rotate-local-y! s4-0 (-> obj root-override quat) 16384.0) + (quaternion-rotate-local-y! s4-0 (-> obj root quat) 16384.0) (quaternion->matrix s5-0 s4-0) ) - (set! (-> s5-0 trans quad) (-> obj root-override trans quad)) + (set! (-> s5-0 trans quad) (-> obj root trans quad)) (set! (-> obj plane quad) (-> s5-0 vector 0 quad)) ) - (set! (-> obj plane w) (- (vector-dot (-> obj plane) (-> obj root-override trans)))) - (update-transforms (-> obj root-override)) + (set! (-> obj plane w) (- (vector-dot (-> obj plane) (-> obj root trans)))) + (update-transforms (-> obj root)) (set! (-> obj player-got) #f) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 1058) obj)) (if (not (-> obj persistent)) @@ -1002,9 +988,9 @@ ;; WARN: Return type mismatch object vs none. (defbehavior turbo-ring-init-by-other turbo-ring ((arg0 city-race-ring-info) (arg1 int) (arg2 symbol)) (turbo-ring-method-22 self) - (set! (-> self root-override trans quad) (-> arg0 pos quad)) - (set! (-> self root-override trans y) (+ 10240.0 (-> self root-override trans y))) - (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 (-> arg0 pos w)) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (set! (-> self root trans y) (+ 10240.0 (-> self root trans y))) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (-> arg0 pos w)) (set! (-> self boost) (-> arg0 boost)) (set! (-> self id) arg1) (set! (-> self persistent) arg2) @@ -1272,7 +1258,7 @@ (set! (-> self sub-state) (the-as uint 0)) (set! (-> self count) 0) (set! (-> self max-count) -1) - (race-start (-> self info index) (the-as symbol self) #f) + (race-start (-> self info index) self #f) (set! (-> self begin-pos quad) (-> (new 'static 'vector :x -326041.6 :y 36454.4 :z 5391565.0 :w 266240.0) quad) ) @@ -1373,7 +1359,7 @@ (lambda :behavior task-manager () (set! (-> self state-time) (current-time)) - (while (not (logtest? (-> *race-state* flags) 1)) + (while (not (logtest? (-> *race-state* flags) (race-flags begun))) (let ((f0-0 (-> self begin-pos w))) (if (< (* f0-0 f0-0) (vector-vector-distance-squared (-> self begin-pos) (target-pos 0))) (go-virtual fail) @@ -1535,7 +1521,7 @@ ) ) ) - (race-start (-> self info index) (the-as symbol self) #f) + (race-start (-> self info index) self #f) (set! (-> self begin-pos quad) (-> (new 'static 'vector :x 2519040.0 :y 40960.0 :z 6545408.0 :w 184320.0) quad) ) @@ -1582,7 +1568,7 @@ (lambda :behavior task-manager () (set! (-> self state-time) (current-time)) - (while (not (logtest? (-> *race-state* flags) 1)) + (while (not (logtest? (-> *race-state* flags) (race-flags begun))) (let ((f0-0 (-> self begin-pos w))) (if (< (* f0-0 f0-0) (vector-vector-distance-squared (-> self begin-pos) (target-pos 0))) (go-virtual fail) diff --git a/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc b/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc index 3ede56fdd3..757119abee 100644 --- a/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/side_missions/ctywide-bbush_REF.gc @@ -448,7 +448,7 @@ (set! (-> gp-1 w) 4096.0) (when (focus-test? v1-17 pilot) (let ((a1-8 (handle->process (-> v1-17 pilot vehicle)))) - (set! (-> gp-1 quad) (-> (the-as process-focusable a1-8) root-override root-prim prim-core world-sphere quad)) + (set! (-> gp-1 quad) (-> (the-as process-focusable a1-8) root root-prim prim-core world-sphere quad)) ) ) (when (>= (ray-flat-cyl-intersect diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc index a78003cd01..b637e4e828 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kid-states_REF.gc @@ -17,7 +17,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -203,11 +203,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -258,7 +258,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -330,7 +330,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -403,7 +403,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -545,7 +545,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (if (logtest? (bot-flags bf20) (-> self bot-flags)) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kid3-course_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kid3-course_REF.gc index 447375c600..d2fc7cb086 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kid3-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kid3-course_REF.gc @@ -31,12 +31,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) kidt-wait-spot arg0))) @@ -76,9 +76,9 @@ :waypoint-id 2 :skip-to -1 :on-set (lambda ((arg0 kid)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) kidt-wait-spot arg0))) @@ -90,10 +90,10 @@ (function kidt-wait-spot kid symbol) (lambda ((arg0 object) (arg1 kid)) (when (>= (-> arg1 waypoint-request) 6) - (set! (-> arg1 root-override2 trans quad) (-> arg1 course spots 1 center quad)) - (set! (-> arg1 root-override2 trans w) 1.0) + (set! (-> arg1 root trans quad) (-> arg1 course spots 1 center quad)) + (set! (-> arg1 root trans w) 1.0) (quaternion-vector-angle! - (-> arg1 root-override2 quat) + (-> arg1 root quat) *up-vector* (* 182.04445 (* 0.00024414062 (-> arg1 course spots 1 center w))) ) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kid_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kid_REF.gc index f9ca2c6f8f..2eff753372 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kid_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kid_REF.gc @@ -162,7 +162,7 @@ :walk-travel-speed (meters 1.5) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 0.85) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -205,9 +205,9 @@ (set! (-> obj arrestor-handle) (process->handle (the-as process v1-18))) (set! (-> obj arrest-attempt-time) (current-time)) (let ((a1-8 (new 'stack-no-clear 'vector))) - (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root-override2 trans)) + (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root trans)) (set! (-> a1-8 y) 0.0) - (forward-up->quaternion (-> obj root-override2 quat) a1-8 *up-vector*) + (forward-up->quaternion (-> obj root quat) a1-8 *up-vector*) ) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -429,7 +429,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -448,7 +448,7 @@ (set! (-> obj notice-enemy-dist) 122880.0) (set! (-> obj travel-anim-interp) 0.0) (set! (-> obj focus-info max-los-dist) 0.0) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) (set! (-> obj spot-color) (the-as uint #x60004f8f)) (set! (-> obj arrestor-handle) (the-as handle #f)) 0 @@ -548,7 +548,7 @@ (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 22528.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 8.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) @@ -603,7 +603,7 @@ ;; definition for method 78 of type kid (defmethod enemy-method-78 kid ((obj kid) (arg0 (pointer float))) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc index f99f232319..52d805d350 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kor-states_REF.gc @@ -17,7 +17,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -94,7 +94,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -214,11 +214,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -269,7 +269,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -341,7 +341,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -414,7 +414,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (look-at-target! self (enemy-flag lock-focus)) (set! (-> self travel-anim-interp) 0.0) (none) @@ -556,7 +556,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (stop-looking-at-target! self) (set! (-> self travel-anim-interp) 0.0) (if (logtest? (bot-flags bf20) (-> self bot-flags)) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kor3-course_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kor3-course_REF.gc index a6c5f9f2a4..601c0b4d78 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kor3-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kor3-course_REF.gc @@ -31,12 +31,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 course spots 0))) (logclear! (-> arg0 mask) (process-mask actor-pause)) (logclear! (-> arg0 enemy-flags) (enemy-flag notice)) (let ((v1-16 (get-task-by-type (-> arg0 ai-ctrl) kort-wait-spot arg0))) @@ -76,9 +76,9 @@ :waypoint-id 2 :skip-to -1 :on-set (lambda ((arg0 kor)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (logclear! (-> arg0 focus-status) (focus-status disable)) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) kort-wait-spot arg0))) @@ -90,10 +90,10 @@ (function kort-wait-spot kor symbol) (lambda ((arg0 object) (arg1 kor)) (when (>= (-> arg1 waypoint-request) 6) - (set! (-> arg1 root-override2 trans quad) (-> arg1 course spots 1 center quad)) - (set! (-> arg1 root-override2 trans w) 1.0) + (set! (-> arg1 root trans quad) (-> arg1 course spots 1 center quad)) + (set! (-> arg1 root trans w) 1.0) (quaternion-vector-angle! - (-> arg1 root-override2 quat) + (-> arg1 root quat) *up-vector* (* 182.04445 (* 0.00024414062 (-> arg1 course spots 1 center w))) ) diff --git a/test/decompiler/reference/jak2/levels/city/slums/kor/kor_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/kor/kor_REF.gc index aa7bcc750d..c43f2a57fa 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/kor/kor_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/kor/kor_REF.gc @@ -183,7 +183,7 @@ :walk-travel-speed (meters 1.5) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -226,9 +226,9 @@ (set! (-> obj arrestor-handle) (process->handle (the-as process v1-18))) (set! (-> obj arrest-attempt-time) (current-time)) (let ((a1-8 (new 'stack-no-clear 'vector))) - (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root-override2 trans)) + (vector-! a1-8 (-> (the-as process-drawable v1-18) root trans) (-> obj root trans)) (set! (-> a1-8 y) 0.0) - (forward-up->quaternion (-> obj root-override2 quat) a1-8 *up-vector*) + (forward-up->quaternion (-> obj root quat) a1-8 *up-vector*) ) ) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) @@ -445,7 +445,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 2)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -464,7 +464,7 @@ (set! (-> obj notice-enemy-dist) 122880.0) (set! (-> obj travel-anim-interp) 0.0) (set! (-> obj focus-info max-los-dist) 0.0) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) (set! (-> obj spot-color) (the-as uint #x508f2f00)) (set! (-> obj arrestor-handle) (the-as handle #f)) 0 @@ -564,7 +564,7 @@ (set! (-> v1-12 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f0-7 (deg- f0-5 (-> obj travel-prev-ry))) (f0-10 (fmin 20889.6 (* 0.35342914 (-> pp clock frames-per-second) (fabs f0-7)))) (f0-13 (/ (* 24.0 (fmax f30-0 f0-10)) (* 15.0 f28-1))) @@ -616,7 +616,7 @@ ;; definition for method 78 of type kor (defmethod enemy-method-78 kor ((obj kor) (arg0 (pointer float))) (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) diff --git a/test/decompiler/reference/jak2/levels/city/slums/neon-baron-part_REF.gc b/test/decompiler/reference/jak2/levels/city/slums/neon-baron-part_REF.gc index 6f6726eb22..c9a5a79f3c 100644 --- a/test/decompiler/reference/jak2/levels/city/slums/neon-baron-part_REF.gc +++ b/test/decompiler/reference/jak2/levels/city/slums/neon-baron-part_REF.gc @@ -3677,7 +3677,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/common/ai/bot-states_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/bot-states_REF.gc index a9b08c7d06..166b55962e 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/bot-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/bot-states_REF.gc @@ -28,13 +28,10 @@ (local-vars (v1-37 enemy-flag) (v1-45 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -137,11 +134,11 @@ (t9-0) ) ) - (kill-nearby-enemies (-> self root-override2 trans) 61440.0) + (kill-nearby-enemies (-> self root trans) 61440.0) (stop-speech self (the-as uint 0) #f) (logclear! (-> self bot-flags) (bot-flags bf06 bf11)) (set! (-> self delay-too-far-check) -1) - (logior! (-> self root-override2 nav-flags) (nav-flags has-root-sphere)) + (logior! (-> self root nav-flags) (nav-flags has-root-sphere)) (fail-mission! self) (none) ) @@ -162,8 +159,8 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((gp-0 (-> self draw art-group data (if (enemy-method-133 self) - (-> self enemy-info-override die-falling-anim) - (-> self enemy-info-override die-anim) + (-> self enemy-info die-falling-anim) + (-> self enemy-info die-anim) ) ) ) @@ -226,7 +223,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (let ((f30-0 (get-rand-float-range self 0.9 1.1)) - (gp-0 (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (gp-0 (-> self draw art-group data (-> self enemy-info idle-anim))) ) (until #f (ja-no-eval :group! gp-0 @@ -259,7 +256,7 @@ :event (the-as (function process int symbol event-message-block object :behavior bot) enemy-event-handler) :enter (behavior () (logior! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -273,9 +270,9 @@ (local-vars (v0-0 enemy-flag)) (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (let ((v1-6 (-> self enemy-flags))) (if (logtest? (enemy-flag enable-on-hostile) v1-6) diff --git a/test/decompiler/reference/jak2/levels/common/ai/bot_REF.gc b/test/decompiler/reference/jak2/levels/common/ai/bot_REF.gc index ea396fd491..40142f534e 100644 --- a/test/decompiler/reference/jak2/levels/common/ai/bot_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/ai/bot_REF.gc @@ -71,7 +71,7 @@ (set! spot (-> obj spot)) ) (if (not bot-trans) - (set! bot-trans (-> obj root-override2 trans)) + (set! bot-trans (-> obj root trans)) ) (let ((f0-0 (vector-vector-xz-distance (-> spot center) bot-trans))) (if arg3 @@ -93,7 +93,7 @@ "Choose the closest [[bot-spot]] that is not blocked by the player." (let ((spot-idx 0)) (let ((f30-0 -1.0) - (bot-trans (-> obj root-override2 trans)) + (bot-trans (-> obj root trans)) ) (countdown (i num-spots) (let ((spot (-> obj course spots (-> (the-as (pointer uint8) (&+ spot-indices i)))))) @@ -144,12 +144,12 @@ (let ((s5-0 (new 'stack-no-clear 'vector)) (s3-0 (-> *target* gun fire-dir-out)) ) - (vector-! s5-0 (-> obj root-override2 trans) (target-pos 0)) + (vector-! s5-0 (-> obj root trans) (target-pos 0)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 1.0) (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) - (if (or (< 28672.0 (vector-vector-xz-distance (-> obj root-override2 trans) (target-pos 0))) + (if (or (< 28672.0 (vector-vector-xz-distance (-> obj root trans) (target-pos 0))) (< (vector-dot s3-0 s5-0) (cos 3640.889)) ) (set! gp-0 #t) @@ -179,7 +179,7 @@ (let ((s5-0 (new 'stack-no-clear 'connection-pers)) (s4-0 544) ) - (set! (-> (the-as sphere (-> s5-0 param)) quad) (-> obj root-override2 trans quad)) + (set! (-> (the-as sphere (-> s5-0 param)) quad) (-> obj root trans quad)) (set! (-> s5-0 param 3) (-> obj notice-enemy-dist)) (set! (-> s5-0 next) #f) (set! (-> s5-0 key) 409600000.0) @@ -594,7 +594,7 @@ (set! (-> focus rating) 409600000.0) (set! (-> focus aware) (enemy-aware enemy-aware-0)) (when (< 0.0 enemy-dist) - (set! (-> sphere quad) (-> obj root-override2 trans quad)) + (set! (-> sphere quad) (-> obj root trans quad)) (set! (-> sphere r) (-> obj notice-enemy-dist)) (set! *actor-list-length* 0) (if (logtest? (the-as int coll-spec) (collide-spec hit-by-others-list)) @@ -712,7 +712,7 @@ ;; WARN: Return type mismatch enemy vs none. (defmethod set-next-focus! bot ((obj bot) (enemy enemy) (arg2 enemy-best-focus)) (let ((enemy-dist (new 'stack-no-clear 'vector))) - (vector-! enemy-dist (-> enemy root-override2 trans) (-> obj root-override2 trans)) + (vector-! enemy-dist (-> enemy root trans) (-> obj root trans)) (let ((rating (vector-length enemy-dist))) (when (and (>= (-> obj notice-enemy-dist) rating) (< rating (-> arg2 rating)) (>= 24576.0 (fabs (-> enemy-dist y)))) (set! (-> arg2 rating) rating) @@ -981,7 +981,7 @@ (set! (-> a1-1 param 1) (the-as uint v1-6)) ) (when (send-event-function arg0 a1-1) - (set! (-> obj root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> obj root penetrated-by) (the-as penetrate -1)) (enemy-method-49 obj) #t ) @@ -995,9 +995,9 @@ (set! (-> a1-2 param 0) (the-as uint arg1)) (let ((v1-14 (new 'static 'attack-info :mask (attack-info-mask mode shove-back shove-up id)))) (set! (-> v1-14 id) arg2) - (set! (-> v1-14 shove-back) (-> obj enemy-info-override attack-shove-back)) - (set! (-> v1-14 shove-up) (-> obj enemy-info-override attack-shove-up)) - (set! (-> v1-14 mode) (-> obj enemy-info-override attack-mode)) + (set! (-> v1-14 shove-back) (-> obj enemy-info attack-shove-back)) + (set! (-> v1-14 shove-up) (-> obj enemy-info attack-shove-up)) + (set! (-> v1-14 mode) (-> obj enemy-info attack-mode)) (set! (-> a1-2 param 1) (the-as uint v1-14)) ) (when (send-event-function arg0 a1-2) @@ -1038,14 +1038,14 @@ ) ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry touch-entry) - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry touch-entry) - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -1071,7 +1071,7 @@ ;; definition for function bot-simple-check-too-far (defun bot-simple-check-too-far ((arg0 bot)) (let ((s5-0 0)) - (let ((f0-0 (vector-vector-xz-distance (-> *target* control trans) (-> arg0 root-override2 trans))) + (let ((f0-0 (vector-vector-xz-distance (-> *target* control trans) (-> arg0 root trans))) (f1-0 (-> arg0 too-far-warn-dist)) ) (when (>= f0-0 f1-0) @@ -1184,8 +1184,8 @@ If the player is too far, play a warning speech." - looks at the target and handles attacking @TODO Not extremely well understood yet" (set! (-> obj travel-prev-ry) (-> obj travel-prev-ry1)) - (set! (-> obj travel-prev-ry1) (quaternion-y-angle (-> obj root-override2 quat))) - (let ((f0-4 (/ (the float (-> obj hit-points)) (the float (-> obj enemy-info-override default-hit-points))))) + (set! (-> obj travel-prev-ry1) (quaternion-y-angle (-> obj root quat))) + (let ((f0-4 (/ (the float (-> obj hit-points)) (the float (-> obj enemy-info default-hit-points))))) (if (nonzero? (-> obj fated-time)) (set! f0-4 0.0) ) @@ -1207,7 +1207,7 @@ If the player is too far, play a warning speech." (set! (-> a1-4 options) (overlaps-others-options)) (set! (-> a1-4 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-4 tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override2) a1-4) + (find-overlapping-shapes (-> obj root) a1-4) ) ) ) @@ -1525,12 +1525,12 @@ If the player is too far, play a warning speech." (set! (-> v1-13 sphere-mask) (the-as uint 78)) ) 0 - (logclear! (-> obj root-override2 nav-flags) (nav-flags has-extra-sphere)) + (logclear! (-> obj root nav-flags) (nav-flags has-extra-sphere)) (let ((v1-17 (-> obj nav))) (set! (-> v1-17 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (let ((a2-3 (res-lump-value (-> obj entity) 'task-actor uint128 :time -1000000000.0))) (if (nonzero? a2-3) (set! (-> obj task) (new 'process 'game-task-control (the-as game-task-actor a2-3))) @@ -1584,11 +1584,11 @@ If the player is too far, play a warning speech." (when focus-proc (set! (-> focus pos quad) (-> (get-trans (the-as process-focusable focus-proc) 0) quad)) (set! (-> focus bullseye quad) (-> (get-trans (the-as process-focusable focus-proc) 3) quad)) - (vector-z-quaternion! (-> focus my-facing-xz-dir) (-> obj root-override2 quat)) + (vector-z-quaternion! (-> focus my-facing-xz-dir) (-> obj root quat)) (set! (-> focus my-facing-xz-dir y) 0.0) (vector-normalize! (-> focus my-facing-xz-dir) 1.0) (set! (-> focus my-facing-ry) (atan (-> focus my-facing-xz-dir x) (-> focus my-facing-xz-dir z))) - (vector-! (-> focus bullseye-xz-dir) (-> focus bullseye) (-> obj root-override2 trans)) + (vector-! (-> focus bullseye-xz-dir) (-> focus bullseye) (-> obj root trans)) (let ((v1-11 (-> focus bullseye-xz-dir))) (set! (-> focus bullseye-xz-dist) (sqrtf (+ (* (-> v1-11 x) (-> v1-11 x)) (* (-> v1-11 z) (-> v1-11 z))))) ) @@ -1600,7 +1600,7 @@ If the player is too far, play a warning speech." ) (when (and arg0 focus-proc (zero? (-> focus los))) (let ((cquery (new 'stack-no-clear 'collide-query))) - (set! (-> cquery start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> cquery start-pos quad) (-> obj root trans quad)) (set! (-> cquery start-pos y) (+ 8192.0 (-> cquery start-pos y))) (vector-! (-> cquery move-dist) (-> focus bullseye) (-> cquery start-pos)) (let ((f0-19 (fmax 1.0 (+ -1638.4 (vector-length (-> cquery move-dist)))))) @@ -1612,7 +1612,7 @@ If the player is too far, play a warning speech." (set! (-> v1-23 collide-with) (collide-spec backgnd obstacle hit-by-others-list pusher)) (set! (-> v1-23 ignore-process0) obj) (set! (-> v1-23 ignore-process1) #f) - (set! (-> v1-23 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-23 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-23 action-mask) (collide-action solid)) ) (cond @@ -1667,7 +1667,7 @@ If the player is too far, play a warning speech." (vf7 :class vf) ) (init-vf0-vector) - (let ((bot-root (-> obj root-override2))) + (let ((bot-root (-> obj root))) (quaternion-copy! (-> turn-info src-quat) (-> bot-root quat)) (vector-z-quaternion! (-> turn-info facing-dir) (-> bot-root quat)) (set! (-> turn-info facing-ry) (atan (-> turn-info facing-dir x) (-> turn-info facing-dir z))) @@ -1708,7 +1708,7 @@ If the player is too far, play a warning speech." (let ((s5-0 #f)) (when *target* (let ((target-trans (-> *target* control trans)) - (bot-root (-> obj root-override2)) + (bot-root (-> obj root)) (f0-0 14336.0) ) (when (>= (* f0-0 f0-0) (vector-vector-distance-squared (-> bot-root trans) target-trans)) @@ -1759,11 +1759,11 @@ If the player is too far, play a warning speech." (s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> v1-0 quad) (-> obj root-override2 trans quad)) + (set! (-> v1-0 quad) (-> obj root trans quad)) (set! (-> v1-0 y) (+ 9216.0 (-> v1-0 y))) (vector-! s1-0 arg0 v1-0) (vector-normalize! s1-0 1.0) - (vector-z-quaternion! s2-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s2-0 (-> obj root quat)) (rot-zxy-from-vector! s4-0 s2-0) (rot-zxy-from-vector! s3-0 s1-0) (set! (-> s5-0 x) (fmax -3640.889 (fmin 3640.889 (deg- (-> s3-0 x) (-> s4-0 x))))) @@ -1879,7 +1879,7 @@ If the player is too far, play a warning speech." (let ((s4-0 (-> obj move-dest))) (set-cam-height! obj s4-0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 s4-0 (-> obj root-override2 trans)) + (vector-! s5-0 s4-0 (-> obj root trans)) (set-setting! 'string-max-height 'abs (-> s5-0 y) 0) (set-setting! 'string-min-height 'abs (-> s5-0 y) 0) (let ((f30-0 (sqrtf (+ (* (-> s5-0 x) (-> s5-0 x)) (* (-> s5-0 z) (-> s5-0 z)))))) diff --git a/test/decompiler/reference/jak2/levels/common/airlock_REF.gc b/test/decompiler/reference/jak2/levels/common/airlock_REF.gc index 53fd32dba8..13404c008e 100644 --- a/test/decompiler/reference/jak2/levels/common/airlock_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/airlock_REF.gc @@ -3,8 +3,7 @@ ;; definition of type com-airlock (deftype com-airlock (process-drawable) - ((child-override basic :offset 24) - (root-override collide-shape :offset 128) + ((root collide-shape :override) (level-name pair :offset-assert 200) (open-test pair :offset-assert 204) (were-behind? symbol :offset-assert 208) @@ -183,15 +182,15 @@ ;; definition for method 25 of type com-airlock (defmethod check-crossing-distance com-airlock ((obj com-airlock) (arg0 vector) (arg1 symbol)) - (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) - (s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root-override trans))) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root trans))) ) (set! (-> s4-1 y) 0.0) (let ((f30-0 (vector-dot s4-1 s5-0))) (cond ((not arg1) ) - ((or (< (vector-vector-xz-distance (-> obj root-override trans) arg0) 40960.0) + ((or (< (vector-vector-xz-distance (-> obj root trans) arg0) 40960.0) (< 0.7 (fabs (vector-dot s5-0 (vector-normalize! s4-1 1.0)))) ) (when (and (< f30-0 0.0) (< 0.0 (-> obj last-distance))) @@ -225,9 +224,9 @@ ) (the-as symbol - (and (or s5-0 (< (vector-vector-xz-distance (-> obj root-override trans) tgt) (-> obj active-distance))) - (or s5-0 (not (-> obj y-height)) (and (>= (-> tgt y) (- (-> obj root-override trans y) (-> obj y-height y))) - (< (-> tgt y) (+ (-> obj root-override trans y) (-> obj y-height x))) + (and (or s5-0 (< (vector-vector-xz-distance (-> obj root trans) tgt) (-> obj active-distance))) + (or s5-0 (not (-> obj y-height)) (and (>= (-> tgt y) (- (-> obj root trans y) (-> obj y-height y))) + (< (-> tgt y) (+ (-> obj root trans y) (-> obj y-height x))) ) ) (begin @@ -255,7 +254,7 @@ (and (or (not *target*) (not (logtest? (-> *target* focus-status) (focus-status in-head)))) (or (< (* f30-0 f0-8) 0.0) (and (< (fabs f0-8) 4096.0) - (< (vector-vector-xz-distance (camera-pos) (-> obj root-override trans)) (-> obj door-radius)) + (< (vector-vector-xz-distance (camera-pos) (-> obj root trans)) (-> obj door-radius)) ) ) ) @@ -551,7 +550,7 @@ (rotate-gear! self 65536.0) (when (and (-> self were-behind?) (< 0.4 (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) (-> (math-camera-matrix) vector 2) ) ) @@ -899,7 +898,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (init-airlock! obj) (initialize-skeleton @@ -983,7 +982,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1081,7 +1080,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1163,7 +1162,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1234,7 +1233,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1339,7 +1338,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1422,7 +1421,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1505,7 +1504,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1585,7 +1584,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/common/battle_REF.gc b/test/decompiler/reference/jak2/levels/common/battle_REF.gc index 205c0917cb..e8a46cee26 100644 --- a/test/decompiler/reference/jak2/levels/common/battle_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/battle_REF.gc @@ -398,7 +398,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x6 + :id 6 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -413,7 +413,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x7 + :id 7 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -428,7 +428,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x8 + :id 8 :notice-spec #x2 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -443,7 +443,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x9 + :id 9 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -458,7 +458,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xa + :id 10 :notice-spec #x2 :notice-distance 65536.0 :dont-spawn-initial-until-notice? #t @@ -473,7 +473,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xb + :id 11 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -488,7 +488,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xc + :id 12 :notice-spec #x2 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -503,7 +503,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xd + :id 13 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -518,7 +518,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xe + :id 14 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -533,7 +533,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #xf + :id 15 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -548,7 +548,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x10 + :id 16 :notice-spec #x2 :notice-distance 204800.0 :dont-spawn-initial-until-notice? #f @@ -563,7 +563,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x11 + :id 17 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -578,7 +578,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x12 + :id 18 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -593,7 +593,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x13 + :id 19 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -608,7 +608,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x14 + :id 20 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -623,7 +623,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x15 + :id 21 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -638,7 +638,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x16 + :id 22 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -653,7 +653,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x17 + :id 23 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -668,7 +668,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x18 + :id 24 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -683,7 +683,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x19 + :id 25 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -698,7 +698,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1a + :id 26 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -713,7 +713,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1b + :id 27 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #t @@ -727,7 +727,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1c + :id 28 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -742,7 +742,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1d + :id 29 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -757,7 +757,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1e + :id 30 :notice-spec #x1 :notice-distance 122880.0 :dont-spawn-initial-until-notice? #f @@ -772,7 +772,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x1f + :id 31 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -789,7 +789,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x20 + :id 32 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -805,7 +805,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x21 + :id 33 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -821,7 +821,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x22 + :id 34 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -837,7 +837,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x23 + :id 35 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -853,7 +853,7 @@ :spawner-collide-with (collide-spec enemy hit-by-others-list) ) (new 'static 'battle-info - :id #x24 + :id 36 :notice-spec #x2 :pick-logic 1 :notice-distance 819200.0 @@ -2044,7 +2044,3 @@ This commonly includes things such as: (init-go obj) (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/common/cty-guard-turret-button_REF.gc b/test/decompiler/reference/jak2/levels/common/cty-guard-turret-button_REF.gc index fc00192ac7..34c9fe8928 100644 --- a/test/decompiler/reference/jak2/levels/common/cty-guard-turret-button_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/cty-guard-turret-button_REF.gc @@ -106,7 +106,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/amphibian/amphibian_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/amphibian/amphibian_REF.gc index 8716c1a1db..370efea555 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/amphibian/amphibian_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/amphibian/amphibian_REF.gc @@ -333,7 +333,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 4) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -491,13 +491,11 @@ ((method-of-type nav-enemy enemy-method-51) obj) ) (else - (set! f0-1 (quaternion-y-angle (-> obj root-override2 quat))) + (set! f0-1 (quaternion-y-angle (-> obj root quat))) (let ((a0-5 (handle->process (-> obj focus handle)))) (when a0-5 (let ((v1-12 (get-trans (the-as process-focusable a0-5) 0))) - (set! f0-1 - (atan (- (-> v1-12 x) (-> obj root-override2 trans x)) (- (-> v1-12 z) (-> obj root-override2 trans z))) - ) + (set! f0-1 (atan (- (-> v1-12 x) (-> obj root trans x)) (- (-> v1-12 z) (-> obj root trans z)))) ) ) ) @@ -673,7 +671,7 @@ (else (when (focus-test? obj touch-water) (let ((s3-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> obj root-override2) s3-0 (collide-action solid semi-solid)) + (water-info-init! (-> obj root) s3-0 (collide-action solid semi-solid)) (let ((v1-12 #f)) (cond ((not (logtest? (water-flags touch-water) (-> s3-0 flags))) @@ -683,7 +681,7 @@ (logclear! (-> obj focus-status) (focus-status touch-water under-water)) ) ((focus-test? obj under-water) - (let* ((a0-18 (-> obj root-override2 root-prim prim-core)) + (let* ((a0-18 (-> obj root root-prim prim-core)) (f0-1 (+ (-> a0-18 world-sphere y) (-> a0-18 world-sphere w))) ) (if (< (-> s3-0 trans y) f0-1) @@ -695,7 +693,7 @@ (when v1-12 (logclear! (-> obj focus-status) (focus-status under-water)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s2-0 quad) (-> obj root trans quad)) (when (logtest? (water-flags touch-water) (-> s3-0 flags)) (set! (-> s2-0 y) (-> s3-0 trans y)) (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) @@ -754,7 +752,7 @@ (s4-1 (and v1-35 (= v1-35 (-> obj draw art-group data 36)))) ) (cond - ((and (not s4-1) (< (-> obj root-override2 transv y) 0.0)) + ((and (not s4-1) (< (-> obj root transv y) 0.0)) (ja-channel-push! 1 (seconds 0.1)) (let ((a0-37 (-> obj skel root-channel 0))) (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> obj draw art-group data 36))) @@ -903,7 +901,7 @@ (set! (-> v1-11 vector quad) (-> s5-0 quad)) (set! (-> v1-11 shove-back) 16384.0) (set! (-> v1-11 shove-up) 12288.0) - (set! (-> v1-11 damage) (the float (-> obj enemy-info-override attack-damage))) + (set! (-> v1-11 damage) (the float (-> obj enemy-info attack-damage))) (set! (-> a1-4 param 1) (the-as uint v1-11)) ) (send-event-function (-> s4-1 cshape process) a1-4) @@ -924,9 +922,7 @@ ) (the-as symbol - (when (and (logtest? (-> (the-as process-focusable arg0) root-override root-prim prim-core collide-as) - (collide-spec jak bot) - ) + (when (and (logtest? (-> (the-as process-focusable arg0) root root-prim prim-core collide-as) (collide-spec jak bot)) (-> obj next-state) (let ((v1-8 (-> obj next-state name))) (or (= v1-8 'stare) (= v1-8 'hostile)) @@ -942,15 +938,15 @@ (defmethod go-stare amphibian ((obj amphibian)) (let ((s5-0 (-> obj focus aware))) (cond - ((or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + ((or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) ) - ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info-override use-circling)) + ((and (= s5-0 (enemy-aware enemy-aware-3)) (-> obj enemy-info use-circling)) (go (method-of-object obj circling)) ) - ((and (= s5-0 (enemy-aware enemy-aware-2)) (-> obj enemy-info-override use-pacing)) + ((and (= s5-0 (enemy-aware enemy-aware-2)) (-> obj enemy-info use-pacing)) (go (method-of-object obj pacing)) ) ((= s5-0 (enemy-aware unaware)) @@ -992,7 +988,7 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (set! (-> obj prev-ry) (-> obj prev-ry1)) - (set! (-> obj prev-ry1) (quaternion-y-angle (-> obj root-override2 quat))) + (set! (-> obj prev-ry1) (quaternion-y-angle (-> obj root quat))) ((method-of-type nav-enemy track-target!) obj) (none) ) @@ -1003,7 +999,7 @@ (with-pp (let* ((f30-0 (-> obj nav state speed)) (f26-0 0.0) - (f0-1 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-1 (quaternion-y-angle (-> obj root quat))) (f28-0 (deg- f0-1 (-> obj prev-ry))) ) (let ((s5-0 #f)) @@ -1162,13 +1158,10 @@ ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1181,13 +1174,10 @@ (ja :num! (seek!)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1204,7 +1194,7 @@ (set! (-> v1-83 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-83 enemy-flags)))) ) (set! (-> v1-83 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-83 enemy-flags)))) - (set! (-> v1-83 nav callback-info) (-> v1-83 enemy-info-override callback-info)) + (set! (-> v1-83 nav callback-info) (-> v1-83 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) @@ -1238,9 +1228,9 @@ gp-0 ) (else - (vector-z-quaternion! (-> self focus-pos) (-> self root-override2 quat)) + (vector-z-quaternion! (-> self focus-pos) (-> self root quat)) (vector-normalize! (-> self focus-pos) 24576.0) - (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root-override2 trans)) + (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root trans)) ) ) ) @@ -1253,13 +1243,13 @@ (a1-3 (-> self draw art-group data (-> *amphibian-global-info* notice-anim (get-rand-int self 2)))) (gp-1 (new 'stack-no-clear 'vector)) ) - (vector-! gp-1 (-> self focus-pos) (-> self root-override2 trans)) + (vector-! gp-1 (-> self focus-pos) (-> self root trans)) (ja-no-eval :group! a1-3 :num! (seek! (the float (+ (-> (the-as art-joint-anim a1-3) frames num-frames) -1)) f30-0) :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) gp-1 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-1 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1269,7 +1259,7 @@ ) 0 (let ((gp-2 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! gp-2 (-> self root-override2 quat)) + (vector-z-quaternion! gp-2 (-> self root quat)) (set! (-> self nav state heading quad) (-> gp-2 quad)) ) 0 @@ -1345,7 +1335,7 @@ gp-0 ) (else - (vector-z-quaternion! (-> self focus-pos) (-> self root-override2 quat)) + (vector-z-quaternion! (-> self focus-pos) (-> self root quat)) (let ((f30-0 (get-rand-float-range self 8192.0 16384.0))) (if (zero? (get-rand-int self 2)) (set! f30-0 (- f30-0)) @@ -1353,7 +1343,7 @@ (vector-rotate-around-y! (-> self focus-pos) (-> self focus-pos) f30-0) ) (vector-normalize! (-> self focus-pos) 12288.0) - (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root-override2 trans)) + (vector+! (-> self focus-pos) (-> self focus-pos) (-> self root trans)) ) ) ) @@ -1382,9 +1372,9 @@ (gp-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set-vector! s5-0 (- (-> s4-0 z)) 0.0 (-> s4-0 x) 1.0) - (vector-! gp-0 (-> self focus-pos) (-> self root-override2 trans)) + (vector-! gp-0 (-> self focus-pos) (-> self root trans)) (vector-normalize! s4-0 1.0) (vector-normalize! gp-0 1.0) (cond @@ -1418,7 +1408,7 @@ (ja :num! (seek!)) ) (until (>= (ja-aframe-num 0) (ja-aframe 6.0 0)) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek!)) ) @@ -1482,12 +1472,12 @@ (let ((a0-2 (get-enemy-target self))) (when a0-2 (let* ((s5-0 (get-trans a0-2 0)) - (f30-0 (vector-vector-xz-distance s5-0 (-> self root-override2 trans))) + (f30-0 (vector-vector-xz-distance s5-0 (-> self root trans))) ) (when (>= 20480.0 f30-0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 s5-0 (-> self root-override2 trans)) - (let ((f28-0 (quaternion-y-angle (-> self root-override2 quat))) + (vector-! gp-0 s5-0 (-> self root trans)) + (let ((f28-0 (quaternion-y-angle (-> self root quat))) (f0-3 (atan (-> gp-0 x) (-> gp-0 z))) ) (if (>= 8192.0 (fabs (deg- f28-0 f0-3))) @@ -1595,7 +1585,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (let ((v1-10 self)) @@ -1745,9 +1735,9 @@ (gp-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set-vector! s5-0 (- (-> s4-0 z)) 0.0 (-> s4-0 x) 1.0) - (vector-! gp-0 (-> self focus-pos) (-> self root-override2 trans)) + (vector-! gp-0 (-> self focus-pos) (-> self root trans)) (vector-normalize! s4-0 1.0) (vector-normalize! gp-0 1.0) (cond @@ -1786,7 +1776,7 @@ ) ) (until (>= (ja-aframe-num 0) (ja-aframe 6.0 0)) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek!)) ) @@ -1979,7 +1969,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2008,8 +1998,8 @@ (set! (-> v1-8 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) - (set! (-> obj prev-ry) (quaternion-y-angle (-> obj root-override2 quat))) + (set-gravity-length (-> obj root dynam) 573440.0) + (set! (-> obj prev-ry) (quaternion-y-angle (-> obj root quat))) (set! (-> obj prev-ry1) (-> obj prev-ry)) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/baby_spider/tomb-baby-spider_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/baby_spider/tomb-baby-spider_REF.gc index 3da31985b1..82b822b85e 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/baby_spider/tomb-baby-spider_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/baby_spider/tomb-baby-spider_REF.gc @@ -161,7 +161,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 2) :frustration-distance (meters 6) :frustration-time (seconds 4) @@ -182,13 +182,10 @@ (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -209,13 +206,10 @@ ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -229,13 +223,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -253,19 +244,16 @@ (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-101 enemy-flags)))) ) (set! (-> v1-101 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-101 enemy-flags)))) - (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info-override callback-info)) + (set! (-> v1-101 nav callback-info) (-> v1-101 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.05)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -313,12 +301,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self root-override2) - gp-0 - (* 1.8 (-> self nav max-rotation-rate)) - (seconds 0.02) - ) + (seek-to-point-toward-point! (-> self root) gp-0 (* 1.8 (-> self nav max-rotation-rate)) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -351,10 +334,10 @@ (nav-enemy-method-166 self) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-9 local-sphere w) 4915.2) ) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-14 *game-info*) (v0-2 (+ (-> v1-14 attack-id) 1)) @@ -365,7 +348,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 local-sphere w) 819.2) ) (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) @@ -385,11 +368,11 @@ ) :code (behavior () (let ((v1-0 (-> self nav))) - (set! (-> v1-0 target-speed) (* 2.8 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-0 target-speed) (* 2.8 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-2 (-> self nav))) - (set! (-> v1-2 acceleration) (* 2.4 (-> self enemy-info-override run-acceleration))) + (set! (-> v1-2 acceleration) (* 2.4 (-> self enemy-info run-acceleration))) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -455,8 +438,8 @@ (v1-30 (new 'stack-no-clear 'vector)) ) (set! (-> v1-30 quad) (-> a2-3 target-post quad)) - (let* ((s5-0 (t9-4 (vector-! a0-7 v1-30 (-> self root-override2 trans)) 1.0)) - (f30-0 (deg-diff (quaternion-y-angle (-> self root-override2 quat)) (vector-y-angle s5-0))) + (let* ((s5-0 (t9-4 (vector-! a0-7 v1-30 (-> self root trans)) 1.0)) + (f30-0 (deg-diff (quaternion-y-angle (-> self root quat)) (vector-y-angle s5-0))) ) (ja-no-eval :num! (loop!)) (cond @@ -486,7 +469,7 @@ (s5-1 (the int (* 300.0 (rand-vu-float-range 0.6 1.2)))) (f30-2 1.0) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop! f30-2) :frame-num 0.0 ) @@ -518,9 +501,7 @@ (let ((a0-1 (get-enemy-target self))) (when a0-1 (let ((a0-2 (get-trans a0-1 0))) - (if (and (< (vector-vector-distance a0-2 (-> self root-override2 trans)) 20480.0) - (enemy-method-96 self 1274.3112 #t) - ) + (if (and (< (vector-vector-distance a0-2 (-> self root trans)) 20480.0) (enemy-method-96 self 1274.3112 #t)) (go-virtual attack) ) ) @@ -532,7 +513,7 @@ ;; definition for method 77 of type tomb-baby-spider (defmethod enemy-method-77 tomb-baby-spider ((obj tomb-baby-spider) (arg0 (pointer float))) - (let* ((a2-0 (the-as collide-shape-prim-group (-> obj root-override2 root-prim))) + (let* ((a2-0 (the-as collide-shape-prim-group (-> obj root root-prim))) (v1-2 (-> a2-0 child 3)) ) (dotimes (a3-0 3) @@ -645,7 +626,7 @@ ) ) ) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) #t ) ) @@ -658,7 +639,7 @@ (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) ) (when s4-1 - (let ((v1-50 (-> obj root-override2 root-prim))) + (let ((v1-50 (-> obj root root-prim))) (set! (-> (the-as collide-shape-prim-group v1-50) child 0 local-sphere w) 1638.4) (set! (-> (the-as collide-shape-prim-group v1-50) child 1 local-sphere w) 1638.4) (set! (-> (the-as collide-shape-prim-group v1-50) child 2 local-sphere w) 3276.8) @@ -700,10 +681,10 @@ (set! (-> a1-5 param 0) (the-as uint arg1)) (let ((v1-9 (new 'static 'attack-info :mask (attack-info-mask mode shove-back shove-up id damage knock)))) (set! (-> v1-9 id) arg2) - (set! (-> v1-9 shove-back) (* f0-0 (-> obj enemy-info-override attack-shove-back))) - (set! (-> v1-9 shove-up) (* f0-0 (-> obj enemy-info-override attack-shove-up))) - (set! (-> v1-9 mode) (-> obj enemy-info-override attack-mode)) - (set! (-> v1-9 damage) (the float (-> obj enemy-info-override attack-damage))) + (set! (-> v1-9 shove-back) (* f0-0 (-> obj enemy-info attack-shove-back))) + (set! (-> v1-9 shove-up) (* f0-0 (-> obj enemy-info attack-shove-up))) + (set! (-> v1-9 mode) (-> obj enemy-info attack-mode)) + (set! (-> v1-9 damage) (the float (-> obj enemy-info attack-damage))) (set! (-> v1-9 knock) (the-as uint 8)) (set! (-> a1-5 param 1) (the-as uint v1-9)) ) @@ -785,7 +766,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/bombots/bombbot_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/bombots/bombbot_REF.gc index 0962b75baf..bc09dbcc07 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/bombots/bombbot_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/bombots/bombbot_REF.gc @@ -763,7 +763,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 16) :walk-turning-acceleration (meters 40) - :maximum-rotation-rate (degrees 60.0) + :maximum-rotation-rate (degrees 60) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -883,9 +883,9 @@ ;; INFO: Used lq/sq (defmethod bombbot-method-180 bombbot ((obj bombbot)) (let ((a1-0 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> a1-0 sphere quad) (-> obj root-override2 trans quad)) + (set! (-> a1-0 sphere quad) (-> obj root trans quad)) (set! (-> a1-0 sphere r) 40960.0) - (set! (-> a1-0 velocity quad) (-> obj root-override2 transv quad)) + (set! (-> a1-0 velocity quad) (-> obj root transv quad)) (vector-reset! (-> a1-0 velocity)) (set! (-> a1-0 notify-radius) 122880.0) (set! (-> a1-0 danger-level) 1.0) @@ -942,7 +942,7 @@ (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'collide-query))) (let ((v1-0 (-> s5-0 bbox)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) (a1-0 (new 'stack-no-clear 'vector)) ) (set! (-> a1-0 x) 24576.0) @@ -952,7 +952,7 @@ (vector-! (the-as vector v1-0) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) - (a0-4 (-> obj root-override2 trans)) + (a0-4 (-> obj root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 24576.0) @@ -983,7 +983,7 @@ ) (cond ((>= f30-0 f28-0) - (vector-orient-by-quat! s3-0 (-> s1-0 pos-offset) (-> obj root-override2 quat)) + (vector-orient-by-quat! s3-0 (-> s1-0 pos-offset) (-> obj root quat)) (let ((f26-0 (- f30-0 f28-0))) (set! sv-880 s0-0) (set! sv-864 (new 'stack-no-clear 'vector)) @@ -1043,7 +1043,7 @@ (.svf (&-> a1-8 quad) vf6) ) ) - (vector+! s3-0 s3-0 (-> obj root-override2 trans)) + (vector+! s3-0 s3-0 (-> obj root trans)) (let ((a1-11 (-> s5-0 start-pos))) (let ((v1-45 s3-0)) (let ((a0-17 s2-0)) @@ -1252,8 +1252,8 @@ (let ((f0-64 (- (-> s3-0 y) (-> s0-4 y)))) (lerp-scale 1.0 0.0 f0-64 0.0 8192.0) ) - (- (-> s0-4 y) (-> obj root-override2 trans y)) - (vector-dot s2-0 (vector-! (new 'stack-no-clear 'vector) s0-4 (-> obj root-override2 trans))) + (- (-> s0-4 y) (-> obj root trans y)) + (vector-dot s2-0 (vector-! (new 'stack-no-clear 'vector) s0-4 (-> obj root trans))) ) ) ) @@ -1296,12 +1296,12 @@ ) ) ) - (vector-! (-> obj linear-speed) (-> obj root-override2 trans) (-> obj last-trans)) - (set! (-> obj last-trans quad) (-> obj root-override2 trans quad)) + (vector-! (-> obj linear-speed) (-> obj root trans) (-> obj last-trans)) + (set! (-> obj last-trans quad) (-> obj root trans quad)) (set! (-> obj y-angular-velocity) - (deg- (quaternion-y-angle (-> obj root-override2 quat)) (quaternion-y-angle (-> obj last-quat))) + (deg- (quaternion-y-angle (-> obj root quat)) (quaternion-y-angle (-> obj last-quat))) ) - (quaternion-copy! (-> obj last-quat) (-> obj root-override2 quat)) + (quaternion-copy! (-> obj last-quat) (-> obj root quat)) (set! (-> obj rigidbody state force-callback) (the-as (function object float none) (method-of-object obj bombbot-method-183)) ) @@ -1425,7 +1425,7 @@ (when v1-14 (let ((s5-1 (new 'stack-no-clear 'vector))) (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> s4-1 quad) (-> v1-14 root-override trans quad)) + (set! (-> s4-1 quad) (-> v1-14 root trans quad)) (let ((s3-1 (matrix->trans (-> obj node-list data 3 bone transform) (new 'stack-no-clear 'vector)))) (+! (-> s4-1 x) (* 4096.0 (rand-vu-float-range -20.0 20.0))) (+! (-> s4-1 y) (* 4096.0 (rand-vu-float-range -20.0 20.0))) @@ -1434,7 +1434,7 @@ ) ) (vector-normalize! s5-1 4096000.0) - (vector-inv-orient-by-quat! s5-1 s5-1 (-> obj root-override2 quat)) + (vector-inv-orient-by-quat! s5-1 s5-1 (-> obj root quat)) (let* ((s4-2 (-> obj rigidbody)) (v1-26 (-> obj rigidbody)) (a1-10 (new 'stack-no-clear 'vector)) @@ -1540,7 +1540,7 @@ s1-1 (not (logtest? (-> (the-as process-focusable s1-1) focus-status) (focus-status disable dead ignore grabbed))) ) - (let ((f0-0 (vector-vector-xz-distance (-> obj root-override2 trans) (-> s1-1 root trans)))) + (let ((f0-0 (vector-vector-xz-distance (-> obj root trans) (-> s1-1 root trans)))) (when (or (not gp-0) (< f0-0 f30-0)) (set! gp-0 s1-1) (set! f30-0 f0-0) @@ -2010,7 +2010,7 @@ ) (when (< (the-as time-frame (-> self next-target)) (current-time)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override2 trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 w) 122880.0) (bombbot-method-181 self a1-0) ) @@ -2019,7 +2019,7 @@ ) (let ((gp-0 (handle->process (-> self focus handle)))) (let ((f30-0 1.0)) - (when (and gp-0 (< (fabs (- (-> self target-pos y) (-> self root-override2 trans y))) 20480.0)) + (when (and gp-0 (< (fabs (- (-> self target-pos y) (-> self root trans y))) 20480.0)) ) (seek! (-> self legs-strength 0) f30-0 (* 0.5 (-> self clock seconds-per-frame))) (seek! (-> self legs-strength 1) f30-0 (* 0.5 (-> self clock seconds-per-frame))) @@ -2062,14 +2062,14 @@ ) ) (when (= (-> self nav state mesh) *default-nav-mesh*) - (let ((a0-23 (find-nearest-nav-mesh (-> self root-override2 trans) 0.0))) + (let ((a0-23 (find-nearest-nav-mesh (-> self root trans) 0.0))) (when a0-23 (change-to a0-23 self) (dotimes (gp-1 4) (let ((s5-0 (-> self feet gp-1))) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector-orient-by-quat! s4-0 (-> s5-0 pos-offset) (-> self root-override2 quat)) - (vector+! s4-0 s4-0 (-> self root-override2 trans)) + (vector-orient-by-quat! s4-0 (-> s5-0 pos-offset) (-> self root quat)) + (vector+! s4-0 s4-0 (-> self root trans)) (set! (-> s5-0 next-position quad) (-> s4-0 quad)) (set! (-> s5-0 position quad) (-> s4-0 quad)) ) @@ -2090,12 +2090,10 @@ ) ) (if (!= (-> self nav state mesh) *default-nav-mesh*) - (+! (-> self root-override2 trans y) - (* 4.0 (-> self clock seconds-per-frame) (- f0-28 (-> self root-override2 trans y))) - ) + (+! (-> self root trans y) (* 4.0 (-> self clock seconds-per-frame) (- f0-28 (-> self root trans y)))) ) ) - (if (= (vector-length (-> self root-override2 transv)) 0.0) + (if (= (vector-length (-> self root transv)) 0.0) (set! (-> self state-time) (current-time)) ) (set! (-> self last-head-roty-speed) (-> self head-roty-speed)) @@ -2111,7 +2109,7 @@ ) (set! (-> s5-1 volume) 1024) (set! (-> s5-1 pitch-mod) 0) - (set! (-> self head-sound) (gp-2 s5-1 (new-sound-id) (-> self root-override2 trans))) + (set! (-> self head-sound) (gp-2 s5-1 (new-sound-id) (-> self root trans))) ) ) ) @@ -2134,7 +2132,7 @@ ) (set! (-> s5-3 volume) 1024) (set! (-> s5-3 pitch-mod) 0) - (set! (-> self cannon-sound) (gp-4 s5-3 (new-sound-id) (-> self root-override2 trans))) + (set! (-> self cannon-sound) (gp-4 s5-3 (new-sound-id) (-> self root trans))) ) ) ) @@ -2173,24 +2171,20 @@ (cond ((= (-> self nav state mesh) *default-nav-mesh*) (vector-v+! - (-> self root-override2 trans) - (-> self root-override2 trans) + (-> self root trans) + (-> self root trans) (vector-normalize! - (vector-! - (new 'stack-no-clear 'vector) - (the-as vector (-> self city-path node gp-1)) - (-> self root-override2 trans) - ) + (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> self city-path node gp-1)) (-> self root trans)) (-> *bombbot-nav-enemy-info* run-travel-speed) ) ) (seek! - (-> self root-override2 trans y) + (-> self root trans y) (-> self city-path node gp-1 position y) (* 16384.0 (-> self clock seconds-per-frame)) ) (track-target! self) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) ) (else (let ((v1-25 (-> self nav state)) @@ -2204,9 +2198,7 @@ (nav-enemy-method-176 self) ) ) - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (the-as vector (-> self city-path node gp-1))) - 32768.0 - ) + (if (< (vector-vector-xz-distance (-> self root trans) (the-as vector (-> self city-path node gp-1))) 32768.0) (set! (-> self current-node) (the-as uint @@ -2295,7 +2287,7 @@ (set! (-> self explosing) #f) (set! (-> self state-time) (current-time)) (let ((gp-0 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-0 fountain-rand-transv-lo quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 fountain-rand-transv-lo quad) (-> self root trans quad)) (set! (-> gp-0 duration) (seconds 3)) (set! (-> gp-0 gravity) -163840.0) (set! (-> gp-0 fountain-rand-transv-hi x) 8192.0) @@ -2312,7 +2304,7 @@ ) ) (let ((v1-23 (new 'stack-no-clear 'vector))) - (set! (-> v1-23 quad) (-> self root-override2 trans quad)) + (set! (-> v1-23 quad) (-> self root trans quad)) (set! (-> v1-23 y) (+ 2048.0 (-> v1-23 y))) ) (let ((gp-1 (new 'stack-no-clear 'vector))) @@ -2322,7 +2314,7 @@ (activate! *camera-smush-control* 1024.0 37 210 1.0 0.995 (-> self clock)) (let ((s5-1 (new 'stack-no-clear 'explosion-init-params))) (set! (-> s5-1 spawn-point quad) (-> gp-1 quad)) - (quaternion-copy! (-> s5-1 spawn-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> s5-1 spawn-quat) (-> self root quat)) (set! (-> s5-1 radius) 61440.0) (set! (-> s5-1 group) (-> *part-group-id-table* 1060)) (set! (-> s5-1 collide-with) @@ -2340,17 +2332,17 @@ (set-vector! s4-1 (cos f30-0) 0.0 (sin f30-0) 1.0) ) (vector-float*! s4-1 s4-1 (* 4096.0 (+ 2.0 (* 2.0 (rand-vu))))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) - (vector+! (-> self root-override2 trans) (-> self root-override2 trans) s4-1) - (set! (-> self fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> self fact-info-override pickup-amount) 10.0) - (set! (-> self fact-info-override pickup-spawn-amount) 1.0) - (drop-pickup (-> self fact-info-override) #t *entity-pool* (-> self fact-info-override) 0) - (set! (-> self root-override2 trans quad) (-> s5-2 quad)) + (set! (-> s5-2 quad) (-> self root trans quad)) + (vector+! (-> self root trans) (-> self root trans) s4-1) + (set! (-> self fact pickup-type) (pickup-type ammo-random)) + (set! (-> self fact pickup-amount) 10.0) + (set! (-> self fact pickup-spawn-amount) 1.0) + (drop-pickup (-> self fact) #t *entity-pool* (-> self fact) 0) + (set! (-> self root trans quad) (-> s5-2 quad)) ) ) (set! (-> self explosing) #t) - (let ((v1-62 (-> self root-override2 root-prim))) + (let ((v1-62 (-> self root root-prim))) (set! (-> v1-62 prim-core collide-as) (collide-spec)) (set! (-> v1-62 prim-core collide-with) (collide-spec)) ) @@ -2636,7 +2628,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-78 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-78 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2695,7 +2687,7 @@ (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) (.svf (&-> a1-2 quad) vf6) ) - (set! (-> v1-3 main-y) (- (-> s4-0 feet s0-0 real-position y) (-> s4-0 root-override2 trans y))) + (set! (-> v1-3 main-y) (- (-> s4-0 feet s0-0 real-position y) (-> s4-0 root trans y))) (set! (-> v1-3 main-y) (-> v1-3 delta-y)) (+! f30-0 (* 0.25 (-> v1-3 main-y))) (set! (-> s1-0 quad) (-> v1-3 pos-offset quad)) @@ -2734,8 +2726,8 @@ (+! (-> s4-0 main-spd-y) (* f0-12 (-> pp clock seconds-per-frame))) ) (+! (-> s4-0 main-pos-y) (* (-> s4-0 main-spd-y) (-> pp clock seconds-per-frame))) - (vector-! s2-0 s2-0 (-> s4-0 root-override2 trans)) - (vector-inv-orient-by-quat! s2-0 s2-0 (-> s4-0 root-override2 quat)) + (vector-! s2-0 s2-0 (-> s4-0 root trans)) + (vector-inv-orient-by-quat! s2-0 s2-0 (-> s4-0 root quat)) (let ((a1-13 (-> s4-0 main-pos))) (let ((v1-19 (-> s4-0 main-pos))) (let ((a0-20 (vector-! (new 'stack-no-clear 'vector) s2-0 (-> s4-0 main-pos)))) @@ -2784,12 +2776,12 @@ (let ((a1-1 (-> s4-0 nav state))) (set! (-> s2-0 quad) (-> a1-1 target-post quad)) ) - (vector-! s2-0 s2-0 (-> s4-0 root-override2 trans)) + (vector-! s2-0 s2-0 (-> s4-0 root trans)) (set! (-> s2-0 y) 0.0) (vector-normalize! s2-0 1.0) (quaternion-from-two-vectors! s3-0 - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s4-0 root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> s4-0 root quat)) s2-0 ) (quaternion-smooth-seek! (-> s4-0 top-quat) (-> s4-0 top-quat) s3-0 (* 4.0 (-> pp clock seconds-per-frame))) @@ -3059,12 +3051,12 @@ (the-as pair 0) ) (init-enemy-behaviour-and-stats! obj *bombbot-nav-enemy-info*) - (set-vector! (-> obj root-override2 scale) 1.0 1.0 1.0 1.0) + (set-vector! (-> obj root scale) 1.0 1.0 1.0 1.0) (let ((v1-7 (-> obj nav))) (set! (-> v1-7 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (dotimes (s5-1 4) (set! (-> obj joint-ik s5-1) @@ -3119,7 +3111,7 @@ ) ) (set! (-> obj feet 3 offset) 0.6) - (quaternion-copy! (-> obj last-quat) (-> obj root-override2 quat)) + (quaternion-copy! (-> obj last-quat) (-> obj root quat)) (quaternion-copy! (-> obj main-quat) *unity-quaternion*) (let ((v1-60 (-> obj nav))) (set! (-> v1-60 sphere-mask) (the-as uint 64)) @@ -3158,8 +3150,8 @@ (dotimes (s5-2 4) (let ((s4-1 (-> obj feet s5-2))) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-orient-by-quat! s3-0 (-> s4-1 pos-offset) (-> obj root-override2 quat)) - (vector+! s3-0 s3-0 (-> obj root-override2 trans)) + (vector-orient-by-quat! s3-0 (-> s4-1 pos-offset) (-> obj root quat)) + (vector+! s3-0 s3-0 (-> obj root trans)) (set! (-> s4-1 next-position quad) (-> s3-0 quad)) (set! (-> s4-1 position quad) (-> s3-0 quad)) ) @@ -3207,14 +3199,14 @@ (set! (-> self city-path) (-> arg0 path)) (set! (-> self current-node) (the-as uint 0)) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> self city-path node (-> self current-node) position quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg0 quat)) - (vector-identity! (-> self root-override2 scale)) + (set! (-> self root trans quad) (-> self city-path node (-> self current-node) position quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (vector-identity! (-> self root scale)) (-> arg0 nav-mesh) (set! (-> *bombbot-nav-enemy-info* nav-mesh) *default-nav-mesh*) (init-enemy! self) (set! (-> self shot-count) (the-as uint 5)) - (set! (-> self last-trans quad) (-> self root-override2 trans quad)) + (set! (-> self last-trans quad) (-> self root trans quad)) (set! (-> self minimap) (add-icon! *minimap* self (the-as uint 15) (the-as int #f) (the-as vector #t) 0)) (set! (-> self mask) (logior (process-mask enemy guard) (-> self mask))) (go-virtual hostile) @@ -3265,7 +3257,7 @@ (+! gp-0 1) (let ((v1-14 (the int (* 0.000030517578 (vector-vector-xz-distance - (-> s3-0 root-override2 trans) + (-> s3-0 root trans) (the-as vector (-> s3-0 city-path node (+ (-> s3-0 city-path node-count) -1))) ) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/fodder/fodder_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/fodder/fodder_REF.gc index 126bd8a4ba..c5d456da9c 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/fodder/fodder_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/fodder/fodder_REF.gc @@ -241,7 +241,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -336,16 +336,14 @@ (!= fodder-proc obj) (>= (- (current-time) (-> fodder-proc look-at-other-time)) (seconds 0.25)) ) - (let* ((dir-to-other-fodder - (vector-! (new 'stack-no-clear 'vector) (-> fodder-proc root-override2 trans) (-> obj root-override2 trans)) - ) + (let* ((dir-to-other-fodder (vector-! (new 'stack-no-clear 'vector) (-> fodder-proc root trans) (-> obj root trans))) (dir-length (vector-length dir-to-other-fodder)) ) (when (< dir-length 8192.0) (vector-float*! dir-to-other-fodder dir-to-other-fodder (/ 1.0 dir-length)) (let ((f30-0 (vector-dot dir-to-other-fodder - (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root-override2 quat)) vector 2) + (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)) vector 2) ) ) ) @@ -438,7 +436,7 @@ ((the-as (function none) func)) ) ) - (update-transforms (-> self root-override2)) + (update-transforms (-> self root)) (none) ) ) @@ -458,13 +456,10 @@ :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -514,18 +509,15 @@ (set! (-> __self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> __self enemy-flags)))) ) (set! (-> __self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> __self enemy-flags)))) - (set! (-> __self nav callback-info) (-> __self enemy-info-override callback-info)) + (set! (-> __self nav callback-info) (-> __self enemy-info callback-info)) ) 0 (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.25)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -570,13 +562,10 @@ (v1-19 (the-as number (logior #x3f800000 v1-18))) (s4-0 (< f28-0 (+ -1.0 (the-as float v1-19)))) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -585,9 +574,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (if (< (vector-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override2 trans))) - 12288.0 - ) + (if (< (vector-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans))) 12288.0) (goto cfg-22) ) (set! s5-0 (- (the-as time-frame s5-0) (- (current-time) (-> self clock old-frame-counter)))) @@ -595,7 +582,7 @@ (set! s5-0 (rand-vu-int-range 75 150)) (set! s4-0 (not s4-0)) (let ((s3-2 (new 'stack-no-clear 'matrix))) - (quaternion->matrix s3-2 (-> self root-override2 quat)) + (quaternion->matrix s3-2 (-> self root quat)) (let* ((f28-1 0.5) (f26-0 8.0) (v1-56 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) @@ -610,7 +597,7 @@ (vector-normalize! gp-0 16384.0) (vector+float*! gp-0 gp-0 (-> s3-2 vector 1) (rand-vu-float-range 5079.04 7168.0)) ) - (vector+! gp-0 gp-0 (-> self root-override2 trans)) + (vector+! gp-0 gp-0 (-> self root trans)) ) (if (nonzero? (-> self neck)) (target-set! (-> self neck) gp-0) @@ -655,7 +642,7 @@ (let ((s5-0 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-0 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override hostile-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info hostile-anim))) num-func-identity ) (set! (-> s5-0 frame-num) 0.0) @@ -694,11 +681,11 @@ ) :exit (behavior () (let ((v1-0 (-> self nav))) - (set! (-> v1-0 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-0 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (let ((v1-2 (-> self nav))) - (set! (-> v1-2 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-2 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (fodder-method-181 self #f) @@ -718,7 +705,7 @@ (let ((a0-2 (handle->process (-> self focus handle)))) (when a0-2 (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable a0-2) 0) quad)) - (let ((f30-0 (vector-vector-xz-distance-squared (-> self focus-pos) (-> self root-override2 trans)))) + (let ((f30-0 (vector-vector-xz-distance-squared (-> self focus-pos) (-> self root trans)))) (let ((f0-0 24576.0)) (when (and (< f30-0 (* f0-0 f0-0)) (zero? (-> self slow-timer))) (let ((v1-20 (-> self nav))) @@ -731,7 +718,7 @@ 0 (set! (-> self slow-timer) (current-time)) (ja-channel-push! 1 (seconds 0.08)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim))) (ja :num-func num-func-identity :frame-num 0.0) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) (logior! (-> self focus-status) (focus-status dangerous)) @@ -756,7 +743,7 @@ (let ((v1-55 (-> self attack-type))) (cond ((zero? v1-55) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) ) ((= v1-55 1) (ja :group! fodder-jump-chomp-ja) @@ -784,15 +771,12 @@ ) (when (nonzero? (-> self fast-timer)) (let ((s5-0 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root-override2 trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root trans)) 1.0) ) (gp-1 (new 'stack-no-clear 'vector)) ) (set! (-> gp-1 quad) - (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override2 quat)) vector 2 quad) + (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)) vector 2 quad) ) (let* ((f0-11 (acos (vector-dot s5-0 gp-1))) (v1-81 (-> self attack-type)) @@ -814,15 +798,15 @@ (set! (-> self slow-timer) 0) (set! (-> self fast-timer) 0) (let ((v1-83 (-> self nav))) - (set! (-> v1-83 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-83 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (let ((v1-85 (-> self nav))) - (set! (-> v1-85 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-85 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((v1-89 (ja-group))) - (if (not (and v1-89 (= v1-89 (-> self draw art-group data (-> self enemy-info-override hostile-anim))))) + (if (not (and v1-89 (= v1-89 (-> self draw art-group data (-> self enemy-info hostile-anim))))) (fodder-method-182 self) ) ) @@ -830,21 +814,21 @@ ) ((< f0-11 3640.889) (let ((v1-99 (-> self nav))) - (set! (-> v1-99 target-speed) (* 2.5 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-99 target-speed) (* 2.5 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-101 (-> self nav))) - (set! (-> v1-101 turning-acceleration) (* 2.5 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-101 turning-acceleration) (* 2.5 (-> self enemy-info run-turning-acceleration))) ) 0 ) (else (let ((v1-103 (-> self nav))) - (set! (-> v1-103 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-103 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (let ((v1-105 (-> self nav))) - (set! (-> v1-105 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-105 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 ) @@ -881,7 +865,7 @@ (suspend) (ja :num! (loop! f30-0)) (let ((v1-9 (ja-group))) - (if (and v1-9 (= v1-9 (-> self draw art-group data (-> self enemy-info-override hostile-anim)))) + (if (and v1-9 (= v1-9 (-> self draw art-group data (-> self enemy-info hostile-anim)))) (ja :chan 1 :num! (chan 0)) ) ) @@ -901,7 +885,7 @@ (t9-0) ) ) - (sound-play "fodder-bite" :position (-> self root-override2 trans)) + (sound-play "fodder-bite" :position (-> self root trans)) (none) ) ) @@ -911,7 +895,7 @@ :virtual #t :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info walk-anim)))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -925,7 +909,7 @@ (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-15 enemy-flags)))) ) (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-15 enemy-flags)))) - (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info-override callback-info)) + (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info callback-info)) ) 0 (let ((v1-18 self)) @@ -937,14 +921,14 @@ ) 0 (let ((v1-22 (-> self nav))) - (set! (-> v1-22 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> v1-22 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((v1-24 (-> self nav))) - (set! (-> v1-24 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-24 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 - (let ((gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (let ((gp-0 (-> self draw art-group data (-> self enemy-info walk-anim)))) (let ((v1-32 (ja-group))) (if (not (and v1-32 (= v1-32 gp-0))) (ja-channel-push! 1 (seconds 0.1)) @@ -966,7 +950,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-59 self)) (set! (-> v1-59 enemy-flags) (the-as enemy-flag (logclear (-> v1-59 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-59 nav callback-info) *nav-enemy-null-callback-info*) @@ -976,20 +960,17 @@ (set! (-> v1-62 enemy-flags) (the-as enemy-flag (logclear (-> v1-62 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((v1-68 (ja-group))) - (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info-override victory-anim))))) + (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info victory-anim))))) (ja-channel-push! 1 (seconds 0.1)) ) ) (let ((f30-2 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info victory-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override victory-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info victory-anim))) frames num-frames) -1 ) ) @@ -1060,7 +1041,7 @@ #f ) (else - (let ((v1-5 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((v1-5 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-3 (-> obj skel root-channel 0)) ) (set! (-> a0-3 frame-group) (the-as art-joint-anim v1-5)) @@ -1077,7 +1058,7 @@ ;; definition for method 181 of type fodder ;; WARN: Return type mismatch int vs none. (defmethod fodder-method-181 fodder ((obj fodder) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec enemy)) @@ -1159,7 +1140,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1225,7 +1206,7 @@ (set! (-> v1-18 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (fodder-method-181 obj #f) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc index a2d5024963..13e0906b07 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/guards/crimson-guard-level_REF.gc @@ -291,7 +291,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 5) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -470,7 +470,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -649,7 +649,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -828,7 +828,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -1007,7 +1007,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 3) :frustration-distance (meters 8) :frustration-time (seconds 2) @@ -1230,58 +1230,56 @@ "Handles various events for the enemy @TODO - unsure if there is a pattern for the events and this should have a more specific name" (let ((v1-0 arg2)) - (the-as - object - (cond - ((= v1-0 'event-death) - (when (<= (-> obj hit-points) 0) - (set! (-> obj root-override2 penetrated-by) (the-as penetrate -1)) - (the-as object (do-effect (-> obj skel effect) 'death-default 0.0 -1)) - ) - ) - ((or (= v1-0 'hit) (= v1-0 'hit-flinch) (= v1-0 'hit-knocked)) - (speech-control-method-13 *speech-control* (the-as handle obj)) - (let* ((s1-0 (handle->process (-> obj incoming attacker-handle))) - (a0-13 (if (type? s1-0 process-focusable) - s1-0 - ) + (the-as object (cond + ((= v1-0 'event-death) + (when (<= (-> obj hit-points) 0) + (set! (-> obj root penetrated-by) (the-as penetrate -1)) + (the-as object (do-effect (-> obj skel effect) 'death-default 0.0 -1)) + ) + ) + ((or (= v1-0 'hit) (= v1-0 'hit-flinch) (= v1-0 'hit-knocked)) + (speech-control-method-13 *speech-control* (the-as handle obj)) + (let* ((s1-0 (handle->process (-> obj incoming attacker-handle))) + (a0-13 (if (type? s1-0 process-focusable) + s1-0 + ) + ) + ) + (if (and a0-13 (logtest? (-> a0-13 mask) (process-mask target))) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-11)) + ) + ) + ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ((= v1-0 'trigger) + (let ((v0-0 (the-as object #t))) + (set! (-> obj trigger) (the-as symbol v0-0)) + v0-0 + ) + ) + ((= v1-0 'untrigger) + (set! (-> obj trigger) #f) + #f + ) + ((= v1-0 'notify) + (let ((a0-21 (-> arg3 param 0)) + (v1-16 (the-as object (-> arg3 param 1))) + ) + (when (= a0-21 'attack) + (when (logtest? (-> (the-as process-focusable v1-16) mask) (process-mask target)) + (if (focus-test? (the-as process-focusable v1-16) dead) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-10)) + ) + ) + ) + ) + ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) + ) + (else + ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) ) - ) - (if (and a0-13 (logtest? (-> a0-13 mask) (process-mask target))) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-3)) - ) - ) - ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - ((= v1-0 'trigger) - (let ((v0-0 (the-as object #t))) - (set! (-> obj trigger) (the-as symbol v0-0)) - v0-0 - ) - ) - ((= v1-0 'untrigger) - (set! (-> obj trigger) #f) - #f - ) - ((= v1-0 'notify) - (let ((a0-21 (-> arg3 param 0)) - (v1-16 (the-as object (-> arg3 param 1))) - ) - (when (= a0-21 'attack) - (when (logtest? (-> (the-as process-focusable v1-16) mask) (process-mask target)) - (if (focus-test? (the-as process-focusable v1-16) dead) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-3)) - ) - ) - ) - ) - ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - (else - ((method-of-type nav-enemy general-event-handler) obj arg0 arg1 arg2 arg3) - ) - ) - ) + ) + ) ) ) @@ -1481,7 +1479,7 @@ (init-vf0-vector) (set! sv-240 arg0) (let ((s0-0 (new 'stack-no-clear 'vector))) - (let ((v1-1 (-> obj root-override2 trans))) + (let ((v1-1 (-> obj root trans))) (let ((a0-1 *y-vector*)) (let ((a1-2 8192.0)) (.mov vf7 a1-2) @@ -1501,11 +1499,11 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (-> obj node-list data 4 bone transform) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s3-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) - (set! (-> s0-0 quad) (-> obj root-override2 trans quad)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) + (set! (-> s0-0 quad) (-> obj root trans quad)) (cond ((logtest? (enemy-flag dislike-combo) (-> obj enemy-flags)) (let ((a1-6 s0-0)) @@ -1570,7 +1568,7 @@ (vector+! sv-288 sv-288 v0-5) ) (vector-normalize! (vector-! sv-320 sv-288 s0-0) 1.0) - (vector-z-quaternion! sv-304 (-> obj root-override2 quat)) + (vector-z-quaternion! sv-304 (-> obj root quat)) (rot-zxy-from-vector! s2-0 sv-304) (rot-zxy-from-vector! s1-0 sv-320) (set! (-> s5-0 x) (fmax -14563.556 (fmin 14563.556 (deg- (-> s1-0 x) (-> s2-0 x))))) @@ -1619,7 +1617,7 @@ (crimson-guard-level-method-196 obj (-> obj target-pos-predict-miss)) (crimson-guard-level-method-197 obj) ) - (case (-> obj root-override2 cur-pat event) + (case (-> obj root cur-pat event) (((pat-event melt)) (if (not (and (-> obj next-state) (= (-> obj next-state name) 'die))) (go (method-of-object obj die)) @@ -1646,9 +1644,9 @@ (if (= (-> obj focus aware) (enemy-aware enemy-aware-3)) (cloest-point-on-mesh (-> obj nav) (-> obj reachable-target-pos) (-> obj target-pos) (the-as nav-poly #f)) ) - (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s5-0) root-override transv quad)) + (set! (-> obj target-vel-vec quad) (-> (the-as process-focusable s5-0) root transv quad)) (set! (-> obj target-vel) (vector-length (-> obj target-vel-vec))) - (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> obj target-pos)))) + (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj target-pos)))) (let ((f0-2 (/ (vector-length s5-2) (if (= (-> obj weapon) 3) 90112.0 819200.0 @@ -1679,13 +1677,13 @@ (vector-normalize! s5-2 (-> obj miss-amount)) (vector+! (-> obj target-pos-predict-miss) (-> obj target-pos-predict) s5-2) ) - (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root-override2 trans)) + (vector-! (-> obj target-self) (-> obj target-pos) (-> obj root trans)) (set! (-> obj target-self-xz quad) (-> obj target-self quad)) (set! (-> obj target-self-xz y) 0.0) (set! (-> obj target-self-dist) (vector-length (-> obj target-self))) (set! (-> obj target-self-xz-dist) (vector-length (-> obj target-self-xz))) (set! (-> obj target-y-angle) - (deg-diff (quaternion-y-angle (-> obj root-override2 quat)) (vector-y-angle (-> obj target-self))) + (deg-diff (quaternion-y-angle (-> obj root quat)) (vector-y-angle (-> obj target-self))) ) ) ) @@ -1707,7 +1705,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-1 (-> self on-notice))) (if gp-1 - (script-eval (the-as pair gp-1) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-1) :vector (-> self root trans)) ) ) ) @@ -1729,7 +1727,7 @@ ) ) ) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-1)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-3)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) (none) ) @@ -1738,13 +1736,10 @@ (let ((f30-0 (get-rand-float-range self 0.8 1.2)) (gp-0 (new 'stack-no-clear 'vector)) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -1753,8 +1748,8 @@ :frame-num 0.0 ) (until (ja-done? 0) - (vector-! gp-0 (target-pos 0) (-> self root-override2 trans)) - (seek-toward-heading-vec! (-> self root-override2) gp-0 131072.0 (seconds 0.05)) + (vector-! gp-0 (target-pos 0) (-> self root trans)) + (seek-toward-heading-vec! (-> self root) gp-0 131072.0 (seconds 0.05)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1858,7 +1853,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -1925,7 +1920,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -2006,9 +2001,9 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -2087,9 +2082,9 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-1 (* 2.0 (get-rand-float-range self 0.9 1.1)))) (until #f @@ -2125,7 +2120,7 @@ (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logclear (-> v1-7 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((a0-9 (-> self nav state)) (v1-12 *null-vector*) ) @@ -2165,7 +2160,7 @@ (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-2 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-13)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (ja-no-eval :group! (-> self draw art-group data 19) @@ -2176,7 +2171,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2208,7 +2203,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2304,7 +2299,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -2361,7 +2356,7 @@ (set! (-> self miss-amount) 0.0) ) (if (= gp-0 3) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) ) (crimson-guard-level-method-191 self) (until (ja-done? 0) @@ -2401,7 +2396,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! max f30-1)) ) @@ -2843,7 +2838,7 @@ enemy-event-handler ) :enter (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logior! (-> v1-3 prim-core action) (collide-action deadly)) ) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) @@ -2861,7 +2856,7 @@ (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-3 prim-core action) (collide-action deadly)) ) (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) @@ -2990,7 +2985,7 @@ :frame-num (ja-aframe 1.0 0) ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! (ja-aframe 12.0 0))) ) @@ -3001,7 +2996,7 @@ :frame-num (ja-aframe 12.0 0) ) (until (ja-done? 0) - (seek-toward-heading-vec! (-> self root-override2) (-> self target-self-xz) 65536.0 (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) (-> self target-self-xz) 65536.0 (seconds 0.02)) (suspend) (ja :num! (seek! (ja-aframe 12.0 0))) ) @@ -3074,10 +3069,10 @@ (if (nonzero? (-> self lazer-sound)) (sound-stop (-> self lazer-sound)) ) - (let ((v1-6 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-6 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logclear! (-> v1-6 prim-core action) (collide-action deadly)) ) - (let ((v1-10 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3))) + (let ((v1-10 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (logclear! (-> v1-10 prim-core action) (collide-action deadly)) ) (let ((v1-11 (-> self l-control)) @@ -3137,7 +3132,7 @@ (until (ja-done? 0) (if (< 5461.3335 (fabs (-> self target-y-angle))) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (-> self target-pos) (-> self nav max-rotation-rate) (seconds 0.2) @@ -3190,7 +3185,7 @@ (ja :num! (seek!)) ) (set! (-> self next-shot) (the-as int (+ (current-time) (seconds 1)))) - (let ((v1-124 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-124 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logior! (-> v1-124 prim-core action) (collide-action deadly)) ) (let* ((v1-125 *game-info*) @@ -3229,7 +3224,7 @@ (ja :num! (loop! f30-0)) ) ) - (let ((v1-150 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 2))) + (let ((v1-150 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 2))) (logclear! (-> v1-150 prim-core action) (collide-action deadly)) ) (let ((v1-151 (-> self l-control)) @@ -3312,7 +3307,7 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core collide-as) (collide-spec enemy)) @@ -3380,7 +3375,7 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core action) (collide-action no-standon)) (logior! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core action) (collide-action no-standon)) (set! (-> (the-as collide-shape-prim-group v1-1) child 1 prim-core collide-as) (collide-spec enemy)) @@ -3428,8 +3423,8 @@ ;; definition for method 204 of type crimson-guard-level ;; WARN: Return type mismatch object vs none. (defmethod crimson-guard-level-method-204 crimson-guard-level ((obj crimson-guard-level)) - (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s5-0 (-> obj root-override2)) + (let ((s4-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s5-0 (-> obj root)) (s3-0 (lambda ((arg0 crimson-guard-level) (arg1 collide-shape-moving) (arg2 vector)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) @@ -3442,7 +3437,7 @@ ) ((let ((a1-4 (new 'stack-no-clear 'vector))) (set! (-> a1-4 quad) (-> s4-0 quad)) - (set! (-> a1-4 w) (-> arg0 root-override2 nav-radius)) + (set! (-> a1-4 w) (-> arg0 root nav-radius)) (add-root-sphere-to-hash! (-> arg0 nav) a1-4 #x8046e) ) #f @@ -3490,16 +3485,16 @@ enemy-event-handler ) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) 40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) 40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -3513,12 +3508,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3537,12 +3528,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3587,18 +3574,18 @@ (let ((a0-0 self)) (when (logtest? (enemy-flag enemy-flag36) (-> a0-0 enemy-flags)) (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new 'stack-no-clear 'vector) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (-> self root) (new 'stack-no-clear 'vector) 0.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (a0-5 (-> self root-override2)) + (a0-5 (-> self root)) ) (set! (-> a2-1 collide-with) (-> a0-5 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (-> a0-5 pat-ignore-mask)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide a0-5 (-> self root-override2 transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide a0-5 (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -3615,16 +3602,16 @@ enemy-event-handler ) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 24576.0) - (vector-xz-normalize! (-> self root-override2 transv) -40960.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 24576.0) + (vector-xz-normalize! (-> self root transv) -40960.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.1)) @@ -3638,12 +3625,8 @@ (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-20) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-20) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3662,12 +3645,8 @@ (let ((a0-33 (handle->process (-> self focus handle)))) (if a0-33 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-33) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-33) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) @@ -3720,7 +3699,7 @@ (t9-0) ) ) - (let ((v1-5 (the-as collide-shape-prim-group (-> self root-override2 root-prim)))) + (let ((v1-5 (the-as collide-shape-prim-group (-> self root root-prim)))) (logior! (-> v1-5 child 0 prim-core action) (collide-action no-standon)) (logclear! (-> v1-5 child 1 prim-core action) (collide-action no-standon)) (set! (-> v1-5 child 1 prim-core collide-as) (collide-spec)) @@ -3728,19 +3707,18 @@ ) 0 (if (zero? (-> self hit-points)) - (set! (-> self root-override2 penetrated-by) (the-as penetrate -1)) + (set! (-> self root penetrated-by) (the-as penetrate -1)) ) (set! (-> self hit-face) - (the-as uint (if (< (vector-dot - (-> self root-override2 transv) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) - 0.0 - ) - 1 - 0 - ) - ) + (the-as + uint + (if (< (vector-dot (-> self root transv) (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + 0.0 + ) + 1 + 0 + ) + ) ) (none) ) @@ -3756,7 +3734,7 @@ ;; definition for method 77 of type crimson-guard-level (defmethod enemy-method-77 crimson-guard-level ((obj crimson-guard-level) (arg0 (pointer float))) - (let ((v1-1 (-> obj root-override2 transv))) + (let ((v1-1 (-> obj root transv))) (cond ((< (sqrtf (+ (* (-> v1-1 x) (-> v1-1 x)) (* (-> v1-1 z) (-> v1-1 z)))) 57344.0) (set! (-> obj small-hit) 1) @@ -3979,7 +3957,7 @@ (cond ((enemy-method-133 self) (ja-channel-push! 1 (seconds 0.2)) - (let ((gp-0 (-> self draw art-group data (-> self enemy-info-override die-falling-anim))) + (let ((gp-0 (-> self draw art-group data (-> self enemy-info die-falling-anim))) (f30-0 (get-rand-float-range self 0.8 1.2)) ) (ja-no-eval :group! gp-0 @@ -4112,7 +4090,7 @@ ) ) (when s4-0 - (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root-override trans)))) + (let ((s2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> s4-0 root trans)))) (s3-1 (new 'stack-no-clear 'vector)) ) (set! (-> s3-1 x) (if (zero? (-> obj transport-side)) @@ -4123,8 +4101,8 @@ (set! (-> s3-1 y) 12288.0) (set! (-> s3-1 z) (lerp-scale -16384.0 -49152.0 arg0 0.0 1.0)) (set! (-> s3-1 w) 1.0) - (quaternion-rotate-local-y! (-> obj root-override2 quat) (-> s4-0 root-override quat) 32768.0) - (vector-matrix*! (-> obj root-override2 trans) s3-1 s2-0) + (quaternion-rotate-local-y! (-> obj root quat) (-> s4-0 root quat) 32768.0) + (vector-matrix*! (-> obj root trans) s3-1 s2-0) ) ) ) @@ -4157,7 +4135,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (f30-0 0.0) ) (dotimes (s3-0 2) @@ -4169,7 +4147,7 @@ ) (vector-rotate-around-y! sv-768 s4-0 (* 182.04445 (the float (+ (* 23 s2-0) -70)))) (let ((v1-10 s1-0)) - (let ((a0-6 (-> obj root-override2 trans))) + (let ((a0-6 (-> obj root trans))) (let ((a1-5 sv-768)) (let ((a2-2 1.0)) (.mov vf7 a2-2) @@ -4262,15 +4240,13 @@ ;; INFO: Used lq/sq (defmethod enemy-method-93 crimson-guard-level ((obj crimson-guard-level)) (let ((s5-0 (-> obj nav state)) - (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-0 heading quad) (-> v1-2 quad)) ) 0 (let ((s5-1 (-> obj nav state))) - (set! (-> (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) quad) - (-> s5-1 travel quad) - ) + (set! (-> (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) quad) (-> s5-1 travel quad)) ) (let ((a0-5 (-> obj nav state)) (v1-9 *null-vector*) @@ -4385,7 +4361,7 @@ (logior! (-> self nav flags) (nav-control-flag output-sphere-hash)) (nav-enemy-method-166 self) (let ((v1-7 (-> self nav))) - (set! (-> v1-7 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-7 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (set! (-> self already-shot) (the-as uint #f)) @@ -4408,8 +4384,8 @@ (when (not (-> self already-shot)) (crimson-guard-level-method-201 self 1.0) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) - (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (set! (-> gp-0 quad) (-> self root trans quad)) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack 'collide-query)) ) (let ((a0-3 gp-0)) @@ -4559,7 +4535,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -4588,17 +4564,17 @@ ((= arg0 1) (setup-masks (-> obj draw) 16 0) (set! (-> obj weapon) 1) - (set! (-> obj root-override2 nav-radius) 10240.0) + (set! (-> obj root nav-radius) 10240.0) ) ((= arg0 3) (setup-masks (-> obj draw) 16 0) (set! (-> obj weapon) 3) - (set! (-> obj root-override2 nav-radius) 10240.0) + (set! (-> obj root nav-radius) 10240.0) ) ((zero? arg0) (setup-masks (-> obj draw) 8 0) (set! (-> obj weapon) 0) - (set! (-> obj root-override2 nav-radius) 6144.0) + (set! (-> obj root nav-radius) 6144.0) ) ) (none) @@ -4610,7 +4586,7 @@ (cond ((logtest? (-> obj flags) 36) (let ((v1-3 (-> obj nav state)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) ) (logclear! (-> v1-3 flags) (nav-state-flag directional-mode)) (logior! (-> v1-3 flags) (nav-state-flag target-poly-dirty)) @@ -4633,15 +4609,15 @@ (local-vars (sv-16 int)) (let ((f0-0 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-0 0.0) - (quaternion-rotate-y! (-> obj root-override2 quat) (-> obj root-override2 quat) f0-0) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-0) ) ) (set! sv-16 0) (let ((v1-6 (res-lump-data (-> obj entity) 'trans-offset vector :tag-ptr (the-as (pointer res-tag) (& sv-16))))) (when v1-6 - (+! (-> obj root-override2 trans x) (-> v1-6 x)) - (+! (-> obj root-override2 trans y) (-> v1-6 y)) - (+! (-> obj root-override2 trans z) (-> v1-6 z)) + (+! (-> obj root trans x) (-> v1-6 x)) + (+! (-> obj root trans y) (-> v1-6 y)) + (+! (-> obj root trans z) (-> v1-6 z)) ) ) (initialize-skeleton @@ -4728,14 +4704,14 @@ (crimson-guard-level-method-203 obj 1) ) ((logtest? (-> obj flags) 2) - (set! (-> obj fact-info-override trig-dist) 409600.0) + (set! (-> obj fact trig-dist) 409600.0) (crimson-guard-level-method-203 obj 0) ) ((logtest? (-> obj flags) 4) (crimson-guard-level-method-203 obj 0) ) ((logtest? (-> obj flags) 8) - (set! (-> obj fact-info-override trig-dist) 819200.0) + (set! (-> obj fact trig-dist) 819200.0) (crimson-guard-level-method-203 obj 3) ) ((logtest? (-> obj flags) 16) @@ -4745,7 +4721,7 @@ (cond ((logtest? (-> obj flags) 128) (setup-masks (-> obj draw) 5 0) - (set-vector! (-> obj root-override2 scale) 1.1 1.1 1.1 1.0) + (set-vector! (-> obj root scale) 1.1 1.1 1.1 1.0) (set! (-> obj hit-points) (* (-> obj hit-points) 2)) (set-vector! (-> obj joint scale) 1.1 1.0 1.1 1.0) (let* ((a0-45 (-> obj neck)) @@ -4772,11 +4748,11 @@ (set! (-> obj anim-get-up-front) 33) (set! (-> obj anim-get-up-back) 34) (set! (-> obj joint-enable) #f) - (set! (-> obj fact-info-override pickup-type) (pickup-type ammo-random)) - (set! (-> obj fact-info-override pickup-amount) 10.0) - (set! (-> obj fact-info-override pickup-spawn-amount) 1.0) + (set! (-> obj fact pickup-type) (pickup-type ammo-random)) + (set! (-> obj fact pickup-amount) 10.0) + (set! (-> obj fact pickup-spawn-amount) 1.0) (set! (-> obj trigger) #f) - (set! (-> obj root-override2 pause-adjust-distance) 409600.0) + (set! (-> obj root pause-adjust-distance) 409600.0) (transform-post) 0 (none) @@ -4820,9 +4796,9 @@ ;; WARN: Return type mismatch object vs none. (defbehavior crimson-guard-level-init-by-other crimson-guard-level ((arg0 crimson-guard-level-params)) (init-enemy-collision! self) - (set! (-> self root-override2 trans quad) (-> arg0 pos quad)) - (quaternion-copy! (-> self root-override2 quat) (-> arg0 quat)) - (vector-identity! (-> self root-override2 scale)) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) + (vector-identity! (-> self root scale)) (set! (-> self transport-side) (-> arg0 transport-side)) (add-process-drawable-to-navmesh (-> arg0 nav-mesh) self #t) (set! (-> arg0 proc) self) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc index 5da6229bf9..0830f43d0d 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/guards/transport-level_REF.gc @@ -115,13 +115,13 @@ ;; definition for method 34 of type transport-level ;; WARN: Return type mismatch int vs none. (defmethod transport-level-method-34 transport-level ((obj transport-level)) - (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root-override transv y)) 0.0 122880.0)) - (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root-override trans y) (-> obj y-dest)) 143360.0 20480.0)) + (let ((f30-0 (lerp-scale 0.0 2.0 (fabs (-> obj root transv y)) 0.0 122880.0)) + (f0-4 (lerp-scale 0.0 1.0 (- (-> obj root trans y) (-> obj y-dest)) 143360.0 20480.0)) (a0-3 (static-sound-spec "transport" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-3 volume) (the int (* 1024.0 f0-4))) (set! (-> a0-3 pitch-mod) (the int (* 1524.0 f30-0))) - (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-3 (-> obj ambient-sound-id) (-> obj root trans)) ) 0 (none) @@ -150,10 +150,10 @@ (none) ) :post (behavior () - (set! (-> self root-override transv y) (* 2.0 (- (-> self y-dest) (-> self root-override trans y)))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) - (if (< (fabs (- (-> self root-override trans y) (-> self y-dest))) 409.6) + (set! (-> self root transv y) (* 2.0 (- (-> self y-dest) (-> self root trans y)))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) + (if (< (fabs (- (-> self root trans y) (-> self y-dest))) 409.6) (go-virtual idle) ) (transport-level-method-34 self) @@ -168,7 +168,7 @@ :event transport-level-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (set! (-> self last-guard-spawn-time) 0) 0 (none) @@ -246,7 +246,7 @@ :event transport-level-event-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self root-override transv y) 0.0) + (set! (-> self root transv y) 0.0) (none) ) :code (behavior () @@ -266,11 +266,11 @@ ) :post (behavior () (transport-level-method-34 self) - (+! (-> self root-override transv y) (* 40960.0 (-> self clock seconds-per-frame))) - (set! (-> self root-override transv y) (fmax -122880.0 (fmin 122880.0 (-> self root-override transv y)))) - (+! (-> self root-override trans y) (* (-> self root-override transv y) (-> self clock seconds-per-frame))) + (+! (-> self root transv y) (* 40960.0 (-> self clock seconds-per-frame))) + (set! (-> self root transv y) (fmax -122880.0 (fmin 122880.0 (-> self root transv y)))) + (+! (-> self root trans y) (* (-> self root transv y) (-> self clock seconds-per-frame))) (if (and (not (logtest? (-> self draw status) (draw-control-status on-screen))) - (< 163840.0 (- (-> self root-override trans y) (-> self y-dest))) + (< 163840.0 (- (-> self root trans y) (-> self y-dest))) ) (go-virtual die-fast) ) @@ -298,9 +298,9 @@ (let ((s5-0 (new 'stack-no-clear 'crimson-guard-level-params))) (set! (-> s5-0 transport-side) (-> obj spawn-side)) (set! (-> s5-0 nav-mesh) (-> obj nav-mesh)) - (set! (-> s5-0 pos quad) (-> obj root-override trans quad)) + (set! (-> s5-0 pos quad) (-> obj root trans quad)) (set! (-> s5-0 pos y) (+ 8192.0 (-> s5-0 pos y))) - (quaternion-rotate-local-y! (-> s5-0 quat) (-> obj root-override quat) 32768.0) + (quaternion-rotate-local-y! (-> s5-0 quat) (-> obj root quat) 32768.0) (set! (-> s5-0 handle) (the-as uint (process->handle obj))) (set! (-> s5-0 weapon) 1) (dotimes (s4-0 (the-as int (-> obj num-wanted-guards))) @@ -361,7 +361,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -401,9 +401,9 @@ This commonly includes things such as: (set! (-> obj guards v1-11) (the-as handle #f)) ) (set! (-> obj spawn-time) (seconds 4)) - (set! (-> obj root-override trans y) (+ 40960.0 (-> obj root-override trans y))) - (set! (-> obj y-dest) (-> obj root-override trans y)) - (set! (-> obj root-override trans y) (+ 163840.0 (-> obj root-override trans y))) + (set! (-> obj root trans y) (+ 40960.0 (-> obj root trans y))) + (set! (-> obj y-dest) (-> obj root trans y)) + (set! (-> obj root trans y) (+ 163840.0 (-> obj root trans y))) (go (method-of-object obj come-down)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hopper_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hopper_REF.gc index 28fe5de81c..0cef7cfb83 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hopper_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hopper_REF.gc @@ -389,7 +389,7 @@ :walk-travel-speed (meters 1) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -428,7 +428,7 @@ (else (when (focus-test? obj touch-water) (let ((s3-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> obj root-override2) s3-0 (collide-action solid semi-solid)) + (water-info-init! (-> obj root) s3-0 (collide-action solid semi-solid)) (let ((v1-9 #f)) (cond ((not (logtest? (water-flags touch-water) (-> s3-0 flags))) @@ -438,7 +438,7 @@ (logclear! (-> obj focus-status) (focus-status touch-water under-water)) ) ((focus-test? obj under-water) - (let ((f0-1 (+ 11264.0 (-> obj root-override2 trans y)))) + (let ((f0-1 (+ 11264.0 (-> obj root trans y)))) (if (< (-> s3-0 trans y) f0-1) (set! v1-9 #t) ) @@ -448,7 +448,7 @@ (when v1-9 (logclear! (-> obj focus-status) (focus-status under-water)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> obj root-override2 trans quad)) + (set! (-> s2-0 quad) (-> obj root trans quad)) (when (logtest? (water-flags touch-water) (-> s3-0 flags)) (set! (-> s2-0 y) (-> s3-0 trans y)) (let ((s3-1 (get-process *default-dead-pool* part-tracker #x4000))) @@ -581,14 +581,10 @@ (let ((v1-5 (-> self draw shadow-ctrl))) (logior! (-> v1-5 settings flags) (shadow-flags shdf03)) (let ((a0-2 v1-5)) - (set! (-> a0-2 settings bot-plane w) - (- (+ (- -4096.0 (-> self root-override2 trans y)) (-> self root-override2 gspot-pos y))) - ) + (set! (-> a0-2 settings bot-plane w) (- (+ (- -4096.0 (-> self root trans y)) (-> self root gspot-pos y)))) ) 0 - (set! (-> v1-5 settings top-plane w) - (- (+ (- 8192.0 (-> self root-override2 trans y)) (-> self root-override2 gspot-pos y))) - ) + (set! (-> v1-5 settings top-plane w) (- (+ (- 8192.0 (-> self root trans y)) (-> self root gspot-pos y)))) ) 0 (none) @@ -794,7 +790,7 @@ (let ((a1-4 (-> self nav state))) (set! (-> gp-0 quad) (-> a1-4 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> self root) gp-0 (-> self nav max-rotation-rate) (seconds 0.02)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -812,21 +808,21 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (let ((v1-12 (-> self root-override2 root-prim))) - (set! (-> self root-override2 backup-collide-as) (-> v1-12 prim-core collide-as)) - (set! (-> self root-override2 backup-collide-with) (-> v1-12 prim-core collide-with)) + (let ((v1-12 (-> self root root-prim))) + (set! (-> self root backup-collide-as) (-> v1-12 prim-core collide-as)) + (set! (-> self root backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (let ((v1-15 (-> self root-override2 root-prim))) + (let ((v1-15 (-> self root root-prim))) (set! (-> v1-15 prim-core collide-as) (collide-spec)) (set! (-> v1-15 prim-core collide-with) (collide-spec)) ) 0 (when (handle->process (-> self focus handle)) - (let ((gp-1 (-> self root-override2)) + (let ((gp-1 (-> self root)) (s5-0 (new 'stack-no-clear 'vector)) ) (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -849,9 +845,9 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -959,7 +955,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -992,7 +988,7 @@ (set! (-> obj jump-anim-start-frame) 8.0) (set! (-> obj land-anim-index) 26) (set! (-> obj side) (get-rand-float-range obj -1.5 1.5)) - (when (logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + (when (logtest? (enemy-option ambush) (-> obj fact enemy-options)) (set! (-> obj path-intro) (new 'process 'path-control obj 'intro 0.0 (-> obj entity) #f)) (if (-> obj path-intro) (logior! (-> obj path-intro flags) (path-control-flag display draw-line draw-point draw-text)) @@ -1005,7 +1001,7 @@ (set! (-> v1-34 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (let ((v1-39 (-> obj nav))) (set! (-> v1-39 nav-cull-radius) 61440.0) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/crimson-guard-hover_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/crimson-guard-hover_REF.gc index 7c3d96e552..2091447b1f 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/crimson-guard-hover_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/crimson-guard-hover_REF.gc @@ -701,7 +701,7 @@ :trans (behavior () (when (hover-nav-control-method-23 (-> self hover)) (hover-enemy-method-153 self) - (if (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (if (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (hover-enemy-method-141 self 1.0) ) ((-> (method-of-type hover-enemy ambush) exit)) @@ -709,9 +709,7 @@ ) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable gp-0) 0)) - 450560.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable gp-0) 0)) 450560.0) (speech-control-method-15 *speech-control* self) ) (if (crimson-guard-hover-method-162 self (the-as process-focusable gp-0)) @@ -766,11 +764,11 @@ :enter (behavior () (set! (-> self state-time) (current-time)) (set! (-> self attack-miss-dist-curr) (-> self attack-miss-dist-min)) - (let ((f0-1 (vector-vector-distance-squared (-> self root-override2 trans) (-> self focus-pos))) + (let ((f0-1 (vector-vector-distance-squared (-> self root trans) (-> self focus-pos))) (f1-0 122880.0) ) (if (< f0-1 (* f1-0 f1-0)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) ) ) (set! (-> self shots-fired) 0) @@ -859,9 +857,7 @@ ) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable gp-0) 0)) - 450560.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable gp-0) 0)) 450560.0) (speech-control-method-15 *speech-control* self) ) (if (crimson-guard-hover-method-162 self (the-as process-focusable gp-0)) @@ -982,11 +978,11 @@ ) :code (behavior () (sound-play "hover-warn") - (let ((f0-0 (vector-vector-distance-squared (-> self root-override2 trans) (-> self focus-pos))) + (let ((f0-0 (vector-vector-distance-squared (-> self root trans) (-> self focus-pos))) (f1-0 122880.0) ) (if (< f0-0 (* f1-0 f1-0)) - (speech-control-method-12 *speech-control* self (speech-type speech-type-0 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-9)) ) ) (ja-channel-push! 1 (seconds 0.2)) @@ -1104,7 +1100,7 @@ ) :code (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1147,7 +1143,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-3 a1-3 @@ -1218,7 +1214,7 @@ (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-5 a1-4 @@ -1285,15 +1281,13 @@ ) ) ) - (if (and *target* - v1-23 - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj focus-pos))) - (f1-0 122880.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) + (if (and *target* v1-23 (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (-> obj focus-pos))) + (f1-0 122880.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-0 speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-11)) ) ) ) @@ -1315,13 +1309,13 @@ (when (= (the-as symbol a0-27) 'attack) (when (logtest? (-> (the-as process-focusable v1-31) mask) (process-mask target)) (if (and (focus-test? (the-as process-focusable v1-31) dead) - (let ((f0-1 (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj focus-pos))) + (let ((f0-1 (vector-vector-distance-squared (-> obj root trans) (-> obj focus-pos))) (f1-3 122880.0) ) (< f0-1 (* f1-3 f1-3)) ) ) - (speech-control-method-12 *speech-control* obj (speech-type speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* obj (speech-type speech-type-10)) ) ) ) @@ -1355,7 +1349,7 @@ ;; definition for method 162 of type crimson-guard-hover ;; WARN: Return type mismatch object vs symbol. (defmethod crimson-guard-hover-method-162 crimson-guard-hover ((obj crimson-guard-hover) (arg0 process-focusable)) - (let* ((v1-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) (-> obj root-override2 transv))) + (let* ((v1-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root trans) (-> obj root transv))) (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj focus-pos))) (f30-0 (vector-length s5-1)) (a0-4 (if arg0 @@ -1415,14 +1409,14 @@ ;; definition for method 52 of type crimson-guard-hover (defmethod enemy-method-52 crimson-guard-hover ((obj crimson-guard-hover) (arg0 vector)) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-2)) - (let ((gp-1 (-> obj root-override2 transv))) + (let ((gp-1 (-> obj root transv))) (let ((a1-1 (handle->process (-> obj incoming attacker-handle)))) (if a1-1 - (vector-! gp-1 (-> (the-as process-focusable a1-1) root-override trans) (-> obj root-override2 trans)) - (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root-override2 trans)) + (vector-! gp-1 (-> (the-as process-focusable a1-1) root trans) (-> obj root trans)) + (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root trans)) ) ) (set! (-> gp-1 y) 0.0) @@ -1571,12 +1565,12 @@ (-> arg0 scale) (quaternion-rotate-local-z! sv-208 a1-3 sv-192) (quaternion->matrix s5-0 sv-208) - (set! (-> s2-1 quad) (-> arg0 root-override2 scale quad)) + (set! (-> s2-1 quad) (-> arg0 root scale quad)) (scale-matrix! s5-0 s2-1 s5-0) - (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root-override2 quat))) + (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root quat))) (t9-6 vector-inv-orient-by-quat!) (a0-10 (new 'stack-no-clear 'vector)) - (a2-4 (-> arg0 root-override2 quat)) + (a2-4 (-> arg0 root quat)) (v0-6 (t9-6 a0-10 sv-224 a2-4)) (f30-0 (* 2867200.0 (-> pp clock seconds-per-frame))) (f28-0 @@ -1870,7 +1864,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-31 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1949,9 +1943,9 @@ (set! (-> obj neck ear) (the-as uint 0)) (set! (-> obj scale) 1.2) (set! (-> obj sound-id) (new-sound-id)) - (set! (-> obj root-override2 dynam gravity y) 327680.0) - (set! (-> obj root-override2 dynam gravity-length) 327680.0) - (set! (-> obj root-override2 dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (set! (-> obj gun-jmod) (the-as joint-mod (new 'process 'joint-mod-rotate-local obj (-> obj hover-info gun-base) #t)) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc index 31a5834df9..a1921228e3 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/flamer_REF.gc @@ -253,7 +253,7 @@ :walk-travel-speed (meters 12) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 50) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 55) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -365,8 +365,8 @@ ;; WARN: Return type mismatch int vs none. (defmethod nav-enemy-method-142 flamer ((obj flamer) (arg0 nav-control)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 (target-pos 0) (-> obj root-override2 trans)) - (seek-toward-heading-vec! (-> obj root-override2) gp-0 131072.0 (seconds 0.5)) + (vector-! gp-0 (target-pos 0) (-> obj root trans)) + (seek-toward-heading-vec! (-> obj root) gp-0 131072.0 (seconds 0.5)) ) 0 (none) @@ -412,12 +412,12 @@ (set! (-> s1-0 quad) (-> (get-trans arg1 0) quad)) (let ((s3-1 (new 'stack-no-clear 'vector))) (let ((s2-1 (new 'stack-no-clear 'vector))) - (vector-! s3-1 s1-0 (-> obj root-override2 trans)) + (vector-! s3-1 s1-0 (-> obj root trans)) (vector-flatten! s2-1 s3-1 (-> obj zone-to-world vector 2)) (vector-float*! s2-1 s2-1 -0.9) (vector+! s3-1 s3-1 s2-1) ) - (vector+! s4-0 (-> obj root-override2 trans) s3-1) + (vector+! s4-0 (-> obj root trans) s3-1) ) ) ) @@ -466,7 +466,7 @@ (add-debug-line #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) + (-> self root trans) (-> self dest-pos) (new 'static 'rgba :r #xff :g #xff :b #xff :a #xff) #f @@ -529,10 +529,10 @@ ) (*target* (let ((a1-1 (target-pos 0))) - (-> obj root-override2 trans) + (-> obj root trans) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-matrix*! s5-0 a1-1 (-> obj world-to-zone)) - (and (>= (-> obj enemy-info-override notice-distance) (-> s5-0 z)) (>= (the-as int (-> obj focus aware)) 3)) + (and (>= (-> obj enemy-info notice-distance) (-> s5-0 z)) (>= (the-as int (-> obj focus aware)) 3)) ) ) ) @@ -650,7 +650,7 @@ (gp-0 (-> obj draw shadow-ctrl settings shadow-dir)) (f30-0 122880.0) ) - (set! (-> s4-0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 start-pos quad) (-> obj root trans quad)) (vector-normalize-copy! (-> s4-0 move-dist) gp-0 f30-0) (let ((v1-12 s4-0)) (set! (-> v1-12 radius) 3276.8) @@ -668,7 +668,7 @@ ) 0 (-> s4-0 best-other-tri intersect) - (let ((a1-3 (-> obj root-override2 trans))) + (let ((a1-3 (-> obj root trans))) (-> a1-3 y) (let ((f1-2 (* f0-1 f30-0))) (shadow-control-method-14 @@ -738,14 +738,9 @@ (joint-control-channel-group! a0-8 (the-as art-joint-anim flamer-idle-ja) num-func-seek!) ) (until #f - (let ((gp-0 (vector-inv-orient-by-quat! - (new 'stack-no-clear 'vector) - (-> self main-joint-vel) - (-> self root-override2 quat) - ) - ) + (let ((gp-0 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self main-joint-vel) (-> self root quat))) ) - (vector-float*! gp-0 gp-0 (/ 1.0 (-> self enemy-info-override run-travel-speed))) + (vector-float*! gp-0 gp-0 (/ 1.0 (-> self enemy-info run-travel-speed))) (flamer-method-188 self 1 (-> gp-0 x) 7 6) (flamer-method-188 self 2 (-> gp-0 z) 8 9) ) @@ -770,7 +765,7 @@ (let ((a1-1 (new 'stack-no-clear 'collide-query))) (cond ((enemy-method-125 obj a1-1 (collide-spec backgnd) 8192.0 26624.0 1024.0) - (set! (-> obj base-pos y) (+ 22528.0 (-> obj root-override2 gspot-pos y))) + (set! (-> obj base-pos y) (+ 22528.0 (-> obj root gspot-pos y))) ) (else (let ((s4-0 (-> obj nav)) @@ -795,7 +790,7 @@ ) (let ((v1-16 (+ (current-time) (the-as time-frame (-> obj sync-off))))) (seek! - (-> obj root-override2 trans y) + (-> obj root trans y) (+ (-> obj base-pos y) (* 1228.8 (cos (* 100.66974 (the float (mod v1-16 651)))))) (* 16384.0 (-> pp clock seconds-per-frame)) ) @@ -803,11 +798,11 @@ (let ((s5-2 (new 'stack-no-clear 'vector))) (set! (-> s5-2 quad) (-> *up-vector* quad)) (vector-normalize! s5-2 6144.0) - (vector/! s5-2 s5-2 (-> obj root-override2 scale)) + (vector/! s5-2 s5-2 (-> obj root scale)) (vector-rotate-around-z! s5-2 s5-2 (-> obj flit-angle)) (vector-seek! (-> obj flit-joint target) s5-2 (* 32768.0 (-> pp clock seconds-per-frame))) ) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) (none) ) @@ -851,7 +846,7 @@ (t9-0) ) ) - (set! (-> self root-override2 trans quad) (-> self idle-pos quad)) + (set! (-> self root trans quad) (-> self idle-pos quad)) (none) ) ) @@ -865,12 +860,12 @@ (t9-0) ) ) - (set! (-> self root-override2 trans quad) (-> self idle-pos quad)) + (set! (-> self root trans quad) (-> self idle-pos quad)) (none) ) :trans (behavior () (when (and (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (flamer-method-183 self)) - (if (logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-virtual ambush) (go-virtual active) ) @@ -919,7 +914,7 @@ (if (flamer-method-183 self) (go-virtual hostile) ) - (if (>= 819.2 (vector-vector-xz-distance (-> self root-override2 trans) (-> self idle-pos))) + (if (>= 819.2 (vector-vector-xz-distance (-> self root trans) (-> self idle-pos))) (go-virtual idle) ) (none) @@ -958,7 +953,7 @@ (set! (-> self main-acceleration) 0.0) (vector-reset! (-> self fly-dir)) (sound-play "flamer-ambush") - (quaternion-copy! (-> self root-override2 quat) (-> self init-quat)) + (quaternion-copy! (-> self root quat) (-> self init-quat)) (set! (-> self state-time) (current-time)) (none) ) @@ -984,13 +979,13 @@ (let ((f30-0 (-> self path-pos))) (when (>= f30-0 1.0) (set! (-> self path-pos) 1.0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) f30-0 'interp) (go-virtual notice) ) - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) f30-0 'interp) (let ((a1-3 (displacement-between-points-at-percent-normalized! (-> self path) (new 'stack-no-clear 'vector) f30-0)) ) - (forward-up->quaternion (-> self root-override2 quat) a1-3 *up-vector*) + (forward-up->quaternion (-> self root quat) a1-3 *up-vector*) ) (flamer-method-186 self f30-0) ) @@ -1018,7 +1013,7 @@ (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-9 enemy-flags)))) ) (set! (-> v1-9 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-9 enemy-flags)))) - (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info-override callback-info)) + (set! (-> v1-9 nav callback-info) (-> v1-9 enemy-info callback-info)) ) 0 (let ((v1-12 self)) @@ -1038,7 +1033,7 @@ (none) ) :trans (behavior () - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self dest-pos)) 409.6) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self dest-pos)) 409.6) (go-virtual exit-ambush-path) ) (none) @@ -1077,12 +1072,12 @@ (let ((f30-0 (-> self path-pos))) (when (>= 0.0 f30-0) (set! (-> self path-pos) 0.0) - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) f30-0 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) f30-0 'interp) (cond - ((logtest? (enemy-option dormant) (-> self fact-info-override enemy-options)) + ((logtest? (enemy-option dormant) (-> self fact enemy-options)) (go-virtual dormant) ) - ((logtest? (enemy-option dormant-aware) (-> self fact-info-override enemy-options)) + ((logtest? (enemy-option dormant-aware) (-> self fact enemy-options)) (go-virtual dormant-aware) ) (else @@ -1102,7 +1097,7 @@ (set! (-> self flit-angle) (* 182.04445 (rand-vu-float-range 0.0 360.0))) (set! (-> self flit-timer) (current-time)) ) - (vector-seek! (-> self root-override2 trans) (-> self base-pos) (* 16384.0 (-> self clock seconds-per-frame))) + (vector-seek! (-> self root trans) (-> self base-pos) (* 16384.0 (-> self clock seconds-per-frame))) (flamer-method-184 self) (nav-enemy-simple-post) (none) @@ -1153,7 +1148,7 @@ (not (flamer-method-183 self)) ) ) - (if (logtest? (enemy-option ambush) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option ambush) (-> self fact enemy-options)) (go-virtual exit-ambush) (go-virtual active) ) @@ -1162,7 +1157,7 @@ (let ((gp-1 (get-enemy-target self))) (if (and gp-1 (>= (- (current-time) (-> self last-fire-time)) (the int (* 300.0 (rand-vu-float-range 3.0 6.0)))) - (< (vector-vector-distance (get-trans gp-1 3) (-> self root-override2 trans)) 245760.0) + (< (vector-vector-distance (get-trans gp-1 3) (-> self root trans)) 245760.0) ) (go-virtual attack) ) @@ -1263,7 +1258,7 @@ (let ((v1-0 arg0)) (cond ((= v1-0 1) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (let ((a0-1 v1-2)) (set! (-> a0-1 prim-core action) (collide-action solid deadly)) (set! (-> a0-1 prim-core collide-with) (collide-spec backgnd jak bot obstacle hit-by-others-list player-list)) @@ -1275,7 +1270,7 @@ ) ) ((or (= v1-0 2) (zero? v1-0)) - (let ((v1-8 (-> obj root-override2 root-prim))) + (let ((v1-8 (-> obj root root-prim))) (let ((a0-3 v1-8)) (set! (-> a0-3 prim-core action) (collide-action semi-solid deadly)) (set! (-> a0-3 prim-core collide-with) (collide-spec jak bot player-list)) @@ -1331,7 +1326,7 @@ ) (else (ja-channel-push! 1 (seconds 0.1)) - (let ((a1-10 (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (let ((a1-10 (-> obj draw art-group data (-> obj enemy-info knocked-anim))) (a0-21 (-> obj skel root-channel 0)) ) (set! (-> a0-21 frame-group) (the-as art-joint-anim a1-10)) @@ -1356,12 +1351,12 @@ (t9-0) ) ) - (set-gravity-length (-> self root-override2 dynam) 368640.0) + (set-gravity-length (-> self root dynam) 368640.0) (set! (-> self hit-surface?) #f) (none) ) :trans (behavior () - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (when (logtest? (-> gp-0 status) (collide-status on-surface)) (when (not (-> self hit-surface?)) (set! (-> self hit-surface?) #t) @@ -1380,9 +1375,7 @@ (when (and (nonzero? (-> self hit-points)) (zero? (-> self fated-time)) (or (>= (- (current-time) (-> self state-time)) (seconds 0.5)) - (and (< (-> self root-override2 trans y) (+ 18432.0 (-> self root-override2 gspot-pos y))) - (< (-> self root-override2 transv y) 0.0) - ) + (and (< (-> self root trans y) (+ 18432.0 (-> self root gspot-pos y))) (< (-> self root transv y) 0.0)) ) ) (set-gravity-length (-> gp-0 dynam) 225280.0) @@ -1408,13 +1401,13 @@ (defstate die-falling (flamer) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (set! (-> self hit-points) 0) - (if (logtest? (enemy-option knocked-into-water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option knocked-into-water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup) (-> self enemy-flags))) ) (let ((v1-8 self)) @@ -1449,7 +1442,7 @@ ;; definition for method 186 of type flamer (defmethod flamer-method-186 flamer ((obj flamer) (arg0 float)) (let ((f0-1 (* (-> obj scale) arg0)) - (v0-0 (-> obj root-override2 scale)) + (v0-0 (-> obj root scale)) ) (set! (-> v0-0 x) f0-1) (set! (-> v0-0 y) f0-1) @@ -1536,7 +1529,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1574,10 +1567,10 @@ (set! (-> obj sync-off) (the-as uint (get-rand-int obj 600))) (set! (-> obj flit-angle) 0.0) (set! (-> obj flit-timer) 0) - (set! (-> obj root-override2 dynam gravity y) 225280.0) - (set! (-> obj root-override2 dynam gravity-length) 225280.0) - (set! (-> obj root-override2 dynam gravity-max) 225280.0) - (let ((v1-25 (-> obj root-override2 trans))) + (set! (-> obj root dynam gravity y) 225280.0) + (set! (-> obj root dynam gravity-length) 225280.0) + (set! (-> obj root dynam gravity-max) 225280.0) + (let ((v1-25 (-> obj root trans))) (set! (-> obj base-pos quad) (-> v1-25 quad)) (set! (-> v1-25 y) (+ 22528.0 (-> v1-25 y))) (set! (-> obj idle-pos quad) (-> v1-25 quad)) @@ -1586,13 +1579,13 @@ (set! (-> obj flit-joint twist-min-y) (the-as float #t)) (let ((f0-7 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-7 0.0) - (quaternion-rotate-y! (-> obj root-override2 quat) (-> obj root-override2 quat) f0-7) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-7) ) ) - (let ((f0-8 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f0-8 (quaternion-y-angle (-> obj root quat)))) (matrix-rotate-y! (-> obj zone-to-world) f0-8) ) - (set! (-> obj zone-to-world trans quad) (-> obj root-override2 trans quad)) + (set! (-> obj zone-to-world trans quad) (-> obj root trans quad)) (matrix-inverse-of-rot-trans! (-> obj world-to-zone) (-> obj zone-to-world)) (set! (-> obj formation-entity) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set-vector! (-> obj offset) 0.0 0.0 94208.0 1.0) @@ -1600,7 +1593,7 @@ (set! (-> obj path-pos) 0.0) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "flamer-loop" :fo-max 80) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "flamer-loop" :fo-max 80) (-> obj root trans)) ) (set! (-> obj enemy-flags) (logior (enemy-flag multi-focus) (-> obj enemy-flags))) (let ((v1-45 (-> obj nav))) @@ -1611,7 +1604,7 @@ (set! (-> v1-47 nearest-y-threshold) 63488.0) ) 0 - (quaternion-copy! (-> obj init-quat) (-> obj root-override2 quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (add-connection *part-engine* obj diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy-battle_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy-battle_REF.gc index 06cb438c54..a9bbbc162c 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy-battle_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy-battle_REF.gc @@ -357,7 +357,6 @@ ) ;; definition for function hover-manager-spawn -;; WARN: Return type mismatch process-tree vs process. (defun hover-manager-spawn ((arg0 turret) (arg1 entity-actor) (arg2 (array hover-enemy-battle-command))) - (the-as process (ppointer->process (process-spawn hover-enemy-manager arg1 arg2 :to arg0))) + (ppointer->process (process-spawn hover-enemy-manager arg1 arg2 :to arg0)) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy_REF.gc index 8be9d57e87..b8ce21e4f7 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-enemy_REF.gc @@ -69,7 +69,7 @@ ) ) ) - (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) + (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child (-> obj hover params nav-collide-prim-index) prim-core @@ -108,7 +108,7 @@ ) ) ) - (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root-override2 trans)))) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) (-> self root trans)))) (vector-normalize! s4-1 1.0) (set! (-> self rotation-vec y) (deg-seek (-> self rotation-vec y) (vector-y-angle s4-1) (* 14563.556 (-> self clock seconds-per-frame))) @@ -189,13 +189,13 @@ (cond (a0-7 (let* ((s5-1 (get-trans (the-as process-focusable a0-7) 3)) - (a0-9 (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) s5-1)) + (a0-9 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) s5-1)) ) (vector+! gp-0 s5-1 (vector-rotate-y! (new 'stack-no-clear 'vector) (-> self offset) (vector-y-angle a0-9))) ) ) (else - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) ) ) ) @@ -259,7 +259,7 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defmethod hover-enemy-method-144 hover-enemy ((obj hover-enemy)) - (set! (-> obj main-joint-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj main-joint-pos quad) (-> obj root trans quad)) (set! (-> obj main-joint-vel quad) (the-as uint128 0)) (set! (-> obj main-joint-acc quad) (the-as uint128 0)) (set! (-> obj thrust 0) 0.0) @@ -336,7 +336,7 @@ (gp-0 (-> obj draw shadow-ctrl settings shadow-dir)) (f30-0 122880.0) ) - (set! (-> s4-0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> s4-0 start-pos quad) (-> obj root trans quad)) (vector-normalize-copy! (-> s4-0 move-dist) gp-0 f30-0) (let ((v1-10 s4-0)) (set! (-> v1-10 radius) 2048.0) @@ -354,7 +354,7 @@ ) 0 (-> s4-0 best-other-tri intersect) - (let ((a1-3 (-> obj root-override2 trans))) + (let ((a1-3 (-> obj root trans))) (-> a1-3 y) (let ((f0-2 (* f0-1 f30-0))) (shadow-control-method-14 @@ -476,7 +476,7 @@ ) (set! (-> self scale-timer) (the-as uint (current-time))) (cond - ((not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + ((not (logtest? (-> self fact enemy-options) (enemy-option user0))) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active)) (hover-enemy-method-141 self 0.0) ) @@ -491,12 +491,12 @@ ) (gp-1 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) - (s4-0 (-> self root-override2)) + (s4-0 (-> self root)) (s5-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 0.0 'interp)) ) (let ((s0-0 (get-point-at-percent-along-path! (-> self path) (new 'stack-no-clear 'vector) 1.0 'interp)) (s3-1 - (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) + (-> (the-as collide-shape-prim-group (-> self root root-prim)) child (-> (hover-enemy-method-152 self) nav-collide-prim-index) local-sphere @@ -512,7 +512,7 @@ (set-vector! (-> self rotation-vec) (- (vector-x-angle s2-0)) (vector-y-angle s2-0) 0.0 0.0) (hover-enemy-method-146 self) (set! (-> s4-0 trans quad) (-> s5-0 quad)) - (if (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> self fact enemy-options) (enemy-option user0)) (vector-! (-> s4-0 trans) (-> s4-0 trans) @@ -550,7 +550,7 @@ :trans (behavior () (when (hover-nav-control-method-23 (-> self hover)) (hover-enemy-method-153 self) - (if (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (if (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (hover-enemy-method-141 self 1.0) ) (go-virtual hostile) @@ -560,7 +560,7 @@ :code hover-enemy-fly-code :post (behavior () (local-vars (v1-19 enemy-flag)) - (when (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (when (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (let ((f0-1 (the float (- (current-time) (the-as int (-> self scale-timer))))) (f1-0 1200.0) ) @@ -597,11 +597,11 @@ ) (let ((gp-0 (new 'stack-no-clear 'vector)) (a0-0 *target*) - (s5-0 (-> self root-override2 trans)) + (s5-0 (-> self root trans)) ) (if a0-0 (vector-normalize! (vector-! gp-0 (get-trans a0-0 3) s5-0) 1.0) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) ) (hover-nav-control-method-10 (-> self hover) s5-0 gp-0 (the-as vector #t)) ) @@ -639,7 +639,7 @@ ) ) (set! (-> self hit-surface?) #f) - (set! (-> self knocked-start-level) (-> self root-override2 trans y)) + (set! (-> self knocked-start-level) (-> self root trans y)) (none) ) :exit (behavior () @@ -652,7 +652,7 @@ (none) ) :trans (behavior () - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (when (logtest? (-> gp-0 status) (collide-status on-surface)) (when (not (-> self hit-surface?)) (set! (-> self hit-surface?) #t) @@ -672,7 +672,7 @@ (if (and (nonzero? (-> self hit-points)) (zero? (-> self fated-time)) (>= (- (current-time) (-> self state-time)) (seconds 0.5)) - (< (-> self root-override2 trans y) (- (-> self knocked-start-level) (-> self knocked-fall-dist))) + (< (-> self root trans y) (- (-> self knocked-start-level) (-> self knocked-fall-dist))) ) (go-virtual knocked-recover) ) @@ -756,12 +756,12 @@ (logclear! (-> self mask) (process-mask actor-pause)) (logclear! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self enemy-flags) (enemy-flag check-water-backup)) - (set! (-> self root-override2 penetrate-using) (penetrate lunge vehicle knocked)) + (set! (-> self root penetrate-using) (penetrate lunge vehicle knocked)) (let ((gp-0 (-> self flying-death-transv))) (let ((a1-0 (handle->process (-> self incoming attacker-handle)))) (if a1-0 - (vector-! gp-0 (-> (the-as process-focusable a1-0) root-override trans) (-> self root-override2 trans)) - (vector-! gp-0 (-> self incoming attacker-pos) (-> self root-override2 trans)) + (vector-! gp-0 (-> (the-as process-focusable a1-0) root trans) (-> self root trans)) + (vector-! gp-0 (-> self incoming attacker-pos) (-> self root trans)) ) ) (set! (-> gp-0 y) 0.0) @@ -774,7 +774,7 @@ (vector-float*! gp-0 gp-0 (lerp 98304.0 172032.0 f30-0)) (set! (-> gp-0 y) (lerp 8192.0 98304.0 f30-0)) ) - (let ((v1-29 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((v1-29 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (cond ((< 0.0 (vector-dot gp-0 v1-29)) (set! (-> self flying-death-anim) (-> self hover-info fly-left-anim)) @@ -797,7 +797,7 @@ (-> self flying-death-spin-axis) (* 182.04445 (rand-vu-float-range -120.0 120.0)) ) - (set-gravity-length (-> self root-override2 dynam) 163840.0) + (set-gravity-length (-> self root dynam) 163840.0) (set! (-> self hover speed) 0.2) (set! (-> self flying-death-spin) 0.0) (enemy-method-103 self) @@ -805,7 +805,7 @@ (none) ) :trans (behavior () - (if (or (logtest? (-> self root-override2 status) + (if (or (logtest? (-> self root status) (collide-status touch-surface touch-wall touch-ceiling touch-actor impact-surface touch-background) ) (>= (- (current-time) (-> self state-time)) (seconds 4)) @@ -841,7 +841,7 @@ (-> self flying-death-spin-dest) (* 196608.0 (-> self clock seconds-per-frame)) ) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (let ((a2-2 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) @@ -884,7 +884,7 @@ :virtual #t :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -918,7 +918,7 @@ (defmethod hover-enemy-method-146 hover-enemy ((obj hover-enemy)) (let ((gp-0 (new 'stack-no-clear 'matrix))) (matrix-rotate-zxy! gp-0 (-> obj rotation-vec)) - (matrix->quaternion (-> obj root-override2 quat) gp-0) + (matrix->quaternion (-> obj root quat) gp-0) ) (none) ) @@ -926,7 +926,7 @@ ;; definition for method 147 of type hover-enemy ;; WARN: Return type mismatch float vs none. (defmethod hover-enemy-method-147 hover-enemy ((obj hover-enemy)) - (let ((s5-0 (-> obj root-override2 quat)) + (let ((s5-0 (-> obj root quat)) (gp-0 (-> obj rotation-vec)) ) (set! (-> gp-0 z) (quaternion-z-angle s5-0)) @@ -940,7 +940,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod hover-enemy-method-140 hover-enemy ((obj hover-enemy) (arg0 symbol)) (let ((v1-0 0) - (a0-2 (-> obj root-override2 root-prim)) + (a0-2 (-> obj root root-prim)) ) (if arg0 (set! v1-0 1) @@ -957,7 +957,7 @@ ;; WARN: Return type mismatch vector vs none. (defmethod hover-enemy-method-141 hover-enemy ((obj hover-enemy) (arg0 float)) (let ((f0-1 (* (-> obj scale) arg0))) - (set-vector! (-> obj root-override2 scale) (* 1.2 f0-1) (* 0.9 f0-1) f0-1 1.0) + (set-vector! (-> obj root scale) (* 1.2 f0-1) (* 0.9 f0-1) f0-1 1.0) ) (none) ) @@ -1004,7 +1004,7 @@ (set! (-> obj formation-entity) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (logior! (-> obj skel status) (joint-control-status sync-math)) (let ((t0-0 (hover-enemy-method-152 obj))) - (set! (-> obj hover) (new 'process 'hover-nav-control obj (-> obj root-override2) t0-0)) + (set! (-> obj hover) (new 'process 'hover-nav-control obj (-> obj root) t0-0)) ) (let ((s5-0 (-> obj offset)) (t9-6 (method-of-type res-lump get-property-struct)) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-nav-control_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-nav-control_REF.gc index 2fd964e75a..3391d727cc 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-nav-control_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/hover-nav-control_REF.gc @@ -209,7 +209,7 @@ ) (if (not (handle->process (-> obj control-handle))) (set! (-> obj control-handle) - (process->handle (the-as process (ppointer->process (process-spawn nav-network-control obj arg0)))) + (process->handle (ppointer->process (process-spawn nav-network-control obj arg0))) ) ) 0 diff --git a/test/decompiler/reference/jak2/levels/common/enemy/hover/wasp_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/hover/wasp_REF.gc index d3b2d7fb82..17de62d235 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/hover/wasp_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/hover/wasp_REF.gc @@ -351,7 +351,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod init-proj-settings! wasp-shot ((obj wasp-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'wasp-shot) (set! (-> obj max-speed) 491520.0) (set! (-> obj move) metalhead-shot-move) @@ -507,14 +507,14 @@ ;; definition for method 52 of type wasp (defmethod enemy-method-52 wasp ((obj wasp) (arg0 vector)) - (let ((s4-0 (-> obj root-override2))) + (let ((s4-0 (-> obj root))) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-2)) - (let ((gp-1 (-> obj root-override2 transv))) + (let ((gp-1 (-> obj root transv))) (let ((a1-1 (handle->process (-> obj incoming attacker-handle)))) (if a1-1 - (vector-! gp-1 (-> (the-as process-focusable a1-1) root-override trans) (-> obj root-override2 trans)) - (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root-override2 trans)) + (vector-! gp-1 (-> (the-as process-focusable a1-1) root trans) (-> obj root trans)) + (vector-! gp-1 (-> obj incoming attacker-pos) (-> obj root trans)) ) ) (set! (-> gp-1 y) 0.0) @@ -547,10 +547,10 @@ ;; WARN: Return type mismatch object vs none. (defmethod go-idle wasp ((obj wasp)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + ((logtest? (-> obj fact enemy-options) (enemy-option user0)) (go (method-of-object obj shoot-bridge-wait)) ) - ((logtest? (enemy-option ambush) (-> obj fact-info-override enemy-options)) + ((logtest? (enemy-option ambush) (-> obj fact enemy-options)) (go (method-of-object obj ambush)) ) (else @@ -577,7 +577,7 @@ ;; definition for method 129 of type wasp ;; INFO: Used lq/sq (defmethod enemy-method-129 wasp ((obj wasp)) - (if (logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> obj fact enemy-options) (enemy-option user0)) (set! (-> obj focus-pos quad) (-> obj plat-pos quad)) ((method-of-type hover-enemy enemy-method-129) obj) ) @@ -609,7 +609,7 @@ (defstate dormant (wasp) :virtual #t :enter (behavior () - (if (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> self fact enemy-options) (enemy-option user0)) (go-virtual shoot-bridge-wait) ) (none) @@ -711,7 +711,7 @@ ) :trans (behavior () (if (< (vector-vector-distance - (-> self root-override2 trans) + (-> self root trans) (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) 6.0 'interp) ) 40960.0 @@ -760,7 +760,7 @@ (set! (-> self plat-pos quad) (-> a1-1 quad)) (set! (-> self plat-pos y) (+ -8192.0 (-> self plat-pos y))) (set! (-> self focus-pos quad) (-> self plat-pos quad)) - (when (< (vector-vector-distance (-> self root-override2 trans) a1-1) + (when (< (vector-vector-distance (-> self root trans) a1-1) (- 327680.0 (* 81920.0 (the float (-> self bridge-index)))) ) (+! (-> self bridge-index) 1) @@ -811,7 +811,7 @@ (spawn-wasp-shot self gp-0 19 0.000000000000000000000000000000000000000000024 -1.0) (spawn-wasp-shot self gp-0 23 0.00000000000000000000000000000000000000000003 1.0) ) - (sound-play "wasp-fire" :position (-> self root-override2 trans)) + (sound-play "wasp-fire" :position (-> self root trans)) ) (else (enemy-event-handler proc arg1 event-type event) @@ -825,7 +825,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (sound-play "wasp-warn" :position (-> self root-override2 trans)) + (sound-play "wasp-warn" :position (-> self root trans)) (ja-no-eval :group! (-> self draw art-group data (-> self hover-info shoot-anim)) :num! (seek! (the float @@ -879,7 +879,7 @@ (defstate shoot-bridge-outro (wasp) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -892,7 +892,7 @@ (hover-nav-control-method-10 (-> self hover) v1-7 - (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-7 (-> self root-override2 trans)) 1.0) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-7 (-> self root trans)) 1.0) (the-as vector #t) ) ) @@ -901,7 +901,7 @@ ) :trans (behavior () (when (< (vector-vector-distance - (-> self root-override2 trans) + (-> self root trans) (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (get-num-segments (-> self path)) 'interp) ) 8192.0 @@ -975,7 +975,7 @@ (spawn-wasp-shot self gp-0 19 0.000000000000000000000000000000000000000000024 -1.0) (spawn-wasp-shot self gp-0 23 0.00000000000000000000000000000000000000000003 1.0) ) - (sound-play "wasp-fire" :position (-> self root-override2 trans)) + (sound-play "wasp-fire" :position (-> self root trans)) ) (else (enemy-event-handler proc arg1 event-type event) @@ -989,7 +989,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (sound-play "wasp-warn" :position (-> self root-override2 trans)) + (sound-play "wasp-warn" :position (-> self root trans)) (ja-no-eval :group! (-> self draw art-group data (-> self hover-info shoot-anim)) :num! (seek! (the float @@ -1092,7 +1092,7 @@ :code (behavior () (dispose! self) (set! (-> self hit-points) 0) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1125,7 +1125,7 @@ (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-11) a0-12 a1-8 @@ -1154,7 +1154,7 @@ :event (the-as (function process int symbol event-message-block object :behavior wasp) enemy-event-handler) :code (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1181,7 +1181,7 @@ (the-as process-focusable (when s5-0 - (let* ((a0-4 (-> obj root-override2)) + (let* ((a0-4 (-> obj root)) (s4-1 (vector+! (new 'stack-no-clear 'vector) (-> a0-4 trans) (-> a0-4 transv))) (s3-1 (vector-! (new 'stack-no-clear 'vector) s4-1 (-> obj focus-pos))) (s2-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s5-0) 0))) @@ -1243,7 +1243,7 @@ ;; definition for method 80 of type wasp (defmethod enemy-method-80 wasp ((obj wasp) (arg0 enemy-knocked-info)) - (-> obj root-override2) + (-> obj root) (>= (-> arg0 on-surface-count) 1) ) @@ -1320,12 +1320,12 @@ (-> arg0 scale) (quaternion-rotate-local-z! sv-208 a1-3 sv-192) (quaternion->matrix s5-0 sv-208) - (set! (-> s2-1 quad) (-> arg0 root-override2 scale quad)) + (set! (-> s2-1 quad) (-> arg0 root scale quad)) (scale-matrix! s5-0 s2-1 s5-0) - (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root-override2 quat))) + (let* ((s1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) s1-0 (-> arg0 root quat))) (t9-6 vector-inv-orient-by-quat!) (a0-10 (new 'stack-no-clear 'vector)) - (a2-4 (-> arg0 root-override2 quat)) + (a2-4 (-> arg0 root quat)) (v0-6 (t9-6 a0-10 sv-224 a2-4)) (f30-0 (* 2457600.0 (-> pp clock seconds-per-frame))) (f28-0 @@ -1375,7 +1375,7 @@ 0 0 (sound-group sfx) - (-> arg0 root-override2 trans) + (-> arg0 root trans) ) ) ) @@ -1517,7 +1517,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-35 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1604,9 +1604,9 @@ (set! (-> obj neck ear) (the-as uint 0)) (set! (-> obj scale) (get-rand-float-range obj 0.9 1.3)) (set! (-> obj sound-id) (new-sound-id)) - (set! (-> obj root-override2 dynam gravity y) 327680.0) - (set! (-> obj root-override2 dynam gravity-length) 327680.0) - (set! (-> obj root-override2 dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (set! (-> obj gun-jmod) (the-as joint-mod (new 'process 'joint-mod-rotate-local obj (-> obj hover-info gun-base) #t)) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/metalhead_bearer/centurion_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/metalhead_bearer/centurion_REF.gc index d9b072071e..152d61f332 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/metalhead_bearer/centurion_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/metalhead_bearer/centurion_REF.gc @@ -487,7 +487,7 @@ :walk-travel-speed (meters 1.8) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 16) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 100) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -531,8 +531,8 @@ (set! (-> a0-6 attack-id) a2-2) (set! (-> v1-10 id) a2-2) ) - (set! (-> v1-10 shove-back) (* 2.0 (-> obj enemy-info-override attack-shove-back))) - (set! (-> v1-10 shove-up) (* 2.0 (-> obj enemy-info-override attack-shove-up))) + (set! (-> v1-10 shove-back) (* 2.0 (-> obj enemy-info attack-shove-back))) + (set! (-> v1-10 shove-up) (* 2.0 (-> obj enemy-info attack-shove-up))) (set! (-> v1-10 mode) 'deadly) (set! (-> a1-2 param 1) (the-as uint v1-10)) ) @@ -640,10 +640,10 @@ (let ((s5-1 (new 'stack-no-clear 'quaternion))) (vector-z-quaternion! (new 'stack-no-clear 'vector) - (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root-override2 quat)) + (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root quat)) ) (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! s3-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s3-0 (-> obj root quat)) (let ((f30-0 (deg-diff (vector-y-angle s3-0) (vector-y-angle s1-0)))) 0.0 (new 'stack-no-clear 'vector) @@ -677,7 +677,7 @@ ) (vector-z-quaternion! (-> obj shoot-dir) - (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root-override2 quat)) + (quaternion*! (new 'stack-no-clear 'quaternion) (-> obj joint quat) (-> obj root quat)) ) 0 ) @@ -692,7 +692,7 @@ (t9-0) ) ) - (set! (-> self root-override2 root-prim specific 0) (+ (-> self root-override2 root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (set! (-> self can-take-damage?) #t) (centurion-shield-little) (set! (-> self victory-sound) (new 'static 'sound-id)) @@ -708,7 +708,7 @@ (t9-1) ) ) - (set! (-> self root-override2 root-prim specific 0) (-> self root-override2 root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (set! (-> self can-take-damage?) #f) (centurion-shield-big) (none) @@ -716,13 +716,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info victory-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override victory-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info victory-anim))) frames num-frames) -1 ) ) @@ -810,13 +807,13 @@ ) (when s0-0 (set! (-> s2-0 quad) (-> (get-trans (the-as process-focusable s0-0) 3) quad)) - (let ((s1-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) s2-0))) + (let ((s1-2 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) s2-0))) (let* ((f0-0 (vector-length s1-2)) (f0-1 (* 0.0000030517579 f0-0)) (a0-7 s2-0) ) (let ((v1-17 s2-0)) - (let ((a1-4 (-> (the-as process-focusable s0-0) root-override transv))) + (let ((a1-4 (-> (the-as process-focusable s0-0) root transv))) (let ((a2-0 f0-1)) (.mov vf7 a2-0) ) @@ -890,7 +887,7 @@ :exit (behavior () (set! (-> self first-shoot?) #f) (set! (-> self can-take-damage?) #f) - (set! (-> self root-override2 root-prim specific 0) (-> self root-override2 root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (centurion-shield-big) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) (logior! (-> self focus-status) (focus-status dangerous)) @@ -900,7 +897,7 @@ ) :code (behavior () (let ((f30-0 1.0)) - (when (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (when (logtest? (-> self fact enemy-options) (enemy-option user0)) (set! f30-0 0.75) (let ((a0-1 (handle->process (-> self focus handle)))) (if a0-1 @@ -917,18 +914,12 @@ (let ((gp-2 (handle->process (-> self focus handle)))) (when gp-2 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-2) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-2) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable gp-2) 0)) - 24576.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable gp-2) 0)) 24576.0) (go-virtual attack) ) ) @@ -936,9 +927,9 @@ (suspend) (ja :num! (seek! max f30-0)) ) - (set! (-> self root-override2 root-prim specific 0) (+ (-> self root-override2 root-prim specific 1) -1)) + (set! (-> self root root-prim specific 0) (+ (-> self root root-prim specific 1) -1)) (set! (-> self can-take-damage?) #t) - (when (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user0))) + (when (not (logtest? (-> self fact enemy-options) (enemy-option user0))) (let ((a0-20 (handle->process (-> self focus handle)))) (if a0-20 (set! (-> self target-pos quad) (-> (get-trans (the-as process-focusable a0-20) 3) quad)) @@ -973,7 +964,7 @@ (ja :num! (seek! max 0.4)) ) (set! (-> self can-take-damage?) #f) - (set! (-> self root-override2 root-prim specific 0) (-> self root-override2 root-prim specific 1)) + (set! (-> self root root-prim specific 0) (-> self root root-prim specific 1)) (ja-channel-push! 1 (seconds 0.2)) (ja-no-eval :group! centurion-shoot-end-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim centurion-shoot-end-ja) frames num-frames) -1)) f30-0) @@ -995,12 +986,10 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior centurion) enemy-event-handler) :enter (behavior () - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 prim-core action) (collide-action solid deadly) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 local-sphere w) - 10240.0 - ) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 local-sphere w) 10240.0) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-7 *game-info*) (v0-0 (+ (-> v1-7 attack-id) 1)) @@ -1011,10 +1000,10 @@ (none) ) :exit (behavior () - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 prim-core action) (collide-action solid) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 3 local-sphere w) 5120.0) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3 local-sphere w) 5120.0) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) @@ -1111,7 +1100,7 @@ ) ) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + ((logtest? (-> obj fact enemy-options) (enemy-option user0)) (set! (-> *part-id-table* 2101 init-specs 10 initial-valuef) 0.0) (set! (-> *part-id-table* 2101 init-specs 10 random-rangef) 0.0) (set! (-> *part-id-table* 2102 init-specs 10 initial-valuef) 0.0) @@ -1296,7 +1285,7 @@ (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable s5-0) 0) quad)) (let ((a0-4 gp-0)) (let ((v1-11 gp-0)) - (let ((a1-3 (-> (the-as process-focusable s5-0) root-override transv))) + (let ((a1-3 (-> (the-as process-focusable s5-0) root transv))) (let ((a2-1 0.1)) (.mov vf7 a2-1) ) @@ -1309,7 +1298,7 @@ (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) (.svf (&-> a0-4 quad) vf6) ) - (let ((f30-0 (vector-vector-xz-distance gp-0 (-> self root-override2 trans)))) + (let ((f30-0 (vector-vector-xz-distance gp-0 (-> self root trans)))) (cond ((< f30-0 24576.0) (go-virtual attack) @@ -1349,7 +1338,7 @@ (until #f (set-vector! s5-0 (get-rand-float-range self -1.0 1.0) 0.0 (get-rand-float-range self -1.0 1.0) 1.0) (vector-normalize! s5-0 f30-0) - (vector+! gp-0 (-> self root-override2 trans) s5-0) + (vector+! gp-0 (-> self root trans) s5-0) (if (centurion-method-182 self gp-0) (goto cfg-9) ) @@ -1367,11 +1356,11 @@ (let ((a0-9 (handle->process (-> self focus handle)))) (if a0-9 (set! (-> gp-1 quad) (-> (get-trans (the-as process-focusable a0-9) 0) quad)) - (vector+! gp-1 (-> self root-override2 trans) *z-vector*) + (vector+! gp-1 (-> self root trans) *z-vector*) ) ) - (let* ((a0-15 (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self root-override2 trans))) - (gp-3 (vector-! (new 'stack-no-clear 'vector) (-> self tar-pos) (-> self root-override2 trans))) + (let* ((a0-15 (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self root trans))) + (gp-3 (vector-! (new 'stack-no-clear 'vector) (-> self tar-pos) (-> self root trans))) (f28-0 (deg-diff (vector-y-angle a0-15) (vector-y-angle gp-3))) (f30-1 0.0) ) @@ -1653,7 +1642,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-27 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1699,7 +1688,7 @@ (set! (-> v1-15 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (set! (-> obj joint-enable) #f) (set! (-> obj joint) (new 'process 'joint-mod (joint-mod-mode joint-set*) obj 4)) (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x 942.08 :y -163.84 :z 1392.64 :w 163840.0)) @@ -1711,13 +1700,13 @@ 318 (new 'static 'vector :x -942.08 :y -163.84 :z 1392.64 :w 163840.0) ) - (if (logtest? (-> obj fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> obj fact enemy-options) (enemy-option user0)) (set! (-> obj hit-points) 1) ) (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag43)))) (let ((s5-1 (-> obj nav state)) - (v1-36 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (v1-36 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (set! (-> s5-1 heading quad) (-> v1-36 quad)) ) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/metalhead_brown/metalmonk_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/metalhead_brown/metalmonk_REF.gc index 0879834144..9ab0a09917 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/metalhead_brown/metalmonk_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/metalhead_brown/metalmonk_REF.gc @@ -289,7 +289,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 3) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -307,9 +307,7 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch vector vs none. (defmethod metalmonk-method-179 metalmonk ((obj metalmonk) (arg0 vector)) - (set! (-> arg0 quad) - (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root-override2 quat)) vector 2 quad) - ) + (set! (-> arg0 quad) (-> (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)) vector 2 quad)) (none) ) @@ -471,7 +469,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -512,7 +510,7 @@ (s3-1 (new 'stack-no-clear 'vector)) ) (let ((s1-0 (new 'stack-no-clear 'vector))) - (vector-! s3-1 (get-trans (the-as process-focusable a0-2) 0) (-> obj root-override2 trans)) + (vector-! s3-1 (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) (set! (-> s3-1 y) 0.0) (vector-normalize! s3-1 1.0) (set-vector! s1-0 0.0 1.0 0.0 1.0) @@ -531,8 +529,8 @@ ) ) ) - (vector-normalize! s3-1 (* 1.5 (-> obj enemy-info-override attack-shove-back))) - (set! (-> s3-1 y) (-> obj enemy-info-override attack-shove-up)) + (vector-normalize! s3-1 (* 1.5 (-> obj enemy-info attack-shove-back))) + (set! (-> s3-1 y) (-> obj enemy-info attack-shove-up)) (let ((a1-10 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-10 from) (process->ppointer self)) (set! (-> a1-10 num-params) 2) @@ -542,7 +540,7 @@ (set! (-> v1-17 id) arg2) (set! (-> v1-17 angle) 'front) (set! (-> v1-17 vector quad) (-> s3-1 quad)) - (set! (-> v1-17 mode) (-> obj enemy-info-override attack-mode)) + (set! (-> v1-17 mode) (-> obj enemy-info attack-mode)) (set! (-> a1-10 param 1) (the-as uint v1-17)) ) (when (send-event-function arg0 a1-10) @@ -556,9 +554,7 @@ ;; definition for method 84 of type metalmonk (defmethod enemy-method-84 metalmonk ((obj metalmonk) (arg0 enemy-jump-info)) (let* ((f0-0 (vector-vector-xz-distance (-> arg0 start-pos) (-> arg0 dest-pos))) - (f1-1 - (fmax (-> obj enemy-info-override jump-height-min) (* (-> obj enemy-info-override jump-height-factor) f0-0)) - ) + (f1-1 (fmax (-> obj enemy-info jump-height-min) (* (-> obj enemy-info jump-height-factor) f0-0))) (f0-3 (fmax (-> arg0 start-pos y) (-> arg0 dest-pos y))) (f0-4 (- (fmax (+ (fmin (-> arg0 start-pos y) (-> arg0 dest-pos y)) f1-1) (+ 10240.0 f0-3)) f0-3)) ) @@ -574,7 +570,7 @@ ;; definition for method 87 of type metalmonk (defmethod enemy-method-87 metalmonk ((obj metalmonk) (arg0 enemy-jump-info)) - (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info-override run-anim))) + (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info run-anim))) (v1-6 (if (> (-> obj skel active-channels) 0) (-> obj skel root-channel 0 frame-group) ) @@ -625,11 +621,11 @@ ) ) (let ((v1-4 (-> self nav))) - (set! (-> v1-4 max-rotation-rate) (* 2.0 (-> self enemy-info-override maximum-rotation-rate))) + (set! (-> v1-4 max-rotation-rate) (* 2.0 (-> self enemy-info maximum-rotation-rate))) ) 0 (let ((v1-6 (-> self nav))) - (set! (-> v1-6 turning-acceleration) (* 2.0 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-6 turning-acceleration) (* 2.0 (-> self enemy-info run-turning-acceleration))) ) 0 (none) @@ -641,11 +637,11 @@ ) ) (let ((v1-4 (-> self nav))) - (set! (-> v1-4 max-rotation-rate) (-> self enemy-info-override maximum-rotation-rate)) + (set! (-> v1-4 max-rotation-rate) (-> self enemy-info maximum-rotation-rate)) ) 0 (let ((v1-6 (-> self nav))) - (set! (-> v1-6 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-6 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (none) @@ -664,7 +660,7 @@ (let ((a1-4 (-> self nav state))) (set! (-> gp-0 quad) (-> a1-4 travel quad)) ) - (seek-toward-heading-vec! (-> self root-override2) gp-0 131072.0 (seconds 0.01)) + (seek-toward-heading-vec! (-> self root) gp-0 131072.0 (seconds 0.01)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -686,16 +682,12 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (if (and (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) (and gp-0 - (or (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 20480.0 - ) + (or (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 20480.0) (let ((v1-19 (ja-group))) (and (and v1-19 (= v1-19 metalmonk-charge0-ja)) (< (ja-frame-num 0) 3.0)) ) ) - (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 16384.0 - ) + (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 16384.0) (let ((v1-29 (ja-group))) (and v1-29 (= v1-29 metalmonk-charge1-ja)) ) @@ -795,7 +787,7 @@ (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-102 enemy-flags)))) ) (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-102 enemy-flags)))) - (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info-override callback-info)) + (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info callback-info)) ) 0 ) @@ -815,14 +807,14 @@ (metalmonk-method-180 self #t) (nav-enemy-method-169 self 6144.0 #f) (let ((v1-6 (-> self nav))) - (set! (-> v1-6 target-speed) (+ 8192.0 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-6 target-speed) (+ 8192.0 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-8 (-> self nav))) - (set! (-> v1-8 turning-acceleration) (* 4.0 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-8 turning-acceleration) (* 4.0 (-> self enemy-info run-turning-acceleration))) ) 0 - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-15 *game-info*) @@ -838,7 +830,7 @@ (metalmonk-method-180 self #f) (nav-enemy-method-168 self) (let ((v1-6 (-> self nav))) - (set! (-> v1-6 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-6 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -902,17 +894,14 @@ ) ) (let ((a0-1 (handle->process (-> self focus handle)))) - (if (and a0-1 (and (>= (- (current-time) (-> self state-time)) (seconds 0.05)) - (let ((f0-0 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable a0-1) 0) - (-> self root-override2 trans) - ) - ) - (f1-0 14336.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) - ) + (if (and a0-1 + (and (>= (- (current-time) (-> self state-time)) (seconds 0.05)) + (let ((f0-0 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable a0-1) 0) (-> self root trans))) + (f1-0 14336.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) + ) ) (react-to-focus self) ) @@ -963,7 +952,7 @@ (let ((v1-2 (ja-group))) (when (and v1-2 (or (= v1-2 metalmonk-charge0-ja) (= v1-2 metalmonk-charge1-ja))) (let ((v1-6 (-> self nav))) - (set! (-> v1-6 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-6 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (ja-no-eval :num! (seek!)) @@ -1000,7 +989,7 @@ (format 0 "ERROR: ~A has no intro path, skipping ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-at-percent-along-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-at-percent-along-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -1071,16 +1060,14 @@ ) ) (else - (let ((s4-1 (if (< (vector-dot - (the-as vector (metalmonk-method-179 obj (new 'stack-no-clear 'vector))) - (-> obj root-override2 transv) - ) - 0.0 - ) - (-> obj draw art-group data (-> *metalmonk-global-info* knocked-anim (get-rand-int obj 2))) - (-> obj draw art-group data 20) - ) + (let ((s4-1 + (if (< (vector-dot (the-as vector (metalmonk-method-179 obj (new 'stack-no-clear 'vector))) (-> obj root transv)) + 0.0 + ) + (-> obj draw art-group data (-> *metalmonk-global-info* knocked-anim (get-rand-int obj 2))) + (-> obj draw art-group data 20) ) + ) ) (ja-channel-push! 1 (seconds 0.17)) (let ((a0-38 (-> obj skel root-channel 0))) @@ -1155,7 +1142,7 @@ ;; definition for method 180 of type metalmonk ;; WARN: Return type mismatch int vs none. (defmethod metalmonk-method-180 metalmonk ((obj metalmonk) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 1) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1274,7 +1261,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-31 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1322,7 +1309,7 @@ ) 0 (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj intro-path) (new 'process 'path-control obj 'intro 0.0 (-> obj entity) #f)) (metalmonk-method-180 obj #f) (set! (-> obj high-time) 0) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/metalhead_slinger/grenadier_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/metalhead_slinger/grenadier_REF.gc index def057fb39..b5acd39d1a 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/metalhead_slinger/grenadier_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/metalhead_slinger/grenadier_REF.gc @@ -302,7 +302,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 50) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -413,7 +413,7 @@ ) ) (else - (let* ((s4-1 (-> obj root-override2)) + (let* ((s4-1 (-> obj root)) (a0-10 (get-trans (the-as process-focusable s5-0) 0)) (v1-27 (vector-! (new 'stack-no-clear 'vector) a0-10 (-> s4-1 trans))) ) @@ -469,13 +469,10 @@ (set! (-> v1-38 nav callback-info) *nav-enemy-null-callback-info*) ) 0 - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -489,13 +486,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -513,7 +507,7 @@ (set! (-> v1-100 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-100 enemy-flags)))) ) (set! (-> v1-100 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-100 enemy-flags)))) - (set! (-> v1-100 nav callback-info) (-> v1-100 enemy-info-override callback-info)) + (set! (-> v1-100 nav callback-info) (-> v1-100 enemy-info callback-info)) ) 0 (ja-no-eval :num! (loop!)) @@ -548,7 +542,7 @@ (t9-0) ) ) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) ) @@ -576,7 +570,7 @@ (let ((a0-1 (handle->process (-> self focus handle)))) (when a0-1 (let* ((s5-0 (get-trans (the-as process-focusable a0-1) 0)) - (gp-0 (-> self root-override2 trans)) + (gp-0 (-> self root trans)) (f30-0 (vector-vector-distance gp-0 s5-0)) ) (cond @@ -587,7 +581,7 @@ (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) gp-0 s5-0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s4-0 quad) (-> self root-override2 trans quad)) + (set! (-> s4-0 quad) (-> self root trans quad)) (new 'stack-no-clear 'vector) (vector-normalize! s3-1 49152.0) (cloest-point-on-mesh (-> self nav) s4-0 (vector+! s4-0 s5-0 s3-1) (the-as nav-poly #f)) @@ -610,7 +604,7 @@ ) ) (when (or (>= (- (current-time) (-> self state-time)) (rand-vu-int-range (seconds 3) (seconds 9))) - (>= 8192.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self bank final-pos))) + (>= 8192.0 (vector-vector-xz-distance (-> self root trans) (-> self bank final-pos))) ) (if (and (handle->process (-> self focus handle)) (not (logtest? (-> (the-as process-focusable (handle->process (-> self focus handle))) focus-status) @@ -654,7 +648,7 @@ ) :post (behavior () (let ((gp-0 (-> self bank))) - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> gp-0 tangent-pos)) 9830.4) + (if (< (vector-vector-xz-distance (-> self root trans) (-> gp-0 tangent-pos)) 9830.4) (set! (-> self move-pos quad) (-> gp-0 final-pos quad)) ) ) @@ -682,13 +676,13 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (none) ) :trans (behavior () - (let ((f0-0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-pos)))) + (let ((f0-0 (vector-vector-xz-distance (-> self root trans) (-> self move-pos)))) (if (or (>= 12288.0 f0-0) (>= (- (current-time) (-> self state-time)) (seconds 6))) (go-hostile self) ) @@ -745,14 +739,14 @@ (set! (-> v1-9 attack-id) a0-7) (set! (-> self attack-id) a0-7) ) - (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-13 prim-core action) (collide-action deadly)) (set! (-> v1-13 local-sphere w) 7372.8) ) (none) ) :exit (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core action) (collide-action)) (set! (-> v1-3 local-sphere w) 4096.0) ) @@ -781,7 +775,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -821,7 +815,7 @@ ) ((> (-> obj hit-points) 0) (ja-channel-push! 1 (seconds 0.067)) - (let ((a1-4 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-4 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-9 (-> obj skel root-channel 0)) ) (set! (-> a0-9 frame-group) (the-as art-joint-anim a1-4)) @@ -903,7 +897,7 @@ ) :enter (behavior () (let ((v1-1 (-> self nav state)) - (a0-1 (-> self root-override2 trans)) + (a0-1 (-> self root trans)) ) (logclear! (-> v1-1 flags) (nav-state-flag directional-mode)) (logior! (-> v1-1 flags) (nav-state-flag target-poly-dirty)) @@ -915,7 +909,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -946,13 +940,13 @@ ) :code (behavior () (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (let ((f28-0 (vector-length (-> self root-override2 transv)))) + (let ((f28-0 (vector-length (-> self root transv)))) (ja-channel-push! 1 (seconds 0.2)) (when (< 4096.0 f28-0) - (let* ((v1-8 (vector-float*! (new 'stack-no-clear 'vector) (-> self root-override2 transv) 0.3)) - (a2-2 (vector+! (new 'stack-no-clear 'vector) (-> self root-override2 trans) v1-8)) + (let* ((v1-8 (vector-float*! (new 'stack-no-clear 'vector) (-> self root transv) 0.3)) + (a2-2 (vector+! (new 'stack-no-clear 'vector) (-> self root trans) v1-8)) ) - (set! (-> self move-pos quad) (-> self root-override2 trans quad)) + (set! (-> self move-pos quad) (-> self root trans quad)) (cloest-point-on-mesh (-> self nav) (-> self move-pos) a2-2 (the-as nav-poly #f)) ) (let ((a0-10 (-> self nav state)) @@ -1029,8 +1023,7 @@ (ja-channel-push! 1 (seconds 0.067)) (let ((a0-50 (handle->process (-> self focus handle)))) (when a0-50 - (let ((f0-14 (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable a0-50) 0))) - ) + (let ((f0-14 (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable a0-50) 0)))) (cond ((< 102400.0 f0-14) (ja-no-eval :group! grenadier-throw-ja @@ -1068,7 +1061,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1092,18 +1085,13 @@ (add-debug-vector #t (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) + (-> self root trans) gp-0 (meters 6) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) ) - (add-debug-quaternion - #t - (bucket-id debug-no-zbuf1) - (-> self root-override2 trans) - (-> self root-override2 quat) - ) - (let ((f0-0 (quaternion-vector-y-angle (-> self root-override2 quat) gp-0))) + (add-debug-quaternion #t (bucket-id debug-no-zbuf1) (-> self root trans) (-> self root quat)) + (let ((f0-0 (quaternion-vector-y-angle (-> self root quat) gp-0))) (cond ((and (< -8192.0 f0-0) (>= 8192.0 f0-0)) (set! v1-10 26) @@ -1258,7 +1246,7 @@ (.sync.p) (label cfg-3) 0 - (forward-up-nopitch->quaternion (-> obj root-override2 quat) v1-3 a2-0) + (forward-up-nopitch->quaternion (-> obj root quat) v1-3 a2-0) ) (let ((v1-5 (-> *perf-stats* data 33))) (b! (zero? (-> v1-5 ctrl)) cfg-5 :delay (nop!)) @@ -1375,7 +1363,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1421,7 +1409,7 @@ (set! (-> v1-6 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj heading) (if (rand-vu-percent? 0.5) #t #f @@ -1430,7 +1418,7 @@ (set! (-> obj move-angle) 5461.3335) (set! (-> obj status-flags) (the-as uint 0)) (set! (-> obj suppress-knockaside-timer) 0) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (set! (-> obj joint) (new 'process 'joint-mod-blend-world obj 17 #f 0.0)) (logior! (-> obj joint blend-flags) (joint-mod-blend-flags rotation)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 1150) obj)) diff --git a/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc b/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc index fb93746156..c09edb7837 100644 --- a/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/enemy/spyder_REF.gc @@ -288,7 +288,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 35) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -403,7 +403,7 @@ (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) ) ) - (if (< 245760.0 (vector-vector-distance (-> obj root-override2 trans) (camera-pos))) + (if (< 245760.0 (vector-vector-distance (-> obj root trans) (camera-pos))) (setup-masks (-> obj draw) 0 16) ) (when (< (current-time) (-> obj shock-effect-end)) @@ -431,7 +431,7 @@ (defmethod spyder-method-181 spyder ((obj spyder)) (let ((a0-2 (handle->process (-> obj focus handle)))) (when a0-2 - (let* ((s5-0 (-> obj root-override2 trans)) + (let* ((s5-0 (-> obj root trans)) (s2-1 (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-2) 0) s5-0)) (f0-0 (vector-length s2-1)) (s4-0 (new 'stack-no-clear 'vector)) @@ -578,14 +578,14 @@ ;; definition for method 87 of type spyder (defmethod enemy-method-87 spyder ((obj spyder) (arg0 enemy-jump-info)) - (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info-override jump-in-air-anim)))) + (let ((s5-0 (-> obj draw art-group data (-> obj enemy-info jump-in-air-anim)))) (let ((v1-6 (if (> (-> obj skel active-channels) 0) (-> obj skel root-channel 0 frame-group) ) ) ) (cond - ((and v1-6 (= v1-6 (-> obj draw art-group data (-> obj enemy-info-override jump-wind-up-anim)))) + ((and v1-6 (= v1-6 (-> obj draw art-group data (-> obj enemy-info jump-wind-up-anim)))) (ja-channel-push! 1 0) ) (else @@ -632,7 +632,7 @@ (let ((a0-4 self)) (if (logtest? (enemy-flag enemy-flag37) (-> a0-4 enemy-flags)) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable gp-0) 0) f30-0 (seconds 0.02) @@ -666,12 +666,12 @@ (let ((a1-4 (quaternion-from-two-vectors! (new 'stack-no-clear 'quaternion) (-> obj my-up-vector) *up-vector*))) (quaternion*! s5-0 a1-4 s5-0) ) - (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> obj face-pos) (-> obj root-override2 trans))) - (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> obj face-pos) (-> obj root trans))) + (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) ) (cond ((logtest? (-> obj status-flags) 8) - (vector-! s4-1 (-> obj face-pos) (-> obj root-override2 trans)) + (vector-! s4-1 (-> obj face-pos) (-> obj root trans)) (set! (-> obj status-flags) (logand -9 (-> obj status-flags))) ) (else @@ -707,13 +707,13 @@ (let ((s4-0 (new 'stack-no-clear 'vector))) (set! (-> s4-0 quad) (-> *up-vector* quad)) (let ((s3-0 (new 'stack-no-clear 'quaternion))) - (quaternion-from-two-vectors-max-angle! s3-0 s4-0 (-> obj root-override2 gspot-normal) 4551.1113) + (quaternion-from-two-vectors-max-angle! s3-0 s4-0 (-> obj root gspot-normal) 4551.1113) (vector-orient-by-quat! s4-0 s4-0 s3-0) ) (let ((s3-1 (-> obj my-up-vector))) (vector-deg-seek s3-1 s3-1 s4-0 (* 16384.0 (-> pp clock seconds-per-frame))) (vector-normalize! s3-1 1.0) - (forward-up-nopitch->quaternion (-> obj root-override2 quat) arg0 s3-1) + (forward-up-nopitch->quaternion (-> obj root quat) arg0 s3-1) ) ) (logior! (-> obj status-flags) 1) @@ -730,8 +730,8 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (spyder-method-185 obj) - (spyder-method-184 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (spyder-method-184 obj (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) (spyder-method-182 obj) (let ((t9-6 (method-of-type nav-enemy track-target!))) @@ -758,6 +758,7 @@ ) ;; definition for method 3 of type ik-setup +;; INFO: this function exists in multiple non-identical object files (defmethod inspect ik-setup ((obj ik-setup)) (when (not obj) (set! obj obj) @@ -827,7 +828,7 @@ (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'collide-query))) (let ((v1-0 (-> s5-0 bbox)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) (a1-0 (new 'stack-no-clear 'vector)) ) (set! (-> a1-0 x) 22528.0) @@ -837,7 +838,7 @@ (vector-! (the-as vector v1-0) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) - (a0-4 (-> obj root-override2 trans)) + (a0-4 (-> obj root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 22528.0) @@ -876,7 +877,7 @@ (.svf (&-> a1-3 quad) vf6) ) (set! (-> s2-0 quad) (-> s3-0 quad)) - (set! (-> s2-0 y) (-> obj root-override2 trans y)) + (set! (-> s2-0 y) (-> obj root trans y)) (let ((a2-10 (-> s5-0 start-pos))) (let ((a0-12 s2-0)) (let ((a1-6 v1-15)) @@ -975,12 +976,12 @@ (when a0-1 (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-1) 0) quad)) - (let* ((s5-0 (-> self root-override2 trans)) + (let* ((s5-0 (-> self root trans)) (f30-0 (vector-vector-distance s5-0 gp-0)) (f0-0 (vector-vector-xz-distance s5-0 (-> self move-dest))) ) (cond - ((>= (+ 2048.0 (-> self root-override2 nav-radius)) f0-0) + ((>= (+ 2048.0 (-> self root nav-radius)) f0-0) (if (and (>= 143360.0 f30-0) (check-los? (-> self los) 0)) (go-virtual attack) ) @@ -1021,13 +1022,13 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (none) ) :trans (behavior () - (let ((f0-0 (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest)))) + (let ((f0-0 (vector-vector-xz-distance (-> self root trans) (-> self move-dest)))) (if (or (>= 4096.0 f0-0) (>= (- (current-time) (-> self state-time)) (seconds 6))) (go-hostile self) ) @@ -1037,13 +1038,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.1)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1107,7 +1105,7 @@ ) :enter (behavior () (let ((v1-1 (-> self nav state)) - (a0-1 (-> self root-override2 trans)) + (a0-1 (-> self root trans)) ) (logclear! (-> v1-1 flags) (nav-state-flag directional-mode)) (logior! (-> v1-1 flags) (nav-state-flag target-poly-dirty)) @@ -1131,7 +1129,7 @@ (none) ) :trans (behavior () - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (if (or (>= 2 (the-as int (-> self focus aware))) (not (get-enemy-target self))) @@ -1173,7 +1171,7 @@ (set! (-> s5-0 quad) (-> gp-0 quad)) (let ((f28-0 0.0)) (dotimes (s4-0 8) - (let* ((f26-0 (fmin (-> self root-override2 trans y) (-> gp-0 y))) + (let* ((f26-0 (fmin (-> self root trans y) (-> gp-0 y))) (s3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 27))) (f0-11 (fmin 40960.0 (+ -16384.0 (vector-vector-distance s3-0 gp-0)))) (s2-1 (vector-! (new 'stack-no-clear 'vector) s3-0 gp-0)) @@ -1423,7 +1421,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-28 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1468,21 +1466,21 @@ (set! (-> v1-7 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-gravity-length (-> obj root dynam) 573440.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (set! (-> obj my-up-vector quad) (-> *up-vector* quad)) (set! (-> obj status-flags) (the-as uint 4)) (if (rand-vu-percent? 0.5) (logior! (-> obj status-flags) 16) ) - (set! (-> obj start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj start-pos quad) (-> obj root trans quad)) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "spyder-talk" :fo-max 70) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "spyder-talk" :fo-max 70) (-> obj root trans)) ) (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd obstacle)) (set! (-> obj joint) (the-as joint-mod (new 'process 'joint-mod-blend-world obj 4 #t 1.0))) (set! (-> obj joint scale x) (the-as float (logior (the-as int (-> obj joint scale x)) 4))) - (let ((f30-0 (-> obj root-override2 trans y))) + (let ((f30-0 (-> obj root trans y))) (dotimes (s5-1 4) (set! (-> obj joint-ik s5-1) (new 'process 'joint-mod-ik obj (-> *spyder-ik-setup* s5-1 elbow-index) (-> *spyder-ik-setup* s5-1 hand-dist)) diff --git a/test/decompiler/reference/jak2/levels/common/entities/com-elevator_REF.gc b/test/decompiler/reference/jak2/levels/common/entities/com-elevator_REF.gc index 770a6e5eae..9f3e6a2fcb 100644 --- a/test/decompiler/reference/jak2/levels/common/entities/com-elevator_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/entities/com-elevator_REF.gc @@ -53,11 +53,11 @@ @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -75,9 +75,9 @@ ) (and (when a0-2 (let* ((v1-2 (get-trans a0-2 0)) - (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-2 (-> obj root-override trans))) + (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-2 (-> obj root trans))) ) - (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root quat)) (and (< (fabs (-> s5-2 x)) 20480.0) (< 0.0 (-> s5-2 z)) (< (-> s5-2 z) 40960.0)) ) ) @@ -94,7 +94,7 @@ ;; definition for method 49 of type com-elevator ;; WARN: Return type mismatch int vs none. (defmethod com-elevator-method-49 com-elevator ((obj com-elevator) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec obstacle pusher)) @@ -265,7 +265,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (com-elevator-method-49 obj #f) (none) diff --git a/test/decompiler/reference/jak2/levels/common/entities/gun-buoy_REF.gc b/test/decompiler/reference/jak2/levels/common/entities/gun-buoy_REF.gc index 8637c703fa..1d19c923a5 100644 --- a/test/decompiler/reference/jak2/levels/common/entities/gun-buoy_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/entities/gun-buoy_REF.gc @@ -51,7 +51,7 @@ (vf2 :class vf) ) (init-vf0-vector) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s3-0 (new 'stack-no-clear 'collide-query)) (s2-0 (-> s5-0 root-prim)) (s4-0 (new 'stack-no-clear 'vector)) @@ -107,7 +107,7 @@ ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (go (method-of-object arg0 impact)) @@ -159,9 +159,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -173,14 +173,14 @@ (defmethod init-proj-settings! gun-buoy-shot ((obj gun-buoy-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'explode) (set! (-> obj max-speed) 737280.0) (set! (-> obj move) gun-buoy-shot-move) (set! (-> obj timeout) (seconds 2.78)) (set! (-> obj damage) 1024.0) (set! (-> obj options) (logior (projectile-options deal-damage ignore-impact) (-> obj options))) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -279,7 +279,7 @@ :walk-travel-speed (meters 6) :walk-acceleration (meters 10) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 2160.0) + :maximum-rotation-rate (degrees 2160) :notice-nav-radius (meters 4) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -390,7 +390,7 @@ (cond ((logtest? (-> self flags) 1) (cloest-point-on-mesh (-> self nav) s5-0 s5-0 (the-as nav-poly #f)) - (let ((v1-14 (-> self root-override2 trans))) + (let ((v1-14 (-> self root trans))) (vector-length (vector-! (new 'stack-no-clear 'vector) v1-14 s5-0)) ) (let ((v1-17 (-> self nav state))) @@ -402,7 +402,7 @@ ) (else (let ((v1-21 (-> self nav state)) - (a0-16 (-> self root-override2 trans)) + (a0-16 (-> self root trans)) ) (logclear! (-> v1-21 flags) (nav-state-flag directional-mode)) (logior! (-> v1-21 flags) (nav-state-flag target-poly-dirty)) @@ -418,7 +418,7 @@ (s5-1 (-> self aim-dir)) ) (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> self root-override2 trans quad)) + (set! (-> s3-0 quad) (-> self root trans quad)) (set! (-> s3-0 y) (+ 4096.0 (-> s3-0 y))) (vector-! s4-1 (get-trans (the-as process-focusable gp-0) 3) s3-0) (vector-normalize! s4-1 1.0) @@ -432,15 +432,15 @@ ) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> self root-override2 trans quad)) + (set! (-> s5-2 quad) (-> self root trans quad)) (let ((gp-1 (new 'stack 'water-info))) - (water-info-init! (-> self root-override2) gp-1 (collide-action solid semi-solid)) + (water-info-init! (-> self root) gp-1 (collide-action solid semi-solid)) (get-height *ocean* s5-2 #t) (seek! (-> self y-final) (+ -3276.8 (-> gp-1 trans y)) (* 3276.8 (-> self clock seconds-per-frame))) ) ) 0 - (set! (-> self root-override2 trans y) (+ (-> self y-final) (-> self y-offset) (-> self y-bob))) + (set! (-> self root trans y) (+ (-> self y-final) (-> self y-offset) (-> self y-bob))) (nav-enemy-method-176 self) 0 (none) @@ -458,7 +458,7 @@ ) ) :enter (behavior () - (set! (-> self root-override2 trans quad) (-> self start-pos quad)) + (set! (-> self root trans quad) (-> self start-pos quad)) (set! (-> self flags) (logand -3 (-> self flags))) (set! (-> self flags) (logand -5 (-> self flags))) (none) @@ -468,7 +468,7 @@ (< 2 (the-as int (-> self focus aware))) (-> *setting-control* user-current gun-buoy) ) - (if (logtest? (-> self fact-info-override enemy-options) (enemy-option user0)) + (if (logtest? (-> self fact enemy-options) (enemy-option user0)) (logior! (-> self flags) 4) ) (go-ambush self) @@ -491,7 +491,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (nav-enemy-method-166 self) @@ -523,9 +523,9 @@ (set! (-> s5-0 y) -819.2) (let ((s3-2 (vector+! (new 'stack-no-clear 'vector) s4-0 s5-0))) (cloest-point-on-mesh (-> self nav) s3-2 s3-2 (the-as nav-poly #f)) - (set! (-> self root-override2 trans quad) (-> s3-2 quad)) + (set! (-> self root trans quad) (-> s3-2 quad)) ) - (set! (-> self y-final) (-> self root-override2 trans y)) + (set! (-> self y-final) (-> self root trans y)) (set! (-> self y-offset) (if gp-2 -36864.0 -81920.0 @@ -544,7 +544,7 @@ ) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) ) (else (go-virtual dormant-aware) @@ -578,7 +578,7 @@ ) (let ((f30-0 (- 1.0 (fabs (* 0.000012207031 (-> self y-offset)))))) (let ((f0-7 (* f30-0 f30-0))) - (set-vector! (-> self root-override2 scale) f30-0 f30-0 f30-0 1.0) + (set-vector! (-> self root scale) f30-0 f30-0 f30-0 1.0) (let ((t9-1 vector-lerp!) (a0-2 (-> self draw color-mult)) (a1-1 (new 'stack-no-clear 'vector)) @@ -619,7 +619,7 @@ (seek! (-> self y-offset) -81920.0 (* 49152.0 (-> self clock seconds-per-frame))) (let ((f30-0 (- 1.0 (fabs (* 0.000012207031 (-> self y-offset)))))) (let ((f0-5 (* f30-0 f30-0))) - (set-vector! (-> self root-override2 scale) f30-0 f30-0 f30-0 1.0) + (set-vector! (-> self root scale) f30-0 f30-0 f30-0 1.0) (let ((t9-1 vector-lerp!) (a0-2 (-> self draw color-mult)) (a1-1 (new 'stack-no-clear 'vector)) @@ -664,13 +664,10 @@ (set! f30-0 (* 2.0 f30-0)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -849,7 +846,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) @@ -1001,7 +998,7 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (with-pp - (-> obj root-override2) + (-> obj root) (let* ((s4-0 *target*) (s5-0 (if (type? s4-0 process-focusable) s4-0 @@ -1031,9 +1028,7 @@ (let* ((f30-2 1.1) (v1-10 (get-transv s5-0)) (f30-3 (* f30-2 (sqrtf (+ (* (-> v1-10 x) (-> v1-10 x)) (* (-> v1-10 z) (-> v1-10 z)))))) - (f0-8 - (vector-length (vector-! (new 'stack-no-clear 'vector) (get-trans s5-0 0) (-> obj root-override2 trans))) - ) + (f0-8 (vector-length (vector-! (new 'stack-no-clear 'vector) (get-trans s5-0 0) (-> obj root trans)))) (f0-10 (fabs (+ -81920.0 f0-8))) (f1-7 (-> obj nav target-speed)) (f0-11 (fmax f30-3 f0-10)) @@ -1063,7 +1058,7 @@ ) ) (water-control-method-10 (-> obj water)) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) ((method-of-type nav-enemy track-target!) obj) 0 @@ -1102,11 +1097,11 @@ (the-as symbol (when arg1 - (let ((s4-0 (-> obj root-override2)) + (let ((s4-0 (-> obj root)) (f30-0 (-> arg1 y)) - (f28-0 (-> obj root-override2 trans y)) + (f28-0 (-> obj root trans y)) ) - (-> obj fact-info-override) + (-> obj fact) (let ((v1-10 (or (not (and (-> obj next-state) (= (-> obj next-state name) 'dormant-aware))) (let ((s2-0 arg0)) @@ -1117,7 +1112,7 @@ (let ((v1-12 arg0)) (and v1-12 (or (focus-test? v1-12 on-water under-water) - (= (-> (the-as collide-shape-moving (-> v1-12 root-override)) ground-pat material) (pat-material waterbottom)) + (= (-> (the-as collide-shape-moving (-> v1-12 root)) ground-pat material) (pat-material waterbottom)) ) ) ) @@ -1132,7 +1127,7 @@ ) (and v1-10 (begin - (set! f30-1 (-> obj enemy-info-override notice-nav-radius)) + (set! f30-1 (-> obj enemy-info notice-nav-radius)) (set! v1-19 (if (type? arg0 target) arg0 ) @@ -1141,7 +1136,7 @@ ) (and (and v1-19 (or (focus-test? v1-19 on-water under-water) - (= (-> (the-as collide-shape-moving (-> v1-19 root-override)) ground-pat material) (pat-material waterbottom)) + (= (-> (the-as collide-shape-moving (-> v1-19 root)) ground-pat material) (pat-material waterbottom)) ) ) (let ((f0-2 f30-1)) @@ -1217,14 +1212,14 @@ (.sync.p) (label cfg-2) 0 - (forward-up-nopitch->quaternion (-> obj root-override2 quat) (-> obj aim-dir) *y-vector*) + (forward-up-nopitch->quaternion (-> obj root quat) (-> obj aim-dir) *y-vector*) (seek! (-> obj elev-angle) (- (vector-x-angle (-> obj aim-dir))) (* 10922.667 (-> pp clock seconds-per-frame)) ) (let* ((s5-1 (new 'stack-no-clear 'quaternion)) - (s4-1 (-> obj root-override2 quat)) + (s4-1 (-> obj root quat)) (f1-1 (-> obj elev-angle)) (f0-7 (fmax -728.1778 (fmin 728.1778 f1-1))) (f1-2 (- f1-1 f0-7)) @@ -1235,18 +1230,13 @@ (quaternion-normalize! (quaternion*! s4-1 s4-1 s5-1)) (quaternion-vector-angle! (the-as quaternion (-> obj gun-elev-jmod target)) *x-vector* f30-0) ) - (let* ((s2-0 (vector-inv-orient-by-quat! - (new 'stack-no-clear 'vector) - (-> obj root-override2 transv) - (-> obj root-override2 quat) - ) - ) + (let* ((s2-0 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> obj root transv) (-> obj root quat))) (v1-15 (vector-normalize-copy! (new 'stack-no-clear 'vector) s2-0 1.0)) (s3-1 (new 'stack-no-clear 'vector)) ) 0.0 (let ((s5-2 (new 'stack-no-clear 'quaternion)) - (s4-2 (-> obj root-override2 quat)) + (s4-2 (-> obj root quat)) (gp-1 (-> obj banking-quat)) ) (vector-normalize! (vector-cross! s3-1 v1-15 *y-vector*) 1.0) @@ -1334,7 +1324,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -1352,7 +1342,7 @@ (init-enemy-behaviour-and-stats! obj *gun-buoy-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) (process-entity-status! obj (entity-perm-status no-kill) #t) - (set! (-> obj start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj start-pos quad) (-> obj root trans quad)) (set! (-> obj flags) (the-as uint 0)) (set! (-> obj gun-elev-jmod) (the-as joint-mod (new 'process 'joint-mod-rotate-local obj 6 #f))) (quaternion-copy! (the-as quaternion (-> obj gun-elev-jmod target)) *unity-quaternion*) @@ -1376,7 +1366,7 @@ (quaternion-copy! (-> obj banking-quat) *unity-quaternion*) (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! s5-1 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-1 (-> obj root quat)) (set! (-> obj nav state heading quad) (-> s5-1 quad)) ) 0 @@ -1386,7 +1376,7 @@ (set-vector! (-> obj aim-dir) 0.0 0.0 1.0 0.0) (set! (-> obj splash-timer) 0) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "gun-buoy-steady" :fo-max 80) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "gun-buoy-steady" :fo-max 80) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (set! (-> obj warning-id) (the-as sound-id -1)) diff --git a/test/decompiler/reference/jak2/levels/common/entities/sew-gunturret_REF.gc b/test/decompiler/reference/jak2/levels/common/entities/sew-gunturret_REF.gc index e121dc8abb..8e4093dbbb 100644 --- a/test/decompiler/reference/jak2/levels/common/entities/sew-gunturret_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/entities/sew-gunturret_REF.gc @@ -617,7 +617,7 @@ (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj params track-joint)))) ) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 (-> obj aim-pos) (-> obj root-override2 trans)) + (vector-! s4-0 (-> obj aim-pos) (-> obj root trans)) (vector-flatten! s4-0 s4-0 (-> obj init-mat vector 1)) (vector-normalize! s4-0 1.0) (set! (-> obj desired-twist) (asin (vector-dot (the-as vector (-> obj init-mat)) s4-0))) @@ -660,7 +660,7 @@ (+! (-> obj gun-twist) (fmax -364.0889 (fmin 364.0889 (* 0.3 (- (-> obj desired-twist) (-> obj gun-twist)))))) (matrix-rotate-y! matrix (-> obj gun-twist)) (matrix*! matrix matrix (-> obj init-mat)) - (matrix->quaternion (-> obj root-override2 quat) matrix) + (matrix->quaternion (-> obj root quat) matrix) ) (+! (-> obj gun-tilt) (fmax -364.0889 (fmin 364.0889 (* 0.3 (- (-> obj desired-tilt) (-> obj gun-tilt)))))) (quaternion-axis-angle! (-> obj gun-tilt-jm quat) 1.0 0.0 0.0 (-> obj gun-tilt)) @@ -714,7 +714,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod set-aim-at-default! sew-gunturret ((obj sew-gunturret)) "Aims the turret at it's default direction. Sets `aim-pos` accordingly" - (vector+float*! (-> obj aim-pos) (-> obj root-override2 trans) (-> obj init-mat vector 2) 163840.0) + (vector+float*! (-> obj aim-pos) (-> obj root trans) (-> obj init-mat vector 2) 163840.0) 0 (none) ) @@ -794,7 +794,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (none) ) :code (behavior () @@ -930,7 +930,7 @@ :virtual #t :enter (behavior () (dispose! self) - (let ((root-prim (-> self root-override2 root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -956,7 +956,7 @@ (cleanup-for-death self) (ja-channel-set! 0) (let ((vec (new 'stack-no-clear 'vector))) - (set! (-> vec quad) (-> self root-override2 trans quad)) + (set! (-> vec quad) (-> self root trans quad)) (set! (-> vec y) (+ 10240.0 (-> vec y))) (let ((frame-counter (current-time))) (until (>= (- (current-time) frame-counter) (seconds 2)) @@ -1038,7 +1038,7 @@ (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -1057,7 +1057,7 @@ ) (else (let ((dist (vector-dot - (vector-! (new 'stack-no-clear 'vector) (get-trans proc 3) (-> obj root-override2 trans)) + (vector-! (new 'stack-no-clear 'vector) (get-trans proc 3) (-> obj root trans)) (-> obj init-mat vector 2) ) ) @@ -1155,7 +1155,7 @@ (set! (-> obj flash-state) #f) (set! (-> obj can-shoot) #t) (set! (-> obj last-hit-time) 0) - (quaternion->matrix (-> obj init-mat) (-> obj root-override2 quat)) + (quaternion->matrix (-> obj init-mat) (-> obj root quat)) (set! (-> obj activate-distance) (res-lump-float (-> obj entity) 'distance)) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/common/entities/spydroid_REF.gc b/test/decompiler/reference/jak2/levels/common/entities/spydroid_REF.gc index facf2bb34a..3197b228a6 100644 --- a/test/decompiler/reference/jak2/levels/common/entities/spydroid_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/entities/spydroid_REF.gc @@ -656,7 +656,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 16) :walk-turning-acceleration (meters 40) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -681,9 +681,9 @@ (let ((t9-0 (method-of-type nav-enemy track-target!))) (t9-0 obj) ) - (when (< (-> obj root-override2 scale x) 1.0) - (let ((f0-2 (fmin 1.0 (+ 0.025 (-> obj root-override2 scale x))))) - (set-vector! (-> obj root-override2 scale) f0-2 f0-2 f0-2 1.0) + (when (< (-> obj root scale x) 1.0) + (let ((f0-2 (fmin 1.0 (+ 0.025 (-> obj root scale x))))) + (set-vector! (-> obj root scale) f0-2 f0-2 f0-2 1.0) ) ) (let ((s5-0 (new 'stack-no-clear 'vector)) @@ -743,7 +743,7 @@ ) ) ) - (let ((f0-5 (quaternion-y-angle (-> obj root-override2 quat)))) + (let ((f0-5 (quaternion-y-angle (-> obj root quat)))) (set! (-> obj diff-angle) (- (-> obj old-y-deg) f0-5)) (cond ((< 32768.0 (-> obj diff-angle)) @@ -758,14 +758,14 @@ (set! (-> obj desire-turn) (< (+ 0.5 (* 0.00024414062 (-> obj nav state speed))) (* 0.005493164 (fabs (-> obj diff-angle)))) ) - (if (and (< (-> obj root-override2 trans y) (+ -122880.0 (-> obj floor))) + (if (and (< (-> obj root trans y) (+ -122880.0 (-> obj floor))) (-> obj next-state) (= (-> obj next-state name) 'jump) ) (deactivate obj) ) (if (and (-> obj next-state) (= (-> obj next-state name) 'jump)) - (spawn (-> obj part) (-> obj root-override2 trans)) + (spawn (-> obj part) (-> obj root trans)) ) 0 (none) @@ -800,19 +800,16 @@ (label cfg-15) (cond (v1-6 - (let ((v1-9 (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) sv-144)) + (let ((v1-9 (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) sv-144)) (s1-1 (new 'stack-no-clear 'vector)) ) (set! (-> s1-1 x) (- (-> v1-9 z))) (set! (-> s1-1 y) 0.0) (set! (-> s1-1 z) (-> v1-9 x)) (set! (-> s1-1 w) 1.0) - (let ((v1-12 (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable s0-0) root trans) - (-> obj root-override2 trans) - ) - ) + (let ((v1-12 + (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable s0-0) root trans) (-> obj root trans)) + ) ) (set! (-> s1-1 y) 0.0) (set! (-> v1-12 y) 0.0) @@ -921,7 +918,7 @@ ) ) (if (< (- (current-time) (-> self state-time)) (seconds 2)) - (spawn (-> self explode-part) (-> self root-override2 trans)) + (spawn (-> self explode-part) (-> self root trans)) ) (none) ) @@ -984,18 +981,18 @@ (set! (-> self hit-target) #f) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (let ((v1-2 (-> self nav))) - (set! (-> v1-2 target-speed) (+ 8192.0 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-2 target-speed) (+ 8192.0 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-5 (-> self nav state))) - (set! (-> v1-5 speed) (+ 8192.0 (-> self enemy-info-override run-travel-speed))) + (set! (-> v1-5 speed) (+ 8192.0 (-> self enemy-info run-travel-speed))) ) 0 (let ((v1-7 (-> self nav))) - (set! (-> v1-7 turning-acceleration) (* 4.0 (-> self enemy-info-override run-turning-acceleration))) + (set! (-> v1-7 turning-acceleration) (* 4.0 (-> self enemy-info run-turning-acceleration))) ) 0 - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-14 *game-info*) @@ -1012,7 +1009,7 @@ (logclear! (-> self enemy-flags) (enemy-flag actor-pause-backup)) (nav-enemy-method-168 self) (let ((v1-4 (-> self nav))) - (set! (-> v1-4 target-speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-4 target-speed) (-> self enemy-info run-travel-speed)) ) 0 (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -1123,15 +1120,12 @@ ) (let ((a0-1 (handle->process (-> self focus handle)))) (if (and (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) - (and a0-1 (let ((f0-0 (vector-vector-xz-distance-squared - (get-trans (the-as process-focusable a0-1) 0) - (-> self root-override2 trans) - ) - ) - (f1-0 16384.0) - ) - (< f0-0 (* f1-0 f1-0)) - ) + (and a0-1 + (let ((f0-0 (vector-vector-xz-distance-squared (get-trans (the-as process-focusable a0-1) 0) (-> self root trans))) + (f1-0 16384.0) + ) + (< f0-0 (* f1-0 f1-0)) + ) ) ) (go-virtual attack) @@ -1140,12 +1134,12 @@ (cond ((not (-> self desire-turn)) (let ((v1-23 (ja-group))) - (when (not (and v1-23 (= v1-23 (-> self draw art-group data (-> self enemy-info-override hostile-anim))))) + (when (not (and v1-23 (= v1-23 (-> self draw art-group data (-> self enemy-info hostile-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim)) :num! min) ) ) - (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info-override run-travel-speed))))) + (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info run-travel-speed))))) ) ((< 0.0 (-> self diff-angle)) (let ((v1-43 (ja-group))) @@ -1198,12 +1192,12 @@ (cond ((not (-> self desire-turn)) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info-override walk-anim))))) + (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info walk-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! min) ) ) - (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info-override run-travel-speed))))) + (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info run-travel-speed))))) ) ((< 0.0 (-> self diff-angle)) (let ((v1-27 (ja-group))) @@ -1257,12 +1251,12 @@ (cond ((not (-> self desire-turn)) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info-override walk-anim))))) + (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info walk-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! min) ) ) - (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info-override run-travel-speed))))) + (ja :num! (loop! (/ (-> self nav state speed) (* 0.5 (-> self enemy-info run-travel-speed))))) ) ((< 0.0 (-> self diff-angle)) (let ((v1-27 (ja-group))) @@ -1315,9 +1309,9 @@ (cond ((not (-> self desire-turn)) (let ((v1-7 (ja-group))) - (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (when (not (and v1-7 (= v1-7 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.1)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) :num! min) + (ja :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! min) ) ) (ja :num! (loop!)) @@ -1403,7 +1397,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1503,12 +1497,12 @@ (set-vector! (-> v1-13 twist-max) 3640.889 11832.889 0.0 1.0) (set! (-> v1-13 ignore-angle) 15473.777) ) - (set-vector! (-> obj root-override2 scale) 0.5 0.5 0.5 1.0) + (set-vector! (-> obj root scale) 0.5 0.5 0.5 1.0) (let ((v1-17 (-> obj nav))) (set! (-> v1-17 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 709) obj)) (set! (-> obj explode-part) (create-launch-control (-> *part-group-id-table* 710) obj)) diff --git a/test/decompiler/reference/jak2/levels/common/flitter_REF.gc b/test/decompiler/reference/jak2/levels/common/flitter_REF.gc index e625551387..363d19b9df 100644 --- a/test/decompiler/reference/jak2/levels/common/flitter_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/flitter_REF.gc @@ -573,7 +573,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 5) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 5) :frustration-distance (meters 12) :frustration-time (seconds 4) @@ -594,7 +594,7 @@ (camera-pos) (let* ((s3-0 (get-trans arg0 0)) (s5-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s4-0 vector 2) 1.0)) - (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 trans) s3-0) 1.0)) + (v1-7 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) s3-0) 1.0)) ) (< 0.0 (vector-dot s5-1 v1-7)) ) @@ -689,12 +689,12 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (set! (-> self base-height) (-> self root-override2 trans y)) - (let ((v1-13 (-> self root-override2 root-prim))) + (set! (-> self base-height) (-> self root trans y)) + (let ((v1-13 (-> self root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) @@ -723,7 +723,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -743,11 +743,11 @@ (suspend) ) ) - (set! (-> self root-override2 trans y) (+ -8192.0 (-> self root-override2 trans y))) + (set! (-> self root trans y) (+ -8192.0 (-> self root trans y))) (enemy-method-129 self) (let ((a0-5 (handle->process (-> self focus handle)))) (when a0-5 - (let* ((gp-2 (-> self root-override2)) + (let* ((gp-2 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-5) 0) (-> gp-2 trans)) @@ -781,7 +781,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -790,7 +790,7 @@ 0 (look-at-target! self (enemy-flag lock-focus)) (set! (-> self state-time) (current-time)) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (vector-reset! (-> gp-0 transv)) (set! (-> gp-0 transv y) (* 4096.0 (get-rand-float-range self 34.0 38.0))) ) @@ -802,7 +802,7 @@ :num! (seek! (the float (+ (-> (the-as art-joint-anim flitter-ambush-jump-ja) frames num-frames) -1))) ) (until #f - (when (< (-> self base-height) (-> self root-override2 trans y)) + (when (< (-> self base-height) (-> self root trans y)) (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) (when gp-0 (let ((t9-3 (method-of-type part-tracker activate))) @@ -823,7 +823,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-4 a1-4 @@ -845,10 +845,10 @@ ) #f (until #f - (when (< (+ 204.8 (-> self base-height)) (-> self root-override2 trans y)) - (let ((v1-40 (-> self root-override2 root-prim))) - (set! (-> v1-40 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-40 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (< (+ 204.8 (-> self base-height)) (-> self root trans y)) + (let ((v1-40 (-> self root root-prim))) + (set! (-> v1-40 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-40 prim-core collide-with) (-> self root backup-collide-with)) ) (goto cfg-11) ) @@ -859,10 +859,8 @@ #f (until #f (label cfg-11) - (if (or (and (>= 0.0 (-> self root-override2 transv y)) - (>= (+ 1638.4 (-> self base-height)) (-> self root-override2 trans y)) - ) - (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (or (and (>= 0.0 (-> self root transv y)) (>= (+ 1638.4 (-> self base-height)) (-> self root trans y))) + (logtest? (-> self root status) (collide-status on-ground)) ) (goto cfg-26) ) @@ -882,7 +880,7 @@ (ja :num! (seek!)) ) (until #f - (if (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (logtest? (-> self root status) (collide-status on-ground)) (goto cfg-33) ) (suspend) @@ -912,7 +910,7 @@ ) (when s3-0 (let* ((s5-1 (get-trans s3-0 0)) - (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root-override2 trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) s5-1 (-> obj root trans))) (f30-0 (vector-length s4-1)) ) (cond @@ -922,12 +920,12 @@ ((and (< f30-0 32768.0) (not (flitter-method-182 obj s3-0))) (go (method-of-object obj circling)) ) - ((< f30-0 (-> obj enemy-info-override notice-nav-radius)) + ((< f30-0 (-> obj enemy-info notice-nav-radius)) (set! (-> obj target-pos quad) (-> s5-1 quad)) (let ((s3-1 (new 'stack-no-clear 'vector))) (set! (-> s3-1 quad) (-> s4-1 quad)) (let ((s5-2 (new 'stack-no-clear 'vector))) - (set! (-> s5-2 quad) (-> obj root-override2 transv quad)) + (set! (-> s5-2 quad) (-> obj root transv quad)) (vector-normalize! s5-2 f30-0) (if (>= (vector-dot s3-1 s5-2) 0.98) (go (method-of-object obj attack)) @@ -939,7 +937,7 @@ (set! (-> obj target-pos quad) (-> s5-1 quad)) ) ((or (>= (- (current-time) (the-as int (-> obj last-change-dir))) (-> obj change-dir-time)) - (< (vector-vector-distance-squared (-> obj root-override2 trans) (-> obj target-pos)) 0.1) + (< (vector-vector-distance-squared (-> obj root trans) (-> obj target-pos)) 0.1) ) (set! (-> obj last-change-dir) (the-as uint (current-time))) (set! (-> obj change-dir-time) (rand-vu-int-range (seconds 0.5) (seconds 0.7))) @@ -978,7 +976,7 @@ (when (>= (- (current-time) (the-as int (-> obj amb-sound-timer))) (the int (* 300.0 (rand-vu-float-range 1.5 3.0))) ) - (sound-play "flitter-amb" :position (-> obj root-override2 trans)) + (sound-play "flitter-amb" :position (-> obj root trans)) (set! (-> obj amb-sound-timer) (the-as uint (current-time))) ) (none) @@ -991,19 +989,19 @@ (stop-looking-at-target! self) (set! (-> self skel root-channel 0 frame-group) arg0) (let ((s4-1 (enemy-method-50 self (new 'stack-no-clear 'vector))) - (s3-0 (-> self root-override2)) + (s3-0 (-> self root)) ) (when (if (type? s3-0 collide-shape-moving) s3-0 ) - (set! (-> self root-override2 transv y) 33775.48) + (set! (-> self root transv y) 33775.48) (ja :num-func num-func-identity :frame-num 0.0) (set! (-> self state-time) (current-time)) - (logclear! (-> self root-override2 status) (collide-status on-surface on-ground touch-surface)) + (logclear! (-> self root status) (collide-status on-surface on-ground touch-surface)) (until v1-29 (let ((f0-2 102400.0)) - (set! (-> self root-override2 transv x) (* (-> s4-1 x) f0-2)) - (set! (-> self root-override2 transv z) (* (-> s4-1 z) f0-2)) + (set! (-> self root transv x) (* (-> s4-1 x) f0-2)) + (set! (-> self root transv z) (* (-> s4-1 z) f0-2)) ) (suspend) (ja :num! (seek! max arg1)) @@ -1056,17 +1054,14 @@ 0 ) (let ((v1-29 (ja-group))) - (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (if (not (and v1-29 (= v1-29 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-channel-push! 1 (seconds 0.2)) ) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -1156,13 +1151,10 @@ (nav-enemy-method-166 self) (ja-channel-push! 1 (seconds 0.2)) (until #f - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override run-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info run-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override run-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info run-anim))) frames num-frames) -1 ) ) @@ -1232,7 +1224,7 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.2)) (flitter-fall-and-play-death-anim - (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) + (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) 1.0 (seconds 2) ) @@ -1244,7 +1236,7 @@ ;; definition for method 183 of type flitter (defmethod flitter-method-183 flitter ((obj flitter)) - (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root-override2 trans y)) 13926.4 25600.0) + (lerp-scale 0.0 1.0 (- (-> obj attack-pos y) (-> obj root trans y)) 13926.4 25600.0) ) ;; failed to figure out what this is: @@ -1258,7 +1250,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (sound-play "flitter-attack") @@ -1435,7 +1427,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1477,7 +1469,7 @@ 318 (new 'static 'vector :x -942.08 :y -860.16 :z 1269.76 :w 163840.0) ) - (set-gravity-length (-> obj root-override2 dynam) 491520.0) + (set-gravity-length (-> obj root dynam) 491520.0) (let* ((s4-1 "pebble1-ruins") (v1-15 (-> obj level name)) (s5-2 diff --git a/test/decompiler/reference/jak2/levels/common/grunt_REF.gc b/test/decompiler/reference/jak2/levels/common/grunt_REF.gc index 78aae3eadb..a0a6bd06dc 100644 --- a/test/decompiler/reference/jak2/levels/common/grunt_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/grunt_REF.gc @@ -385,7 +385,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 6) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 2) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -429,7 +429,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -462,10 +462,10 @@ ;; definition for method 66 of type grunt (defmethod go-ambush grunt ((obj grunt)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user10)) + ((logtest? (-> obj fact enemy-options) (enemy-option user10)) (go (method-of-object obj falling-ambush)) ) - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user11)) + ((logtest? (-> obj fact enemy-options) (enemy-option user11)) (go (method-of-object obj jumping-ambush)) ) (else @@ -485,7 +485,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -496,7 +496,7 @@ ) ) (when a0-4 - (let* ((gp-2 (-> self root-override2)) + (let* ((gp-2 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-4 0) (-> gp-2 trans)) 1.0)) (f0-0 (deg-diff (quaternion-y-angle (-> gp-2 quat)) (vector-y-angle s3-0))) ) @@ -511,7 +511,7 @@ (set! (-> v1-17 attack-id) a0-15) (set! (-> self attack-id) a0-15) ) - (let ((v1-19 (-> self root-override2 root-prim))) + (let ((v1-19 (-> self root root-prim))) (set! (-> v1-19 prim-core collide-as) (collide-spec)) (set! (-> v1-19 prim-core collide-with) (collide-spec)) ) @@ -519,9 +519,9 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -531,19 +531,16 @@ (suspend) ) ) - (let ((v1-6 (-> self root-override2 root-prim))) - (set! (-> v1-6 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-6 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-6 (-> self root root-prim))) + (set! (-> v1-6 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-6 prim-core collide-with) (-> self root backup-collide-with)) ) (sound-play "grunt-notice") (ja-channel-push! 1 0) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -555,7 +552,7 @@ (suspend) (ja :num! (seek! max 1.8)) ) - (until (logtest? (-> self root-override2 status) (collide-status on-ground touch-surface touch-wall)) + (until (logtest? (-> self root status) (collide-status on-ground touch-surface touch-wall)) (suspend) ) (go-virtual hostile) @@ -587,7 +584,7 @@ (format 0 "ERROR: ~A has no intro path, skipping jumping-ambush~%" (-> self name)) (go-virtual notice) ) - (get-point-in-path! (-> self intro-path) (-> self root-override2 trans) 0.0 'interp) + (get-point-in-path! (-> self intro-path) (-> self root trans) 0.0 'interp) (none) ) :code (behavior () @@ -736,13 +733,10 @@ 0 (nav-enemy-method-167 self) (ja-channel-push! 1 (seconds 0.3)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -755,13 +749,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -779,7 +770,7 @@ (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-171 enemy-flags)))) ) (set! (-> v1-171 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-171 enemy-flags)))) - (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info-override callback-info)) + (set! (-> v1-171 nav callback-info) (-> v1-171 enemy-info callback-info)) ) 0 ) @@ -804,7 +795,7 @@ (let ((v1-3 (get-trans gp-0 0)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-! s4-0 v1-3 (-> obj root-override2 trans)) + (vector-! s4-0 v1-3 (-> obj root trans)) (.lvf vf1 (&-> s4-0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -818,7 +809,7 @@ (f0-2 12288.0) ) (when (or (>= (* f0-2 f0-2) f30-0) (>= f28-0 f30-0)) - (let ((f26-0 (quaternion-y-angle (-> obj root-override2 quat))) + (let ((f26-0 (quaternion-y-angle (-> obj root quat))) (f0-7 (atan (-> s4-0 x) (-> s4-0 z))) (f1-0 1228.8) ) @@ -857,10 +848,9 @@ (when (and (>= gp-0 (-> self next-warn-time)) (not (logtest? (-> self draw status) (draw-control-status on-screen))) ) - (when (and a0-1 - (let ((f0-0 65536.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root-override2 trans))) - ) + (when (and a0-1 (let ((f0-0 65536.0)) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (get-trans a0-1 0) (-> self root trans))) + ) ) (sound-play "grunt-warn") (set! (-> self next-warn-time) (+ gp-0 (get-rand-int-range self 300 360))) @@ -930,12 +920,12 @@ :event (the-as (function process int symbol event-message-block object :behavior grunt) enemy-event-handler) :enter (behavior () (let ((v1-1 (-> self nav state))) - (set! (-> v1-1 speed) (-> self enemy-info-override run-travel-speed)) + (set! (-> v1-1 speed) (-> self enemy-info run-travel-speed)) ) 0 (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (logior! (-> self focus-status) (focus-status dangerous)) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let* ((v1-10 *game-info*) (v0-1 (+ (-> v1-10 attack-id) 1)) @@ -993,7 +983,7 @@ ) 0 (let ((v1-38 (-> self nav))) - (set! (-> v1-38 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-38 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((gp-1 (-> self draw art-group data (-> self charge-anim anim-index)))) @@ -1093,7 +1083,7 @@ (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable a0-9) 0) quad)) ) ) - (seek-to-point-toward-point! (-> self root-override2) (-> self focus-pos) 546133.3 (seconds 0.1)) + (seek-to-point-toward-point! (-> self root) (-> self focus-pos) 546133.3 (seconds 0.1)) (suspend) (ja :num! (seek! max f30-0)) ) @@ -1133,7 +1123,7 @@ (set! (-> v1-22 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-22 enemy-flags)))) ) (set! (-> v1-22 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-22 enemy-flags)))) - (set! (-> v1-22 nav callback-info) (-> v1-22 enemy-info-override callback-info)) + (set! (-> v1-22 nav callback-info) (-> v1-22 enemy-info callback-info)) ) 0 (let ((v1-25 self)) @@ -1145,11 +1135,11 @@ ) 0 (let ((v1-29 (-> self nav))) - (set! (-> v1-29 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> v1-29 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((v1-31 (-> self nav))) - (set! (-> v1-31 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-31 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 (let ((gp-0 (-> self draw art-group data (-> self charge-anim anim-index)))) @@ -1174,7 +1164,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-66 self)) (set! (-> v1-66 enemy-flags) (the-as enemy-flag (logclear (-> v1-66 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-66 nav callback-info) *nav-enemy-null-callback-info*) @@ -1185,7 +1175,7 @@ (set! (-> v1-71 enemy-flags) (the-as enemy-flag (logclear (-> v1-71 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((v1-77 (ja-group))) (if (not (and v1-77 (= v1-77 grunt-celebrate-start-ja))) (ja-channel-push! 1 (seconds 0.1)) @@ -1242,7 +1232,7 @@ (set! (-> v1-28 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-28 enemy-flags)))) ) (set! (-> v1-28 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-28 enemy-flags)))) - (set! (-> v1-28 nav callback-info) (-> v1-28 enemy-info-override callback-info)) + (set! (-> v1-28 nav callback-info) (-> v1-28 enemy-info callback-info)) ) 0 (let ((v1-31 self)) @@ -1254,11 +1244,11 @@ ) 0 (let ((v1-35 (-> self nav))) - (set! (-> v1-35 acceleration) (-> self enemy-info-override walk-acceleration)) + (set! (-> v1-35 acceleration) (-> self enemy-info walk-acceleration)) ) 0 (let ((v1-37 (-> self nav))) - (set! (-> v1-37 turning-acceleration) (-> self enemy-info-override walk-turning-acceleration)) + (set! (-> v1-37 turning-acceleration) (-> self enemy-info walk-turning-acceleration)) ) 0 (let ((v1-41 (ja-group))) @@ -1438,7 +1428,7 @@ ) (else (let ((s4-3 (ash 1 (-> *grunt-global-info* prev-knocked-anim-index)))) - (let ((s3-0 (-> obj root-override2))) + (let ((s3-0 (-> obj root))) (if (>= 16384.0 (fabs (deg- (quaternion-y-angle (-> s3-0 quat)) (atan (-> s3-0 transv x) (-> s3-0 transv z))))) (set! s4-3 (logior s4-3 4)) ) @@ -1528,25 +1518,25 @@ (when s5-0 (let ((gp-0 (get-trans (the-as process-focusable s5-0) 0))) (when (and (or (not (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice))) - (>= 163840.0 (vector-vector-distance (-> self root-override2 trans) gp-0)) + (>= 163840.0 (vector-vector-distance (-> self root trans) gp-0)) ) - (or (not (logtest? (-> self fact-info-override enemy-options) (enemy-option user8))) + (or (not (logtest? (-> self fact enemy-options) (enemy-option user8))) (and (not (focus-test? (the-as process-focusable s5-0) in-air)) - (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root-override2 trans y)))) + (>= 4096.0 (fabs (- (-> gp-0 y) (-> self root trans y)))) ) ) ) (cond - ((and (logtest? (-> self fact-info-override enemy-options) (enemy-option user9)) + ((and (logtest? (-> self fact enemy-options) (enemy-option user9)) (logtest? (-> self enemy-flags) (enemy-flag enable-on-notice)) ) (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector-! s5-1 gp-0 (-> self root-override2 trans)) + (vector-! s5-1 gp-0 (-> self root trans)) (let ((f0-2 32768.0) (v1-26 s5-1) ) (if (or (>= f0-2 (sqrtf (+ (* (-> v1-26 x) (-> v1-26 x)) (* (-> v1-26 z) (-> v1-26 z))))) - (>= 20024.889 (fabs (deg- (y-angle (-> self root-override2)) (atan (-> s5-1 x) (-> s5-1 z))))) + (>= 20024.889 (fabs (deg- (y-angle (-> self root)) (atan (-> s5-1 x) (-> s5-1 z))))) ) (go-virtual notice) ) @@ -1679,7 +1669,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-27 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1712,7 +1702,7 @@ (set! (-> v1-8 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (let ((s5-2 *grunt-global-info*)) (set! (-> obj patrol-anim) (-> s5-2 patrol-anim (get-rand-int obj 4))) (set! (-> obj charge-anim) (-> s5-2 charge-anim (get-rand-int obj 3))) @@ -1750,7 +1740,7 @@ ;; definition for method 116 of type grunt ;; WARN: Return type mismatch int vs none. (defmethod go-idle grunt ((obj grunt)) - (if (logtest? (-> obj fact-info-override enemy-options) (enemy-option user9)) + (if (logtest? (-> obj fact enemy-options) (enemy-option user9)) (go (method-of-object obj wait-for-focus)) (go (method-of-object obj idle)) ) diff --git a/test/decompiler/reference/jak2/levels/common/guard-projectile_REF.gc b/test/decompiler/reference/jak2/levels/common/guard-projectile_REF.gc index 54fbb6e3ed..4980b10aad 100644 --- a/test/decompiler/reference/jak2/levels/common/guard-projectile_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/guard-projectile_REF.gc @@ -392,7 +392,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -465,7 +465,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles guard-shot ((obj guard-shot)) "TODO - confirm" - (let* ((s4-0 (-> obj root-override)) + (let* ((s4-0 (-> obj root)) (v1-1 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s4-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -580,9 +580,9 @@ ) (when *traffic-manager* (let ((v1-5 (new 'stack-no-clear 'traffic-danger-info))) - (set! (-> v1-5 sphere quad) (-> self root-override trans quad)) + (set! (-> v1-5 sphere quad) (-> self root trans quad)) (set! (-> v1-5 sphere r) 40960.0) - (set! (-> v1-5 velocity quad) (-> self root-override transv quad)) + (set! (-> v1-5 velocity quad) (-> self root transv quad)) (set! (-> v1-5 notify-radius) 122880.0) (set! (-> v1-5 danger-level) 1.0) (set! (-> v1-5 decay-rate) 0.0) @@ -600,7 +600,7 @@ ;; WARN: Return type mismatch int vs none. (defun guard-shot-move ((arg0 guard-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -611,7 +611,7 @@ ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (go (method-of-object arg0 impact)) @@ -624,7 +624,7 @@ ;; definition for method 38 of type guard-shot (defmethod made-impact? guard-shot ((obj guard-shot)) "TODO - queries the collision cache, return true/false" - (let ((v1-0 (-> obj root-override)) + (let ((v1-0 (-> obj root)) (t1-0 (new 'stack-no-clear 'collide-query)) ) (let ((a0-1 t1-0)) @@ -636,7 +636,7 @@ (set! (-> a0-1 action-mask) (collide-action solid)) ) (when (fill-and-try-snap-to-surface v1-0 (-> v1-0 transv) -6144.0 0.0 -2048.0 t1-0) - (if (logtest? (-> obj root-override status) (collide-status touch-actor)) + (if (logtest? (-> obj root status) (collide-status touch-actor)) (set! (-> obj hit-actor?) #t) ) #t @@ -690,9 +690,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -704,14 +704,14 @@ (defmethod init-proj-settings! guard-shot ((obj guard-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'guard-shot) (set! (-> obj max-speed) 819200.0) (set! (-> obj move) guard-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.5)) (logior! (-> obj options) (projectile-options account-for-target-velocity)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -787,14 +787,14 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (set-collide-with! - (-> obj root-override) + (-> obj root) (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) ) - (set-collide-as! (-> obj root-override) (collide-spec enemy)) - (set! (-> obj root-override pat-ignore-mask) + (set-collide-as! (-> obj root) (collide-spec enemy)) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -825,7 +825,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-impact-particles vehicle-grenade ((obj vehicle-grenade)) "Spawns associated particles with the projectile if applicable" - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) (ja-post) 0 (none) @@ -835,7 +835,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod noop vehicle-grenade ((obj vehicle-grenade)) "Does nothing" - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) 0 (none) ) @@ -844,7 +844,7 @@ ;; WARN: Return type mismatch sound-id vs none. (defmethod play-impact-sound! vehicle-grenade ((obj vehicle-grenade)) "Plays impact sound" - (let* ((a2-0 (-> obj root-override)) + (let* ((a2-0 (-> obj root)) (v1-0 (-> a2-0 status)) ) (if (logtest? v1-0 (collide-status touch-surface)) @@ -886,8 +886,8 @@ ) :code (behavior () (let ((gp-0 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-0 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-0 spawn-quat) (-> self root-override quat)) + (set! (-> gp-0 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-0 spawn-quat) (-> self root quat)) (set! (-> gp-0 radius) (-> self blast-radius)) (set! (-> gp-0 group) (-> *part-group-id-table* 76)) (set! (-> gp-0 collide-with) @@ -897,7 +897,7 @@ (explosion-spawn self explosion gp-0) ) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-11 (-> self root-override root-prim))) + (let ((v1-11 (-> self root root-prim))) (set! (-> v1-11 prim-core collide-as) (collide-spec)) (set! (-> v1-11 prim-core collide-with) (collide-spec)) ) @@ -1032,7 +1032,7 @@ ;; definition for method 38 of type guard-lazer-shot (defmethod made-impact? guard-lazer-shot ((obj guard-lazer-shot)) "TODO - queries the collision cache, return true/false" - (let ((gp-0 (-> obj root-override)) + (let ((gp-0 (-> obj root)) (s5-0 (new 'stack-no-clear 'collide-query)) ) (let ((v1-0 s5-0)) @@ -1059,7 +1059,7 @@ ;; WARN: Return type mismatch int vs none. (defun guard-lazer-shot-move ((arg0 guard-lazer-shot)) (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) 0 @@ -1106,9 +1106,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -1123,9 +1123,9 @@ (set! (-> obj max-speed) 131072.0) (set! (-> obj timeout) (seconds 0.125)) (set! (-> obj move) guard-lazer-shot-move) - (set! (-> obj root-override dynam gravity y) 0.0) - (set! (-> obj root-override dynam gravity-length) 0.0) - (set! (-> obj root-override dynam gravity-max) 0.0) + (set! (-> obj root dynam gravity y) 0.0) + (set! (-> obj root dynam gravity-length) 0.0) + (set! (-> obj root dynam gravity-max) 0.0) 0 (none) ) diff --git a/test/decompiler/reference/jak2/levels/common/metalhead-projectile_REF.gc b/test/decompiler/reference/jak2/levels/common/metalhead-projectile_REF.gc index f788c038f0..a7d3dc68c5 100644 --- a/test/decompiler/reference/jak2/levels/common/metalhead-projectile_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/metalhead-projectile_REF.gc @@ -377,7 +377,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -442,7 +442,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles metalhead-shot ((obj metalhead-shot)) "TODO - confirm" - (let* ((s5-0 (-> obj root-override)) + (let* ((s5-0 (-> obj root)) (v1-2 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s5-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -499,7 +499,7 @@ (let ((gp-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> gp-0 command) (sound-command set-param)) (set! (-> gp-0 id) (-> obj sound-id)) - (let ((a1-1 (-> obj root-override trans))) + (let ((a1-1 (-> obj root trans))) (let ((s5-1 pp)) (when (= a1-1 #t) (if (and s5-1 (type? s5-1 process-drawable) (nonzero? (-> (the-as process-drawable s5-1) root))) @@ -525,7 +525,7 @@ ;; WARN: Return type mismatch int vs none. (defun metalhead-shot-move ((arg0 metalhead-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -589,9 +589,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -601,12 +601,12 @@ ;; INFO: Used lq/sq (defmethod init-proj-settings! metalhead-shot ((obj metalhead-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'metalhead-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalhead-shot-move) (set! (-> obj timeout) (seconds 0.767)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -769,7 +769,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -796,7 +796,7 @@ (sound-play "gren-shot-hit") ) (((projectile-options lose-altitude proj-options-2)) - (sound-play "gren-missile" :id (-> obj sound-id) :position (-> obj root-override trans)) + (sound-play "gren-missile" :id (-> obj sound-id) :position (-> obj root trans)) ) ) 0 @@ -820,7 +820,7 @@ (a1-3 (new 'stack 'collide-query)) ) 0.0 - (set! (-> a1-3 start-pos quad) (-> self root-override root-prim prim-core world-sphere quad)) + (set! (-> a1-3 start-pos quad) (-> self root root-prim prim-core world-sphere quad)) (vector-! (-> a1-3 move-dist) (the-as vector (-> (the-as collide-shape s4-1) root-prim prim-core)) @@ -831,7 +831,7 @@ (set! (-> v1-6 collide-with) (collide-spec backgnd)) (set! (-> v1-6 ignore-process0) self) (set! (-> v1-6 ignore-process1) (ppointer->process (-> self parent))) - (set! (-> v1-6 ignore-pat) (-> self root-override pat-ignore-mask)) + (set! (-> v1-6 ignore-pat) (-> self root pat-ignore-mask)) (set! (-> v1-6 action-mask) (collide-action solid)) ) (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-3) 0.0) @@ -860,7 +860,7 @@ ) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 local-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core world-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core collide-with) @@ -868,15 +868,15 @@ ) (set! (-> v1-1 prim-core collide-as) (collide-spec enemy)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (suspend) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -902,7 +902,7 @@ ;; WARN: Return type mismatch int vs none. (defmethod spawn-impact-particles metalhead-grenade-shot ((obj metalhead-grenade-shot)) "Spawns associated particles with the projectile if applicable" - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) 0 (none) ) @@ -910,15 +910,15 @@ ;; definition for function gren-canister-move ;; WARN: Return type mismatch int vs none. (defun gren-canister-move ((arg0 metalhead-grenade-shot)) - (quaternion*! (-> arg0 root-override quat) (-> arg0 root-override quat) (-> arg0 tumble-quat)) + (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> arg0 tumble-quat)) (projectile-move-fill-all-dirs arg0) (let ((s5-0 (new 'stack-no-clear 'water-info))) - (water-info-init! (-> arg0 root-override) s5-0 (collide-action solid semi-solid)) - (if (and (logtest? (-> s5-0 flags) (water-flags active)) (< (-> arg0 root-override trans y) (-> s5-0 trans y))) + (water-info-init! (-> arg0 root) s5-0 (collide-action solid semi-solid)) + (if (and (logtest? (-> s5-0 flags) (water-flags active)) (< (-> arg0 root trans y) (-> s5-0 trans y))) (go (method-of-object arg0 impact)) ) ) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) 0 @@ -977,9 +977,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -995,9 +995,9 @@ (set! (-> obj timeout) (seconds 4)) (set! (-> obj update-velocity) projectile-update-velocity-add-gravity) (set! (-> obj move) gren-canister-move) - (set! (-> obj root-override dynam gravity y) 102400.0) - (set! (-> obj root-override dynam gravity-length) 102400.0) - (set! (-> obj root-override dynam gravity-max) 102400.0) + (set! (-> obj root dynam gravity y) 102400.0) + (set! (-> obj root dynam gravity-length) 102400.0) + (set! (-> obj root dynam gravity-max) 102400.0) (let ((f0-5 1092.2667)) (quaternion-axis-angle! (-> obj tumble-quat) 1.0 0.0 0.0 f0-5) ) diff --git a/test/decompiler/reference/jak2/levels/common/races/race-h_REF.gc b/test/decompiler/reference/jak2/levels/common/races/race-h_REF.gc index 18d6d061c3..cdc0c457b3 100644 --- a/test/decompiler/reference/jak2/levels/common/races/race-h_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/races/race-h_REF.gc @@ -53,10 +53,10 @@ ;; definition of type race-racer-info (deftype race-racer-info (structure) - ((rider uint8 :offset-assert 0) - (vehicle uint8 :offset-assert 1) - (flags uint8 :offset-assert 2) - (seek-offset int8 :offset-assert 3) + ((rider uint8 :offset-assert 0) + (vehicle uint8 :offset-assert 1) + (flags racer-info-flags :offset-assert 2) + (seek-offset int8 :offset-assert 3) ) :method-count-assert 9 :size-assert #x4 @@ -82,7 +82,7 @@ (deftype race-info (basic) ((race-mesh-name string :offset-assert 4) (path-group-name string :offset-assert 8) - (task-node uint16 :offset-assert 12) + (task-node game-task-node :offset-assert 12) (mesh race-mesh :offset-assert 16) (ai-min-speed-factor float :offset-assert 20) (ai-max-speed-factor float :offset-assert 24) @@ -92,7 +92,7 @@ (finish-sphere sphere :inline :offset-assert 64) (finish-dir vector :inline :offset-assert 80) (player-intro-pos vector :inline :offset-assert 96) - (flags uint8 :offset-assert 112) + (flags race-info-flags :offset-assert 112) (score uint8 :offset-assert 113) (lap-count int8 :offset-assert 114) (racer-count int8 :offset-assert 115) @@ -109,8 +109,8 @@ (manager handle :offset-assert 144) (manager-handle-init-hack basic :offset 144) (hatch-actor-name string :offset-assert 152) - (countdown-scene basic :offset-assert 156) - (complete-continue basic :offset-assert 160) + (countdown-scene string :offset-assert 156) + (complete-continue string :offset-assert 160) (start-camera string :offset-assert 164) (go-speech uint16 :offset-assert 168) ) @@ -118,7 +118,7 @@ :size-assert #xaa :flag-assert #xa000000aa (:methods - (race-info-method-9 (_type_) none 9) + (initialize-mesh (_type_) none 9) ) ) @@ -168,30 +168,30 @@ ;; definition of type racer-state (deftype racer-state (structure) - ((position vector :inline :offset-assert 0) - (racer handle :offset-assert 16) - (flags uint8 :offset-assert 24) - (rank int8 :offset-assert 25) - (finish-count int8 :offset-assert 26) - (lap-count int8 :offset-assert 27) - (lap-quadrant int8 :offset-assert 28) - (rider uint8 :offset-assert 29) - (lap-distance float :offset-assert 32) - (lap-distance-prev float :offset-assert 36) - (pos float :offset-assert 40) - (target-pos-offset float :offset-assert 44) - (speed-factor float :offset-assert 48) - (finish-time uint32 :offset-assert 52) - (lap-start uint32 :offset-assert 56) - (best-lap-time uint32 :offset-assert 60) - (lap-time-array float 5 :offset-assert 64) - (start-position vector :inline :offset-assert 96) + ((position vector :inline :offset-assert 0) + (racer handle :offset-assert 16) + (flags racer-flags :offset-assert 24) + (rank int8 :offset-assert 25) + (finish-count int8 :offset-assert 26) + (lap-count int8 :offset-assert 27) + (lap-quadrant int8 :offset-assert 28) + (rider uint8 :offset-assert 29) + (lap-distance float :offset-assert 32) + (lap-distance-prev float :offset-assert 36) + (pos float :offset-assert 40) + (target-pos-offset float :offset-assert 44) + (speed-factor float :offset-assert 48) + (finish-time uint32 :offset-assert 52) + (lap-start uint32 :offset-assert 56) + (best-lap-time uint32 :offset-assert 60) + (lap-time-array float 5 :offset-assert 64) + (start-position vector :inline :offset-assert 96) ) :method-count-assert 14 :size-assert #x70 :flag-assert #xe00000070 (:methods - (racer-state-method-9 (_type_ race-state) none 9) + (update-lap-distance (_type_ race-state) none 9) (begin-lap (_type_ race-state) none 10) (end-lap (_type_ race-state) none 11) (print-laps (_type_ race-state string) none 12) @@ -230,29 +230,29 @@ ;; definition of type race-state (deftype race-state (structure) - ((info race-info :offset-assert 0) - (flags uint8 :offset-assert 4) - (state uint8 :offset-assert 5) - (racer-count int8 :offset-assert 6) - (finished-count int8 :offset-assert 7) - (i-player int8 :offset-assert 8) - (i-countdown int8 :offset-assert 9) - (manager handle :offset-assert 16) - (scene-player handle :offset-assert 24) - (race-signal handle :offset-assert 32) - (arrow handle :offset-assert 40) - (hud-timer handle :offset-assert 48) - (hud-lap-counter handle :offset-assert 56) - (hud-turbo-counter handle :offset-assert 64) - (hud-position handle :offset-assert 72) - (current-time uint32 :offset-assert 80) - (countdown-start-time uint32 :offset-assert 84) - (race-start-time uint32 :offset-assert 88) - (rankings int8 10 :offset-assert 92) - (target-pos float :offset-assert 104) - (suck-factor float :offset-assert 108) - (racer-array racer-state 10 :inline :offset-assert 112) - (player-intro-curve cubic-curve :inline :offset-assert 1232) + ((info race-info :offset-assert 0) + (flags race-flags :offset-assert 4) + (state race-state-enum :offset-assert 5) + (racer-count int8 :offset-assert 6) + (finished-count int8 :offset-assert 7) + (i-player int8 :offset-assert 8) + (i-countdown int8 :offset-assert 9) + (manager handle :offset-assert 16) + (scene-player handle :offset-assert 24) + (race-signal handle :offset-assert 32) + (arrow handle :offset-assert 40) + (hud-timer handle :offset-assert 48) + (hud-lap-counter handle :offset-assert 56) + (hud-turbo-counter handle :offset-assert 64) + (hud-position handle :offset-assert 72) + (current-time uint32 :offset-assert 80) + (countdown-start-time uint32 :offset-assert 84) + (race-start-time uint32 :offset-assert 88) + (rankings int8 10 :offset-assert 92) + (target-pos float :offset-assert 104) + (suck-factor float :offset-assert 108) + (racer-array racer-state 10 :inline :offset-assert 112) + (player-intro-curve cubic-curve :inline :offset-assert 1232) ) :method-count-assert 19 :size-assert #x510 @@ -260,14 +260,14 @@ (:methods (init-racers! (_type_ process-drawable) none 9) (begin-race (_type_) none 10) - (race-state-method-11 (_type_) none 11) - (race-state-method-12 (_type_) none 12) - (race-state-method-13 (_type_) none 13) - (race-state-method-14 (_type_) none 14) - (race-state-method-15 (_type_) none 15) + (update (_type_) none 11) + (update-rankings (_type_) none 12) + (debug-print-rankings (_type_) none 13) + (update-racers (_type_) none 14) + (spawn-race-signal (_type_) none 15) (initialize (_type_ process race-info) none 16) - (race-state-method-17 (_type_) none 17) - (race-state-method-18 (_type_) none 18) + (set-speech-tables! (_type_) none 17) + (setup-race (_type_) none 18) ) ) @@ -324,14 +324,14 @@ (win () _type_ :state 17) (lose () _type_ :state 18) (die () _type_ :state 19) - (race-manager-method-20 (_type_) none 20) + (update (_type_) int 20) (initialize-state (_type_) none 21) (race-manager-method-22 (_type_) none 22) - (race-manager-method-23 (_type_) none 23) - (race-manager-method-24 (_type_) none 24) - (race-manager-method-25 (_type_) none 25) - (race-manager-method-26 (_type_ float) none 26) - (race-manager-method-27 (_type_) none 27) + (initialize-race-state (_type_) none 23) + (draw-message-continue (_type_) none 24) + (draw-message-retry (_type_) none 25) + (save-score (_type_ float) none 26) + (stop-speech (_type_) none 27) ) ) diff --git a/test/decompiler/reference/jak2/levels/common/races/race-info_REF.gc b/test/decompiler/reference/jak2/levels/common/races/race-info_REF.gc new file mode 100644 index 0000000000..ab34f978b9 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/common/races/race-info_REF.gc @@ -0,0 +1,1136 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition for symbol *race-info-array*, type (array race-info) +(define *race-info-array* + (new 'static 'boxed-array :type race-info + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kierac" + :task-node (game-task-node stadium-race-class3-race) + :ai-min-speed-factor 0.75 + :ai-max-speed-factor 0.95 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x 165478.4 :z -2549350.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.6112508 :z 0.791437 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x 242892.8 :y 46284.8 :z -2453913.5 :w 1.0) + :flags (race-info-flags borrow show-tutorial) + :score #xd + :lap-count 5 + :racer-count 8 + :turbo-pad-count 12 + :decision-point-count 6 + :safe-paths #x8 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 342016.0 :y -6553.6 :z -2082816.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 305152.0 :y -8192.0 :z -2109849.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 260915.2 :y -7372.8 :z -2137292.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -800768.0 :y -5324.8 :z -2410496.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -841728.0 :y -2867.2 :z -2390835.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -908902.4 :y -10649.6 :z -2353152.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1502003.2 :y -142540.8 :z -1508147.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1462681.6 :y -145408.0 :z -1519616.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1405747.2 :y -148275.2 :z -1527808.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -277299.2 :y -154009.6 :z -1004748.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -312524.8 :y -155238.4 :z -1024409.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -346931.2 :y -155238.4 :z -1053900.8 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 3) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 1) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset -1) + (new 'static 'race-racer-info :vehicle #x4) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset -2) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset -3) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 6 + (new 'static 'race-decision-point :pos 0.0684 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.2215 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.2673 :shortcuts #x42 :safe-paths #xbd) + (new 'static 'race-decision-point :pos 0.6584 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.8121 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9291 :decision-type #x1) + ) + :level 'stadiumb + :borrow-level 'lracebf + :borrow '((ctywide 0 lracebf special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-2" + :countdown-scene #f + :complete-continue #f + :start-camera "camera-267" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kierab" + :task-node (game-task-node stadium-race-class2-race) + :ai-min-speed-factor 0.85 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x -80691.2 :y -22528.0 :z -2711142.5 :r 122880.0) + :start-dir (new 'static 'vector :x 1.0 :z -0.00000004371139 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x -347750.4 :y 46284.8 :z -2706227.2 :w 1.0) + :flags (race-info-flags pidax borrow) + :score #xc + :lap-count 5 + :racer-count 8 + :turbo-pad-count 12 + :map-index 1 + :decision-point-count 6 + :safe-paths #x81 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 298188.8 :y -21708.8 :z -2598092.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 270745.6 :y -22118.4 :z -2556723.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 233881.6 :y -20889.6 :z -2534195.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -786022.4 :y -101171.2 :z -2750054.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -748339.2 :y -101990.4 :z -2757836.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -695910.4 :y -99942.4 :z -2766028.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 502579.2 :y -139264.0 :z -3428352.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 466534.4 :y -142131.2 :z -3389849.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 444006.4 :y -139264.0 :z -3346432.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -887603.2 :y -33587.2 :z -2430566.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -848281.6 :y -22528.0 :z -2414182.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -809779.2 :y -35635.2 :z -2396569.5 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 3) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 1) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset -1) + (new 'static 'race-racer-info :rider #x1 :vehicle #x3) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset -2) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset -3) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 6 + (new 'static 'race-decision-point :pos 0.1839 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.3459 :shortcuts #x4 :safe-paths #xfb) + (new 'static 'race-decision-point :pos 0.4639 :shortcuts #x48 :safe-paths #xb3) + (new 'static 'race-decision-point :pos 0.683 :safe-paths #xff) + (new 'static 'race-decision-point :pos 0.9218 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9924 :decision-type #x1) + ) + :level 'stadiumc + :borrow-level 'lracecf + :borrow '((ctywide 0 lracecf special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-3" + :countdown-scene #f + :complete-continue #f + :start-camera "camera-265" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kieraa" + :task-node (game-task-node stadium-race-class1-race) + :ai-min-speed-factor 0.9 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x 111861.76 :y -29081.6 :z -2585108.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x 52715.52 :y 46284.8 :z -2615705.5 :w 1.0) + :flags (race-info-flags borrow) + :score #xb + :lap-count 5 + :racer-count 8 + :turbo-pad-count 15 + :map-index 2 + :decision-point-count 9 + :safe-paths #xe0 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 15 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 410419.2 :y -16384.0 :z -2307686.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 373145.6 :y -16793.6 :z -2304819.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 326860.8 :y -15564.8 :z -2313420.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -515276.8 :y -89292.8 :z -1966080.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -542720.0 :y -90112.0 :z -1980416.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -576716.8 :y -89702.4 :z -1999257.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -864665.6 :y -90112.0 :z -1139097.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -845824.0 :y -90521.6 :z -1182924.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -823296.0 :y -89292.8 :z -1234124.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1654784.0 :y -90112.0 :z -1559756.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1694515.2 :y -90112.0 :z -1561395.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1728921.6 :y -90112.0 :z -1544601.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -760627.2 :y 5324.8 :z -2664038.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -736051.2 :y -9830.4 :z -2628403.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -707379.2 :y -23756.8 :z -2597683.2 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 2) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 1) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset -1) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset -2) + (new 'static 'race-racer-info :rider #x2 :vehicle #x4 :flags (racer-info-flags hide-in-scene) :seek-offset 3) + (new 'static 'race-racer-info :vehicle #x3 :flags (racer-info-flags hide-in-scene)) + (new 'static 'race-racer-info :rider #x8 :vehicle #x3 :seek-offset -3) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 9 + (new 'static 'race-decision-point :pos 0.1858 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.4719 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.4876 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.5658 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.6664 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.7246 :shortcuts #x8 :safe-paths #xf7) + (new 'static 'race-decision-point :pos 0.7691 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.8896 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9565 :shortcuts #x2 :safe-paths #xfd) + ) + :level 'stadiumd + :borrow-level 'lracedf + :borrow '((ctywide 0 lracedf special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-1" + :countdown-scene "city-class-1-race-intro-b" + :complete-continue #f + :start-camera "camera-269" + :go-speech #x17a + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "errol" + :task-node (game-task-node city-errol-challenge-race) + :ai-min-speed-factor 0.75 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.007 + :start-sphere (new 'static 'sphere :x -237117.44 :y 40509.44 :z 5523169.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x -209592.31 :y 42639.36 :z 5495972.0 :w 1.0) + :flags (race-info-flags city-race complete-immediately) + :score #xf + :lap-count 1 + :racer-count 2 + :turbo-pad-array #f + :racer-array (new 'static 'inline-array race-racer-info 2 + (new 'static 'race-racer-info) + (new 'static 'race-racer-info :rider #x2 :vehicle #x1 :seek-offset 1) + ) + :decision-point-array #f + :level 'ctyport + :borrow-level #f + :borrow #f + :manager-handle-init-hack #f + :hatch-actor-name #f + :countdown-scene #f + :complete-continue #f + :start-camera #f + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kierac" + :task-node (game-task-node stadium-burning-bush-race-class3-resolution) + :ai-min-speed-factor 0.95 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x 165478.4 :z -2549350.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.6112508 :z 0.791437 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x 242892.8 :y 46284.8 :z -2453913.5 :w 1.0) + :flags (race-info-flags retryable borrow bbush) + :score #xd + :lap-count 5 + :racer-count 8 + :turbo-pad-count 12 + :decision-point-count 6 + :safe-paths #x8 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 342016.0 :y -6553.6 :z -2082816.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 305152.0 :y -8192.0 :z -2109849.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 260915.2 :y -7372.8 :z -2137292.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -800768.0 :y -5324.8 :z -2410496.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -841728.0 :y -2867.2 :z -2390835.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -908902.4 :y -10649.6 :z -2353152.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1502003.2 :y -142540.8 :z -1508147.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1462681.6 :y -145408.0 :z -1519616.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1405747.2 :y -148275.2 :z -1527808.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -277299.2 :y -154009.6 :z -1004748.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -312524.8 :y -155238.4 :z -1024409.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -346931.2 :y -155238.4 :z -1053900.8 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 3) + (new 'static 'race-racer-info :vehicle #x4) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset 1) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 6 + (new 'static 'race-decision-point :pos 0.0684 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.2215 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.2673 :shortcuts #x42 :safe-paths #xbd) + (new 'static 'race-decision-point :pos 0.6584 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.8121 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9291 :decision-type #x1) + ) + :level 'stadiumb + :borrow-level 'lracebf + :borrow '((ctywide 0 lracebf special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-2" + :countdown-scene #f + :complete-continue "stadiumb-race-fail" + :start-camera "camera-267" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kierab" + :task-node (game-task-node stadium-burning-bush-race-class2-resolution) + :ai-min-speed-factor 0.95 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x -80691.2 :y -22528.0 :z -2711142.5 :r 122880.0) + :start-dir (new 'static 'vector :x 1.0 :z -0.00000004371139 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x -347750.4 :y 46284.8 :z -2706227.2 :w 1.0) + :flags (race-info-flags retryable borrow bbush) + :score #xc + :lap-count 5 + :racer-count 8 + :turbo-pad-count 12 + :map-index 1 + :decision-point-count 6 + :safe-paths #x81 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 298188.8 :y -21708.8 :z -2598092.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 270745.6 :y -22118.4 :z -2556723.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 233881.6 :y -20889.6 :z -2534195.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -786022.4 :y -101171.2 :z -2750054.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -748339.2 :y -101990.4 :z -2757836.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -695910.4 :y -99942.4 :z -2766028.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 502579.2 :y -139264.0 :z -3428352.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 466534.4 :y -142131.2 :z -3389849.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 444006.4 :y -139264.0 :z -3346432.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -887603.2 :y -33587.2 :z -2430566.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -848281.6 :y -22528.0 :z -2414182.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -809779.2 :y -35635.2 :z -2396569.5 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 3) + (new 'static 'race-racer-info :vehicle #x3) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset 1) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 6 + (new 'static 'race-decision-point :pos 0.1839 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.3459 :shortcuts #x4 :safe-paths #xfb) + (new 'static 'race-decision-point :pos 0.4639 :shortcuts #x48 :safe-paths #xb3) + (new 'static 'race-decision-point :pos 0.683 :safe-paths #xff) + (new 'static 'race-decision-point :pos 0.9218 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9924 :decision-type #x1) + ) + :level 'stadiumc + :borrow-level 'lracecf + :borrow '((ctywide 0 lracecf special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-3" + :countdown-scene #f + :complete-continue "stadiumc-race-fail" + :start-camera "camera-265" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kieraa" + :task-node (game-task-node stadium-burning-bush-race-class1-resolution) + :ai-min-speed-factor 0.95 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x 111861.76 :y -29081.6 :z -2585108.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x 52715.52 :y 46284.8 :z -2615705.5 :w 1.0) + :flags (race-info-flags retryable borrow bbush) + :score #xb + :lap-count 5 + :racer-count 8 + :turbo-pad-count 15 + :map-index 2 + :decision-point-count 9 + :safe-paths #xe0 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 15 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 410419.2 :y -16384.0 :z -2307686.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 373145.6 :y -16793.6 :z -2304819.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 326860.8 :y -15564.8 :z -2313420.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -515276.8 :y -89292.8 :z -1966080.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -542720.0 :y -90112.0 :z -1980416.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -576716.8 :y -89702.4 :z -1999257.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -864665.6 :y -90112.0 :z -1139097.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -845824.0 :y -90521.6 :z -1182924.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -823296.0 :y -89292.8 :z -1234124.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1654784.0 :y -90112.0 :z -1559756.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1694515.2 :y -90112.0 :z -1561395.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1728921.6 :y -90112.0 :z -1544601.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -760627.2 :y 5324.8 :z -2664038.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -736051.2 :y -9830.4 :z -2628403.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -707379.2 :y -23756.8 :z -2597683.2 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 3) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :vehicle #x3) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset 1) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 9 + (new 'static 'race-decision-point :pos 0.1858 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.4719 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.4876 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.5658 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.6664 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.7246 :shortcuts #x8 :safe-paths #xf7) + (new 'static 'race-decision-point :pos 0.7691 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.8896 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9565 :shortcuts #x2 :safe-paths #xfd) + ) + :level 'stadiumd + :borrow-level 'lracedf + :borrow '((ctywide 0 lracedf special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-1" + :countdown-scene #f + :complete-continue "stadiumd-race-fail" + :start-camera "camera-269" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "errol" + :task-node (game-task-node city-burning-bush-race-errol-resolution) + :ai-min-speed-factor 0.9 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.007 + :start-sphere (new 'static 'sphere :x -237117.44 :y 40509.44 :z 5523169.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x -209592.31 :y 42639.36 :z 5495972.0 :w 1.0) + :flags (race-info-flags city-race retryable bbush) + :score #xf + :lap-count 1 + :racer-count 2 + :turbo-pad-array #f + :racer-array (new 'static 'inline-array race-racer-info 2 + (new 'static 'race-racer-info :vehicle #x1) + (new 'static 'race-racer-info :rider #x3 :seek-offset 1) + ) + :decision-point-array #f + :level 'ctyport + :borrow-level #f + :borrow #f + :manager-handle-init-hack #f + :hatch-actor-name #f + :countdown-scene #f + :complete-continue "ctyport-burning-bush" + :start-camera #f + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "bbushport" + :task-node (game-task-node city-burning-bush-race-port-resolution) + :ai-min-speed-factor 0.95 + :ai-max-speed-factor 1.0 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x -237117.44 :y 40509.44 :z 5523169.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x -209592.31 :y 42639.36 :z 5495972.0 :w 1.0) + :flags (race-info-flags city-race retryable bbush) + :score #xe + :lap-count 3 + :racer-count 2 + :turbo-pad-array #f + :racer-array (new 'static 'inline-array race-racer-info 2 + (new 'static 'race-racer-info :vehicle #x1) + (new 'static 'race-racer-info :rider #x3 :seek-offset 1) + ) + :decision-point-array #f + :level 'ctyport + :borrow-level #f + :borrow #f + :manager-handle-init-hack #f + :hatch-actor-name #f + :countdown-scene #f + :complete-continue "ctyport-burning-bush-3" + :start-camera #f + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kieracr" + :task-node (game-task-node stadium-burning-bush-race-class3-r-resolution) + :ai-min-speed-factor 1.0 + :ai-max-speed-factor 1.01 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x 165478.4 :z -2549350.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.6112508 :z 0.791437 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x 242892.8 :y 46284.8 :z -2453913.5 :w 1.0) + :flags (race-info-flags retryable borrow bbush) + :score #x12 + :lap-count 5 + :racer-count 8 + :turbo-pad-count 12 + :decision-point-count 5 + :safe-paths #x2 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 342016.0 :y -6553.6 :z -2082816.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 305152.0 :y -8192.0 :z -2109849.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 260915.2 :y -7372.8 :z -2137292.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -800768.0 :y -5324.8 :z -2410496.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -841728.0 :y -2867.2 :z -2390835.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -908902.4 :y -10649.6 :z -2353152.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1502003.2 :y -142540.8 :z -1508147.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1462681.6 :y -145408.0 :z -1519616.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1405747.2 :y -148275.2 :z -1527808.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -277299.2 :y -154009.6 :z -1004748.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -312524.8 :y -155238.4 :z -1024409.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -346931.2 :y -155238.4 :z -1053900.8 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 1) + (new 'static 'race-racer-info :vehicle #x4) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset 3) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 5 + (new 'static 'race-decision-point :pos 0.2644 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.647 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.7778 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9424 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9537 :decision-type #x1) + ) + :level 'stadiumb + :borrow-level 'lracebb + :borrow '((ctywide 0 lracebb special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-2" + :countdown-scene #f + :complete-continue "stadiumb-race-fail" + :start-camera "camera-266" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kierabr" + :task-node (game-task-node stadium-burning-bush-race-class2-r-resolution) + :ai-min-speed-factor 1.0 + :ai-max-speed-factor 1.01 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x -80691.2 :y -22528.0 :z -2711142.5 :r 122880.0) + :start-dir (new 'static 'vector :x 1.0 :z -0.00000004371139 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x -347750.4 :y 46284.8 :z -2706227.2 :w 1.0) + :flags (race-info-flags retryable borrow bbush) + :score #x11 + :lap-count 5 + :racer-count 8 + :turbo-pad-count 12 + :map-index 1 + :decision-point-count 5 + :safe-paths #x24 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 12 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 298188.8 :y -21708.8 :z -2598092.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 270745.6 :y -22118.4 :z -2556723.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 233881.6 :y -20889.6 :z -2534195.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -786022.4 :y -101171.2 :z -2750054.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -748339.2 :y -101990.4 :z -2757836.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -695910.4 :y -99942.4 :z -2766028.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 502579.2 :y -139264.0 :z -3428352.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 466534.4 :y -142131.2 :z -3389849.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 444006.4 :y -139264.0 :z -3346432.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -887603.2 :y -33587.2 :z -2430566.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -848281.6 :y -22528.0 :z -2414182.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -809779.2 :y -35635.2 :z -2396569.5 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 1) + (new 'static 'race-racer-info :vehicle #x3) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset 3) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 5 + (new 'static 'race-decision-point :pos 0.1907 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.6802 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.8571 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9185 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9759 :decision-type #x1) + ) + :level 'stadiumc + :borrow-level 'lracecb + :borrow '((ctywide 0 lracecb special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-3" + :countdown-scene #f + :complete-continue "stadiumc-race-fail" + :start-camera "camera-264" + ) + (new 'static 'race-info + :race-mesh-name "race-mesh-1" + :path-group-name "kieraar" + :task-node (game-task-node stadium-burning-bush-race-class1-r-resolution) + :ai-min-speed-factor 1.0 + :ai-max-speed-factor 1.05 + :ai-spread-factor 0.03 + :start-sphere (new 'static 'sphere :x 111861.76 :y -29081.6 :z -2585108.5 :r 122880.0) + :start-dir (new 'static 'vector :x 0.9396926 :z 0.34202015 :w 1.0) + :finish-dir (new 'static 'vector :z 1.0 :w 1.0) + :player-intro-pos (new 'static 'vector :x 52715.52 :y 46284.8 :z -2615705.5 :w 1.0) + :flags (race-info-flags retryable borrow bbush) + :score #x10 + :lap-count 5 + :racer-count 8 + :turbo-pad-count 15 + :map-index 2 + :decision-point-count 6 + :safe-paths #x20 + :turbo-pad-array (new 'static 'inline-array race-turbo-pad 15 + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 410419.2 :y -16384.0 :z -2307686.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 373145.6 :y -16793.6 :z -2304819.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x 326860.8 :y -15564.8 :z -2313420.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -515276.8 :y -89292.8 :z -1966080.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -542720.0 :y -90112.0 :z -1980416.0 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -576716.8 :y -89702.4 :z -1999257.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -864665.6 :y -90112.0 :z -1139097.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -845824.0 :y -90521.6 :z -1182924.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -823296.0 :y -89292.8 :z -1234124.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1654784.0 :y -90112.0 :z -1559756.8 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1694515.2 :y -90112.0 :z -1561395.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -1728921.6 :y -90112.0 :z -1544601.6 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -760627.2 :y 5324.8 :z -2664038.5 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -736051.2 :y -9830.4 :z -2628403.2 :w 1.0)) + (new 'static 'race-turbo-pad :position (new 'static 'vector :x -707379.2 :y -23756.8 :z -2597683.2 :w 1.0)) + ) + :racer-array (new 'static 'inline-array race-racer-info 8 + (new 'static 'race-racer-info :rider #x3 :vehicle #x3 :seek-offset 7) + (new 'static 'race-racer-info :rider #x4 :vehicle #x4 :seek-offset 6) + (new 'static 'race-racer-info :rider #x5 :vehicle #x3 :seek-offset 5) + (new 'static 'race-racer-info :rider #x6 :vehicle #x4 :seek-offset 4) + (new 'static 'race-racer-info :rider #x7 :vehicle #x4 :seek-offset 1) + (new 'static 'race-racer-info :rider #x8 :vehicle #x4 :seek-offset 2) + (new 'static 'race-racer-info :vehicle #x3) + (new 'static 'race-racer-info :rider #x9 :vehicle #x3 :seek-offset 3) + ) + :decision-point-array (new 'static 'inline-array race-decision-point 6 + (new 'static 'race-decision-point :pos 0.007 :shortcuts #x40 :safe-paths #xbf) + (new 'static 'race-decision-point :pos 0.108 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.415 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.7454 :shortcuts #x80 :safe-paths #x7f) + (new 'static 'race-decision-point :pos 0.9401 :decision-type #x1) + (new 'static 'race-decision-point :pos 0.9809 :decision-type #x1) + ) + :level 'stadiumd + :borrow-level 'lracedb + :borrow '((ctywide 0 lracedb special) (stadium 0 lracelit display)) + :manager-handle-init-hack #f + :hatch-actor-name "stdmb-race-hatch-1" + :countdown-scene #f + :complete-continue "stadiumd-race-fail" + :start-camera "camera-268" + ) + ) + ) + +;; definition for method 17 of type race-state +;; WARN: Return type mismatch int vs none. +(defmethod set-speech-tables! race-state ((obj race-state)) + (speech-table-set! + *speech-control* + (speech-type speech-type-30) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "jak001" "jak004" "jak006" "jak037") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-31) + (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-32) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "jak013" "jak033") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-33) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) + :list (new 'static 'boxed-array :type string + "ds177" + "ds180" + "ds183" + "jak015" + "jak016" + "jak017" + "jak018" + "jak020" + "jak021" + "jak023" + "jak039" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-34) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 0.1) + :max-delay (seconds 0.1) + :list (new 'static 'boxed-array :type string + "ds177" + "ds178" + "ds186" + "ds180" + "ds183" + "ds193" + "ds210" + "ds198" + "jak012" + "jak014" + "jak028" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-35) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "jak024" "jak026") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-36) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ds174" + "ds175" + "ds176" + "ds179" + "ds184" + "ds185" + "ds187" + "ds188" + "ds199" + "ds217" + "jak002" + "jak005" + "jak011" + "jak025" + "jak030" + "jak031" + "jak034" + "jak042" + "jak010" + "jak009" + "jak027" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-37) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "jak003" "jak007" "jak008") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-38) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "jak001" "jak002" "jak003" "jak007") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-39) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds189" "ds190" "ds173" "ds174" "ds175" "ds176" "ds179") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-40) + (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds214" "ds215" "ds216") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-41) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds200") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-42) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds177" "ds180" "ds183") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-43) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds177" "ds178" "ds186" "ds193" "ds210" "ds196" "ds197" "ds198") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-44) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ds184" + "ds185" + "ds194" + "ds201" + "ds202" + "ds204" + "ds205" + "ds206" + "ds211" + "ds212" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-45) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ds174" + "ds175" + "ds176" + "ds179" + "ds184" + "ds185" + "ds199" + "ds209" + "ds207" + "ds208" + "ds191" + "ds187" + "ds188" + "ds195" + "ds203" + "ds217" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-46) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds181" "ds218") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-47) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ds213") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-48) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero043" + "ero044" + "ero045" + "ero047" + "ero002" + "ero009" + "ero011" + "ero004" + "ero048" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-49) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero032" + "ero033" + "ero034" + "ero029" + "ero031" + "ero065" + "ero066" + "ero067" + "ero039" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-50) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero077" + "ero078" + "ero079" + "ero096" + "ero097" + "ero098" + "ero099" + "ero100" + "ero101" + "ero102" + "ero103" + "ero104" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-52) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero003" + "ero005" + "ero006" + "ero007" + "ero008" + "ero010" + "ero014" + "ero015" + "ero017" + "ero018" + "ero019" + "ero023" + "ero024" + "ero016" + "ero012" + "ero013" + "ero020" + "ero025" + "ero021" + "ero022" + "ero035" + "ero036" + "ero026" + "ero027" + "ero028" + "ero030" + "ero049" + "ero050" + "ero051" + "ero052" + "ero058" + "ero060" + "ero061" + "ero062" + "ero068" + "ero071" + "ero072" + "ero080" + "ero081" + "ero059" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-53) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero001" + "ero037" + "ero038" + "ero064" + "ero053" + "ero054" + "ero055" + "ero056" + "ero057" + "ero075" + "ero076" + "ero008" + "ero010" + "ero014" + "ero015" + "ero050" + "ero051" + "ero052" + "ero058" + "ero060" + "ero061" + "ero062" + "ero068" + "ero071" + "ero072" + "ero080" + "ero081" + "ero059" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-54) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ero040" "ero041" "ero042" "ero069" "ero070") + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-55) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "ero082" + "ero083" + "ero084" + "ero085" + "ero086" + "ero087" + "ero088" + "ero089" + "ero090" + "ero091" + "ero092" + "ero093" + "ero094" + "ero095" + ) + ) + ) + (speech-table-set! + *speech-control* + (speech-type speech-type-56) + (new 'static 'speech-type-info + :flags (speech-type-flag random-order) + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string "ero073") + ) + ) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/common/races/race-manager_REF.gc b/test/decompiler/reference/jak2/levels/common/races/race-manager_REF.gc index d27807898e..f86063aecb 100644 --- a/test/decompiler/reference/jak2/levels/common/races/race-manager_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/races/race-manager_REF.gc @@ -48,7 +48,7 @@ ;; definition for method 9 of type race-info ;; WARN: Return type mismatch int vs none. -(defmethod race-info-method-9 race-info ((obj race-info)) +(defmethod initialize-mesh race-info ((obj race-info)) (let ((v1-0 (entity-by-name (-> obj race-mesh-name)))) (cond (v1-0 @@ -82,7 +82,7 @@ (f1-2 163840.0) ) (if (< f0-18 (* f1-2 f1-2)) - (logior! (-> gp-0 flags) 1) + (logior! (-> gp-0 flags) (race-mesh-flags racemeshflag-0)) ) ) ) @@ -102,7 +102,7 @@ (defmethod begin-lap racer-state ((obj racer-state) (arg0 race-state)) (format #t "begin-lap racer ~d~%" (-> obj rank)) (set! (-> obj lap-start) (-> arg0 current-time)) - (logior! (-> obj flags) 1) + (logior! (-> obj flags) (racer-flags in-race)) 0 (none) ) @@ -126,7 +126,7 @@ (set! (-> obj lap-time-array 0) (the-as float v1-5)) ) (when (= (-> obj lap-count) (-> arg0 info lap-count)) - (logior! (-> obj flags) 2) + (logior! (-> obj flags) (racer-flags finished)) (set! (-> obj finish-time) (-> arg0 current-time)) (set! (-> obj finish-count) (-> arg0 finished-count)) (+! (-> arg0 finished-count) 1) @@ -138,27 +138,15 @@ (cond ((zero? v1-28) (format #t "racer-state::end-lap: play speech race-jak-win~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-1 speech-type-2 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-38)) ) ((= v1-28 1) (format #t "racer-state::end-lap: play speech race-daxter-win~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-0 speech-type-1 speech-type-2 speech-type-3 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-47)) ) ((= v1-28 2) (format #t "racer-state::end-lap: play speech race-errol-win~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-0 speech-type-1 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-55)) ) ) ) @@ -167,11 +155,7 @@ (case (-> obj rider) ((2) (format #t "racer-state::end-lap: play speech race-errol-lose~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s4-0) - (speech-type speech-type-3 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s4-0) (speech-type speech-type-56)) ) ) ) @@ -185,23 +169,15 @@ (cond ((zero? v1-47) (format #t "racer-state::end-lap: play speech race-jak-last-lap~%") - (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-5)) + (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-32)) ) ((= v1-47 1) (format #t "racer-state::end-lap: play speech race-daxter-last-lap~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s5-1) - (speech-type speech-type-0 speech-type-3 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-41)) ) ((= v1-47 2) (format #t "racer-state::end-lap: play speech race-errol-last-lap~%") - (speech-control-method-12 - *speech-control* - (the-as process-drawable s5-1) - (speech-type speech-type-0 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* (the-as process-drawable s5-1) (speech-type speech-type-49)) ) ) ) @@ -213,7 +189,7 @@ ;; definition for method 9 of type racer-state ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. -(defmethod racer-state-method-9 racer-state ((obj racer-state) (arg0 race-state)) +(defmethod update-lap-distance racer-state ((obj racer-state) (arg0 race-state)) (local-vars (a0-29 float)) (with-pp (rlet ((acc :class vf) @@ -228,10 +204,10 @@ (cond (v1-2 (if (focus-test? (the-as process-focusable v1-2) dead inactive) - (logior! (-> obj flags) 4) + (logior! (-> obj flags) (racer-flags dead)) ) - (set! (-> s5-0 vector 0 quad) (-> (the-as process-focusable v1-2) root-override trans quad)) - (when (not (logtest? (-> obj flags) 6)) + (set! (-> s5-0 vector 0 quad) (-> (the-as process-focusable v1-2) root trans quad)) + (when (not (logtest? (-> obj flags) (racer-flags finished dead))) (let ((s3-0 (new 'stack-no-clear 'race-mesh-slice-query))) (set! (-> s3-0 search-sphere quad) (-> s5-0 vector 0 quad)) (set! (-> s3-0 search-sphere r) 0.0) @@ -240,23 +216,23 @@ (cond ((>= (-> s3-0 slice-id) 0) (set! (-> obj lap-distance) (-> s3-0 lap-dist)) - (if (not (logtest? (-> obj flags) 64)) + (if (not (logtest? (-> obj flags) (racer-flags on-track))) (set! (-> obj lap-distance-prev) (-> obj lap-distance)) ) - (logior! (-> obj flags) 64) + (logior! (-> obj flags) (racer-flags on-track)) ) (else - (set! (-> obj flags) (logand -65 (-> obj flags))) + (logclear! (-> obj flags) (racer-flags on-track)) ) ) (cond - ((logtest? (-> arg0 info mesh flags) 1) + ((logtest? (-> arg0 info mesh flags) (race-mesh-flags racemeshflag-0)) (when (>= (-> s3-0 slice-id) 0) (let ((v1-29 (min 3 (the int (* 4.0 (-> s3-0 lap-dist)))))) (when (= v1-29 (logand (+ (-> obj lap-quadrant) 1) 3)) (set! (-> obj lap-quadrant) v1-29) (when (zero? v1-29) - (if (logtest? (-> obj flags) 1) + (if (logtest? (-> obj flags) (racer-flags in-race)) (end-lap obj arg0) (begin-race arg0) ) @@ -266,7 +242,7 @@ ) ) ) - ((logtest? (-> obj flags) 1) + ((logtest? (-> obj flags) (racer-flags in-race)) (let ((v1-39 (new 'stack-no-clear 'vector))) (vector-! (the-as vector (&-> v1-39 x)) (-> obj position) (the-as vector (-> arg0 info finish-sphere))) (.lvf vf1 (&-> (the-as vector (&-> v1-39 x)) quad)) @@ -301,10 +277,10 @@ ) 0 ) - (if (logtest? (-> obj flags) 2) + (if (logtest? (-> obj flags) (racer-flags finished)) (seek! (-> obj speed-factor) 0.9 (* 0.2 (-> pp clock seconds-per-frame))) ) - (when (logtest? (-> obj flags) 1) + (when (logtest? (-> obj flags) (racer-flags in-race)) (dotimes (s3-1 (-> arg0 info decision-point-count)) (let ((v1-70 (-> arg0 info decision-point-array s3-1))) (if (and (< (-> obj lap-distance-prev) (-> v1-70 pos)) (>= (-> obj lap-distance) (-> v1-70 pos))) @@ -317,12 +293,12 @@ (set! (-> obj position quad) (-> s5-0 vector 0 quad)) ) (else - (logior! (-> obj flags) 4) + (logior! (-> obj flags) (racer-flags dead)) ) ) ) ) - (when (logtest? (-> obj flags) 128) + (when (logtest? (-> obj flags) (racer-flags unknown)) ) 0 (none) @@ -338,7 +314,7 @@ (format arg1 "best lap ") (print-time arg1 (the-as time-frame (-> obj best-lap-time))) (format arg1 "~%~%") - (when (logtest? (-> obj flags) 1) + (when (logtest? (-> obj flags) (racer-flags in-race)) (format arg1 "this lap ") (print-time arg1 (the-as time-frame s4-0)) ) @@ -361,7 +337,7 @@ (defmethod init-racer! racer-state ((obj racer-state) (arg0 process-drawable)) (set! (-> obj racer) (process->handle arg0)) (set! (-> obj position quad) (-> arg0 root trans quad)) - (set! (-> obj flags) (the-as uint 128)) + (set! (-> obj flags) (racer-flags unknown)) (set! (-> obj lap-count) 0) (set! (-> obj lap-distance) 0.0) (set! (-> obj lap-quadrant) 3) @@ -392,9 +368,9 @@ ;; WARN: Return type mismatch int vs none. (defmethod begin-race race-state ((obj race-state)) (format #t "begin-race~%") - (when (not (logtest? (-> obj flags) 1)) - (logior! (-> obj flags) 1) - (race-state-method-17 obj) + (when (not (logtest? (-> obj flags) (race-flags begun))) + (logior! (-> obj flags) (race-flags begun)) + (set-speech-tables! obj) (send-event (handle->process (-> obj manager)) 'begin-race) (set-setting! 'sound-mode #f 0.0 0) (remove-setting! 'allow-progress) @@ -409,7 +385,7 @@ (ppointer->handle (process-spawn hud-race-lap-counter :init hud-init-by-other :to s5-0)) ) ) - (when (logtest? (-> obj info flags) 16) + (when (logtest? (-> obj info flags) (race-info-flags borrow)) (set! (-> obj hud-turbo-counter) (ppointer->handle (process-spawn hud-race-turbo-counter :init hud-init-by-other :to s5-0)) ) @@ -438,15 +414,15 @@ ;; definition for method 12 of type race-state ;; WARN: Return type mismatch int vs none. -(defmethod race-state-method-12 race-state ((obj race-state)) +(defmethod update-rankings race-state ((obj race-state)) (let ((v1-0 (new 'stack-no-clear 'array 'float 10))) (dotimes (a0-1 (-> obj racer-count)) (let ((a1-3 (-> obj racer-array a0-1))) (cond - ((logtest? (-> a1-3 flags) 2) + ((logtest? (-> a1-3 flags) (racer-flags finished)) (set! (-> v1-0 a0-1) (the float (- 1000 (-> a1-3 finish-count)))) ) - ((logtest? (-> a1-3 flags) 1) + ((logtest? (-> a1-3 flags) (racer-flags in-race)) (set! (-> v1-0 a0-1) (+ (the float (-> a1-3 lap-count)) (-> a1-3 lap-distance))) ) (else @@ -491,18 +467,18 @@ ;; definition for method 13 of type race-state ;; WARN: Return type mismatch int vs none. -(defmethod race-state-method-13 race-state ((obj race-state)) +(defmethod debug-print-rankings race-state ((obj race-state)) (dotimes (s5-0 (-> obj racer-count)) (let* ((s4-0 (-> obj rankings s5-0)) (s3-0 (-> obj racer-array s4-0)) ) - (when (not (logtest? (-> s3-0 flags) 4)) + (when (not (logtest? (-> s3-0 flags) (racer-flags dead))) (if (= s4-0 (-> obj i-player)) (format *stdcon* ">>>") (format *stdcon* " ") ) (cond - ((logtest? (-> s3-0 flags) 2) + ((logtest? (-> s3-0 flags) (racer-flags finished)) (format *stdcon* " #~d finished " (+ s4-0 1)) (cond ((zero? s5-0) @@ -536,19 +512,19 @@ ;; definition for method 14 of type race-state ;; WARN: Return type mismatch int vs none. -(defmethod race-state-method-14 race-state ((obj race-state)) +(defmethod update-racers race-state ((obj race-state)) (let ((s5-0 0)) (dotimes (s4-0 (-> obj racer-count)) (let ((s3-0 (-> obj racer-array s4-0))) - (racer-state-method-9 s3-0 obj) - (if (not (logtest? (-> s3-0 flags) 6)) + (update-lap-distance s3-0 obj) + (if (not (logtest? (-> s3-0 flags) (racer-flags finished dead))) (+! s5-0 1) ) ) 0 ) (if (zero? s5-0) - (set! (-> obj state) (the-as uint 8)) + (set! (-> obj state) (race-state-enum all-dead)) ) ) 0 @@ -558,10 +534,10 @@ ;; definition for method 18 of type race-state ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. -(defmethod race-state-method-18 race-state ((obj race-state)) +(defmethod setup-race race-state ((obj race-state)) (set-setting! 'allow-progress #f 0.0 0) (send-event (handle->process (-> obj arrow)) 'leave) - (when (logtest? (-> obj info flags) 16) + (when (logtest? (-> obj info flags) (race-info-flags borrow)) (send-event *traffic-manager* 'set-target-level 0) (send-event *traffic-manager* 'set-alert-level 0) ) @@ -599,188 +575,173 @@ ;; definition for method 11 of type race-state ;; WARN: Return type mismatch int vs none. -(defmethod race-state-method-11 race-state ((obj race-state)) +(defmethod update race-state ((obj race-state)) (set! (-> obj current-time) (the-as uint (current-time))) - (let ((v1-2 (-> obj state))) - (cond - ((zero? v1-2) - (let ((v1-3 (the-as object #t))) - (when (not (logtest? (-> obj flags) 4)) - (dotimes (s5-0 (-> obj racer-count)) - (let ((a0-7 (-> obj racer-array s5-0))) - (set! v1-3 (and v1-3 (send-event (handle->process (-> a0-7 racer)) 'test-ready))) - ) + (case (-> obj state) + (((race-state-enum idle)) + (let ((v1-3 (the-as object #t))) + (when (not (logtest? (-> obj flags) (race-flags ready))) + (dotimes (s5-0 (-> obj racer-count)) + (let ((a0-7 (-> obj racer-array s5-0))) + (set! v1-3 (and v1-3 (send-event (handle->process (-> a0-7 racer)) 'test-ready))) ) ) - (when (and v1-3 (not (logtest? (-> obj info flags) 1))) - (race-state-method-15 obj) - (set! v1-3 (handle->process (-> obj race-signal))) - ) - (when v1-3 - (race-state-method-18 obj) - (set! (-> obj state) (the-as uint (if (or (logtest? (-> obj flags) 2) (logtest? (-> obj info flags) 1)) - 5 - 1 - ) - ) - ) - ) + ) + (when (and v1-3 (not (logtest? (-> obj info flags) (race-info-flags city-race)))) + (spawn-race-signal obj) + (set! v1-3 (handle->process (-> obj race-signal))) + ) + (when v1-3 + (setup-race obj) + (set! (-> obj state) + (if (or (logtest? (-> obj flags) (race-flags pidax)) (logtest? (-> obj info flags) (race-info-flags city-race))) + (race-state-enum countdown-start) + (race-state-enum player-get-on) + ) + ) ) ) - ((= v1-2 1) - (let* ((f30-0 (* 0.0033333334 (the float (- (-> obj current-time) (-> obj countdown-start-time))))) - (s4-0 (handle->process (-> obj racer-array (-> obj i-player) racer))) - (s5-1 (if (type? s4-0 process-focusable) - s4-0 - ) - ) - ) - (cond - ((< f30-0 1.0) - (when s5-1 - (cubic-curve-method-10 - (-> obj player-intro-curve) - (-> (the-as process-focusable s5-1) root-override trans) - f30-0 - ) - (cubic-curve-method-11 - (-> obj player-intro-curve) - (-> (the-as process-focusable s5-1) root-override transv) - f30-0 - ) - (when (< 0.4 f30-0) - (when (-> obj info start-camera) - (set-setting! 'entity-name (-> obj info start-camera) 0.0 0) - (if (logtest? (-> obj info flags) 64) - (talker-spawn-func (-> *talker-speech* 377) *entity-pool* (target-pos 0) (the-as region #f)) + ) + (((race-state-enum player-get-on)) + (let* ((f30-0 (* 0.0033333334 (the float (- (-> obj current-time) (-> obj countdown-start-time))))) + (s4-0 (handle->process (-> obj racer-array (-> obj i-player) racer))) + (s5-1 (if (type? s4-0 process-focusable) + s4-0 ) ) - ) - ) ) - (else - (set! (-> obj state) (the-as uint 2)) - ) - ) - ) - ) - ((= v1-2 2) - (let* ((s4-2 (handle->process (-> obj racer-array (-> obj i-player) racer))) - (s5-3 (if (type? s4-2 process-focusable) - s4-2 - ) - ) - ) - (when s5-3 - (cubic-curve-method-10 - (-> obj player-intro-curve) - (-> (the-as process-focusable s5-3) root-override trans) - 1.0 - ) - (vector-reset! (-> (the-as process-focusable s5-3) root-override transv)) - ) - ) - (let ((a0-48 (-> obj info hatch-actor-name))) - (when a0-48 - (let ((a0-49 (process-by-name a0-48 *active-pool*))) - (send-event a0-49 'close) - ) - ) - ) - (set! (-> obj countdown-start-time) (-> obj current-time)) - (set! (-> obj state) (the-as uint (if (-> obj info countdown-scene) - 3 - 5 - ) - ) - ) - ) - ((= v1-2 3) - (when (>= (the-as uint (- (current-time) (the-as int (-> obj countdown-start-time)))) (the-as uint 300)) - (set! (-> obj state) (the-as uint 4)) - (set! (-> obj scene-player) - (ppointer->handle (process-spawn scene-player :init scene-player-init (-> obj info countdown-scene) #t #f)) - ) - ) - ) - ((= v1-2 4) (cond - ((handle->process (-> obj scene-player)) - (let ((s5-5 (-> obj info))) - (dotimes (s4-3 (-> s5-5 racer-count)) - (let ((v1-95 (-> obj racer-array s4-3))) - (if (logtest? (-> s5-5 racer-array s4-3 flags) 1) - (send-event (handle->process (-> v1-95 racer)) 'hide) + ((< f30-0 1.0) + (when s5-1 + (cubic-curve-method-10 (-> obj player-intro-curve) (-> (the-as process-focusable s5-1) root trans) f30-0) + (cubic-curve-method-11 (-> obj player-intro-curve) (-> (the-as process-focusable s5-1) root transv) f30-0) + (when (< 0.4 f30-0) + (when (-> obj info start-camera) + (set-setting! 'entity-name (-> obj info start-camera) 0.0 0) + (if (logtest? (-> obj info flags) (race-info-flags show-tutorial)) + (talker-spawn-func (-> *talker-speech* 377) *entity-pool* (target-pos 0) (the-as region #f)) ) ) ) ) ) (else - (let ((s5-6 (-> obj info))) - (dotimes (s4-4 (-> s5-6 racer-count)) - (let ((v1-105 (-> obj racer-array s4-4))) - (if (logtest? (-> s5-6 racer-array s4-4 flags) 1) - (send-event (handle->process (-> v1-105 racer)) 'unhide) - ) - ) - ) - ) - (set! (-> obj state) (the-as uint 5)) + (set! (-> obj state) (race-state-enum player-set-pos)) ) ) ) - ((= v1-2 5) - (set! (-> obj i-countdown) 4) - (set! (-> obj state) (the-as uint 6)) - (set! (-> obj countdown-start-time) (-> obj current-time)) - (remove-setting! 'entity-name) + ) + (((race-state-enum player-set-pos)) + (let* ((s4-2 (handle->process (-> obj racer-array (-> obj i-player) racer))) + (s5-3 (if (type? s4-2 process-focusable) + s4-2 + ) + ) + ) + (when s5-3 + (cubic-curve-method-10 (-> obj player-intro-curve) (-> (the-as process-focusable s5-3) root trans) 1.0) + (vector-reset! (-> (the-as process-focusable s5-3) root transv)) + ) ) - ((= v1-2 6) - (let ((f0-3 3.0)) - (if (logtest? (-> obj info flags) 1) - (set! f0-3 0.2) - ) - (let ((v1-127 (+ (the int (* 300.0 f0-3)) (- (-> obj countdown-start-time) (-> obj current-time))))) - (cond - ((>= v1-127 (the int (* 225.0 f0-3))) - ) - ((>= v1-127 (the int (* 150.0 f0-3))) - (when (!= (-> obj i-countdown) 3) - (set! (-> obj i-countdown) 3) - (send-event (handle->process (-> obj race-signal)) 'count-3) - ) - ) - ((>= v1-127 (the int (* 75.0 f0-3))) - (when (!= (-> obj i-countdown) 2) - (set! (-> obj i-countdown) 2) - (send-event (handle->process (-> obj race-signal)) 'count-2) - ) - ) - ((< (the int (* 0.0 f0-3)) v1-127) - (when (!= (-> obj i-countdown) 1) - (set! (-> obj i-countdown) 1) - (send-event (handle->process (-> obj race-signal)) 'count-1) - ) - ) - (else - (set! (-> obj i-countdown) 0) - (set! (-> obj state) (the-as uint 7)) - (begin-race obj) - ) - ) + (let ((a0-48 (-> obj info hatch-actor-name))) + (when a0-48 + (let ((a0-49 (process-by-name a0-48 *active-pool*))) + (send-event a0-49 'close) ) ) - (race-state-method-14 obj) ) - ((= v1-2 7) - (race-state-method-14 obj) - (race-state-method-12 obj) + (set! (-> obj countdown-start-time) (-> obj current-time)) + (set! (-> obj state) (if (-> obj info countdown-scene) + (race-state-enum countdown-scene-start) + (race-state-enum countdown-start) + ) + ) + ) + (((race-state-enum countdown-scene-start)) + (when (>= (the-as uint (- (current-time) (the-as int (-> obj countdown-start-time)))) (the-as uint 300)) + (set! (-> obj state) (race-state-enum countdown-scene)) + (set! (-> obj scene-player) + (ppointer->handle (process-spawn scene-player :init scene-player-init (-> obj info countdown-scene) #t #f)) + ) ) - ((= v1-2 8) - ) - (else + ) + (((race-state-enum countdown-scene)) + (cond + ((handle->process (-> obj scene-player)) + (let ((s5-5 (-> obj info))) + (dotimes (s4-3 (-> s5-5 racer-count)) + (let ((v1-95 (-> obj racer-array s4-3))) + (if (logtest? (-> s5-5 racer-array s4-3 flags) (racer-info-flags hide-in-scene)) + (send-event (handle->process (-> v1-95 racer)) 'hide) + ) + ) + ) + ) ) + (else + (let ((s5-6 (-> obj info))) + (dotimes (s4-4 (-> s5-6 racer-count)) + (let ((v1-105 (-> obj racer-array s4-4))) + (if (logtest? (-> s5-6 racer-array s4-4 flags) (racer-info-flags hide-in-scene)) + (send-event (handle->process (-> v1-105 racer)) 'unhide) + ) + ) + ) + ) + (set! (-> obj state) (race-state-enum countdown-start)) + ) + ) + ) + (((race-state-enum countdown-start)) + (set! (-> obj i-countdown) 4) + (set! (-> obj state) (race-state-enum countdown)) + (set! (-> obj countdown-start-time) (-> obj current-time)) + (remove-setting! 'entity-name) + ) + (((race-state-enum countdown)) + (let ((f0-3 3.0)) + (if (logtest? (-> obj info flags) (race-info-flags city-race)) + (set! f0-3 0.2) + ) + (let ((v1-127 (+ (the int (* 300.0 f0-3)) (- (-> obj countdown-start-time) (-> obj current-time))))) + (cond + ((>= v1-127 (the int (* 225.0 f0-3))) + ) + ((>= v1-127 (the int (* 150.0 f0-3))) + (when (!= (-> obj i-countdown) 3) + (set! (-> obj i-countdown) 3) + (send-event (handle->process (-> obj race-signal)) 'count-3) + ) + ) + ((>= v1-127 (the int (* 75.0 f0-3))) + (when (!= (-> obj i-countdown) 2) + (set! (-> obj i-countdown) 2) + (send-event (handle->process (-> obj race-signal)) 'count-2) + ) + ) + ((< (the int (* 0.0 f0-3)) v1-127) + (when (!= (-> obj i-countdown) 1) + (set! (-> obj i-countdown) 1) + (send-event (handle->process (-> obj race-signal)) 'count-1) + ) + ) + (else + (set! (-> obj i-countdown) 0) + (set! (-> obj state) (race-state-enum active)) + (begin-race obj) + ) + ) + ) + ) + (update-racers obj) + ) + (((race-state-enum active)) + (update-racers obj) + (update-rankings obj) + ) + (((race-state-enum all-dead)) + ) + (else ) ) (dotimes (s5-7 (-> obj info turbo-pad-count)) @@ -798,7 +759,7 @@ ;; definition for method 15 of type race-state ;; WARN: Return type mismatch int vs none. -(defmethod race-state-method-15 race-state ((obj race-state)) +(defmethod spawn-race-signal race-state ((obj race-state)) (rlet ((acc :class vf) (vf0 :class vf) (vf4 :class vf) @@ -870,7 +831,7 @@ (set! (-> obj hud-turbo-counter) (the-as handle #f)) (set! (-> obj hud-position) (the-as handle #f)) (set! (-> obj arrow) (the-as handle #f)) - (set! (-> obj state) (the-as uint 0)) + (set! (-> obj state) (race-state-enum idle)) (set! (-> obj racer-count) 0) (set! (-> obj finished-count) 0) (let ((v1-3 (new 'stack-no-clear 'mystery-race-manager-type))) @@ -935,7 +896,7 @@ ) (let ((v1-12 (-> *game-info* sub-task-list (-> arg1 task-node)))) (set! (-> obj suck-factor) 0.0) - (if (not (logtest? (-> arg1 flags) 32)) + (if (not (logtest? (-> arg1 flags) (race-info-flags bbush))) (set! (-> obj suck-factor) (fmax 0.0 (fmin 1.0 (* 0.2 (+ -4.0 (the float (-> v1-12 death-count))))))) ) (format @@ -958,8 +919,7 @@ ;; definition for method 20 of type race-manager ;; INFO: Used lq/sq -;; WARN: Return type mismatch int vs none. -(defmethod race-manager-method-20 race-manager ((obj race-manager)) +(defmethod update race-manager ((obj race-manager)) (let ((s5-0 *display-race-marks*)) (when (logtest? s5-0 (race-marks-controls rmc2040)) (let ((a0-3 (entity-by-name (-> *race-info-array* *select-race* race-mesh-name)))) @@ -993,9 +953,8 @@ (vector-! (-> v1-14 5) (-> v1-14 0) (-> v1-14 3)) ) 0 - (race-state-method-11 (-> obj race-state)) + (update (-> obj race-state)) 0 - (none) ) ;; definition for method 22 of type race-manager @@ -1007,9 +966,9 @@ ;; definition for method 23 of type race-manager ;; WARN: Return type mismatch int vs none. -(defmethod race-manager-method-23 race-manager ((obj race-manager)) +(defmethod initialize-race-state race-manager ((obj race-manager)) (let ((s5-0 (-> obj race-state info))) - (race-info-method-9 s5-0) + (initialize-mesh s5-0) (initialize (-> obj race-state) obj s5-0) ) (let ((v1-5 *game-info*)) @@ -1042,8 +1001,10 @@ (let* ((gp-0 (-> obj race-state)) (s3-0 (-> gp-0 info)) ) - (if (or (logtest? (-> s3-0 flags) 2) (logtest? (continue-flags pilot) (-> *game-info* last-continue flags))) - (logior! (-> gp-0 flags) 2) + (if (or (logtest? (-> s3-0 flags) (race-info-flags pidax)) + (logtest? (continue-flags pilot) (-> *game-info* last-continue flags)) + ) + (logior! (-> gp-0 flags) (race-flags pidax)) ) (let ((s4-0 (new 'stack-no-clear 'mystery-traffic-object-spawn-params))) (set! (-> s4-0 vector 0 quad) (-> gp-0 info start-sphere quad)) @@ -1118,7 +1079,10 @@ (cond ((or (zero? v1-48) (= v1-48 1)) (set! (-> gp-0 i-player) s2-1) - (when (not (or (logtest? (-> gp-0 flags) 10) (logtest? (-> s3-0 flags) 1))) + (when (not (or (logtest? (-> gp-0 flags) (race-flags pidax sleep)) + (logtest? (-> s3-0 flags) (race-info-flags city-race)) + ) + ) (set! sv-352 (new 'stack-no-clear 'task-arrow-params)) (set! (-> sv-352 pos quad) (-> gp-0 info player-intro-pos quad)) (quaternion-identity! (-> sv-352 quat)) @@ -1146,7 +1110,10 @@ ) ) ) - (when (not (and (logtest? (-> gp-0 flags) 8) (logtest? (-> s1-0 flags) 1))) + (when (not (and (logtest? (-> gp-0 flags) (race-flags sleep)) + (logtest? (-> s1-0 flags) (racer-info-flags hide-in-scene)) + ) + ) (set! sv-368 vehicle-spawn) (set! sv-384 obj) (let ((a1-18 (type-from-race-vehicle-type (-> s1-0 vehicle))) @@ -1169,7 +1136,7 @@ (set! (-> s0-0 target-pos-offset) (* (-> s3-0 ai-spread-factor) (+ (the float (-> s1-0 seek-offset)) (* -3.33 (-> gp-0 suck-factor)))) ) - (when (and (= s2-1 (-> gp-0 i-player)) (logtest? (-> gp-0 flags) 2)) + (when (and (= s2-1 (-> gp-0 i-player)) (logtest? (-> gp-0 flags) (race-flags pidax))) (let ((v1-91 'pilot)) (if (= (-> s1-0 rider) 1) (set! v1-91 'pilot-daxter) @@ -1196,7 +1163,7 @@ ;; definition for method 26 of type race-manager ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. -(defmethod race-manager-method-26 race-manager ((obj race-manager) (arg0 float)) +(defmethod save-score race-manager ((obj race-manager) (arg0 float)) (local-vars (sv-32 int)) (let* ((s5-0 (-> obj race-state info score)) (s3-0 0) @@ -1259,7 +1226,7 @@ ;; definition for method 27 of type race-manager ;; WARN: Return type mismatch int vs none. -(defmethod race-manager-method-27 race-manager ((obj race-manager)) +(defmethod stop-speech race-manager ((obj race-manager)) (set-action! *gui-control* (gui-action stop) @@ -1286,7 +1253,7 @@ ;; definition for method 24 of type race-manager ;; WARN: Return type mismatch int vs none. -(defmethod race-manager-method-24 race-manager ((obj race-manager)) +(defmethod draw-message-continue race-manager ((obj race-manager)) (when (= (get-status *gui-control* (-> obj message-id)) (gui-status active)) (let ((gp-1 (new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning)) @@ -1316,7 +1283,7 @@ ;; definition for method 25 of type race-manager ;; WARN: Return type mismatch int vs none. -(defmethod race-manager-method-25 race-manager ((obj race-manager)) +(defmethod draw-message-retry race-manager ((obj race-manager)) (when (= (get-status *gui-control* (-> obj message-id)) (gui-status active)) (let ((gp-1 (new 'stack 'font-context *font-default-matrix* 70 20 0.0 (font-color orange) (font-flags shadow kerning)) @@ -1356,8 +1323,8 @@ (go-virtual die) ) (('force-start) - (let ((v0-0 (the-as object (logior (-> self race-state flags) 4)))) - (set! (-> self race-state flags) (the-as uint v0-0)) + (let ((v0-0 (the-as object (logior (-> self race-state flags) (race-flags ready))))) + (set! (-> self race-state flags) (the-as race-flags v0-0)) v0-0 ) ) @@ -1379,8 +1346,8 @@ :event race-manager-event-handler :code (behavior () (cond - ((logtest? (-> self race-state flags) 8) - (race-manager-method-23 self) + ((logtest? (-> self race-state flags) (race-flags sleep)) + (initialize-race-state self) (initialize-state self) (until #f (suspend) @@ -1391,7 +1358,7 @@ (set-setting! 'music 'race 0.0 0) (set-setting! 'sound-mode #f 0.0 2) (let ((gp-0 (-> self race-state info))) - (when (logtest? (-> gp-0 flags) 16) + (when (logtest? (-> gp-0 flags) (race-info-flags borrow)) (set-setting! 'borrow (-> gp-0 borrow) 0.0 0) (while (!= (level-status *level* 'lracelit) 'active) (suspend) @@ -1404,14 +1371,16 @@ (while (not (and *target* (or (not (focus-test? *target* teleporting)) (focus-test? *target* pilot)))) (suspend) ) - (race-manager-method-23 self) + (initialize-race-state self) (initialize-state self) (suspend) (let ((gp-1 (-> self race-state info))) - (when (and (-> gp-1 countdown-scene) (not (logtest? (-> self race-state flags) 2))) + (when (and (-> gp-1 countdown-scene) (not (logtest? (-> self race-state flags) (race-flags pidax)))) (dotimes (s5-2 (-> gp-1 racer-count)) (let ((v1-42 (-> self race-state racer-array s5-2))) - (if (and (logtest? (-> gp-1 racer-array s5-2 flags) 1) (!= s5-2 (-> self race-state i-player))) + (if (and (logtest? (-> gp-1 racer-array s5-2 flags) (racer-info-flags hide-in-scene)) + (!= s5-2 (-> self race-state i-player)) + ) (send-event (handle->process (-> v1-42 racer)) 'hide) ) ) @@ -1420,7 +1389,7 @@ ) (when (and *debug-segment* *target* *race-record-path*) (until #f - (race-manager-method-20 self) + (update self) (suspend) ) #f @@ -1438,7 +1407,7 @@ :event race-manager-event-handler :code (the-as (function none :behavior race-manager) sleep-code) :post (behavior () - (race-manager-method-20 self) + (update self) (let ((gp-0 (-> self race-state racer-array (-> self race-state i-player))) (s5-0 (-> self race-state)) ) @@ -1448,20 +1417,20 @@ (set! (-> v1-5 race-current-lap-count) (min (+ (-> gp-0 lap-count) 1) (-> self race-state info lap-count))) (set! (-> v1-5 race-total-lap-count) (-> self race-state info lap-count)) (let ((a0-12 (-> s5-0 current-time))) - (if (logtest? (-> gp-0 flags) 2) + (if (logtest? (-> gp-0 flags) (racer-flags finished)) (set! a0-12 (-> gp-0 finish-time)) ) (let ((a0-13 (the-as int (- a0-12 (-> s5-0 race-start-time))))) - (if (not (logtest? (-> s5-0 flags) 1)) + (if (not (logtest? (-> s5-0 flags) (race-flags begun))) (set! a0-13 0) ) (set! (-> v1-5 race-timer) (the-as uint a0-13)) ) ) ) - (when (logtest? (-> gp-0 flags) 1) + (when (logtest? (-> gp-0 flags) (racer-flags in-race)) (cond - ((logtest? (-> gp-0 flags) 64) + ((logtest? (-> gp-0 flags) (racer-flags on-track)) (set! (-> self player-on-track-time) (current-time)) ) (else @@ -1495,18 +1464,18 @@ ) ) ) - (if (or (logtest? (-> gp-0 flags) 4) (not *target*) (focus-test? *target* dead)) + (if (or (logtest? (-> gp-0 flags) (racer-flags dead)) (not *target*) (focus-test? *target* dead)) (go-virtual fail) ) - (when (logtest? (-> gp-0 flags) 2) - (when (not (logtest? (-> gp-0 flags) 32)) - (logior! (-> gp-0 flags) 32) + (when (logtest? (-> gp-0 flags) (racer-flags finished)) + (when (not (logtest? (-> gp-0 flags) (racer-flags saved-score))) + (logior! (-> gp-0 flags) (racer-flags saved-score)) (let ((f0-2 (* 0.0033333334 (the float (- (-> gp-0 finish-time) (-> s5-0 race-start-time)))))) - (race-manager-method-26 self f0-2) + (save-score self f0-2) ) ) (send-event (ppointer->process (-> self parent)) 'allow-fail #f) - (if (not (logtest? (-> self race-state info flags) 16)) + (if (not (logtest? (-> self race-state info flags) (race-info-flags borrow))) (set-setting! 'sound-mode #f 0.0 2) ) (set! (-> self message-id) @@ -1540,23 +1509,23 @@ (send-event (handle->process (-> self race-state hud-turbo-counter)) 'force-hide) (process-spawn hud-race-final-stats :init hud-init-by-other :to self) (set! (-> self state-time) (current-time)) - (when (logtest? (-> self race-state info flags) 4) + (when (logtest? (-> self race-state info flags) (race-info-flags complete-immediately)) (send-event (ppointer->process (-> self parent)) 'complete) (sleep-code) ) (until #f (cond - ((logtest? (-> self race-state info flags) 8) - (race-manager-method-25 self) + ((logtest? (-> self race-state info flags) (race-info-flags retryable)) + (draw-message-retry self) (when (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (cond ((logtest? (pad-buttons confirm) (-> *cpad-list* cpads 0 button0-rel 0)) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'retry-immediately) (sleep-code) ) ((cpad-pressed? 0 triangle) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'fail-immediately) (sleep-code) ) @@ -1564,10 +1533,10 @@ ) ) (else - (race-manager-method-24 self) + (draw-message-continue self) (when (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (when (logtest? (pad-buttons confirm) (-> *cpad-list* cpads 0 button0-rel 0)) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'complete) (sleep-code) ) @@ -1580,7 +1549,7 @@ (none) ) :post (behavior () - (race-manager-method-20 self) + (update self) (none) ) ) @@ -1602,17 +1571,17 @@ (process-spawn hud-race-final-stats :init hud-init-by-other :to self) (set! (-> self state-time) (current-time)) (until #f - (race-manager-method-25 self) + (draw-message-retry self) (-> self race-state info) (when (>= (- (current-time) (-> self state-time)) (seconds 0.5)) (cond ((logtest? (pad-buttons confirm) (-> *cpad-list* cpads 0 button0-rel 0)) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'retry-immediately) (sleep-code) ) ((cpad-pressed? 0 triangle) - (race-manager-method-27 self) + (stop-speech self) (send-event (ppointer->process (-> self parent)) 'fail-immediately) (sleep-code) ) @@ -1624,7 +1593,7 @@ (none) ) :post (behavior () - (race-manager-method-20 self) + (update self) (none) ) ) @@ -1673,12 +1642,12 @@ (race-vehicle-entity-hack) (set! (-> self race-state) *race-state*) (set! (-> self race-state info) arg0) - (set! (-> self race-state flags) (the-as uint 0)) + (set! (-> self race-state flags) (race-flags)) (set! *race-manager* (the-as (pointer race-manager) (process->ppointer self))) (set! (-> arg0 manager) (process->handle self)) (set! (-> self finish-sound-id) (new 'static 'sound-id)) (if arg1 - (logior! (-> self race-state flags) 8) + (logior! (-> self race-state flags) (race-flags sleep)) ) (go-virtual idle) (none) @@ -1687,7 +1656,7 @@ ;; definition for function race-start ;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s5, Count] ;; ERROR: Unsupported inline assembly instruction kind - [mfc0 v1, Count] -(defun race-start ((arg0 int) (arg1 symbol) (arg2 symbol)) +(defun race-start ((arg0 int) (arg1 process) (arg2 symbol)) (local-vars (v1-13 int) (s5-0 int)) (let ((s2-0 (-> *race-info-array* arg0)) (gp-0 (the-as process #f)) @@ -1696,7 +1665,7 @@ (when (not (handle->process (-> s2-0 manager))) (format #t "starting race-manager~%") (if (not arg1) - (set! arg1 (the-as symbol *entity-pool*)) + (set! arg1 (the-as process *entity-pool*)) ) (let ((v1-9 (process-spawn race-manager s2-0 arg2 :to (the-as process-tree arg1)))) (when v1-9 diff --git a/test/decompiler/reference/jak2/levels/common/races/race-mesh_REF.gc b/test/decompiler/reference/jak2/levels/common/races/race-mesh_REF.gc index 755856ee0c..5e5b116ca6 100644 --- a/test/decompiler/reference/jak2/levels/common/races/race-mesh_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/races/race-mesh_REF.gc @@ -292,7 +292,7 @@ (deftype race-mesh (basic) ((version uint8 :offset-assert 4) (path-group-count uint8 :offset-assert 5) - (flags uint8 :offset-assert 6) + (flags race-mesh-flags :offset-assert 6) (pad uint8 1 :offset-assert 7) (slice-count int16 :offset-assert 8) (edge-count int16 :offset-assert 10) diff --git a/test/decompiler/reference/jak2/levels/common/races/race-obs_REF.gc b/test/decompiler/reference/jak2/levels/common/races/race-obs_REF.gc index 1faecdb0ca..a8b425fd17 100644 --- a/test/decompiler/reference/jak2/levels/common/races/race-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/races/race-obs_REF.gc @@ -611,7 +611,7 @@ (format 0 "stadium-racer::initialize-collision: ERROR, no lracelit level~%") (go process-drawable-art-error "no lracelit level") ) - (set! (-> obj root-override) (the-as collide-shape (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape (new 'process 'trsqv))) 0 (none) ) @@ -703,11 +703,7 @@ :virtual #t :enter (behavior () (format #t "errol-rider::taunt race-errol-pass~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-0 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-53)) (none) ) ) @@ -717,11 +713,7 @@ :virtual #t :enter (behavior () (format #t "errol-rider::got-passed~%") - (speech-control-method-12 - *speech-control* - self - (speech-type speech-type-1 speech-type-2 speech-type-4 speech-type-5) - ) + (speech-control-method-12 *speech-control* self (speech-type speech-type-54)) (none) ) ) @@ -743,8 +735,8 @@ ;; definition of type turbo-pickup (deftype turbo-pickup (process-drawable) - ((root-override collide-shape-moving :offset 128) - (available symbol :offset-assert 200) + ((root collide-shape-moving :override) + (available symbol :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -776,7 +768,7 @@ (defmethod find-ground turbo-pickup ((obj turbo-pickup)) (let ((s4-0 #f)) (let ((gp-0 (new 'stack-no-clear 'do-push-aways-work))) - (set! (-> gp-0 push-vel quad) (-> obj root-override trans quad)) + (set! (-> gp-0 push-vel quad) (-> obj root trans quad)) (set! (-> gp-0 cquery start-pos quad) (-> gp-0 push-vel quad)) (vector-reset! (-> gp-0 vec33)) (set! (-> gp-0 vec33 y) 1.0) @@ -798,12 +790,8 @@ (format #t "turbo-pickup::find-ground: ground y ~M~%" (-> gp-0 push-vel y)) ) ) - (set! (-> obj root-override trans quad) (-> gp-0 push-vel quad)) - (forward-up-nopitch->quaternion - (-> obj root-override quat) - (new 'static 'vector :z 1.0 :w 1.0) - (-> gp-0 vec33) - ) + (set! (-> obj root trans quad) (-> gp-0 push-vel quad)) + (forward-up-nopitch->quaternion (-> obj root quat) (new 'static 'vector :z 1.0 :w 1.0) (-> gp-0 vec33)) ) s4-0 ) @@ -826,7 +814,7 @@ ) :code (the-as (function none :behavior turbo-pickup) sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) 0 (none) ) @@ -857,7 +845,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -872,7 +860,7 @@ (-> gp-0 ppointer) ) ) - (let ((v1-11 (-> self root-override root-prim))) + (let ((v1-11 (-> self root root-prim))) (set! (-> v1-11 prim-core collide-as) (collide-spec)) (set! (-> v1-11 prim-core collide-with) (collide-spec)) ) @@ -904,11 +892,11 @@ (set! (-> s5-0 backup-collide-with) (-> v1-7 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) (the-as collide-shape-moving s5-0)) + (set! (-> self root) (the-as collide-shape-moving s5-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override quat)) - (update-transforms (-> self root-override)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) + (update-transforms (-> self root)) (set! (-> self available) #t) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 198) self)) (go-virtual idle) diff --git a/test/decompiler/reference/jak2/levels/common/races/vehicle-racer_REF.gc b/test/decompiler/reference/jak2/levels/common/races/vehicle-racer_REF.gc index c799d9f516..8449011375 100644 --- a/test/decompiler/reference/jak2/levels/common/races/vehicle-racer_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/races/vehicle-racer_REF.gc @@ -64,7 +64,7 @@ (defmethod race-control-method-11 race-control ((obj race-control) (arg0 float)) (let ((f0-1 (+ (-> obj path-t) (* 15.0 arg0)))) (set! f0-1 (cond - ((logtest? (-> obj mesh flags) 1) + ((logtest? (-> obj mesh flags) (race-mesh-flags racemeshflag-0)) (let ((f1-3 (the float (-> obj path sample-count)))) (if (>= f0-1 f1-3) (set! f0-1 (- f0-1 f1-3)) @@ -199,7 +199,7 @@ (defmethod vehicle-method-117 vehicle-racer ((obj vehicle-racer) (arg0 vector) (arg1 int) (arg2 int)) (vector-matrix*! arg0 - (-> obj info-override rider-hand-offset arg2) + (-> obj info rider-hand-offset arg2) (-> obj node-list data (-> obj rider-hand-joint) bone transform) ) 0 @@ -236,9 +236,9 @@ ) (when (and (>= f30-0 0.0) (>= f28-0 0.0)) (let ((f26-1 1.0)) - (set! (-> gp-0 mat trans quad) (-> obj root-override-2 trans quad)) - (set! (-> gp-0 velocity quad) (-> obj root-override-2 transv quad)) - (quaternion-copy! (the-as quaternion (-> gp-0 force)) (-> obj root-override-2 quat)) + (set! (-> gp-0 mat trans quad) (-> obj root trans quad)) + (set! (-> gp-0 velocity quad) (-> obj root transv quad)) + (quaternion-copy! (the-as quaternion (-> gp-0 force)) (-> obj root quat)) (let* ((f0-2 (race-path-method-12 arg0 (-> gp-0 mat trans) f30-0 f28-0)) (a0-4 arg0) (t9-2 (method-of-type race-path race-path-method-11)) @@ -301,14 +301,14 @@ (let ((t9-0 (method-of-type vehicle vehicle-method-120))) (t9-0 obj) ) - (let ((v1-10 (-> obj root-override-2 trans-old-old quad))) - (set! (-> obj root-override-2 trans-old-old-old quad) v1-10) + (let ((v1-10 (-> obj root trans-old-old quad))) + (set! (-> obj root trans-old-old-old quad) v1-10) ) - (let ((v1-12 (-> obj root-override-2 trans-old quad))) - (set! (-> obj root-override-2 trans-old-old quad) v1-12) + (let ((v1-12 (-> obj root trans-old quad))) + (set! (-> obj root trans-old-old quad) v1-12) ) - (let ((v1-14 (-> obj root-override-2 trans quad))) - (set! (-> obj root-override-2 trans-old quad) v1-14) + (let ((v1-14 (-> obj root trans quad))) + (set! (-> obj root trans-old quad) v1-14) ) 0 (none) @@ -349,7 +349,7 @@ (go (method-of-object obj die)) ) (when (-> obj race mesh) - (race-control-method-9 (-> obj race) (-> obj traffic-priority-id) (-> obj root-override-2 trans)) + (race-control-method-9 (-> obj race) (-> obj traffic-priority-id) (-> obj root trans)) (cond ((logtest? (-> arg0 flags) (traffic-spawn-flags trsflags-01)) (set! (-> obj flags) (logior (rigid-body-object-flag riding ai-driving) (-> obj flags))) @@ -402,12 +402,12 @@ ) (cond ((-> arg0 rbody) - (dotimes (s4-0 (-> obj info-override seat-count)) + (dotimes (s4-0 (-> obj info seat-count)) (send-event (handle->process (-> obj rider-array s4-0)) 'vehicle-got-hit arg0) ) ) (else - (dotimes (s4-1 (-> obj info-override seat-count)) + (dotimes (s4-1 (-> obj info seat-count)) (send-event (handle->process (-> obj rider-array s4-1)) 'vehicle-hit arg0) ) ) @@ -517,14 +517,11 @@ ) ((= v1-0 'race-pass) (if (logtest? (-> obj flags) (rigid-body-object-flag player-driving)) - (speech-control-method-12 - *speech-control* - obj - (if (-> *target* pilot as-daxter?) - (speech-type speech-type-0 speech-type-2 speech-type-3 speech-type-5) - (speech-type speech-type-2 speech-type-5) - ) - ) + (speech-control-method-12 *speech-control* obj (if (-> *target* pilot as-daxter?) + (speech-type speech-type-45) + (speech-type speech-type-36) + ) + ) (send-event (ppointer->process (-> obj child)) 'race-pass) ) ) @@ -579,7 +576,7 @@ (when (> a0-1 0) (let ((s5-1 (-> s5-0 (rand-vu-int-count a0-1)))) (format #t "vehicle-racer::select-path-randomly-from-mask: switching to path-~d~%" s5-1) - (race-control-method-9 (-> obj race) s5-1 (-> obj root-override-2 trans)) + (race-control-method-9 (-> obj race) s5-1 (-> obj root trans)) ) ) ) @@ -704,14 +701,14 @@ (the-as quaternion (-> s3-0 1)) (* 10.0 f30-0) ) - (vector-float*! (-> s4-0 state lin-momentum) (-> s4-0 state lin-velocity) (-> obj info-override info mass)) + (vector-float*! (-> s4-0 state lin-momentum) (-> s4-0 state lin-velocity) (-> obj info info mass)) (vector-reset! (-> s4-0 state ang-momentum)) (rigid-body-method-24 (-> s4-0 state)) (rigid-body-method-13 (-> s4-0 state)) - (set! (-> obj root-override-2 transv quad) (-> s4-0 state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> s4-0 state rotation)) + (set! (-> obj root transv quad) (-> s4-0 state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> s4-0 state rotation)) (let ((v1-46 s4-0) - (a1-14 (-> obj root-override-2 trans)) + (a1-14 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-46 state) a1-14) ) @@ -727,7 +724,7 @@ (set! (-> v1-51 quad 2) a2-5) (set! (-> v1-51 trans quad) a3-2) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (race-control-method-11 s5-0 (* f30-0 f28-0)) ) ) @@ -735,12 +732,12 @@ ) (vehicle-method-119 obj) (vehicle-method-120 obj) - (update-transforms (-> obj root-override-2)) + (update-transforms (-> obj root)) (let ((a1-17 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-17 options) (overlaps-others-options)) (set! (-> a1-17 collide-with-filter) (collide-spec civilian enemy obstacle)) (set! (-> a1-17 tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override-2) a1-17) + (find-overlapping-shapes (-> obj root) a1-17) ) 0 (none) @@ -1007,7 +1004,7 @@ (set! (-> self damage-factor) 0.0) (vehicle-method-83 self) (vehicle-method-143 self) - (let ((v1-9 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-9 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-9 (set! (-> v1-9 prim-core collide-with) (collide-spec)) (set! (-> v1-9 prim-core collide-as) (collide-spec)) @@ -1019,7 +1016,7 @@ :exit (behavior () (set! (-> self hit-points) 1.0) (logclear! (-> self flags) (rigid-body-object-flag waiting-for-player)) - (let ((v1-4 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-4 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-4 (set! (-> v1-4 prim-core collide-with) (collide-spec backgnd @@ -1043,13 +1040,13 @@ :code (the-as (function none :behavior vehicle-racer) sleep-code) :post (behavior () (when (logtest? (-> self flags) (rigid-body-object-flag waiting-for-player)) - (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (camera-pos))) - (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root-override-2 trans) (target-pos 0))) + (set! (-> self camera-dist2) (vector-vector-distance-squared (-> self root trans) (camera-pos))) + (set! (-> self player-dist2) (vector-vector-distance-squared (-> self root trans) (target-pos 0))) (check-player-get-on self) ) (vector-reset! (-> self target-acceleration)) (vehicle-method-120 self) - (update-transforms (-> self root-override-2)) + (update-transforms (-> self root)) (vehicle-method-119 self) (rigid-body-object-method-39 self) (none) @@ -1065,7 +1062,7 @@ ) :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self damage-factor) (-> self info-override damage-factor)) + (set! (-> self damage-factor) (-> self info damage-factor)) (vehicle-method-143 self) (set! (-> self flags) (logior (rigid-body-object-flag ignition) (-> self flags))) (none) @@ -1103,7 +1100,7 @@ ) :exit (behavior () (logclear! (-> self flags) (rigid-body-object-flag waiting-for-player)) - (let ((v1-3 (find-prim-by-id-logtest (-> self root-override-2) (the-as uint 32)))) + (let ((v1-3 (find-prim-by-id-logtest (-> self root) (the-as uint 32)))) (when v1-3 (set! (-> v1-3 prim-core collide-with) (collide-spec backgnd diff --git a/test/decompiler/reference/jak2/levels/common/scene-actor_REF.gc b/test/decompiler/reference/jak2/levels/common/scene-actor_REF.gc index fb5c5ec000..16f1fe73f5 100644 --- a/test/decompiler/reference/jak2/levels/common/scene-actor_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/scene-actor_REF.gc @@ -546,6 +546,7 @@ This commonly includes things such as: ) ;; definition for method 3 of type keira-npc +;; INFO: this function exists in multiple non-identical object files (defmethod inspect keira-npc ((obj keira-npc)) (when (not obj) (set! obj obj) @@ -559,6 +560,7 @@ This commonly includes things such as: ) ;; definition for method 35 of type keira-npc +;; INFO: this function exists in multiple non-identical object files (defmethod get-art-elem keira-npc ((obj keira-npc)) "Checks various things such the current actor, task status, etc to determine the right art-group data to use @returns the appropriate [[art-element]] for the given NPC" @@ -573,6 +575,7 @@ This commonly includes things such as: ) ;; definition for method 33 of type keira-npc +;; INFO: this function exists in multiple non-identical object files ;; WARN: Return type mismatch int vs none. (defmethod init-art! keira-npc ((obj keira-npc)) "@see [[initialize-skeleton]]" @@ -794,7 +797,7 @@ This commonly includes things such as: ;; definition for method 20 of type torn-npc (defmethod get-trans torn-npc ((obj torn-npc) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (if (= arg0 2) (vector<-cspace! (new 'static 'vector) (-> obj node-list data 6)) (-> v1-0 trans) @@ -1201,7 +1204,7 @@ This commonly includes things such as: (case (-> obj task actor) (((game-task-actor ashelin-throne)) (logior! (-> obj draw status) (draw-control-status no-draw-bounds)) - (let ((v1-7 (-> obj root-override root-prim))) + (let ((v1-7 (-> obj root root-prim))) (set! (-> v1-7 prim-core collide-as) (collide-spec)) (set! (-> v1-7 prim-core collide-with) (collide-spec)) ) diff --git a/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc b/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc index 94ec5e9fa3..0d6d38c474 100644 --- a/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc +++ b/test/decompiler/reference/jak2/levels/common/warp-gate_REF.gc @@ -472,17 +472,17 @@ ;; definition of type warp-gate (deftype warp-gate (process-drawable) - ((root-override collide-shape :offset 128) - (level-name uint32 :offset-assert 200) - (on-notice pair :offset-assert 204) - (on-activate pair :offset-assert 208) - (on-close pair :offset-assert 212) - (wait-for pair :offset-assert 216) - (continue continue-point :offset-assert 220) - (distance meters :offset-assert 224) - (anim-speed float :offset-assert 228) - (test-time time-frame :offset-assert 232) - (center vector :inline :offset-assert 240) + ((root collide-shape :override) + (level-name uint32 :offset-assert 200) + (on-notice pair :offset-assert 204) + (on-activate pair :offset-assert 208) + (on-close pair :offset-assert 212) + (wait-for pair :offset-assert 216) + (continue continue-point :offset-assert 220) + (distance meters :offset-assert 224) + (anim-speed float :offset-assert 228) + (test-time time-frame :offset-assert 232) + (center vector :inline :offset-assert 240) ) :heap-base #x80 :method-count-assert 26 @@ -576,11 +576,11 @@ :code (behavior () (remove-setting! 'allow-progress) (set! (-> self state-time) (current-time)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (until #f (handle-notice self) (when (and (and *target* - (and (>= (-> self distance) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + (and (>= (-> self distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -747,10 +747,9 @@ (suspend) ) ) - (while (and *target* - (and (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + (while (and *target* (and (>= 81920.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (suspend) (ja :num! (loop!)) @@ -780,7 +779,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -801,10 +800,10 @@ (set! (-> obj continue) #f) (set! (-> obj on-close) #f) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 130) obj)) - (set! (-> obj center quad) (-> obj root-override trans quad)) + (set! (-> obj center quad) (-> obj root trans quad)) (set! (-> obj center y) (+ 13516.8 (-> obj center y))) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "warpgate" :fo-max 30) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "warpgate" :fo-max 30) (-> obj root trans)) ) (set! (-> obj distance) (res-lump-float (-> obj entity) 'distance :default 20480.0)) (none) @@ -820,7 +819,7 @@ (process-drawable-from-entity! self arg0) ) (if arg1 - (set! (-> self root-override trans quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg1 quad)) ) (logior! (-> self mask) (process-mask actor-pause)) (setup-fields self) @@ -1259,7 +1258,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-18 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1276,7 +1275,7 @@ This commonly includes things such as: (let ((t9-0 (method-of-type warp-gate setup-fields))) (t9-0 obj) ) - (set! (-> obj base-pos quad) (-> obj root-override trans quad)) + (set! (-> obj base-pos quad) (-> obj root trans quad)) (let ((v1-2 (-> obj level-name))) (set! (-> obj dust-y) (cond ((= v1-2 'nest) @@ -1294,7 +1293,7 @@ This commonly includes things such as: (set! (-> obj part-exhaust-left) (create-launch-control (-> *part-group-id-table* 134) obj)) (set! (-> obj part-exhaust-right) (create-launch-control (-> *part-group-id-table* 134) obj)) (set! (-> obj part-dust) (create-launch-control (-> *part-group-id-table* 132) obj)) - (set! (-> obj root-override pause-adjust-distance) 368640.0) + (set! (-> obj root pause-adjust-distance) 368640.0) (set! (-> obj hover-sound) (sound-play "air-train")) (none) ) @@ -1308,23 +1307,23 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (set! (-> self root-override trans y) (+ (-> self base-pos y) - (* 696.32 (cos (* 66.19798 (the float (mod (current-time) 990))))) - (* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551))))) - ) + (set! (-> self root trans y) (+ (-> self base-pos y) + (* 696.32 (cos (* 66.19798 (the float (mod (current-time) 990))))) + (* 450.56 (cos (* 42.25403 (the float (mod (current-time) 1551))))) + ) ) (spawn-with-cspace (-> self part-exhaust-left) (-> self node-list data 5)) (spawn-with-cspace (-> self part-exhaust-right) (-> self node-list data 6)) (let ((f0-9 (-> self dust-y))) (when (!= f0-9 (the-as float #x7f800000)) (let ((a1-2 (new 'stack-no-clear 'vector))) - (set! (-> a1-2 quad) (-> self root-override trans quad)) + (set! (-> a1-2 quad) (-> self root trans quad)) (set! (-> a1-2 y) f0-9) (spawn (-> self part-dust) a1-2) ) ) ) - (sound-play "air-train" :id (-> self hover-sound) :position (-> self root-override trans)) + (sound-play "air-train" :id (-> self hover-sound) :position (-> self root trans)) (none) ) ) diff --git a/test/decompiler/reference/jak2/levels/dig/dig-obs_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig-obs_REF.gc index bbbde01949..9f410c51fa 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig-obs_REF.gc @@ -79,7 +79,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -242,7 +242,7 @@ (set! (-> v1-5 quad) (-> arg0 quad)) (set! (-> v1-5 y) (+ -8192.0 (-> v1-5 y))) (let ((a0-16 (-> obj rbody)) - (a2-2 (-> obj root-override-2 quat)) + (a2-2 (-> obj root quat)) ) (rigid-body-method-26 (-> a0-16 state) v1-5 a2-2) ) @@ -285,9 +285,9 @@ (the-as pair 0) ) (alloc-and-init-rigid-body-control obj *dig-sinking-platform-constants*) - (set! (-> obj anchor-point quad) (-> obj root-override-2 trans quad)) - (set! (-> obj surface-height) (+ -4096.0 (-> obj root-override-2 trans y))) - (let ((s5-1 (-> obj info-override control-point-count))) + (set! (-> obj anchor-point quad) (-> obj root trans quad)) + (set! (-> obj surface-height) (+ -4096.0 (-> obj root trans y))) + (let ((s5-1 (-> obj info control-point-count))) (dotimes (s4-1 s5-1) (let ((s3-0 (-> obj control-point-array data s4-1))) (let ((f30-0 (* 65536.0 (/ (the float s4-1) (the float s5-1))))) diff --git a/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc index 8269822346..81ddb8f479 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig1-obs_REF.gc @@ -480,7 +480,7 @@ (cond ((zero? v1-5) (when (>= (ja-aframe-num 0) 1.4) - (sound-play "dig-bomb-beep" :position (-> self root-override-2 trans)) + (sound-play "dig-bomb-beep" :position (-> self root trans)) (set-vector! (-> self draw color-mult) 1.1 0.25 0.25 1.0) (set! (-> self flash-counter) (+ gp-0 1)) ) @@ -646,7 +646,7 @@ :virtual #t :enter (behavior () (send-event (ppointer->process (-> self parent)) 'died) - (let ((v1-6 (-> self root-override-2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -657,8 +657,8 @@ :code (behavior () (sound-play "dig-bomb-explo") (let ((gp-1 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-1 spawn-point quad) (-> self root-override-2 trans quad)) - (quaternion-copy! (-> gp-1 spawn-quat) (-> self root-override-2 quat)) + (set! (-> gp-1 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-1 spawn-quat) (-> self root quat)) (set! (-> gp-1 radius) 28672.0) (set! (-> gp-1 group) (-> *part-group-id-table* 1146)) (set! (-> gp-1 collide-with) @@ -728,7 +728,7 @@ 0 0 (sound-group sfx) - (-> obj root-override-2 trans) + (-> obj root trans) ) ) ) @@ -744,8 +744,8 @@ (set! (-> a1-0 start-pos quad) (-> obj rbody state position quad)) (vector-float*! (-> a1-0 move-dist) (-> obj rbody state lin-velocity) (-> pp clock seconds-per-frame)) (let ((v1-3 a1-0)) - (set! (-> v1-3 radius) (+ 4096.0 (-> obj root-override-2 root-prim local-sphere w))) - (set! (-> v1-3 collide-with) (-> obj root-override-2 root-prim prim-core collide-with)) + (set! (-> v1-3 radius) (+ 4096.0 (-> obj root root-prim local-sphere w))) + (set! (-> v1-3 collide-with) (-> obj root root-prim prim-core collide-with)) (set! (-> v1-3 ignore-process0) obj) (set! (-> v1-3 ignore-process1) #f) (set! (-> v1-3 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) @@ -757,15 +757,15 @@ (debug-draw *collide-cache*) ) (rigid-body-object-method-30 obj) - (set! (-> obj root-override-2 transv quad) (-> obj rbody state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (set! (-> obj root transv quad) (-> obj rbody state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (rigid-body-method-24 (-> obj rbody state)) (let ((v1-19 (-> obj rbody)) - (a1-2 (-> obj root-override-2 trans)) + (a1-2 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-19 state) a1-2) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (transform-post) 0 (none) @@ -817,7 +817,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -848,8 +848,8 @@ (defbehavior dig-bomb-crate-cylinder-init-by-other dig-bomb-crate-cylinder ((arg0 dig-bomb-crate-cylinder-spawn-params) (arg1 entity-actor)) (process-entity-set! self arg1) (allocate-and-init-cshape self) - (set! (-> self root-override-2 trans quad) (-> arg0 pos quad)) - (quaternion-copy! (-> self root-override-2 quat) (-> arg0 quat)) + (set! (-> self root trans quad) (-> arg0 pos quad)) + (quaternion-copy! (-> self root quat) (-> arg0 quat)) (init-skel-and-rigid-body self) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) (vector-float*! (-> self rbody state lin-momentum) (-> arg0 vel) (-> self info info mass)) @@ -940,7 +940,7 @@ ;; definition for method 29 of type dig-bomb-crate ;; WARN: Return type mismatch int vs none. (defmethod dig-bomb-crate-method-29 dig-bomb-crate ((obj dig-bomb-crate) (arg0 vector)) - (let ((s4-0 (-> obj root-override trans))) + (let ((s4-0 (-> obj root trans))) (dotimes (s3-0 8) (let ((a0-2 (-> *dig-bomb-crate-array* s3-0)) (s2-0 (new 'stack-no-clear 'dig-bomb-crate-cylinder-spawn-params)) @@ -969,7 +969,7 @@ (defmethod get-trans dig-bomb-crate ((obj dig-bomb-crate) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" (local-vars (v0-0 vector)) - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (case arg0 ((2 3) (set! v0-0 (new 'static 'vector)) @@ -1005,7 +1005,7 @@ :virtual #t :enter (behavior () (send-event (ppointer->process (-> self parent)) 'died) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -1106,7 +1106,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton diff --git a/test/decompiler/reference/jak2/levels/dig/dig2-obs_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig2-obs_REF.gc index 26012296c2..03c7fe6dee 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig2-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig2-obs_REF.gc @@ -80,7 +80,7 @@ This commonly includes things such as: (set! (-> s3-0 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s3-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override) s3-0) + (set! (-> obj root) s3-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj (the-as skeleton-group s4-0) (the-as pair 0)) diff --git a/test/decompiler/reference/jak2/levels/dig/dig3-obs_REF.gc b/test/decompiler/reference/jak2/levels/dig/dig3-obs_REF.gc index efb97e102e..8003923d2a 100644 --- a/test/decompiler/reference/jak2/levels/dig/dig3-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/dig/dig3-obs_REF.gc @@ -473,7 +473,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (send-event (ppointer->process (-> self parent)) 'died) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -512,9 +512,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defun spikey-sphere-update-velocity ((arg0 dig-spikey-sphere)) (with-pp - (set! (-> arg0 root-override transv y) - (- (-> arg0 root-override transv y) (* 327680.0 (-> pp clock seconds-per-frame))) - ) + (set! (-> arg0 root transv y) (- (-> arg0 root transv y) (* 327680.0 (-> pp clock seconds-per-frame)))) 0 (none) ) @@ -560,7 +558,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -568,7 +566,7 @@ This commonly includes things such as: ;; definition for function spikey-sphere-move (defun spikey-sphere-move ((arg0 dig-spikey-sphere)) - (quaternion*! (-> arg0 root-override quat) (-> arg0 tumble-quat) (-> arg0 root-override quat)) + (quaternion*! (-> arg0 root quat) (-> arg0 tumble-quat) (-> arg0 root quat)) (projectile-move-fill-all-dirs arg0) (none) ) @@ -578,13 +576,13 @@ This commonly includes things such as: ;; WARN: Return type mismatch time-frame vs none. (defmethod play-impact-sound! dig-spikey-sphere ((obj dig-spikey-sphere)) "Plays impact sound" - (let* ((a0-1 (-> obj root-override)) + (let* ((a0-1 (-> obj root)) (s5-0 (-> a0-1 status)) ) (when (logtest? s5-0 (collide-status touch-surface)) (vector-float*! (-> a0-1 transv) (-> a0-1 transv) 0.9) (cond - ((< (-> obj root-override trans y) (-> obj pad-i1hb23h1b)) + ((< (-> obj root trans y) (-> obj pad-i1hb23h1b)) (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s4-0 (let ((t9-1 (method-of-type part-tracker activate))) @@ -605,7 +603,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override grount-touch-point quad)) + (set! (-> t3-0 trans quad) (-> obj root grount-touch-point quad)) ((the-as (function object object object object object object object object none) t9-2) a0-5 a1-3 @@ -643,7 +641,7 @@ This commonly includes things such as: (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> obj root-override grount-touch-point quad)) + (set! (-> t3-1 trans quad) (-> obj root grount-touch-point quad)) ((the-as (function object object object object object object object object none) t9-6) a0-8 a1-6 @@ -691,8 +689,8 @@ This commonly includes things such as: (set! (-> obj update-velocity) spikey-sphere-update-velocity) (set! (-> obj max-hits) #xffff) (set! (-> obj move) spikey-sphere-move) - (set-vector! (-> obj root-override quat) 0.0 0.0 0.0 1.0) - (set! (-> obj pad-i1hb23h1b) (+ -204800.0 (-> obj root-override trans y))) + (set-vector! (-> obj root quat) 0.0 0.0 0.0 1.0) + (set! (-> obj pad-i1hb23h1b) (+ -204800.0 (-> obj root trans y))) (let ((v1-16 (-> obj starting-dir))) (quaternion-axis-angle! (-> obj tumble-quat) @@ -1627,7 +1625,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1647,7 +1645,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-dig-tipping-rock" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (quaternion-rotate-local-x! (-> obj root-override-2 quat) (-> obj root-override-2 quat) -2555.2202) + (quaternion-rotate-local-x! (-> obj root quat) (-> obj root quat) -2555.2202) (alloc-and-init-rigid-body-control obj *dig-tipping-rock-constants*) (set! (-> obj anchor-point quad) (-> obj rbody state position quad)) (let ((v1-8 (-> obj control-point-array))) @@ -1676,7 +1674,7 @@ This commonly includes things such as: (set! (-> v1-9 local-pos w) 1.0) ) ) - (set! (-> obj surface-height) (+ 6144.0 (-> obj root-override-2 trans y))) + (set! (-> obj surface-height) (+ 6144.0 (-> obj root trans y))) (set! (-> obj bubbling-sound-id) (new 'static 'sound-id)) 0 (none) @@ -1859,7 +1857,7 @@ This commonly includes things such as: (case (-> (the-as attack-info (-> event param 1)) mode) (('flop) (when (not (-> self flag)) - (set! (-> self desty) (+ -12288.0 (-> self root-override-2 trans y))) + (set! (-> self desty) (+ -12288.0 (-> self root trans y))) (send-event (ppointer->process (-> self parent)) 'set-flag) (go-virtual hit) 'solid @@ -1888,14 +1886,14 @@ This commonly includes things such as: ) :code (behavior () (sound-play "stomp-block") - (while (< (-> self desty) (-> self root-override-2 trans y)) - (set! (-> self root-override-2 trans y) (seek-with-smooth - (-> self root-override-2 trans y) - (-> self desty) - (* 24576.0 (-> self clock seconds-per-frame)) - 0.25 - 1.0 - ) + (while (< (-> self desty) (-> self root trans y)) + (set! (-> self root trans y) (seek-with-smooth + (-> self root trans y) + (-> self desty) + (* 24576.0 (-> self clock seconds-per-frame)) + 0.25 + 1.0 + ) ) (suspend) ) @@ -1937,8 +1935,8 @@ This commonly includes things such as: (set! (-> a1-0 start-pos quad) (-> obj rbody state position quad)) (vector-float*! (-> a1-0 move-dist) (-> obj rbody state lin-velocity) (-> pp clock seconds-per-frame)) (let ((v1-3 a1-0)) - (set! (-> v1-3 radius) (+ 4096.0 (-> obj root-override-2 root-prim local-sphere w))) - (set! (-> v1-3 collide-with) (-> obj root-override-2 root-prim prim-core collide-with)) + (set! (-> v1-3 radius) (+ 4096.0 (-> obj root root-prim local-sphere w))) + (set! (-> v1-3 collide-with) (-> obj root root-prim prim-core collide-with)) (set! (-> v1-3 ignore-process0) obj) (set! (-> v1-3 ignore-process1) #f) (set! (-> v1-3 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) @@ -1968,15 +1966,15 @@ This commonly includes things such as: (debug-draw *collide-cache*) ) (rigid-body-object-method-30 obj) - (set! (-> obj root-override-2 transv quad) (-> obj rbody state lin-velocity quad)) - (quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation)) + (set! (-> obj root transv quad) (-> obj rbody state lin-velocity quad)) + (quaternion-copy! (-> obj root quat) (-> obj rbody state rotation)) (rigid-body-method-24 (-> obj rbody state)) (let ((v1-22 (-> obj rbody)) - (a1-8 (-> obj root-override-2 trans)) + (a1-8 (-> obj root trans)) ) (rigid-body-method-23 (-> v1-22 state) a1-8) ) - (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root-override-2 trans quad)) + (set! (-> obj node-list data 0 bone transform trans quad) (-> obj root trans quad)) (transform-post) 0 (none) @@ -2074,7 +2072,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2103,8 +2101,8 @@ This commonly includes things such as: (defbehavior dig-stomp-block-init-by-other dig-stomp-block ((arg0 vector)) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) (allocate-and-init-cshape self) - (set! (-> self root-override-2 trans quad) (-> arg0 quad)) - (set-vector! (-> self root-override-2 quat) 0.0 1.0 0.0 0.0) + (set! (-> self root trans quad) (-> arg0 quad)) + (set-vector! (-> self root quat) 0.0 1.0 0.0 0.0) (init-skel-and-rigid-body self) (transform-post) (go-virtual waiting) @@ -2190,7 +2188,7 @@ This commonly includes things such as: (a2-3 (-> self stomp-blocks (+ a0-5 1))) ) (when (and a1-2 a2-3) - (if (< 20480.0 (fabs (- (-> a1-2 0 root-override-2 trans y) (-> a2-3 0 root-override-2 trans y)))) + (if (< 20480.0 (fabs (- (-> a1-2 0 root trans y) (-> a2-3 0 root trans y)))) (set! v1-3 #t) ) ) diff --git a/test/decompiler/reference/jak2/levels/drill_platform/drill-baron_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/drill-baron_REF.gc index a84f67de93..9eee4edbfe 100644 --- a/test/decompiler/reference/jak2/levels/drill_platform/drill-baron_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill_platform/drill-baron_REF.gc @@ -687,7 +687,7 @@ ;; definition of type drill-barons-ship (deftype drill-barons-ship (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (init-quat quaternion :inline :offset-assert 208) (next-to-shoot-idx int32 :offset-assert 224) (current-y-position float :offset-assert 228) @@ -795,7 +795,7 @@ ;; definition of type drill-barons-ship-turret (deftype drill-barons-ship-turret (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info barons-ship-turret-info :offset-assert 200) (shot-timer time-frame :offset-assert 208) (shot-counter int32 :offset-assert 216) @@ -1001,7 +1001,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-6 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s5-0)) + (set! (-> self root) (the-as collide-shape-moving s5-0)) ) ) (else @@ -1019,27 +1019,22 @@ (set! (-> s5-1 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-1 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s5-1)) + (set! (-> self root) (the-as collide-shape-moving s5-1)) ) ) ) - (let ((v1-16 (-> self root-override root-prim))) - (set! (-> self root-override backup-collide-as) (-> v1-16 prim-core collide-as)) - (set! (-> self root-override backup-collide-with) (-> v1-16 prim-core collide-with)) + (let ((v1-16 (-> self root root-prim))) + (set! (-> self root backup-collide-as) (-> v1-16 prim-core collide-as)) + (set! (-> self root backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (let ((v1-19 (-> self root-override root-prim))) + (let ((v1-19 (-> self root root-prim))) (set! (-> v1-19 prim-core collide-as) (collide-spec)) (set! (-> v1-19 prim-core collide-with) (collide-spec)) ) 0 - (set! (-> self root-override trans quad) - (-> (the-as drill-barons-ship (-> self parent 0)) root-override trans quad) - ) - (quaternion-copy! - (-> self root-override quat) - (-> (the-as drill-barons-ship (-> self parent 0)) root-override quat) - ) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> (the-as drill-barons-ship (-> self parent 0)) root trans quad)) + (quaternion-copy! (-> self root quat) (-> (the-as drill-barons-ship (-> self parent 0)) root quat)) + (vector-identity! (-> self root scale)) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self info) (the-as barons-ship-turret-info arg0)) (set! (-> self info alive) #t) @@ -1167,7 +1162,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1177,11 +1172,11 @@ This commonly includes things such as: ) (logclear! (-> obj mask) (process-mask actor-pause)) (logior! (-> obj skel status) (joint-control-status sync-math)) - (quaternion-vector-angle! (-> obj root-override quat) *y-vector* -16384.0) - (set-vector! (-> obj root-override trans) 737280.0 -1024000.0 -1433600.0 1.0) + (quaternion-vector-angle! (-> obj root quat) *y-vector* -16384.0) + (set-vector! (-> obj root trans) 737280.0 -1024000.0 -1433600.0 1.0) (set! (-> obj next-to-shoot-idx) 0) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) - (set! (-> obj current-y-position) (-> obj root-override trans y)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) + (set! (-> obj current-y-position) (-> obj root trans y)) (set! (-> obj from-y) (-> obj current-y-position)) (set! (-> obj inc-y) 1228.8) (set! (-> obj ease-y) 40960.0) @@ -1398,7 +1393,7 @@ This commonly includes things such as: (* 0.05 (-> self clock time-adjust-ratio) (-> self inc-y)) ) ) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self current-y-position) (* 4096.0 (* 2.0 (sin (+ 16384.0 (* 45.511112 (the float (current-time)))))))) ) (drill-barons-ship-method-22 self) @@ -1520,7 +1515,7 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self current-y-position) (* 4096.0 (* 2.0 (sin (+ 16384.0 (* 45.511112 (the float (current-time)))))))) ) (drill-barons-ship-method-22 self) @@ -1535,7 +1530,7 @@ This commonly includes things such as: (defmethod drill-barons-ship-method-22 drill-barons-ship ((obj drill-barons-ship)) (with-pp (quaternion-rotate-local-x! - (-> obj root-override quat) + (-> obj root quat) (-> obj init-quat) (* 182.04445 (sin (* 36.40889 (the float (current-time))))) ) @@ -1560,9 +1555,9 @@ This commonly includes things such as: ) ) ) - (quaternion-rotate-local-z! (-> obj root-override quat) (-> obj root-override quat) f30-2) + (quaternion-rotate-local-z! (-> obj root quat) (-> obj root quat) f30-2) ) - (set! (-> obj root-override trans z) + (set! (-> obj root trans z) (+ (* 4096.0 (* 30.0 (cos (* 45.511112 (the float (current-time)))))) (if (= (-> obj pass) 1) -1433600.0 -1433600.0 @@ -1570,7 +1565,7 @@ This commonly includes things such as: ) ) (if *target* - (set! (-> obj root-override trans x) + (set! (-> obj root trans x) (+ (-> *target* control trans x) (* 4096.0 (+ (if (= (-> obj pass) 1) 15.0 -35.0 @@ -1591,19 +1586,15 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod drill-barons-ship-turret-method-24 drill-barons-ship-turret ((obj drill-barons-ship-turret)) (vector<-cspace! - (-> obj root-override trans) + (-> obj root trans) (-> (the-as drill-barons-ship (-> obj parent 0)) node-list data (-> obj info joint-idx)) ) (let ((a2-1 (quaternion-axis-angle! (new 'stack-no-clear 'quaternion) 0.0 1.0 0.0 (-> obj info init-y-angle)))) - (quaternion*! - (-> obj root-override quat) - (-> (the-as drill-barons-ship (-> obj parent 0)) root-override quat) - a2-1 - ) + (quaternion*! (-> obj root quat) (-> (the-as drill-barons-ship (-> obj parent 0)) root quat) a2-1) ) (when (-> obj jmod) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root-override trans))) - (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root-override quat))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> obj root trans))) + (s3-0 (quaternion->matrix (new-stack-matrix0) (-> obj root quat))) ) (vector-normalize! s5-1 1.0) (let* ((s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> s3-0 vector 1) 1.0)) @@ -1647,7 +1638,7 @@ This commonly includes things such as: (defstate dead (drill-barons-ship-turret) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1657,15 +1648,11 @@ This commonly includes things such as: ) :trans (behavior () (vector<-cspace! - (-> self root-override trans) + (-> self root trans) (-> (the-as drill-barons-ship (-> self parent 0)) node-list data (-> self info joint-idx)) ) (let ((a2-1 (quaternion-axis-angle! (new 'stack-no-clear 'quaternion) 0.0 1.0 0.0 (-> self info init-y-angle)))) - (quaternion*! - (-> self root-override quat) - (-> (the-as drill-barons-ship (-> self parent 0)) root-override quat) - a2-1 - ) + (quaternion*! (-> self root quat) (-> (the-as drill-barons-ship (-> self parent 0)) root quat) a2-1) ) (if (and (-> (the-as drill-barons-ship (-> self parent 0)) next-state) (= (-> (the-as drill-barons-ship (-> self parent 0)) next-state name) 'hidden) @@ -1715,7 +1702,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -1766,7 +1753,7 @@ This commonly includes things such as: (t2-2 #f) (t3-2 *launch-matrix*) ) - (set! (-> t3-2 trans quad) (-> self root-override trans quad)) + (set! (-> t3-2 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-8) a0-8 a1-8 @@ -1787,7 +1774,7 @@ This commonly includes things such as: ) :trans (behavior () (vector<-cspace! - (-> self root-override trans) + (-> self root trans) (-> (the-as drill-barons-ship (-> self parent 0)) node-list data (-> self info joint-idx)) ) (if (not (and (-> (the-as drill-barons-ship (-> self parent 0)) next-state) @@ -1861,7 +1848,7 @@ This commonly includes things such as: (set! (-> self info alive) #f) (set! (-> self info next-to-shoot) #f) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> gp-1 z) (+ 81920.0 (-> gp-1 z))) (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-1 @@ -1932,9 +1919,9 @@ This commonly includes things such as: ) ) (set! (-> self error-y-angle-dest) (- (-> self error-y-angle))) - (let ((v1-5 (-> self root-override root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (cond ((= (-> self info mesh) 1) @@ -1986,7 +1973,7 @@ This commonly includes things such as: (if (zero? (-> self info mesh)) (sound-stop (-> self soundid)) ) - (let ((v1-5 (-> self root-override root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -2099,7 +2086,7 @@ This commonly includes things such as: ) ) (else - (let ((v1-45 (quaternion->matrix (new-stack-matrix0) (-> self root-override quat))) + (let ((v1-45 (quaternion->matrix (new-stack-matrix0) (-> self root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> v1-45 vector 2 quad)) diff --git a/test/decompiler/reference/jak2/levels/drill_platform/drill-obs2_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/drill-obs2_REF.gc index 98146e4f08..f8ca66767e 100644 --- a/test/decompiler/reference/jak2/levels/drill_platform/drill-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill_platform/drill-obs2_REF.gc @@ -100,14 +100,14 @@ ) :trans (behavior () (if (>= (ja-aframe-num 0) 67.5) - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) ) (plat-trans) (none) ) :code (behavior () - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) (ja-no-eval :group! (-> self draw art-group data 3) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) frames num-frames) -1)) 0.75) :frame-num 0.0 @@ -132,8 +132,8 @@ ) :trans (behavior () (if (>= (ja-aframe-num 0) 26.0) - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) ) (plat-trans) (none) @@ -195,7 +195,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) (set! (-> s5-0 rider-max-momentum) 0.0) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -245,7 +245,7 @@ This commonly includes things such as: ;; definition of type drill-falling-door (deftype drill-falling-door (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (hit-state int32 :offset-assert 200) (next-hit-state int32 :offset-assert 204) ) @@ -321,11 +321,11 @@ This commonly includes things such as: :event drill-falling-door-handler :enter (behavior () (when (= (level-status *level* 'drillmtn) 'active) - (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 24985.6 :z 3276.8 :w 1.0) a2-0) self - (-> self root-override quat) + (-> self root quat) (the-as entity-actor (entity-by-name "mech-5")) ) ) @@ -382,7 +382,7 @@ This commonly includes things such as: (while (-> self child) (deactivate (-> self child 0)) ) - (let ((v1-6 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-6 (the-as collide-shape-prim-group (-> self root root-prim)))) (let ((a0-3 (-> v1-6 child 0))) (set! (-> a0-3 prim-core action) (collide-action solid)) (set! (-> a0-3 prim-core collide-as) (collide-spec obstacle)) @@ -454,7 +454,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -799,9 +799,9 @@ This commonly includes things such as: ;; definition of type drill-metalhead-eggs (deftype drill-metalhead-eggs (process-drawable) - ((root-override collide-shape-moving :offset 128) - (actor-group actor-group :offset-assert 200) - (notify-actor entity-actor :offset-assert 204) + ((root collide-shape-moving :override) + (actor-group actor-group :offset-assert 200) + (notify-actor entity-actor :offset-assert 204) ) :heap-base #x50 :method-count-assert 25 @@ -924,15 +924,15 @@ This commonly includes things such as: (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) - (sound-play "mhead-egg-break" :position (-> self root-override trans)) + (sound-play "mhead-egg-break" :position (-> self root trans)) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> gp-1 y) (+ 8192.0 (-> gp-1 y))) (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-1 @@ -1168,7 +1168,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s5-0)) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1214,7 +1214,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s5-0)) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1260,7 +1260,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s5-0)) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1268,9 +1268,9 @@ This commonly includes things such as: ;; definition of type drill-bridge-shot (deftype drill-bridge-shot (process-drawable) - ((root-override collide-shape-moving :offset 128) - (anim art-joint-anim :offset-assert 200) - (art-name string :offset-assert 204) + ((root collide-shape-moving :override) + (anim art-joint-anim :offset-assert 200) + (art-name string :offset-assert 204) ) :heap-base #x50 :method-count-assert 22 @@ -1360,7 +1360,7 @@ This commonly includes things such as: (none) ) :code (behavior ((arg0 symbol)) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core collide-as) (collide-spec obstacle)) (set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core collide-with) (collide-spec jak bot player-list) @@ -1392,7 +1392,7 @@ This commonly includes things such as: (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-11 a1-7 @@ -1468,7 +1468,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1478,7 +1478,7 @@ This commonly includes things such as: ) (set! (-> obj draw force-lod) 1) (let ((f0-18 (res-lump-float (-> obj entity) 'rotoffset)) - (a1-16 (-> obj root-override quat)) + (a1-16 (-> obj root quat)) ) (quaternion-rotate-y! a1-16 a1-16 f0-18) ) @@ -1705,7 +1705,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) (set! (-> s5-0 rider-max-momentum) 0.0) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/drill_platform/drill-obs_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/drill-obs_REF.gc index 51c9849b7f..d85f3839fa 100644 --- a/test/decompiler/reference/jak2/levels/drill_platform/drill-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill_platform/drill-obs_REF.gc @@ -143,17 +143,13 @@ and translate the platform via the `smush` (cond ((-> self bouncing) (new 'stack-no-clear 'quaternion) - (quaternion-rotate-local-x! - (-> self root-override quat) - (-> self init-quat) - (* 182.04445 (update! (-> self smush))) - ) + (quaternion-rotate-local-x! (-> self root quat) (-> self init-quat) (* 182.04445 (update! (-> self smush)))) (if (not (!= (-> self smush amp) 0.0)) (set! (-> self bouncing) #f) ) ) (else - (move-to-point! (-> self root-override) (-> self basetrans)) + (move-to-point! (-> self root) (-> self basetrans)) ) ) (none) @@ -172,7 +168,7 @@ and translate the platform via the `smush` ) :enter (behavior () (ja :group! (-> self draw art-group data 2) :num! min) - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) (none) ) :trans drill-plat-falling-trans @@ -185,7 +181,7 @@ and translate the platform via the `smush` :virtual #t :trans (behavior () (if (>= (- (current-time) (-> self state-time)) (seconds 0.4)) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) ) (drill-plat-falling-trans) (none) @@ -230,7 +226,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -239,8 +235,8 @@ This commonly includes things such as: (the-as pair 0) ) (stop-bouncing! obj) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) - (update-transforms (-> obj root-override)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) + (update-transforms (-> obj root)) (ja-channel-push! 1 0) (go (method-of-object obj idle)) (none) @@ -349,7 +345,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -385,17 +381,17 @@ This commonly includes things such as: :frame-num 0.0 ) (until (ja-done? 0) - (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root trans)) (suspend) (ja :num! (seek!)) ) (logior! (-> self elevator-status) (elevator-status waiting-to-ascend)) (until (= (-> self path-pos) 1.0) - (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "drill-elevator" :id (-> self sound-id) :position (-> self root trans)) (suspend) ) (sound-stop (-> self sound-id)) - (sound-play "d-elev-fence-dn" :position (-> self root-override trans)) + (sound-play "d-elev-fence-dn" :position (-> self root trans)) (ja-no-eval :group! (-> self draw art-group data 4) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) frames num-frames) -1))) :frame-num 0.0 @@ -414,7 +410,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (set-extent! (-> self shaft 0) (-> self root-override trans)) + (set-extent! (-> self shaft 0) (-> self root trans)) (none) ) ) @@ -541,11 +537,11 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 20480.0) (< (fabs (-> s4-2 z)) 20480.0)) ) ) @@ -658,7 +654,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) (until (= (-> self path-pos) 1.0) - (sound-play "mech-lift" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "mech-lift" :id (-> self sound-id) :position (-> self root trans)) (suspend) ) (sound-stop (-> self sound-id)) @@ -680,9 +676,9 @@ For example for an elevator pre-compute the distance between the first and last ) (when (and a0-2 (focus-test? a0-2 mech) (not (logtest? (-> a0-2 focus-status) (focus-status dead ignore)))) (let* ((v1-5 (get-trans a0-2 0)) - (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> obj root-override trans))) + (s5-2 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> obj root trans))) ) - (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s5-2 s5-2 (-> obj root quat)) (and (< (fabs (-> s5-2 x)) 16384.0) (< (fabs (-> s5-2 z)) 16384.0)) ) ) @@ -754,7 +750,7 @@ For example for an elevator pre-compute the distance between the first and last ;; definition of type fire-floor (deftype fire-floor (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (part-off sparticle-launch-control :offset-assert 200) (size float 2 :offset-assert 204) (attack-id uint32 :offset-assert 212) @@ -836,10 +832,8 @@ For example for an elevator pre-compute the distance between the first and last (>= (-> s4-1 y) -2048.0) (>= 2048.0 (-> s4-1 y)) ) - (let ((s4-2 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) - (let* ((v1-23 - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root-override quat)) - ) + (let ((s4-2 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) + (let* ((v1-23 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root quat))) (f0-8 (vector-dot s4-2 v1-23)) ) (if (< 0.0 f0-8) @@ -888,7 +882,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> a1-0 options) (overlaps-others-options oo0)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (none) ) @@ -1027,7 +1021,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (set-part obj) @@ -1078,7 +1072,7 @@ This commonly includes things such as: (matrix-inverse-of-rot-trans! (-> obj world-to-local) (-> obj local-to-world)) (set! (-> obj deadly-width) (vector-vector-distance (-> s4-1 vector 1) (the-as vector (-> s4-1 vector)))) (set! (-> obj deadly-length) (vector-vector-distance (-> s4-1 vector 2) (the-as vector (-> s4-1 vector)))) - (let ((v1-39 (-> obj root-override root-prim))) + (let ((v1-39 (-> obj root root-prim))) (vector-reset! (-> v1-39 local-sphere)) (let* ((f0-14 (* 0.5 (-> obj deadly-width))) (f0-16 (* f0-14 f0-14)) @@ -1102,7 +1096,7 @@ This commonly includes things such as: ) (set! (-> obj sound-id) (new-sound-id)) (set! (-> obj sound-playing) #f) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (go (method-of-object obj idle)) (none) ) @@ -1297,7 +1291,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1357,8 +1351,8 @@ This commonly includes things such as: (let ((gp-1 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! gp-1 (-> self root-override quat)) - (vector-! s5-1 (target-pos 0) (-> self root-override trans)) + (vector-z-quaternion! gp-1 (-> self root quat)) + (vector-! s5-1 (target-pos 0) (-> self root trans)) (if (< (vector-dot s5-1 gp-1) 0.0) (set! (-> self down-frame) 2.0) ) @@ -1805,12 +1799,12 @@ This commonly includes things such as: (game-task-node drill-ship-resolution) TASK_MANAGER_INIT_HOOK (lambda () - (speech-control-method-10 + (speech-table-set! *speech-control* - 6 + (speech-type speech-type-6) (new 'static 'speech-type-info - :min-delay #x4b0 - :max-delay #x960 + :min-delay (seconds 4) + :max-delay (seconds 8) :list (new 'static 'boxed-array :type string "kg001" "kg006" @@ -1851,13 +1845,13 @@ This commonly includes things such as: ) ) ) - (speech-control-method-10 + (speech-table-set! *speech-control* - 9 + (speech-type speech-type-9) (new 'static 'speech-type-info :priority 1 - :min-delay #x12c - :max-delay #x258 + :min-delay (seconds 1) + :max-delay (seconds 2) :list (new 'static 'boxed-array :type string "kg133" "kg142" @@ -1882,22 +1876,22 @@ This commonly includes things such as: ) (the-as object - (speech-control-method-10 - *speech-control* - 10 - (new 'static 'speech-type-info :priority #xa :max-delay #x12c :list (new 'static 'boxed-array :type string - "kg166" - "kg167" - "kg168" - "kg169" - "kg171" - "kg172" - "kg173" - "kg174" - "kg175" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-10) (new 'static 'speech-type-info + :priority 10 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg166" + "kg167" + "kg168" + "kg169" + "kg171" + "kg172" + "kg173" + "kg174" + "kg175" + ) + ) + ) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/drill_platform/drill-panel_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/drill-panel_REF.gc index 9340490607..fc70c219c4 100644 --- a/test/decompiler/reference/jak2/levels/drill_platform/drill-panel_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill_platform/drill-panel_REF.gc @@ -674,18 +674,18 @@ ) :enter (behavior () (when (= (level-status *level* 'drillmtn) 'active) - (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((a2-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (if (= (-> self type) drill-control-panel) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18841.6 :z -2048.0 :w 1.0) a2-0) self - (-> self root-override quat) + (-> self root quat) (the-as entity-actor (entity-by-name "mech-5")) ) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18841.6 :z -10240.0 :w 1.0) a2-0) self - (-> self root-override quat) + (-> self root quat) (the-as entity-actor (entity-by-name "mech-5")) ) ) @@ -732,7 +732,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -826,7 +826,7 @@ This commonly includes things such as: ) (the-as pair 0) ) - (set! (-> obj root-override root-prim transform-index) (the-as int (-> obj draw origin-joint-index))) + (set! (-> obj root root-prim transform-index) (the-as int (-> obj draw origin-joint-index))) (init-panel obj) (set! (-> obj draw force-lod) 1) (transform-post) diff --git a/test/decompiler/reference/jak2/levels/drill_platform/drill-spool_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/drill-spool_REF.gc index 90d77defcc..fa221f98ec 100644 --- a/test/decompiler/reference/jak2/levels/drill_platform/drill-spool_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill_platform/drill-spool_REF.gc @@ -902,7 +902,7 @@ This commonly includes things such as: (set! (-> s2-0 backup-collide-as) (-> v1-22 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) - (set! (-> obj root-override) s2-0) + (set! (-> obj root) s2-0) ) (if (string= (-> obj art-name) "drill-wall-1") (set! (-> obj anim) @@ -1102,7 +1102,7 @@ This commonly includes things such as: (set! (-> s3-1 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s3-1 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s3-1) + (set! (-> obj root) s3-1) ) (set! (-> obj anim) (new 'static 'spool-anim :name "drill-crane-break" :anim-name "break" :parts 3 :command-list '()) @@ -1111,7 +1111,7 @@ This commonly includes things such as: (initialize-skeleton obj (the-as skeleton-group s4-0) (the-as pair 0)) ) (set! (-> obj draw force-lod) 1) - (let ((s4-1 (-> obj root-override))) + (let ((s4-1 (-> obj root))) (set! sv-16 (new 'static 'res-tag)) (let ((v1-28 (res-lump-data arg0 'scale-mult (pointer float) :tag-ptr (& sv-16)))) (when v1-28 diff --git a/test/decompiler/reference/jak2/levels/drill_platform/drillmid-obs_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/drillmid-obs_REF.gc new file mode 100644 index 0000000000..5a4caba964 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/drill_platform/drillmid-obs_REF.gc @@ -0,0 +1,389 @@ +;;-*-Lisp-*- +(in-package goal) + +;; failed to figure out what this is: +(defskelgroup skel-drill-elevator-doors drill-elevator-doors drill-elevator-doors-lod0-jg drill-elevator-doors-idle-ja + ((drill-elevator-doors-lod0-mg (meters 999999))) + :bounds (static-spherem 0 4 0 10.5) + ) + +;; definition of type drill-elevator-doors +(deftype drill-elevator-doors (com-airlock) + () + :heap-base #x100 + :method-count-assert 28 + :size-assert #x174 + :flag-assert #x1c01000174 + ) + +;; definition for method 3 of type drill-elevator-doors +(defmethod inspect drill-elevator-doors ((obj drill-elevator-doors)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type com-airlock inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; definition for method 11 of type drill-elevator-doors +;; WARN: Return type mismatch object vs none. +(defmethod init-from-entity! drill-elevator-doors ((obj drill-elevator-doors) (arg0 entity-actor)) + "Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that. +This commonly includes things such as: +- stack size +- collision information +- loading the skeleton group / bones +- sounds" + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 penetrated-by) (penetrate)) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s5-0 total-prims) (the-as uint 3)) + (set! (-> s4-0 prim-core collide-as) (collide-spec obstacle)) + (set! (-> s4-0 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid)) + (set-vector! (-> s4-0 local-sphere) 0.0 16384.0 0.0 24576.0) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-8 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-8 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-8 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-8 prim-core action) (collide-action solid)) + (set! (-> v1-8 transform-index) 4) + (set-vector! (-> v1-8 local-sphere) 0.0 16384.0 0.0 20480.0) + ) + (let ((v1-10 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-10 prim-core collide-as) (collide-spec obstacle)) + (set! (-> v1-10 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-10 prim-core action) (collide-action solid)) + (set! (-> v1-10 transform-index) 5) + (set-vector! (-> v1-10 local-sphere) 0.0 16384.0 0.0 20480.0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-13 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) + ) + (set! (-> obj root) s5-0) + ) + (initialize-skeleton + obj + (the-as + skeleton-group + (art-group-get-by-name *level* "skel-drill-elevator-doors" (the-as (pointer uint32) #f)) + ) + (the-as pair 0) + ) + (init-airlock! obj) + (set! (-> obj inner?) #t) + (set! (-> obj sound-behind?) #t) + (set! (-> obj sound-open-loop) (static-sound-spec "drl-elev-door-l")) + (set! (-> obj sound-open-stop) (static-sound-spec "drl-elev-door-e")) + (set! (-> obj sound-close-loop) (static-sound-spec "drl-elev-door-l")) + (set! (-> obj sound-close-stop) (static-sound-spec "drl-elev-door-e")) + (go (method-of-object obj close) #t) + (none) + ) + +;; definition of type drill-lift +(deftype drill-lift (elevator) + ((sound-id sound-id :offset-assert 368) + ) + :heap-base #x100 + :method-count-assert 50 + :size-assert #x174 + :flag-assert #x3201000174 + (:methods + (set-collide-spec! (_type_ symbol) none 49) + ) + ) + +;; definition for method 3 of type drill-lift +(defmethod inspect drill-lift ((obj drill-lift)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type elevator inspect))) + (t9-0 obj) + ) + (format #t "~2Tsound-id: ~D~%" (-> obj sound-id)) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defskelgroup skel-drill-lift drill-lift drill-lift-lod0-jg drill-lift-idle-ja + ((drill-lift-lod0-mg (meters 999999))) + :bounds (static-spherem 0 0 6 10) + ) + +;; definition for method 30 of type drill-lift +(defmethod get-art-group drill-lift ((obj drill-lift)) + "@returns The associated [[art-group]]" + (art-group-get-by-name *level* "skel-drill-lift" (the-as (pointer uint32) #f)) + ) + +;; definition for method 43 of type drill-lift +(defmethod move-between-points drill-lift ((obj drill-lift) (arg0 vector) (arg1 float) (arg2 float)) + "Move between two points on the elevator's path +@param vec TODO not sure +@param point-a The first point fetched from the elevator's path +@param point-b The second point fetched from the path +@see [[path-control]] and [[elevator]]" + (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) + (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) + (v1-3 (-> obj root trans)) + ) + (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) + (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) + ) + ) + ) + ) + +;; definition for method 45 of type drill-lift +(defmethod commited-to-ride? drill-lift ((obj drill-lift)) + "@returns if the target is considered within the elevator area enough to begin descending/ascending" + (let* ((gp-0 *target*) + (a0-2 (if (type? gp-0 process-focusable) + gp-0 + ) + ) + ) + (when a0-2 + (let* ((v1-1 (get-trans a0-2 0)) + (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root trans))) + ) + (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root quat)) + (and (< (fabs (-> gp-2 x)) 20480.0) (< 0.0 (-> gp-2 z)) (< (-> gp-2 z) 40960.0)) + ) + ) + ) + ) + +;; definition for method 49 of type drill-lift +;; WARN: Return type mismatch int vs none. +(defmethod set-collide-spec! drill-lift ((obj drill-lift) (arg0 symbol)) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) + (cond + (arg0 + (set! (-> v1-3 prim-core collide-as) (collide-spec obstacle pusher)) + (set! (-> v1-3 prim-core collide-with) (collide-spec jak player-list)) + ) + (else + (set! (-> v1-3 prim-core collide-as) (collide-spec)) + (set! (-> v1-3 prim-core collide-with) (collide-spec)) + 0 + ) + ) + ) + (none) + ) + +;; failed to figure out what this is: +(defstate running (drill-lift) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type elevator running) enter))) + (if t9-0 + (t9-0) + ) + ) + (set! (-> self sound-id) (sound-play "drl-elevator-lp")) + (when (logtest? (-> self elevator-status) (elevator-status waiting-to-descend)) + (set-collide-spec! self #t) + (set-setting! 'jump #f 0.0 0) + ) + (none) + ) + :exit (behavior () + (sound-stop (-> self sound-id)) + (sound-play "drl-elev-stop") + (let ((t9-4 (-> (the-as state (find-parent-method drill-lift 36)) exit))) + (if t9-4 + (t9-4) + ) + ) + (none) + ) + :post (behavior () + (sound-play "drl-elevator-lp" :id (-> self sound-id) :position (-> self root trans)) + (let ((t9-2 (-> (the-as state (find-parent-method drill-lift 36)) post))) + (if t9-2 + ((the-as (function none) t9-2)) + ) + ) + (none) + ) + ) + +;; failed to figure out what this is: +(defstate arrived (drill-lift) + :virtual #t + :enter (behavior () + (let ((t9-0 (-> (method-of-type elevator arrived) enter))) + (if t9-0 + (t9-0) + ) + ) + (when (logtest? (-> self elevator-status) (elevator-status waiting-to-descend)) + (set-collide-spec! self #f) + (remove-setting! 'jump) + ) + (none) + ) + ) + +;; definition for method 31 of type drill-lift +(defmethod init-plat-collision! drill-lift ((obj drill-lift)) + "TODO - collision stuff for setting up the platform" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s5-0 total-prims) (the-as uint 3)) + (set! (-> s4-0 prim-core collide-as) (collide-spec obstacle camera-blocker pusher)) + (set! (-> s4-0 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 22937.6 37683.2) + (set! (-> s5-0 root-prim) s4-0) + ) + (pusher-init s5-0) + (let ((v1-15 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> v1-15 prim-core collide-as) (collide-spec obstacle camera-blocker pusher)) + (set! (-> v1-15 prim-core collide-with) (collide-spec jak bot player-list)) + (set! (-> v1-15 prim-core action) (collide-action solid rideable)) + (set! (-> v1-15 transform-index) 3) + (set-vector! (-> v1-15 local-sphere) 0.0 0.0 22937.6 37683.2) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> v1-17 prim-core action) (collide-action solid)) + (set! (-> v1-17 transform-index) 3) + (set-vector! (-> v1-17 local-sphere) 0.0 0.0 22937.6 39321.6) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-20 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) + ) + (set! (-> obj root) s5-0) + ) + (set-collide-spec! obj #f) + (none) + ) + +;; definition of type drill-moving-staircase +(deftype drill-moving-staircase (conveyor) + () + :heap-base #x80 + :method-count-assert 28 + :size-assert #x100 + :flag-assert #x1c00800100 + ) + +;; definition for method 3 of type drill-moving-staircase +(defmethod inspect drill-moving-staircase ((obj drill-moving-staircase)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (let ((t9-0 (method-of-type conveyor inspect))) + (t9-0 obj) + ) + (label cfg-4) + obj + ) + +;; failed to figure out what this is: +(defskelgroup skel-drill-moving-staircase drill-moving-staircase drill-moving-staircase-lod0-jg drill-moving-staircase-idle-ja + ((drill-moving-staircase-lod0-mg (meters 999999))) + :bounds (static-spherem 7 -2 -3.8 11) + ) + +;; definition for method 22 of type drill-moving-staircase +(defmethod get-art-group drill-moving-staircase ((obj drill-moving-staircase)) + "@returns The respective [[art-group]] for the [[conveyor]]" + (art-group-get-by-name *level* "skel-drill-moving-staircase" (the-as (pointer uint32) #f)) + ) + +;; definition for method 24 of type drill-moving-staircase +;; WARN: Return type mismatch float vs none. +(defmethod init! drill-moving-staircase ((obj drill-moving-staircase)) + "Initializes defaults for things like the `speed` and `belt-radius`" + (set! (-> obj speed) 38912.0) + (set! (-> obj belt-radius) 11878.4) + (set! (-> obj pull-y-threshold) 409.6) + (none) + ) + +;; definition for method 23 of type drill-moving-staircase +;; WARN: Return type mismatch collide-shape-moving vs none. +(defmethod reset-root! drill-moving-staircase ((obj drill-moving-staircase)) + "Re-initializes the `root` [[trsqv]]" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (collide-spec pusher)) + (set! (-> s4-0 prim-core collide-with) (collide-spec jak player-list)) + (set! (-> s4-0 prim-core action) (collide-action solid rideable)) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 28672.0 -8192.0 -15564.8 45056.0) + (set! (-> s5-0 total-prims) (the-as uint 1)) + (set! (-> s5-0 root-prim) s4-0) + ) + (pusher-init s5-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (let ((v1-15 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) + ) + (set! (-> obj root) s5-0) + ) + (none) + ) + +;; failed to figure out what this is: +(defstate idle (drill-moving-staircase) + :virtual #t + :code (behavior () + (until #f + (ja-no-eval :group! (-> self draw art-group data 2) + :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) frames num-frames) -1))) + :frame-num 0.0 + ) + (until (ja-done? 0) + (suspend) + (ja :num! (seek!)) + ) + ) + #f + (none) + ) + :post (behavior () + (let ((t9-0 (-> (method-of-type conveyor idle) post))) + (if t9-0 + ((the-as (function none) t9-0)) + ) + ) + (ja-post) + (none) + ) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/drill_platform/ginsu_REF.gc b/test/decompiler/reference/jak2/levels/drill_platform/ginsu_REF.gc index 481727527f..39d7ee1b9f 100644 --- a/test/decompiler/reference/jak2/levels/drill_platform/ginsu_REF.gc +++ b/test/decompiler/reference/jak2/levels/drill_platform/ginsu_REF.gc @@ -349,7 +349,7 @@ :walk-travel-speed (meters 16) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -407,7 +407,7 @@ (vector-reset! arg0) (let ((a0-2 (handle->process (-> obj focus handle)))) (if a0-2 - (vector-! arg0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root-override2 trans)) + (vector-! arg0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) ) ) arg0 @@ -439,7 +439,7 @@ ) ) ) - (sound-play "ginsu-loop" :id (-> obj blade-sound) :position (-> obj root-override2 trans)) + (sound-play "ginsu-loop" :id (-> obj blade-sound) :position (-> obj root trans)) (set! (-> obj blade-sound-playing) #t) ) ((-> obj blade-sound-playing) @@ -464,7 +464,7 @@ ) (< (- (current-time) (-> obj grind-timer)) 0) ) - (sound-play "ginsu-grind" :id (-> obj grind-sound) :position (-> obj root-override2 trans)) + (sound-play "ginsu-grind" :id (-> obj grind-sound) :position (-> obj root trans)) (set! (-> obj grind-sound-playing) #t) ) ((-> obj grind-sound-playing) @@ -499,7 +499,7 @@ (let ((a1-0 (-> obj nav state))) (set! (-> s5-0 quad) (-> a1-0 velocity quad)) ) - (quaternion->matrix s4-0 (-> obj root-override2 quat)) + (quaternion->matrix s4-0 (-> obj root quat)) (let ((f0-1 (vector-dot s5-0 (the-as vector (-> s4-0 vector))))) (if (logtest? (enemy-flag dislike-combo) (-> obj enemy-flags)) (set! f0-1 (- f0-1)) @@ -555,7 +555,7 @@ (let ((a0-2 (handle->process (-> obj focus handle)))) (cond (a0-2 - (vector-! s3-0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root-override2 trans)) + (vector-! s3-0 (get-trans (the-as process-focusable a0-2) 0) (-> obj root trans)) ) (else (let ((a0-7 (-> arg0 state))) @@ -567,7 +567,7 @@ (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) (let ((s5-3 (new 'stack-no-clear 'quaternion)) - (s4-0 (-> obj root-override2 quat)) + (s4-0 (-> obj root quat)) ) (quaternion-set! s5-3 0.0 (sqrtf (* 0.5 (- 1.0 (-> s3-0 z)))) 0.0 (sqrtf (* 0.5 (+ 1.0 (-> s3-0 z))))) (if (< (-> s3-0 x) 0.0) @@ -733,11 +733,11 @@ (if (logtest? (enemy-flag enemy-flag40) (-> self enemy-flags)) (vector-negate! gp-0 gp-0) ) - (vector+float*! gp-0 (-> self root-override2 trans) gp-0 20480.0) + (vector+float*! gp-0 (-> self root trans) gp-0 20480.0) (vector+float*! gp-0 gp-0 s5-0 f30-0) ) (cloest-point-on-mesh (-> self nav) gp-0 gp-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-0 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-0 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -801,9 +801,9 @@ (let ((gp-0 (ginsu-method-181 self (new 'stack-no-clear 'vector)))) (set! (-> gp-0 y) 0.0) (vector-normalize! gp-0 -819.2) - (vector+! gp-0 gp-0 (-> self root-override2 trans)) + (vector+! gp-0 gp-0 (-> self root trans)) (cloest-point-on-mesh (-> self nav) gp-0 gp-0 (the-as nav-poly #f)) - (if (< (vector-vector-xz-distance gp-0 (-> self root-override2 trans)) 409.6) + (if (< (vector-vector-xz-distance gp-0 (-> self root trans)) 409.6) (set! (-> self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag41) (-> self enemy-flags)))) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag enemy-flag41)))) ) @@ -826,7 +826,7 @@ :enter (behavior () (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (ginsu-method-183 self #t) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (logior! (-> self focus-status) (focus-status dangerous)) (let* ((v1-9 *game-info*) @@ -888,9 +888,9 @@ (logclear! (-> self mask) (process-mask actor-pause)) (logior! (-> self enemy-flags) (enemy-flag use-notice-distance)) (ja-channel-set! 0) - (set! (-> self root-override2 scale x) 0.01) - (set! (-> self root-override2 scale y) 0.01) - (set! (-> self root-override2 scale z) 0.01) + (set! (-> self root scale x) 0.01) + (set! (-> self root scale y) 0.01) + (set! (-> self root scale z) 0.01) (none) ) :exit (behavior () @@ -909,14 +909,14 @@ (ja-channel-push! 1 0) (ja :group! ginsu-idle-ja :num! min) ) - (vector-seek! (-> self root-override2 scale) (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) 0.02) + (vector-seek! (-> self root scale) (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) 0.02) (+! (-> self path-pos) (/ 2048.0 (total-distance (-> self ambush-path)))) (let ((f30-1 (-> self path-pos))) (when (>= f30-1 1.0) (set! (-> self path-pos) 1.0) (go-hostile self) ) - (get-point-at-percent-along-path! (-> self ambush-path) (-> self root-override2 trans) f30-1 'interp) + (get-point-at-percent-along-path! (-> self ambush-path) (-> self root trans) f30-1 'interp) ) (ja :num! (loop!)) ) @@ -1000,7 +1000,7 @@ ;; definition for method 70 of type ginsu (defmethod go-hostile ginsu ((obj ginsu)) (cond - ((or (and (-> obj enemy-info-override use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) + ((or (and (-> obj enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> obj enemy-flags))) (nav-enemy-method-163 obj) ) (go-stare2 obj) @@ -1064,7 +1064,7 @@ ;; definition for method 183 of type ginsu ;; WARN: Return type mismatch int vs none. (defmethod ginsu-method-183 ginsu ((obj ginsu) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec enemy)) @@ -1086,7 +1086,7 @@ "@abstract" (case arg0 ((1) - (let ((v1-2 (-> obj root-override2 root-prim))) + (let ((v1-2 (-> obj root root-prim))) (logior! (-> v1-2 prim-core action) (collide-action solid)) (let ((v1-4 (-> (the-as collide-shape-prim-group v1-2) child 0))) (logior! (-> v1-4 prim-core action) (collide-action solid)) @@ -1160,7 +1160,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1192,7 +1192,7 @@ (set! (-> v1-16 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (ginsu-method-183 obj #f) (set! (-> obj blade-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) obj 8)) (init (-> obj blade-speed) 1.0 0.01 0.1 0.9) diff --git a/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc b/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc index 0dd6c46499..0359a36ae5 100644 --- a/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/forest-obs_REF.gc @@ -75,7 +75,7 @@ This commonly includes things such as: ;; definition of type forest-youngsamos (deftype forest-youngsamos (process-focusable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (init-quat quaternion :inline :offset-assert 208) (desired-pos vector :inline :offset-assert 224) (hit-dir vector :inline :offset-assert 240) @@ -132,18 +132,18 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defbehavior forest-youngsamos-post forest-youngsamos () (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (find-ground (-> self root-override2) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) + (find-ground (-> self root) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) ) - (let ((v1-3 (vector-! (new 'stack-no-clear 'vector) (-> self desired-pos) (-> self root-override2 trans)))) - (let ((a0-3 (-> self root-override2 transv))) + (let ((v1-3 (vector-! (new 'stack-no-clear 'vector) (-> self desired-pos) (-> self root trans)))) + (let ((a0-3 (-> self root transv))) (if (not (-> self falling?)) (vector+float*! a0-3 a0-3 v1-3 (* 3.0 (-> self clock seconds-per-frame))) ) ) - (vector-float*! (-> self root-override2 transv) (-> self root-override2 transv) 0.975) + (vector-float*! (-> self root transv) (-> self root transv) 0.975) (let ((gp-1 (vector-float*! (new 'stack-no-clear 'vector) v1-3 0.000024414063)) (s4-0 (-> self init-quat)) - (s5-0 (-> self root-override2 quat)) + (s5-0 (-> self root quat)) ) (vector-inv-orient-by-quat! gp-1 gp-1 s4-0) (quaternion-rotate-local-z! s5-0 s4-0 (* 8192.0 (-> gp-1 x))) @@ -151,13 +151,10 @@ This commonly includes things such as: ) ) (if (-> self falling?) - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 1.0)) (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) ) - (let ((gp-4 (-> self root-override2))) + (let ((gp-4 (-> self root))) (let ((a2-7 (new 'stack-no-clear 'collide-query))) (set! (-> a2-7 collide-with) (-> gp-4 root-prim prim-core collide-with)) (set! (-> a2-7 ignore-process0) self) @@ -180,7 +177,7 @@ This commonly includes things such as: 0 ) (let ((a0-20 *target*)) - (when (and a0-20 (< 614400.0 (vector-vector-distance (get-trans a0-20 0) (-> self root-override2 trans)))) + (when (and a0-20 (< 614400.0 (vector-vector-distance (get-trans a0-20 0) (-> self root trans)))) (let ((a1-19 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-19 from) (process->ppointer self)) (set! (-> a1-19 num-params) 0) @@ -238,7 +235,7 @@ This commonly includes things such as: ) (cond (v1-10 - (vector-! (-> self hit-dir) (-> self root-override2 trans) (-> v1-10 root-override trans)) + (vector-! (-> self hit-dir) (-> self root trans) (-> v1-10 root trans)) (vector-normalize! (-> self hit-dir) 1.0) ) ((logtest? (attack-info-mask attacker-velocity) (-> s5-1 mask)) @@ -313,18 +310,15 @@ This commonly includes things such as: (none) ) :code (behavior () - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 24576.0 65536.0 f30-0)) (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) ) (ja-channel-push! 1 (seconds 0.2)) - (let ((v1-5 - (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root-override2 quat)) - ) - ) + (let ((v1-5 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root quat)))) (cond ((< (-> v1-5 x) (-> v1-5 z)) (ja-no-eval :group! (-> self draw art-group data 12) @@ -380,11 +374,11 @@ This commonly includes things such as: (none) ) :code (behavior () - (speech-control-method-12 *speech-control* self (speech-type speech-type-1 speech-type-3)) + (speech-control-method-12 *speech-control* self (speech-type speech-type-10)) (send-event *camera* 'change-target self) - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 24576.0 65536.0 f30-0)) (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) @@ -528,7 +522,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override2) s4-0) + (set! (-> obj root) s4-0) ) (set! (-> obj entity) arg0) (process-drawable-from-entity! obj (-> obj entity)) @@ -539,13 +533,13 @@ This commonly includes things such as: ) (logclear! (-> obj mask) (process-mask actor-pause)) (process-entity-status! obj (entity-perm-status no-kill) #t) - (set! (-> obj desired-pos quad) (-> obj root-override2 trans quad)) - (quaternion-copy! (-> obj init-quat) (-> obj root-override2 quat)) + (set! (-> obj desired-pos quad) (-> obj root trans quad)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (set! (-> obj desired-pos y) (+ 8192.0 (-> obj desired-pos y))) (vector-reset! (-> obj hit-dir)) (set! (-> obj hit-points) 9.0) (set! (-> obj incoming-attack-id) (the-as uint -1)) - (vector-reset! (-> obj root-override2 transv)) + (vector-reset! (-> obj root transv)) (set! (-> obj focus-disable-timer) (the-as uint 0)) (set! (-> obj hud) (ppointer->handle (process-spawn hud-samos-young :init hud-init-by-other :to obj))) (set! (-> obj sound-id) (new-sound-id)) @@ -565,111 +559,105 @@ This commonly includes things such as: (set-setting! 'sound-mode #f 0.0 1) (set-setting! 'sound-excitement 'abs 0.8 0) (set-setting! 'extra-bank '((forest2 forest4) (forest3 forest5)) 0.0 0) - (speech-control-method-10 - *speech-control* - 6 - (new 'static 'speech-type-info - :min-delay #x4b0 - :max-delay #x960 - :list (new 'static 'boxed-array :type string - "kg001" - "kg002" - "kg004" - "kg006" - "kg001a" - "kg013" - "kg016" - "kg018" - "kg019" - "kg023" - "kg024" - "kg002a" - "kg004a" - "kg078a" - "kg079a" - "kg080a" - "kg081a" - "kg004a" - "kg082a" - "kg083a" - "kg084a" - "kg085a" - "kg086a" - "kg087a" - "kg088a" - "kg091a" - "kg023a" - "kg006a" - "kg092a" - "kg093a" - "kg094a" - "kg095a" - "kg103a" - "kg104a" - "kg112a" - "kg024a" - "kg134" - "kg136" - "kg137" - "kg138" - "kg139" - "kg140" - "kg141" - "kg130" - "kg135" - "kg156" - "kg157" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 9 - (new 'static 'speech-type-info - :priority #x9 - :max-delay #x12c - :list (new 'static 'boxed-array :type string - "kg133" - "kg137" - "kg142" - "kg144" - "kg145" - "kg146" - "kg147" - "kg148" - "kg149" - "kg150" - "kg138" - "kg151" - "kg152" - "kg153" - "kg154" - "kg155" - "kg159" - "kg163" - "kg164" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 10 - (new 'static 'speech-type-info :priority #xa :max-delay #x12c :list (new 'static 'boxed-array :type string - "kg165" - "kg166" - "kg167" - "kg168" - "kg169" - "kg170" - "kg171" - "kg172" - "kg173" - "kg174" - "kg175" - "kg176" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-6) (new 'static 'speech-type-info + :min-delay (seconds 4) + :max-delay (seconds 8) + :list (new 'static 'boxed-array :type string + "kg001" + "kg002" + "kg004" + "kg006" + "kg001a" + "kg013" + "kg016" + "kg018" + "kg019" + "kg023" + "kg024" + "kg002a" + "kg004a" + "kg078a" + "kg079a" + "kg080a" + "kg081a" + "kg004a" + "kg082a" + "kg083a" + "kg084a" + "kg085a" + "kg086a" + "kg087a" + "kg088a" + "kg091a" + "kg023a" + "kg006a" + "kg092a" + "kg093a" + "kg094a" + "kg095a" + "kg103a" + "kg104a" + "kg112a" + "kg024a" + "kg134" + "kg136" + "kg137" + "kg138" + "kg139" + "kg140" + "kg141" + "kg130" + "kg135" + "kg156" + "kg157" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-9) (new 'static 'speech-type-info + :priority 9 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg133" + "kg137" + "kg142" + "kg144" + "kg145" + "kg146" + "kg147" + "kg148" + "kg149" + "kg150" + "kg138" + "kg151" + "kg152" + "kg153" + "kg154" + "kg155" + "kg159" + "kg163" + "kg164" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-10) (new 'static 'speech-type-info + :priority 10 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg165" + "kg166" + "kg167" + "kg168" + "kg169" + "kg170" + "kg171" + "kg172" + "kg173" + "kg174" + "kg175" + "kg176" + ) + ) + ) (none) ) ) diff --git a/test/decompiler/reference/jak2/levels/forest/lifeseed/protect_REF.gc b/test/decompiler/reference/jak2/levels/forest/lifeseed/protect_REF.gc index b68cb2e229..ddc51a5636 100644 --- a/test/decompiler/reference/jak2/levels/forest/lifeseed/protect_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/lifeseed/protect_REF.gc @@ -377,42 +377,42 @@ This commonly includes things such as: (send-event gp-0 'set-guard-target-count-range 4 0 0) (send-event gp-0 'set-guard-target-count-range 5 0 0) ) - (speech-control-method-10 *speech-control* 6 (new 'static 'speech-type-info - :channel #x1 - :priority -2 - :min-delay #x258 - :max-delay #x4b0 - :list (new 'static 'boxed-array :type string - "kg320a" - "kg321a" - "kg322a" - "kg323a" - "kg324a" - "kg325a" - "kg326a" - "kg327a" - "kg328a" - "kg329a" - "kg330a" - "kg331a" - "kg332a" - "kg333a" - "kg334a" - "kg335a" - "kg336a" - "kg337a" - "kg338a" - "kg339a" - "kg340a" - "kg341a" - "kg342a" - "kg343a" - "kg344a" - "kg345a" - "kg347a" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-6) (new 'static 'speech-type-info + :channel #x1 + :priority -2 + :min-delay (seconds 2) + :max-delay (seconds 4) + :list (new 'static 'boxed-array :type string + "kg320a" + "kg321a" + "kg322a" + "kg323a" + "kg324a" + "kg325a" + "kg326a" + "kg327a" + "kg328a" + "kg329a" + "kg330a" + "kg331a" + "kg332a" + "kg333a" + "kg334a" + "kg335a" + "kg336a" + "kg337a" + "kg338a" + "kg339a" + "kg340a" + "kg341a" + "kg342a" + "kg343a" + "kg344a" + "kg345a" + "kg347a" + ) + ) + ) (dotimes (gp-1 (length *city-slums-transport-info*)) (set! (-> *city-slums-transport-info* gp-1 spawned) #f) ) diff --git a/test/decompiler/reference/jak2/levels/forest/pegasus_REF.gc b/test/decompiler/reference/jak2/levels/forest/pegasus_REF.gc index 297d921280..91179f647c 100644 --- a/test/decompiler/reference/jak2/levels/forest/pegasus_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/pegasus_REF.gc @@ -205,7 +205,7 @@ (defmethod run-logic? pegasus ((obj pegasus)) "Calls [[process-tree::12]] if we are considered in-range of the [[pegasus]], otherwise returns [[#t]]" (let ((min-distance 491520.0)) - (if (< (* min-distance min-distance) (vector-vector-distance-squared (-> obj root-override2 trans) (camera-pos))) + (if (< (* min-distance min-distance) (vector-vector-distance-squared (-> obj root trans) (camera-pos))) ((method-of-type enemy run-logic?) obj) #t ) @@ -221,14 +221,14 @@ (let ((inaccuracy-dir (new 'stack-no-clear 'vector)) (inaccuracy-vec (new 'stack-no-clear 'vector)) ) - (vector-! inaccuracy-dir (-> obj root-override2 trans) (-> target gun fire-point)) + (vector-! inaccuracy-dir (-> obj root trans) (-> target gun fire-point)) (vector+float*! inaccuracy-vec (-> target gun fire-point) (-> target gun fire-dir-out) (vector-length inaccuracy-dir) ) - (let ((inaccuracy-mag (vector-vector-distance-squared inaccuracy-vec (-> obj root-override2 trans))) + (let ((inaccuracy-mag (vector-vector-distance-squared inaccuracy-vec (-> obj root trans))) (threshold 20480.0) ) (if (< inaccuracy-mag (* threshold threshold)) @@ -414,7 +414,7 @@ Additional debug text will be displayed as well. This is useful as many paths o ) (cond ((and influenced-by-target? *target*) - (vector-! flee-direction-vec (-> self root-override2 trans) (target-pos 0)) + (vector-! flee-direction-vec (-> self root trans) (target-pos 0)) (vector-normalize! flee-direction-vec 1.0) ) ((= (-> self speed) 0.0) @@ -431,7 +431,7 @@ Additional debug text will be displayed as well. This is useful as many paths o (vector-matrix*! flee-direction-vec (-> self facing) rotation-matrix) (vector-normalize! flee-direction-vec 1.0) (forward-down->inv-matrix rotation-matrix flee-direction-vec (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override2 quat) rotation-matrix) + (matrix->quaternion (-> self root quat) rotation-matrix) (set! (-> self run-blend-interp) (acos (vector-dot flee-direction-vec (-> self facing)))) (set! (-> self run-blend-interp) (* 0.0002746582 (-> self run-blend-interp))) (if (< (vector-dot (-> self facing) (the-as vector (-> rotation-matrix vector))) 0.0) @@ -603,17 +603,17 @@ There are many fail-safes here if something goes wrong to try to keep the pegasu (pegasus-choose-path) (get-point-at-percent-along-path! (-> self path-info (-> self current-path) path-data) - (-> self root-override2 trans) + (-> self root trans) (-> self curve-position) 'interp ) - (let ((y-pos (+ -81920.0 (-> self root-override2 trans y))) + (let ((y-pos (+ -81920.0 (-> self root trans y))) (draw-shadow? #f) ) (let ((cquery (new 'stack 'collide-query)) (start-pos (new 'stack-no-clear 'vector)) ) - (set! (-> start-pos quad) (-> self root-override2 trans quad)) + (set! (-> start-pos quad) (-> self root trans quad)) (set! (-> self over-ground) #f) (when (enemy-above-ground? self cquery start-pos (collide-spec backgnd) 12288.0 81920.0 1024.0) (set! y-pos (-> cquery best-other-tri intersect y)) @@ -651,13 +651,13 @@ There are many fail-safes here if something goes wrong to try to keep the pegasu ) ) ) - (+! (-> self root-override2 trans y) (-> self y-offset)) - (when (< (-> self root-override2 trans y) y-pos) - (set! (-> self y-offset) (- y-pos (- (-> self root-override2 trans y) (-> self y-offset)))) - (set! (-> self root-override2 trans y) y-pos) + (+! (-> self root trans y) (-> self y-offset)) + (when (< (-> self root trans y) y-pos) + (set! (-> self y-offset) (- y-pos (- (-> self root trans y) (-> self y-offset)))) + (set! (-> self root trans y) y-pos) (set! (-> self y-vel) (fmax 0.0 (-> self y-vel))) ) - (set! (-> self on-ground) (< (fabs (- (-> self root-override2 trans y) y-pos)) 409.6)) + (set! (-> self on-ground) (< (fabs (- (-> self root trans y) y-pos)) 409.6)) (cond (draw-shadow? (let ((shadow-ctrl (-> self draw shadow-ctrl))) @@ -665,7 +665,7 @@ There are many fail-safes here if something goes wrong to try to keep the pegasu ) 0 (let ((_shadow-ctrl (-> self draw shadow-ctrl))) - (set! (-> _shadow-ctrl settings bot-plane w) (- (+ (- -6144.0 (-> self root-override2 trans y)) y-pos))) + (set! (-> _shadow-ctrl settings bot-plane w) (- (+ (- -6144.0 (-> self root trans y)) y-pos))) ) 0 ) @@ -690,7 +690,7 @@ This function also is what causes the pegasus to flip around @param max-speed The maximum speed the pegasus can go @param min-speed The minimum speed the pegasus can go @returns If there should be a reaction to the target via [[enemy::72]]" - (let ((dir-to-target (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (target-pos 0))) + (let ((dir-to-target (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (target-pos 0))) (react-to-target? #f) ) (set! (-> dir-to-target y) 0.0) @@ -805,7 +805,7 @@ The faster it's moving the fast it flaps it's wings, etc ) (get-point-at-percent-along-path! (-> self path-info (-> self current-path) path-data) - (-> self root-override2 trans) + (-> self root trans) (-> self curve-position) 'interp ) @@ -1101,10 +1101,9 @@ The faster it's moving the fast it flaps it's wings, etc ) ) (cond - ((and *target* - (and (>= 102400.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> *target* control trans))) - (not (logtest? (focus-status teleporting) (-> *target* focus-status))) - ) + ((and *target* (and (>= 102400.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans))) + (not (logtest? (focus-status teleporting) (-> *target* focus-status))) + ) ) (set! (-> self state-time) (the-as time-frame (max (+ (current-time) (seconds -10)) (-> self state-time)))) ) @@ -1163,7 +1162,7 @@ The faster it's moving the fast it flaps it's wings, etc ) ) (when (and *target* - (and (>= 102400.0 (vector-vector-xz-distance (-> self root-override2 trans) (-> *target* control trans))) + (and (>= 102400.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -1361,7 +1360,7 @@ The faster it's moving the fast it flaps it's wings, etc (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -1445,7 +1444,7 @@ The faster it's moving the fast it flaps it's wings, etc (set! (-> obj curve-position) (res-lump-float (-> obj entity) 'initial-spline-pos)) (get-point-at-percent-along-path! (-> obj path-info (-> obj current-path) path-data) - (-> obj root-override2 trans) + (-> obj root trans) (-> obj curve-position) 'interp ) @@ -1457,7 +1456,7 @@ The faster it's moving the fast it flaps it's wings, etc (set! (-> obj facing quad) (-> obj tangent quad)) (let ((matrix (new 'stack-no-clear 'matrix))) (forward-down->inv-matrix matrix (-> obj facing) (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> obj root-override2 quat) matrix) + (matrix->quaternion (-> obj root quat) matrix) ) (set! (-> obj y-vel) 0.0) (set! (-> obj water-height) (res-lump-float (-> obj entity) 'water-height)) diff --git a/test/decompiler/reference/jak2/levels/forest/predator_REF.gc b/test/decompiler/reference/jak2/levels/forest/predator_REF.gc index 56620b56c7..27a7a2d99c 100644 --- a/test/decompiler/reference/jak2/levels/forest/predator_REF.gc +++ b/test/decompiler/reference/jak2/levels/forest/predator_REF.gc @@ -137,12 +137,12 @@ (sound-play "pred-shot-hit") ) (((projectile-options lose-altitude proj-options-2)) - (let ((f0-0 (doppler-pitch-shift (-> obj root-override trans) (-> obj root-override transv))) + (let ((f0-0 (doppler-pitch-shift (-> obj root trans) (-> obj root transv))) (a0-7 (static-sound-spec "pred-shot-loop" :volume 0.0 :mask (pitch reg0))) ) (set! (-> a0-7 volume) 1024) (set! (-> a0-7 pitch-mod) (the int (* 1524.0 f0-0))) - (sound-play-by-spec a0-7 (-> obj sound-id) (-> obj root-override trans)) + (sound-play-by-spec a0-7 (-> obj sound-id) (-> obj root trans)) ) ) ) @@ -195,9 +195,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (none) @@ -207,14 +207,14 @@ ;; INFO: Used lq/sq (defmethod init-proj-settings! predator-shot ((obj predator-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'predator-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalhead-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.767)) (set! (-> obj sound-id) (new-sound-id)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (none) ) @@ -450,7 +450,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 3) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 40) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -763,11 +763,7 @@ (s3-0 (new 'stack-no-clear 'vector)) ) (when s2-0 - (seek! - (-> obj miss-amount) - (* 0.5 (vector-length (-> (the-as process-focusable s2-0) root-override transv))) - 4096.0 - ) + (seek! (-> obj miss-amount) (* 0.5 (vector-length (-> (the-as process-focusable s2-0) root transv))) 4096.0) (set! (-> s3-0 quad) (-> (get-trans (the-as process-focusable s2-0) 3) quad)) (set! sv-224 (new 'stack-no-clear 'vector)) (let ((v1-24 (-> s5-0 pos)) @@ -788,7 +784,7 @@ ) (let ((a0-19 s3-0)) (let ((v1-30 s3-0)) - (let ((a1-6 (-> (the-as process-focusable s2-0) root-override transv))) + (let ((a1-6 (-> (the-as process-focusable s2-0) root transv))) (let ((a2-2 f0-6)) (.mov vf7 a2-2) ) @@ -913,7 +909,7 @@ (logior! (-> obj draw status) (draw-control-status force-fade warp-cross-fade)) ) ) - (if (< 245760.0 (vector-vector-distance (-> obj root-override2 trans) (camera-pos))) + (if (< 245760.0 (vector-vector-distance (-> obj root trans) (camera-pos))) (setup-masks (-> obj draw) 0 8) ) (when (< (current-time) (the-as time-frame (-> obj shock-effect-end))) @@ -1039,18 +1035,12 @@ (let ((s5-0 (handle->process (-> self focus handle)))) (when s5-0 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable s5-0) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s5-0) 0) (-> self root trans)) 32768.0 (seconds 0.05) ) - (if (< (vector-vector-distance (-> self root-override2 trans) (get-trans (the-as process-focusable s5-0) 0)) - 24576.0 - ) + (if (< (vector-vector-distance (-> self root trans) (get-trans (the-as process-focusable s5-0) 0)) 24576.0) (go-virtual close-attack) ) ) @@ -1159,9 +1149,7 @@ (go-virtual active) ) (when gp-0 - (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 49152.0 - ) + (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 49152.0) (go-virtual hostile) ) ) @@ -1217,7 +1205,7 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (predator-method-187 self) @@ -1231,9 +1219,7 @@ (go-virtual active) ) (when gp-0 - (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - 65536.0 - ) + (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)) 65536.0) (go-virtual hostile) ) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.5)) @@ -1315,10 +1301,7 @@ ) (when (get-enemy-target self) (when (and gp-0 (>= (- (current-time) (-> self state-time)) (-> self reaction-time))) - (let ((f0-0 - (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - ) - ) + (let ((f0-0 (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans)))) (cond ((< f0-0 16384.0) (go-virtual close-attack) @@ -1416,7 +1399,7 @@ -1 (dotimes (s4-0 (the-as int (-> *predator-graph* node-count))) (let* ((s3-0 (-> *predator-graph* node s4-0)) - (f0-0 (vector-vector-distance (-> s3-0 position) (-> obj root-override2 trans))) + (f0-0 (vector-vector-distance (-> s3-0 position) (-> obj root trans))) ) (when (and (not (logtest? (-> s3-0 flags) (predator-node-flag taken))) (or (= s5-0 -1) (< f0-0 f30-0))) (set! f30-0 f0-0) @@ -1473,7 +1456,7 @@ (predator-method-183 obj) (los-control-method-9 (-> obj los) (the-as process-focusable #f) (the-as vector #f) 2048.0) (when (nonzero? (-> obj sound)) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (update! (-> obj sound)) ) (none) @@ -1481,7 +1464,7 @@ ;; definition for method 182 of type predator (defmethod set-dangerous! predator ((obj predator) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim))) + (let ((v1-1 (-> obj root root-prim))) (dotimes (a0-1 (the-as int (-> v1-1 specific 0))) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a0-1))) (if arg0 @@ -1567,7 +1550,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1590,7 +1573,7 @@ ) 0 (let ((v1-2 (-> obj nav))) - (set! (-> v1-2 acceleration) (-> obj enemy-info-override walk-acceleration)) + (set! (-> v1-2 acceleration) (-> obj enemy-info walk-acceleration)) ) 0 0 @@ -1654,7 +1637,7 @@ This commonly includes things such as: (set! (-> v1-5 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x 1228.8 :y 450.56 :z 983.04 :w 614400.0)) (add-connection *part-engine* obj 8 obj 318 (new 'static 'vector :x -1228.8 :y 450.56 :z 983.04 :w 614400.0)) (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd enemy obstacle)) @@ -1669,12 +1652,8 @@ This commonly includes things such as: (set! (-> obj miss-amount) 16384.0) (set! (-> obj ambient-sound-id) (new 'static 'sound-id)) (predator-method-185 obj) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (static-sound-spec "pred-hum" :fo-min 2 :fo-max 30) - (-> obj root-override2 trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "pred-hum" :fo-min 2 :fo-max 30) (-> obj root trans)) ) (set! (-> obj enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> obj enemy-flags))) (add-icon! *minimap* obj (the-as uint 16) (the-as int #f) (the-as vector #t) 0) @@ -1907,7 +1886,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj predator-h (-> obj predator-count)) (process->handle (the-as process s2-2))) + (set! (-> obj predator-h (-> obj predator-count)) (process->handle s2-2)) (+! (-> obj predator-count) 1) (when v1-66 (change-to (-> v1-66 nav-mesh) (the-as process-drawable s2-2)) diff --git a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpa-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpa-obs_REF.gc index 098d03416a..2b92fb1b27 100644 --- a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpa-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpa-obs_REF.gc @@ -3,7 +3,7 @@ ;; definition of type fort-elec-switch (deftype fort-elec-switch (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (l-bolt lightning-control :offset-assert 200) (notify-actor entity-actor :offset-assert 204) (tank-actor entity-actor :offset-assert 208) @@ -116,14 +116,14 @@ (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y))) (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-0 @@ -283,7 +283,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -338,8 +338,8 @@ This commonly includes things such as: (let ((a0-20 (new 'stack-no-clear 'vector)) (v1-26 (new 'stack-no-clear 'vector)) ) - (set! (-> a0-20 quad) (-> obj root-override trans quad)) - (set! (-> v1-26 quad) (-> obj root-override trans quad)) + (set! (-> a0-20 quad) (-> obj root trans quad)) + (set! (-> v1-26 quad) (-> obj root trans quad)) (set! (-> a0-20 y) (+ 4915.2 (-> a0-20 y))) (set! (-> v1-26 y) (+ 17203.2 (-> v1-26 y))) (set! (-> obj l-bolt state meet data 0 quad) (-> a0-20 quad)) @@ -353,11 +353,11 @@ This commonly includes things such as: ;; definition of type fort-fence (deftype fort-fence (process-drawable) - ((root-override collide-shape :offset 128) - (anim spool-anim :offset-assert 200) - (exit-anim basic :offset-assert 204) - (loading? symbol :offset-assert 208) - (tank handle :offset-assert 216) + ((root collide-shape :override) + (anim spool-anim :offset-assert 200) + (exit-anim basic :offset-assert 204) + (loading? symbol :offset-assert 208) + (tank handle :offset-assert 216) ) :heap-base #x60 :method-count-assert 24 @@ -439,7 +439,7 @@ This commonly includes things such as: (set! (-> a1-0 message) 'trans) (let ((a1-1 (send-event-function (handle->process (-> self tank)) a1-0))) (when a1-1 - (let ((f0-0 (vector-vector-distance (-> self root-override trans) (the-as vector a1-1)))) + (let ((f0-0 (vector-vector-distance (-> self root trans) (the-as vector a1-1)))) (gui-control-method-12 *gui-control* self @@ -465,7 +465,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self draw bounds w) 327680.0) - (let* ((a0-0 (the-as collide-shape-prim-group (-> self root-override root-prim))) + (let* ((a0-0 (the-as collide-shape-prim-group (-> self root root-prim))) (v1-4 (-> a0-0 child 0)) ) (let ((a0-2 (-> a0-0 child 1))) @@ -640,7 +640,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -674,7 +674,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpc-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpc-obs_REF.gc index 6f0b654698..6fa9b29e7f 100644 --- a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpc-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fordumpc-obs_REF.gc @@ -46,7 +46,7 @@ ;; definition of type fort-dump-bomb-a (deftype fort-dump-bomb-a (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -100,7 +100,7 @@ ) :code (the-as (function none :behavior fort-dump-bomb-a) sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (none) ) ) @@ -109,7 +109,7 @@ (defstate die (fort-dump-bomb-a) :virtual #t :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -117,7 +117,7 @@ (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "fort-bomb") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 quad 0) (-> self root-override trans quad)) + (set! (-> gp-1 quad 0) (-> self root trans quad)) (set! (-> gp-1 vector 0 y) (+ 8192.0 (-> gp-1 vector 0 y))) (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-1 @@ -189,7 +189,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -210,9 +210,9 @@ This commonly includes things such as: ;; definition of type fort-missile-target (deftype fort-missile-target (process-drawable) - ((root-override collide-shape-moving :offset 128) - (part-mat matrix 2 :inline :offset-assert 208) - (sound-id uint32 :offset-assert 336) + ((root collide-shape-moving :override) + (part-mat matrix 2 :inline :offset-assert 208) + (sound-id uint32 :offset-assert 336) ) :heap-base #xe0 :method-count-assert 22 @@ -299,15 +299,15 @@ This commonly includes things such as: (defstate die (fort-missile-target) :virtual #t :enter (behavior () - (let ((v1-1 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-1 (the-as collide-shape-prim-group (-> self root root-prim)))) (set! (-> v1-1 child 0 prim-core collide-as) (collide-spec)) (set! (-> v1-1 child 0 prim-core collide-with) (collide-spec)) ) 0 (setup-masks (-> self draw) 2 0) (setup-masks (-> self draw) 0 1) - (let ((s5-0 (-> self root-override trans)) - (s1-0 (-> self root-override quat)) + (let ((s5-0 (-> self root trans)) + (s1-0 (-> self root quat)) (s3-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -318,8 +318,8 @@ This commonly includes things such as: (let ((s2-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-orient-by-quat! gp-0 gp-0 (-> self root-override quat)) - (vector+! gp-0 (-> self root-override trans) gp-0) + (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) + (vector+! gp-0 (-> self root trans) gp-0) (let ((t9-3 vector-orient-by-quat!) (a0-6 s3-0) (a1-4 s3-0) @@ -388,7 +388,7 @@ This commonly includes things such as: (t2-2 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-10) a0-10 a1-9 @@ -474,10 +474,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s4-0)) + (set! (-> self root) (the-as collide-shape-moving s4-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (forward-up-nopitch->quaternion (-> self root-override quat) arg1 *y-vector*) + (set! (-> self root trans quad) (-> arg0 quad)) + (forward-up-nopitch->quaternion (-> self root quat) arg1 *y-vector*) (initialize-skeleton self (the-as @@ -498,7 +498,7 @@ This commonly includes things such as: ;; definition of type fort-missile (deftype fort-missile (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (part-doom sparticle-launch-control :offset-assert 200) (hud handle :offset-assert 208) (door-actor entity-actor 2 :offset-assert 216) @@ -837,7 +837,7 @@ This commonly includes things such as: (deactivate self) ) (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 quad 0) (-> self root-override trans quad)) + (set! (-> gp-1 quad 0) (-> self root trans quad)) (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-0 (let ((t9-3 (method-of-type part-tracker activate))) @@ -875,7 +875,7 @@ This commonly includes things such as: ) ) (let ((gp-2 (new 'stack-no-clear 'vector)) - (v1-24 (-> self root-override trans)) + (v1-24 (-> self root trans)) (a0-9 (new 'stack-no-clear 'vector)) ) (set! (-> a0-9 x) 0.0) @@ -953,7 +953,7 @@ This commonly includes things such as: (set! (-> v1-63 attack-id) a0-24) (set! (-> self attack-id) a0-24) ) - (let ((v1-65 (-> self root-override root-prim))) + (let ((v1-65 (-> self root root-prim))) (let ((a1-15 (-> (the-as collide-shape-prim-group v1-65) child 2)) (a0-27 (-> (the-as collide-shape-prim-group v1-65) child 1)) ) @@ -968,16 +968,16 @@ This commonly includes things such as: (set! (-> v1-65 local-sphere w) 155648.0) (set! (-> v1-65 prim-core world-sphere w) 155648.0) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-21 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-21 options) (overlaps-others-options)) (set! (-> a1-21 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-21 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-21) + (find-overlapping-shapes (-> self root) a1-21) ) (suspend) 0 - (let ((v1-74 (-> self root-override root-prim))) + (let ((v1-74 (-> self root root-prim))) (set! (-> v1-74 prim-core collide-as) (collide-spec)) (set! (-> v1-74 prim-core collide-with) (collide-spec)) ) @@ -1080,7 +1080,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1098,10 +1098,10 @@ This commonly includes things such as: (set! (-> s5-1 w) 1.0) (let ((s4-2 (new 'stack-no-clear 'vector))) (dotimes (s3-2 4) - (let ((s2-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root-override trans) s5-1)) + (let ((s2-1 (vector+! (new 'stack-no-clear 'vector) (-> obj root trans) s5-1)) (s1-0 (new 'stack-no-clear 'vector)) ) - (vector-normalize! (vector-! s4-2 s2-1 (-> obj root-override trans)) 1.0) + (vector-normalize! (vector-! s4-2 s2-1 (-> obj root trans)) 1.0) (vector-float*! s1-0 s4-2 -1.0) (set! (-> obj bomb s3-2) (ppointer->handle (process-spawn fort-missile-target s2-1 s1-0 :to obj))) ) diff --git a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank-turret_REF.gc b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank-turret_REF.gc index 0ed9287789..c78ceb5ead 100644 --- a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank-turret_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank-turret_REF.gc @@ -769,9 +769,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -783,14 +783,14 @@ ;; WARN: Return type mismatch int vs none. (defmethod init-proj-settings! fort-robotank-shot ((obj fort-robotank-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'fort-robotank-shot) (set! (-> obj max-speed) 819200.0) (set! (-> obj move) guard-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.5)) (logior! (-> obj options) (projectile-options account-for-target-velocity)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) 0 (none) ) @@ -1125,7 +1125,7 @@ ;; WARN: Return type mismatch collide-prim-core vs vector. (defmethod get-trans fort-robotank-turret ((obj fort-robotank-turret) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (the-as vector (-> obj root-override root-prim prim-core)) + (the-as vector (-> obj root root-prim prim-core)) ) ;; definition for function turret-post @@ -1145,7 +1145,7 @@ (los-control-method-9 (-> self los) gp-0 (the-as vector #f) 1638.4) ) (if *target* - (look-at! (-> *target* neck) (the-as vector (-> self root-override root-prim prim-core)) 'attacking self) + (look-at! (-> *target* neck) (the-as vector (-> self root root-prim prim-core)) 'attacking self) ) (set! (-> self aim-pos 0 quad) (-> self aim-pos-2 quad)) (set! (-> self aim-pos-2 quad) (-> (get-trans gp-0 0) quad)) @@ -1233,7 +1233,7 @@ ) (else (send-event (handle->process (-> self reticle)) 'off) - (send-event (handle->process (-> self reticle)) 'update-trans-only (-> self root-override trans)) + (send-event (handle->process (-> self reticle)) 'update-trans-only (-> self root trans)) ) ) ) @@ -1257,7 +1257,7 @@ ) (cond ((logtest? (-> self flags) 64) - (sound-play "robotank-turret" :id (-> self turn-sound-id) :position (-> self root-override trans)) + (sound-play "robotank-turret" :id (-> self turn-sound-id) :position (-> self root trans)) (when (< (fabs (-> self rotate-rate)) 728.1778) (set! (-> self flags) (logand -65 (-> self flags))) (sound-stop (-> self turn-sound-id)) @@ -1275,8 +1275,8 @@ (-> self rotate-quat) (* (-> self rotate-rate) (-> self clock seconds-per-frame)) ) - (quaternion*! (-> self root-override quat) (-> self rotate-quat) (-> self tank-quat-vibe-only)) - (quaternion-normalize! (-> self root-override quat)) + (quaternion*! (-> self root quat) (-> self rotate-quat) (-> self tank-quat-vibe-only)) + (quaternion-normalize! (-> self root quat)) (transform-post) (none) ) @@ -1334,7 +1334,7 @@ v0-0 ) (('pov-cam-on) - (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 3))) + (let ((v1-22 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (set! (-> v1-22 prim-core collide-as) (collide-spec obstacle pusher)) (set! (-> v1-22 prim-core collide-with) (collide-spec jak player-list)) ) @@ -1342,7 +1342,7 @@ (send-event (handle->process (-> self screen)) 'trigger) ) (('pov-cam-off) - (let ((v1-33 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 3))) + (let ((v1-33 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 3))) (set! (-> v1-33 prim-core collide-as) (collide-spec)) (set! (-> v1-33 prim-core collide-with) (collide-spec)) ) @@ -1362,7 +1362,7 @@ (new 'stack-no-clear 'vector) (let ((s5-0 (new 'stack-no-clear 'quaternion))) (let ((s4-0 (the-as object (-> arg3 param 2)))) - (vector<-cspace+vector! (-> self root-override trans) (the-as cspace s4-0) (-> self offset)) + (vector<-cspace+vector! (-> self root trans) (the-as cspace s4-0) (-> self offset)) (matrix->quaternion s5-0 (-> (the-as cspace s4-0) bone transform)) ) (quaternion-copy! (-> self tank-quat) s5-0) @@ -1378,8 +1378,8 @@ ;; definition for method 34 of type fort-robotank-turret ;; INFO: Used lq/sq (defmethod fort-robotank-turret-method-34 fort-robotank-turret ((obj fort-robotank-turret) (arg0 vector) (arg1 float)) - (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root-override trans))) - (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override quat))) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj root trans))) + (s3-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> s4-1 quad)) @@ -1512,9 +1512,7 @@ ) (set! (-> self gun-index) (- 1 (-> self gun-index))) (suspend) - (if (< (vector-length - (vector-! (new 'stack-no-clear 'vector) (-> self firing-sight-pos) (-> self root-override trans)) - ) + (if (< (vector-length (vector-! (new 'stack-no-clear 'vector) (-> self firing-sight-pos) (-> self root trans))) 73728.0 ) (goto cfg-26) @@ -1647,10 +1645,10 @@ (set! (-> s2-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> self root-override) s2-0) + (set! (-> self root) s2-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) (set! (-> self offset quad) (-> arg2 quad)) (initialize-skeleton self @@ -1672,9 +1670,9 @@ (quaternion-copy! (-> self rotate-quat) arg1) (set! (-> self rotate-rate) 0.0) (set! (-> self rotate-mult) arg3) - (set! (-> self aim-pos 0 quad) (-> self root-override trans quad)) - (set! (-> self aim-pos-2 quad) (-> self root-override trans quad)) - (set! (-> self aim-pos-1 quad) (-> self root-override trans quad)) + (set! (-> self aim-pos 0 quad) (-> self root trans quad)) + (set! (-> self aim-pos-2 quad) (-> self root trans quad)) + (set! (-> self aim-pos-1 quad) (-> self root trans quad)) (set! (-> self gun-timer) (current-time)) (set! (-> self flags) (the-as uint 0)) (set! (-> self fov-mult) 1.0) @@ -1685,7 +1683,7 @@ (set! (-> self gun-joint-r 1) 6) (set! (-> self gun-index) 0) (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> gp-1 z) (+ 40960.0 (-> gp-1 z))) (set! (-> gp-1 y) (+ 32768.0 (-> gp-1 y))) (set! (-> self reticle) (ppointer->handle (process-spawn fort-robotank-reticle gp-1 :to self))) @@ -1697,9 +1695,9 @@ (set! (-> s4-2 y) 32768.0) (set! (-> s4-2 z) 12288.0) (set! (-> s4-2 w) 0.0) - (let ((s5-2 (-> self root-override quat))) + (let ((s5-2 (-> self root quat))) (vector-orient-by-quat! s4-2 s4-2 s5-2) - (vector+! gp-2 (-> self root-override trans) s4-2) + (vector+! gp-2 (-> self root trans) s4-2) (set! (-> self screen) (ppointer->handle (process-spawn fort-roboscreen gp-2 s5-2 (-> self entity) :to *display-pool*)) ) diff --git a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank_REF.gc b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank_REF.gc index 25e1edb8f5..b4c4bec178 100644 --- a/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/ammo_dump/fort-robotank_REF.gc @@ -223,7 +223,7 @@ ;; definition of type fort-robotank (deftype fort-robotank (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (barrel-part sparticle-launch-control :offset-assert 200) (roller-jmod joint-mod :offset-assert 204) (vibe-jmod joint-mod :offset-assert 208) @@ -400,7 +400,7 @@ ;; definition for method 25 of type fort-robotank (defmethod fort-robotank-method-25 fort-robotank ((obj fort-robotank)) (with-pp - (let ((v1-0 (-> obj root-override))) + (let ((v1-0 (-> obj root))) (when (< (-> *event-queue* length) (-> *event-queue* allocated-length)) (let ((v0-0 (-> *event-queue* data (-> *event-queue* length)))) (+! (-> *event-queue* length) 1) @@ -428,9 +428,9 @@ (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)) ) ) - (let ((v1-7 (-> self root-override root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self no-collision-timer) 0) 0 @@ -443,7 +443,7 @@ ) (set! (-> s4-0 random-rangef) (lerp-scale 1.0 6.0 (-> self roller-jmod twist y) 8192.0 65536.0)) (set! (-> gp-0 y) (+ -6144.0 (-> gp-0 y))) - (quaternion->matrix s5-0 (-> self root-override quat)) + (quaternion->matrix s5-0 (-> self root quat)) (set! (-> s5-0 trans quad) (-> gp-0 quad)) (spawn-with-matrix (-> self barrel-part) s5-0) ) @@ -452,7 +452,7 @@ (s4-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data (-> s5-1 locator-joint)))) ) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) s4-1 (-> s5-1 pos)))) - (let ((s2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) + (let ((s2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (if (= gp-1 1) (vector-float*! s2-0 s2-0 -1.0) ) @@ -469,7 +469,7 @@ (spawn-with-matrix (-> self part) a1-14) ) ) - (vector-inv-orient-by-quat! s3-1 s3-1 (-> self root-override quat)) + (vector-inv-orient-by-quat! s3-1 s3-1 (-> self root quat)) (let ((f30-1 (fabs (-> s3-1 z)))) (dotimes (s3-2 7) (let ((s2-1 (-> s5-1 wheel s3-2))) @@ -519,13 +519,7 @@ ) (if a0-43 (set! f26-0 - (lerp-scale - 1.0 - 0.0 - (vector-vector-distance (-> self root-override trans) (get-trans a0-43 0)) - 81920.0 - 327680.0 - ) + (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (get-trans a0-43 0)) 81920.0 327680.0) ) ) ) @@ -550,7 +544,7 @@ (debug-draw (-> self path-info data gp-4 path)) ) (when (logtest? (-> self flags) 128) - (let ((gp-5 (quaternion-inverse! (new 'stack-no-clear 'quaternion) (-> self root-override quat))) + (let ((gp-5 (quaternion-inverse! (new 'stack-no-clear 'quaternion) (-> self root quat))) (a1-28 (new 'stack-no-clear 'event-message-block)) ) (set! (-> a1-28 from) (process->ppointer self)) @@ -558,8 +552,8 @@ (set! (-> a1-28 message) 'get-rotate-quat) (let ((s5-3 (send-event-function (handle->process (-> self turret)) a1-28)) (s4-3 (new 'stack-no-clear 'quaternion)) - (s2-3 (-> (the-as fort-robotank-turret (handle->process (-> self turret))) root-override trans)) - (s1-1 (-> self root-override trans)) + (s2-3 (-> (the-as fort-robotank-turret (handle->process (-> self turret))) root trans)) + (s1-1 (-> self root trans)) (s3-4 (new 'stack-no-clear 'vector)) ) (let ((a1-30 (new 'stack-no-clear 'event-message-block))) @@ -579,11 +573,11 @@ ) ) ) - (update-trans! (-> self sound) (-> self root-override trans)) + (update-trans! (-> self sound) (-> self root trans)) (update! (-> self sound)) - (update-trans! (-> self idle-sound) (-> self root-override trans)) + (update-trans! (-> self idle-sound) (-> self root trans)) (update! (-> self idle-sound)) - (update-trans! (-> self barrel-sound) (-> self root-override trans)) + (update-trans! (-> self barrel-sound) (-> self root trans)) (update! (-> self barrel-sound)) (pusher-post) (none) @@ -621,7 +615,7 @@ ) ) (('trans) - (-> self root-override trans) + (-> self root trans) ) (('die) (go-virtual die) @@ -637,7 +631,7 @@ object (when ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) + (-> self root) (the-as uint 1) ) (let ((s5-0 (if (type? arg0 process-focusable) @@ -648,7 +642,7 @@ (the-as object (when s5-0 - (let ((a0-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat))) + (let ((a0-48 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (a1-19 (new 'stack-no-clear 'event-message-block)) ) (set! (-> a1-19 from) (process->ppointer self)) @@ -673,7 +667,7 @@ ) (the-as object (when (send-event-function s5-0 a1-19) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-45 (-> self root-override root-prim))) + (let ((v1-45 (-> self root root-prim))) (set! (-> v1-45 prim-core collide-as) (collide-spec)) (set! (-> v1-45 prim-core collide-with) (collide-spec)) ) @@ -742,7 +736,7 @@ (set-setting! 'pov-offset 'asdf (-> obj pov-cam-offset) 0) (send-event (handle->process (-> obj turret)) 'pov-cam-on) (logior! (-> obj flags) 128) - (let ((v1-41 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 2))) + (let ((v1-41 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 2))) (set! (-> v1-41 prim-core collide-as) (collide-spec enemy pusher)) (set! (-> v1-41 prim-core collide-with) (collide-spec jak bot player-list)) ) @@ -755,7 +749,7 @@ (remove-setting! 'pov-offset) (send-event (handle->process (-> obj turret)) 'pov-cam-off) (set! (-> obj flags) (logand -129 (-> obj flags))) - (let ((v1-57 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 2))) + (let ((v1-57 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 2))) (set! (-> v1-57 prim-core collide-as) (collide-spec)) (set! (-> v1-57 prim-core collide-with) (collide-spec)) ) @@ -842,15 +836,13 @@ :virtual #t :event fort-robotank-handler :enter (behavior () - (set! (-> self path-info data (-> self path-index) start-y-angle) - (quaternion-y-angle (-> self root-override quat)) - ) + (set! (-> self path-info data (-> self path-index) start-y-angle) (quaternion-y-angle (-> self root quat))) (set! (-> self roller-spin-rate) 32768.0) (none) ) :trans (behavior () (let* ((gp-0 (-> self path-info data (-> self path-index))) - (s5-0 (-> self root-override)) + (s5-0 (-> self root)) (f30-0 (quaternion-y-angle (-> s5-0 quat))) (f28-0 (fabs (deg-diff f30-0 (-> gp-0 start-y-angle)))) (f30-1 (fabs (deg-diff f30-0 (vector-y-angle (-> gp-0 dir))))) @@ -903,7 +895,7 @@ ) ) (when a0-1 - (if (< (-> (get-trans a0-1 0) y) (+ -18432.0 (-> self root-override trans y))) + (if (< (-> (get-trans a0-1 0) y) (+ -18432.0 (-> self root trans y))) (go-virtual die) ) ) @@ -975,7 +967,7 @@ ) (let ((f30-0 (-> gp-1 u)) (s0-0 (new 'stack-no-clear 'vector)) - (s1-0 (-> self root-override)) + (s1-0 (-> self root)) ) (get-point-at-percent-along-path! s4-0 (-> s1-0 trans) f30-0 'interp) (set! (-> s1-0 trans y) (+ 1024.0 (-> s1-0 trans y))) @@ -995,7 +987,7 @@ (set! f28-0 (fmin 1.0 (* 0.000048828126 (+ 2048.0 (vector-vector-distance - (-> self root-override trans) + (-> self root trans) (get-point-at-percent-along-path! s4-0 (new 'stack-no-clear 'vector) 1.0 'interp) ) ) @@ -1021,7 +1013,7 @@ 1.0 (if (< f26-1 (-> gp-1 u)) 0.0 - (vector-vector-distance (-> self root-override trans) s3-2) + (vector-vector-distance (-> self root trans) s3-2) ) 6144.0 61440.0 @@ -1034,10 +1026,7 @@ (when (logtest? s2-2 4) (if (< (fmin (+ 102400.0 (* (-> gp-1 u) f24-1)) f22-0) (* f26-1 f24-1)) (set! f28-0 - (fmax - f28-0 - (lerp-scale 1.0 2.0 (vector-vector-distance (-> self root-override trans) s3-2) 102400.0 143360.0) - ) + (fmax f28-0 (lerp-scale 1.0 2.0 (vector-vector-distance (-> self root trans) s3-2) 102400.0 143360.0)) ) ) ) @@ -1212,7 +1201,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1268,11 +1257,11 @@ This commonly includes things such as: (set! (-> obj continue-index) -1) (let ((s5-3 (new 'stack-no-clear 'vector))) (let ((s4-3 (-> obj path-info data 0 path))) - (get-point-in-path! s4-3 (-> obj root-override trans) 0.0 'interp) - (set! (-> obj root-override trans y) (+ 1024.0 (-> obj root-override trans y))) + (get-point-in-path! s4-3 (-> obj root trans) 0.0 'interp) + (set! (-> obj root trans y) (+ 1024.0 (-> obj root trans y))) (displacement-between-points-at-percent-normalized! s4-3 s5-3 0.0) ) - (set-heading-vec! (-> obj root-override) s5-3) + (set-heading-vec! (-> obj root) s5-3) ) (let ((a0-46 (-> obj skel root-channel 0))) (set! (-> a0-46 frame-group) (the-as art-joint-anim (-> obj draw art-group data 3))) @@ -1284,14 +1273,7 @@ This commonly includes things such as: (set-vector! s5-4 0.0 12541.952 -6778.88 1.0) (set! (-> obj turret) (ppointer->handle - (process-spawn - fort-robotank-turret - (-> obj root-override trans) - (-> obj root-override quat) - s5-4 - #x42000000 - :to obj - ) + (process-spawn fort-robotank-turret (-> obj root trans) (-> obj root quat) s5-4 #x42000000 :to obj) ) ) ) @@ -1373,13 +1355,13 @@ This commonly includes things such as: (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 561) obj)) (set! (-> obj barrel-part) (create-launch-control (-> *part-group-id-table* 562) obj)) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "robotank-tread" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "robotank-tread" :fo-max 70) (-> obj root trans)) ) (set! (-> obj idle-sound) - (new 'process 'ambient-sound (static-sound-spec "robotank-idle" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "robotank-idle" :fo-max 50) (-> obj root trans)) ) (set! (-> obj barrel-sound) - (new 'process 'ambient-sound (static-sound-spec "robotank-barrel" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "robotank-barrel" :fo-max 50) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (update-vol! (-> obj idle-sound) 1.0) diff --git a/test/decompiler/reference/jak2/levels/fortress/exit/forexita-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/exit/forexita-obs_REF.gc index acbd3be5fc..587bb38903 100644 --- a/test/decompiler/reference/jak2/levels/fortress/exit/forexita-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/exit/forexita-obs_REF.gc @@ -88,7 +88,7 @@ (sound-stop (-> self sound-id)) (set! (-> self sound-time) (get-timeframe-offset! (-> self sync) 0)) ) - (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root trans)) (plat-post) (none) ) @@ -126,7 +126,7 @@ (sound-stop (-> self sound-id)) (set! (-> self sound-time) (get-timeframe-offset! (-> self sync) 0)) ) - (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "fort-lift-plat" :id (-> self sound-id) :position (-> self root trans)) (plat-post) (none) ) @@ -141,7 +141,7 @@ (spawn-with-cspace (-> obj part) (-> obj node-list data 6)) ) (when (nonzero? (-> obj sound)) - (set! (-> obj sound trans quad) (-> obj root-override trans quad)) + (set! (-> obj sound trans quad) (-> obj root trans quad)) (update! (-> obj sound)) ) (none) @@ -207,7 +207,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-26 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-26 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -225,7 +225,7 @@ (defmethod init-plat! fort-lift-plat ((obj fort-lift-plat)) "Does any necessary initial platform setup. For example for an elevator pre-compute the distance between the first and last points (both ways) and clear the sound." - (set! (-> obj root-override pause-adjust-distance) 327680.0) + (set! (-> obj root pause-adjust-distance) 327680.0) (set! (-> obj sound-id) (new-sound-id)) (none) ) @@ -249,7 +249,7 @@ otherwise, [[plat::34]] ) ((logtest? (actor-option user18) (-> obj fact options)) (set! (-> obj path-pos) (res-lump-float (-> obj entity) 'initial-spline-pos)) - (get-point-at-percent-along-path! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-at-percent-along-path! (-> obj path) (-> obj root trans) (-> obj path-pos) 'interp) (go (method-of-object obj plat-anim-active)) ) ((> (-> obj sync period) 0) diff --git a/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc b/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc index 38eabfee61..a0459f30f6 100644 --- a/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/fort-turret_REF.gc @@ -589,7 +589,7 @@ (let ((t9-0 (method-of-type enemy track-target!))) (t9-0 obj) ) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (update-transforms s5-0) (pull-riders! s5-0) (do-push-aways s5-0) @@ -623,7 +623,7 @@ (s5-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 4))) ) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 (-> obj aim-pos) (-> obj root-override2 trans)) + (vector-! s4-0 (-> obj aim-pos) (-> obj root trans)) (vector-flatten! s4-0 s4-0 (-> obj init-mat vector 1)) (vector-normalize! s4-0 1.0) (set! (-> obj desired-twist) (asin (vector-dot (the-as vector (-> obj init-mat)) s4-0))) @@ -670,7 +670,7 @@ (+! (-> obj gun-twist) (fmax (- arg1) (fmin arg1 (* arg0 (- (-> obj desired-twist) (-> obj gun-twist)))))) (matrix-rotate-y! s3-0 (-> obj gun-twist)) (matrix*! s3-0 s3-0 (-> obj init-mat)) - (matrix->quaternion (-> obj root-override2 quat) s3-0) + (matrix->quaternion (-> obj root quat) s3-0) ) (+! (-> obj gun-tilt) (fmax (- arg1) (fmin arg1 (* arg0 (- (-> obj desired-tilt) (-> obj gun-tilt)))))) (quaternion-axis-angle! (-> obj gun-tilt-jm quat) 1.0 0.0 0.0 (-> obj gun-tilt)) @@ -803,7 +803,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (fort-turret-method-141 self) (if (or (>= (- (current-time) (the-as int (-> self target-timeout))) (seconds 0.5)) (< (- (current-time) (-> self last-hit-time)) (seconds 2)) @@ -895,7 +895,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (set! (-> self desired-twist) (* 8192.0 (cos (get-scaled-val! (-> self sync) 32768.0 0)))) (fort-turret-method-140 self 0.1 91.022224) (fort-turret-method-141 self) @@ -937,7 +937,7 @@ (go-stare self) ) ) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (fort-turret-method-141 self) (if (and (< (- (current-time) (the-as int (-> self target-timeout))) (seconds 0.5)) (>= (- (current-time) (-> self last-hit-time)) (seconds 2)) @@ -999,7 +999,7 @@ :virtual #t :enter (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1112,7 +1112,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-24 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-24 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1180,7 +1180,7 @@ (initialize! (-> obj sync) a1-7) ) (set! (-> obj flash-index) (res-lump-value (-> obj entity) 'extra-id uint :time -1000000000.0)) - (quaternion->matrix (-> obj init-mat) (-> obj root-override2 quat)) + (quaternion->matrix (-> obj init-mat) (-> obj root quat)) (set-vector! (-> obj gun-shadow-jm twist-max) 2.0 1.0 10.0 1.0) (let ((v1-32 (new 'static 'shadow-control :settings (new 'static 'shadow-settings :flags (shadow-flags shdf02 shdf03 shdf04 shdf07) diff --git a/test/decompiler/reference/jak2/levels/fortress/fortress-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/fortress-obs_REF.gc index 6039a00664..71e70fae87 100644 --- a/test/decompiler/reference/jak2/levels/fortress/fortress-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/fortress-obs_REF.gc @@ -3,8 +3,8 @@ ;; definition of type fort-trap-door (deftype fort-trap-door (process-drawable) - ((root-override collide-shape-moving :offset 128) - (notify-actor entity-actor :offset-assert 200) + ((root collide-shape-moving :override) + (notify-actor entity-actor :offset-assert 200) ) :heap-base #x50 :method-count-assert 22 @@ -91,7 +91,7 @@ (defstate die (fort-trap-door) :virtual #t :enter (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -189,9 +189,9 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving cshape)) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) - (set! (-> (the-as collide-shape-moving (-> obj root-override)) penetrated-by) (penetrate flop)) + (set! (-> (the-as collide-shape-moving (-> obj root)) penetrated-by) (penetrate flop)) (process-drawable-from-entity! obj entity) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/fortress/prison/prison-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/prison/prison-obs_REF.gc index 74cf4f55a0..9f738eb2e8 100644 --- a/test/decompiler/reference/jak2/levels/fortress/prison/prison-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/prison/prison-obs_REF.gc @@ -384,7 +384,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc b/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc index aa381a3714..4874f4e009 100644 --- a/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/fortress/rescue/forrescb-obs_REF.gc @@ -783,105 +783,99 @@ and return it as well. Otherwise, set it to `0`" () (set-setting! 'sound-mode #f 0.0 1) (set-setting! 'sound-excitement 'abs 0.8 0) - (speech-control-method-10 - *speech-control* - 6 - (new 'static 'speech-type-info - :min-delay #x4b0 - :max-delay #x960 - :list (new 'static 'boxed-array :type string - "kg001" - "kg002" - "kg004" - "kg006" - "kg001a" - "kg013" - "kg016" - "kg018" - "kg019" - "kg023" - "kg024" - "kg002a" - "kg004a" - "kg078a" - "kg079a" - "kg080a" - "kg081a" - "kg004a" - "kg082a" - "kg083a" - "kg084a" - "kg085a" - "kg086a" - "kg087a" - "kg088a" - "kg091a" - "kg023a" - "kg006a" - "kg092a" - "kg020a" - "kg093a" - "kg094a" - "kg095a" - "kg103a" - "kg104a" - "kg112a" - "kg024a" - "kg134" - "kg136" - "kg137" - "kg138" - "kg139" - "kg140" - "kg141" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 9 - (new 'static 'speech-type-info - :priority 1 - :min-delay #x12c - :max-delay #x258 - :list (new 'static 'boxed-array :type string - "kg133" - "kg142" - "kg144" - "kg145" - "kg146" - "kg147" - "kg148" - "kg149" - "kg150" - "kg138" - "kg151" - "kg152" - "kg153" - "kg154" - "kg155" - "kg159" - "kg163" - "kg164" - ) - ) - ) - (speech-control-method-10 - *speech-control* - 10 - (new 'static 'speech-type-info :priority #xa :max-delay #x12c :list (new 'static 'boxed-array :type string - "kg166" - "kg167" - "kg168" - "kg169" - "kg171" - "kg172" - "kg173" - "kg174" - "kg175" - ) - ) - ) + (speech-table-set! *speech-control* (speech-type speech-type-6) (new 'static 'speech-type-info + :min-delay (seconds 4) + :max-delay (seconds 8) + :list (new 'static 'boxed-array :type string + "kg001" + "kg002" + "kg004" + "kg006" + "kg001a" + "kg013" + "kg016" + "kg018" + "kg019" + "kg023" + "kg024" + "kg002a" + "kg004a" + "kg078a" + "kg079a" + "kg080a" + "kg081a" + "kg004a" + "kg082a" + "kg083a" + "kg084a" + "kg085a" + "kg086a" + "kg087a" + "kg088a" + "kg091a" + "kg023a" + "kg006a" + "kg092a" + "kg020a" + "kg093a" + "kg094a" + "kg095a" + "kg103a" + "kg104a" + "kg112a" + "kg024a" + "kg134" + "kg136" + "kg137" + "kg138" + "kg139" + "kg140" + "kg141" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-9) (new 'static 'speech-type-info + :priority 1 + :min-delay (seconds 1) + :max-delay (seconds 2) + :list (new 'static 'boxed-array :type string + "kg133" + "kg142" + "kg144" + "kg145" + "kg146" + "kg147" + "kg148" + "kg149" + "kg150" + "kg138" + "kg151" + "kg152" + "kg153" + "kg154" + "kg155" + "kg159" + "kg163" + "kg164" + ) + ) + ) + (speech-table-set! *speech-control* (speech-type speech-type-10) (new 'static 'speech-type-info + :priority 10 + :max-delay (seconds 1) + :list (new 'static 'boxed-array :type string + "kg166" + "kg167" + "kg168" + "kg169" + "kg171" + "kg172" + "kg173" + "kg174" + "kg175" + ) + ) + ) (none) ) ) diff --git a/test/decompiler/reference/jak2/levels/gungame/gun-dummy_REF.gc b/test/decompiler/reference/jak2/levels/gungame/gun-dummy_REF.gc index 2cd2673ffc..2c85ca2b13 100644 --- a/test/decompiler/reference/jak2/levels/gungame/gun-dummy_REF.gc +++ b/test/decompiler/reference/jak2/levels/gungame/gun-dummy_REF.gc @@ -2090,8 +2090,8 @@ (case (-> curr-path-command 0 command) (((tpath-command arise)) (set! (-> obj path-pos) (* 0.007843138 (the float (-> curr-path-command 0 path-pos)))) - (get-point-in-path! path (-> obj root-override trans) (-> obj path-pos) 'interp) - (+! (-> obj root-override trans y) (lerp-scale -16384.0 0.0 f30-0 0.0 (-> curr-path-command 0 time))) + (get-point-in-path! path (-> obj root trans) (-> obj path-pos) 'interp) + (+! (-> obj root trans y) (lerp-scale -16384.0 0.0 f30-0 0.0 (-> curr-path-command 0 time))) (let* ((s3-0 (get-point-in-path! path (new 'stack-no-clear 'vector) (-> obj path-pos) 'interp)) (v1-26 (get-point-in-path! path @@ -2126,8 +2126,8 @@ ret ) (((tpath-command lower)) - (get-point-in-path! path (-> obj root-override trans) (-> obj path-pos) 'interp) - (+! (-> obj root-override trans y) (lerp-scale 0.0 -16384.0 f30-0 0.0 (-> curr-path-command 0 time))) + (get-point-in-path! path (-> obj root trans) (-> obj path-pos) 'interp) + (+! (-> obj root trans y) (lerp-scale 0.0 -16384.0 f30-0 0.0 (-> curr-path-command 0 time))) (if (-> obj first-time-command) (sound-play "target-dwn-slow") ) @@ -2162,7 +2162,7 @@ (forward-up-nopitch->quaternion (-> obj quat-ground) s4-6 *up-vector*) ) (quaternion-normalize! (-> obj quat-ground)) - (set! (-> obj root-override trans quad) (-> s3-3 quad)) + (set! (-> obj root trans quad) (-> s3-3 quad)) ) (set! (-> obj inout-percent) (lerp-scale 0.0 1.0 f30-0 0.0 (-> curr-path-command 0 time))) (set! (-> obj first-time-command) #f) @@ -2200,10 +2200,10 @@ (get-point-in-path! path s2-4 (-> obj path-pos) 'interp) (get-point-in-path! path s3-4 (* 0.007843138 (the float (-> curr-path-command 0 path-pos))) 'interp) (let ((v1-102 (new 'stack-no-clear 'vector))) - (set! (-> v1-102 quad) (-> obj root-override trans quad)) - (vector-float*! (-> obj root-override trans) s2-4 (- 1.0 f28-2)) - (let ((a0-63 (-> obj root-override trans))) - (let ((a1-23 (-> obj root-override trans))) + (set! (-> v1-102 quad) (-> obj root trans quad)) + (vector-float*! (-> obj root trans) s2-4 (- 1.0 f28-2)) + (let ((a0-63 (-> obj root trans))) + (let ((a1-23 (-> obj root trans))) (let ((a2-17 f28-2)) (.mov vf7 a2-17) ) @@ -2215,8 +2215,8 @@ (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) (.svf (&-> a0-63 quad) vf6) ) - (let ((a0-65 (-> obj root-override transv))) - (.lvf vf1 (&-> (vector-! (new 'stack-no-clear 'vector) (-> obj root-override trans) v1-102) quad)) + (let ((a0-65 (-> obj root transv))) + (.lvf vf1 (&-> (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) v1-102) quad)) (let ((f0-50 (-> pp clock frames-per-second))) (.mov at-0 f0-50) ) @@ -2231,14 +2231,12 @@ (set! (-> obj move-sound) (new-sound-id)) ) (let ((s4-7 (static-sound-spec "target-mov-slow" :volume 100.0 :fo-max 60 :mask (pitch)))) - (set! (-> s4-7 pitch-mod) - (the int (lerp-scale -1.0 1.0 (vector-length (-> obj root-override transv)) 0.0 81920.0)) - ) - (sound-play-by-spec s4-7 (-> obj move-sound) (-> obj root-override trans)) + (set! (-> s4-7 pitch-mod) (the int (lerp-scale -1.0 1.0 (vector-length (-> obj root transv)) 0.0 81920.0))) + (sound-play-by-spec s4-7 (-> obj move-sound) (-> obj root trans)) ) (when (< (-> obj next-spark) (current-time)) (set! (-> obj next-spark) (the-as int (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.0 0.3)))))) - (spawn (-> obj part) (-> obj root-override trans)) + (spawn (-> obj part) (-> obj root trans)) ) (set! (-> obj first-time-command) #f) (when (>= f30-0 (-> curr-path-command 0 time)) @@ -2259,7 +2257,7 @@ (((tpath-command wait)) (set! (-> obj score) (- (-> obj score) (* (-> obj score-speed) (-> pp clock seconds-per-frame)))) (set! (-> obj inout-percent) (fmax 0.0 (- (-> obj inout-percent) (* 4.0 (-> pp clock seconds-per-frame))))) - (get-point-in-path! path (-> obj root-override trans) (-> obj path-pos) 'interp) + (get-point-in-path! path (-> obj root trans) (-> obj path-pos) 'interp) (set! (-> obj first-time-command) #f) (when (or (and (= (-> curr-path-command 0 time) -1.0) (< (-> obj hit-points) 0)) (and (!= (-> curr-path-command 0 time) -1.0) (>= f30-0 (-> curr-path-command 0 time))) @@ -2286,7 +2284,7 @@ ;; INFO: Used lq/sq (defmethod get-trans gun-dummy ((obj gun-dummy) (arg0 int)) "@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])" - (let ((root (-> obj root-override))) + (let ((root (-> obj root))) (case arg0 ((3 2) (let ((vec (new 'static 'vector :w 1.0))) @@ -2346,14 +2344,11 @@ (when (if (type? cshape collide-shape) cshape ) - (vector+float*! (-> self impact) (-> self root-override trans) *up-vector* 8192.0) + (vector+float*! (-> self impact) (-> self root trans) *up-vector* 8192.0) (vector+! (-> self impact) (-> self impact) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans)) - 4096.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) 4096.0) ) ) ) @@ -2429,7 +2424,7 @@ (break-dummy self) (set! (-> self hit-points) -1) ) - (+! (-> self root-override trans y) (-> self y-offset)) + (+! (-> self root trans y) (-> self y-offset)) (set! (-> self rot-y-offset) (- (-> self rot-y-offset) (* 8.0 (-> self clock seconds-per-frame) (-> self rot-y-offset))) ) @@ -2440,17 +2435,12 @@ 0 ) ) - (let ((vec-to-target (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans)))) + (let ((vec-to-target (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)))) (vector-normalize! vec-to-target 1.0) - (seek-toward-heading-vec! (-> self root-override) vec-to-target 65536.0 (seconds 0.5)) - ) - (quaternion-rotate-local-y! (-> self root-override quat) (-> self root-override quat) (-> self rot-y-offset)) - (quaternion-slerp! - (-> self root-override quat) - (-> self root-override quat) - (-> self quat-ground) - (-> self inout-percent) + (seek-toward-heading-vec! (-> self root) vec-to-target 65536.0 (seconds 0.5)) ) + (quaternion-rotate-local-y! (-> self root quat) (-> self root quat) (-> self rot-y-offset)) + (quaternion-slerp! (-> self root quat) (-> self root quat) (-> self quat-ground) (-> self inout-percent)) (transform-post) (none) ) @@ -2480,7 +2470,7 @@ (set! (-> cshape-moving backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape-moving backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape-moving) + (set! (-> obj root) cshape-moving) ) 0 (none) @@ -2520,9 +2510,9 @@ This commonly includes things such as: "Given a [[tpath-info]] use it to initialize the dummy with any relevant data or flags" (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (set! (-> obj mask) (logior (process-mask collectable) (-> obj mask))) - (vector-identity! (-> obj root-override scale)) - (quaternion-copy! (-> obj quat) (-> obj root-override quat)) - (set! (-> obj root-override trans y) (+ -16384.0 (-> obj root-override trans y))) + (vector-identity! (-> obj root scale)) + (quaternion-copy! (-> obj quat) (-> obj root quat)) + (set! (-> obj root trans y) (+ -16384.0 (-> obj root trans y))) (if (not (logtest? (-> arg0 flags) (tpath-flags tpath-rand))) (set! *tpath-rand* (the-as uint (rand-vu-int-count 16))) ) @@ -2780,7 +2770,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-dummy-a ((obj gun-dummy-a)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2821,7 +2811,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-dummy-b ((obj gun-dummy-b)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2860,7 +2850,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-dummy-c ((obj gun-dummy-c)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2899,7 +2889,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-dummy-big ((obj gun-dummy-big)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2938,7 +2928,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-dummy-gold ((obj gun-dummy-gold)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -2977,7 +2967,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-dummy-peace ((obj gun-dummy-peace)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -3016,7 +3006,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-cit-a ((obj gun-cit-a)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -3057,7 +3047,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-cit-b ((obj gun-cit-b)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -3098,7 +3088,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-cit-c ((obj gun-cit-c)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -3139,7 +3129,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod break-dummy gun-cit-d ((obj gun-cit-d)) "Does what you'd expect, sets up the [[joint-exploder-tuning]] to break the dummy into pieces, plays sounds, etc" - (let ((root-prim (-> obj root-override root-prim))) + (let ((root-prim (-> obj root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -3403,7 +3393,3 @@ This commonly includes things such as: (go-virtual idle) (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc b/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc index 3665acf0f9..ba86794430 100644 --- a/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/gungame/gungame-obs_REF.gc @@ -2071,7 +2071,7 @@ This commonly includes things such as: ;; definition for method 22 of type training-manager ;; INFO: Used lq/sq (defmethod training-manager-method-22 training-manager ((obj training-manager) (arg0 symbol)) - (local-vars (v1-28 symbol) (a0-18 symbol) (sv-48 process) (sv-64 process-tree) (sv-80 process-tree)) + (local-vars (v1-28 symbol) (a0-18 symbol) (sv-48 process) (sv-64 process) (sv-80 process)) (let ((s4-0 (new 'static 'fact-info :pickup-type (pickup-type ammo-red) :pickup-spawn-amount 20.0)) (s3-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'sphere)) @@ -2106,20 +2106,20 @@ This commonly includes things such as: ) ) (set! a0-18 (when v1-21 - (set! sv-64 (the-as process-tree a0-18)) + (set! sv-64 (the-as process a0-18)) (set! sv-64 (-> v1-21 0 self)) a0-18 ) ) ) (set! v1-28 (when (type? sv-64 process-focusable) - (set! sv-80 (the-as process-tree v1-28)) + (set! sv-80 (the-as process v1-28)) (set! sv-80 sv-64) v1-28 ) ) (quaternion-vector-angle! - (-> (the-as process-focusable sv-80) root-override quat) + (-> (the-as process-focusable sv-80) root quat) *up-vector* (+ -4551.1113 (-> *entrance-gungame-crates-pos* s0-0 pos w)) ) @@ -2179,7 +2179,7 @@ This commonly includes things such as: ) ) ) - (quaternion-vector-angle! (-> s1-1 root-override quat) *up-vector* (+ -4551.1113 (-> arg0 s2-0 pos w))) + (quaternion-vector-angle! (-> s1-1 root quat) *up-vector* (+ -4551.1113 (-> arg0 s2-0 pos w))) (set! (-> obj course-crates s2-0) (process->handle s1-1)) ) ) @@ -3008,7 +3008,3 @@ This commonly includes things such as: :save #t ) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc b/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc index 800e6bbb01..7da60492dc 100644 --- a/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/hideout/hideout-obs_REF.gc @@ -69,7 +69,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/hiphog/hiphog-scenes_REF.gc b/test/decompiler/reference/jak2/levels/hiphog/hiphog-scenes_REF.gc index cb6beebe4c..49e777e088 100644 --- a/test/decompiler/reference/jak2/levels/hiphog/hiphog-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/hiphog/hiphog-scenes_REF.gc @@ -67,7 +67,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/landing_pad/castle-obs_REF.gc b/test/decompiler/reference/jak2/levels/landing_pad/castle-obs_REF.gc index 004cad17f9..2e94cc4363 100644 --- a/test/decompiler/reference/jak2/levels/landing_pad/castle-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/landing_pad/castle-obs_REF.gc @@ -277,7 +277,7 @@ This commonly includes things such as: (set! (-> self speed) (seek-with-smooth (-> self speed) (-> self target-speed) 61440.0 0.1 409.6)) (cond ((< f30-0 0.0) - (quaternion-smooth-seek! (-> self root-override quat) (-> self root-override quat) (-> self quat180) 0.1) + (quaternion-smooth-seek! (-> self root quat) (-> self root quat) (-> self quat180) 0.1) (let ((t9-2 sp-launch-particles-var) (a0-2 *sp-particle-system-2d*) (a1-2 (-> *part-id-table* 5119)) @@ -288,7 +288,7 @@ This commonly includes things such as: ) ) (else - (quaternion-smooth-seek! (-> self root-override quat) (-> self root-override quat) (-> self quat0) 0.1) + (quaternion-smooth-seek! (-> self root quat) (-> self root quat) (-> self quat0) 0.1) (let ((t9-4 sp-launch-particles-var) (a0-4 *sp-particle-system-2d*) (a1-4 (-> *part-id-table* 5120)) @@ -357,7 +357,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (vector-rotate-x! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 5.0))) (vector-rotate-y! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 360.0))) - (set! (-> gp-0 start-pos quad) (-> self root-override trans quad)) + (set! (-> gp-0 start-pos quad) (-> self root trans quad)) (vector-normalize-copy! (-> gp-0 move-dist) s5-0 40960.0) (let ((v1-11 gp-0)) (set! (-> v1-11 radius) 409.6) @@ -446,7 +446,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -483,7 +483,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj quat0 quad) (-> obj root-override quat quad)) + (set! (-> obj quat0 quad) (-> obj root quat quad)) (quaternion-rotate-y! (-> obj quat180) (-> obj quat0) 32768.0) (set! (-> obj speed) (res-lump-float (-> obj entity) 'speed :default 30720.0)) (set! (-> obj target-speed) (-> obj speed)) @@ -562,7 +562,7 @@ This commonly includes things such as: (defstate die (cas-electric-fence) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -629,7 +629,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (vector-rotate-x! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 140.0))) (vector-rotate-y! s5-0 s5-0 (* 182.04445 (rand-vu-float-range 0.0 360.0))) - (set! (-> gp-0 start-pos quad) (-> self root-override trans quad)) + (set! (-> gp-0 start-pos quad) (-> self root trans quad)) (set! (-> gp-0 start-pos y) (+ 15400.96 (-> gp-0 start-pos y))) (vector-normalize-copy! (-> gp-0 move-dist) s5-0 40960.0) (let ((v1-9 gp-0)) @@ -695,7 +695,7 @@ This commonly includes things such as: (let ((gp-2 *target*)) (when (and gp-2 (not (logtest? (-> gp-2 focus-status) (focus-status disable dead ignore inactive)))) (let ((s4-3 (get-trans gp-2 0))) - (when (< (vector-vector-distance s4-3 (-> self root-override trans)) 24576.0) + (when (< (vector-vector-distance s4-3 (-> self root trans)) 24576.0) (let ((s5-3 (new 'stack-no-clear 'event-message-block))) (set! (-> s5-3 from) (process->ppointer self)) (set! (-> s5-3 num-params) 2) @@ -709,7 +709,7 @@ This commonly includes things such as: (set! (-> s3-3 id) a0-29) ) (set! (-> s3-3 vector quad) - (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s4-3 (-> self root-override trans)) 1.0) quad) + (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) s4-3 (-> self root trans)) 1.0) quad) ) (set! (-> s3-3 shove-back) 24576.0) (set! (-> s3-3 shove-up) 12288.0) @@ -723,7 +723,7 @@ This commonly includes things such as: (send-event-function gp-2 s5-3) ) (let ((s5-4 (new 'stack-no-clear 'vector))) - (set! (-> s5-4 quad) (-> self root-override trans quad)) + (set! (-> s5-4 quad) (-> self root trans quad)) (set! (-> s5-4 y) (+ 15400.96 (-> s5-4 y))) (process-spawn lightning-tracker @@ -771,7 +771,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -843,7 +843,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -963,7 +963,7 @@ This commonly includes things such as: ;; definition for method 49 of type cas-elevator ;; WARN: Return type mismatch float vs none. (defmethod cas-elevator-method-49 cas-elevator ((obj cas-elevator)) - (let* ((f0-1 (fmax 0.0 (- (-> obj root-override trans y) (-> obj bottom-top 0)))) + (let* ((f0-1 (fmax 0.0 (- (-> obj root trans y) (-> obj bottom-top 0)))) (f0-3 (* 0.001171875 (- f0-1 (* (the float (the int (/ f0-1 30720.0))) 30720.0)))) (v1-6 (-> obj skel root-channel 0)) ) @@ -982,7 +982,7 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s5-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s5-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((a0-8 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) @@ -1003,7 +1003,7 @@ This commonly includes things such as: ) (when a0-2 (let* ((a0-3 (get-trans a0-2 0)) - (v1-2 (vector-! (new 'stack-no-clear 'vector) a0-3 (-> obj root-override trans))) + (v1-2 (vector-! (new 'stack-no-clear 'vector) a0-3 (-> obj root trans))) ) (< (sqrtf (+ (* (-> v1-2 x) (-> v1-2 x)) (* (-> v1-2 z) (-> v1-2 z)))) 28672.0) ) @@ -1036,7 +1036,7 @@ This commonly includes things such as: (t9-0) ) ) - (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "cas-elevate" :id (-> self sound-id) :position (-> self root trans)) (none) ) :post (behavior () @@ -1050,11 +1050,11 @@ This commonly includes things such as: (let ((gp-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> gp-0 command) (sound-command set-param)) (set! (-> gp-0 id) (-> self sound-id)) - (let ((a1-0 (-> self root-override trans))) + (let ((a1-0 (-> self root trans))) (let ((s5-0 self)) (when (= a1-0 #t) - (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root-override))) - (set! a1-0 (-> s5-0 root-override trans)) + (if (and s5-0 (type? s5-0 process-drawable) (nonzero? (-> s5-0 root))) + (set! a1-0 (-> s5-0 root trans)) (set! a1-0 (the-as vector #f)) ) ) @@ -1136,7 +1136,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1826,7 +1826,7 @@ This commonly includes things such as: ;; definition of type cas-trapdoor (deftype cas-trapdoor (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -1914,7 +1914,7 @@ This commonly includes things such as: (defstate die (cas-trapdoor) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1990,10 +1990,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (if (not (task-node-closed? (game-task-node castle-boss-resolution))) - (set! (-> obj root-override penetrated-by) (penetrate flop)) + (set! (-> obj root penetrated-by) (penetrate flop)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -2111,7 +2111,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -2941,8 +2941,8 @@ This commonly includes things such as: ;; definition of type lightning-ball (deftype lightning-ball (process-drawable) - ((root-override collide-shape :offset 128) - (timer time-frame :offset-assert 200) + ((root collide-shape :override) + (timer time-frame :offset-assert 200) ) :heap-base #x50 :method-count-assert 21 @@ -3002,7 +3002,7 @@ This commonly includes things such as: (set! (-> s5-0 quad) (-> *x-vector* quad)) (vector-rotate-around-z! s5-0 s5-0 f30-1) (vector-rotate-around-y! s5-0 s5-0 f28-1) - (vector+float*! (-> gp-0 start-pos) (-> self root-override trans) s5-0 56320.0) + (vector+float*! (-> gp-0 start-pos) (-> self root trans) s5-0 56320.0) (vector-float*! (-> gp-0 move-dist) s5-0 81920.0) ) (let ((v1-11 gp-0)) @@ -3057,11 +3057,11 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (set! (-> obj timer) (current-time)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (go (method-of-object obj idle)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/landing_pad/roboguard-level_REF.gc b/test/decompiler/reference/jak2/levels/landing_pad/roboguard-level_REF.gc index f1b196797b..2e4f6e8806 100644 --- a/test/decompiler/reference/jak2/levels/landing_pad/roboguard-level_REF.gc +++ b/test/decompiler/reference/jak2/levels/landing_pad/roboguard-level_REF.gc @@ -269,7 +269,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 8) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -341,9 +341,9 @@ ;; INFO: Used lq/sq (defbehavior roboguard-roll-travel-post roboguard-level () (let ((a1-0 (new 'stack-no-clear 'collide-query)) - (gp-0 (-> self root-override2)) + (gp-0 (-> self root)) ) - (if (find-ground gp-0 a1-0 (-> self enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) + (if (find-ground gp-0 a1-0 (-> self enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) (set! (-> gp-0 trans y) (-> gp-0 gspot-pos y)) ) ) @@ -374,7 +374,7 @@ (enemy-method-125 self a1-1 (collide-spec backgnd) 8192.0 81920.0 1024.0) ) (let* ((v1-11 (-> self nav)) - (a1-2 (-> self root-override2 gspot-pos)) + (a1-2 (-> self root gspot-pos)) (f0-0 (-> v1-11 extra-nav-sphere w)) ) (set! (-> v1-11 extra-nav-sphere quad) (-> a1-2 quad)) @@ -392,7 +392,7 @@ (enemy-method-129 self) (let ((a0-11 (handle->process (-> self focus handle)))) (if a0-11 - (point-toward-point! (-> self root-override2) (get-trans (the-as process-focusable a0-11) 0)) + (point-toward-point! (-> self root) (get-trans (the-as process-focusable a0-11) 0)) ) ) (none) @@ -411,7 +411,7 @@ (set! (-> a0-0 frame-num) 3.0) (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-identity) ) - (until (logtest? (-> self root-override2 status) (collide-status on-surface)) + (until (logtest? (-> self root status) (collide-status on-surface)) (nav-enemy-falling-post) (suspend) ) @@ -421,7 +421,7 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override2 gspot-pos quad)) + (set! (-> a1-0 quad) (-> self root gspot-pos quad)) (set! (-> a1-0 w) (-> self nav-radius-backup)) (if (not (add-root-sphere-to-hash! (-> self nav) a1-0 32)) (nav-enemy-falling-post) @@ -574,9 +574,9 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'collide-query)) - (gp-0 (-> self root-override2)) + (gp-0 (-> self root)) ) - (if (find-ground gp-0 a1-0 (-> self enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) + (if (find-ground gp-0 a1-0 (-> self enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) (set! (-> gp-0 trans y) (-> gp-0 gspot-pos y)) ) ) @@ -601,7 +601,7 @@ (logclear! (-> self enemy-flags) (enemy-flag drawn-mirrored)) (let ((gp-0 (-> self on-hostile))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -616,7 +616,7 @@ (set! (-> v1-23 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-23 enemy-flags)))) ) (set! (-> v1-23 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-23 enemy-flags)))) - (set! (-> v1-23 nav callback-info) (-> v1-23 enemy-info-override callback-info)) + (set! (-> v1-23 nav callback-info) (-> v1-23 enemy-info callback-info)) ) 0 (let ((v1-26 self)) @@ -626,7 +626,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (set! (-> self state-time) (current-time)) (roboguard-level-method-185 self (the-as symbol 1)) - (vector-z-quaternion! (-> self roll-dir) (-> self root-override2 quat)) + (vector-z-quaternion! (-> self roll-dir) (-> self root quat)) (set! (-> self roll-timer) 0) (set! (-> self roll-attack-count) (the-as uint 0)) 0 @@ -642,7 +642,7 @@ ) :trans (behavior () (let ((a0-0 (static-sound-spec "robo-roll"))) - (sound-play-by-spec a0-0 (-> self roll-sound) (-> self root-override2 trans)) + (sound-play-by-spec a0-0 (-> self roll-sound) (-> self root trans)) ) (cond ((logtest? (-> self flags) 64) @@ -676,12 +676,9 @@ ) (< 2 (the-as int (-> self focus aware))) ) - (let ((s5-2 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable gp-2) 0) - (-> self root-override2 trans) - ) - ) + (let ((s5-2 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable gp-2) 0) (-> self root trans)) + ) (s4-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-2 y) 0.0) @@ -692,7 +689,7 @@ ) (vector-rotate-around-y! s5-2 s5-2 16384.0) (vector+! s4-0 (get-trans (the-as process-focusable gp-2) 0) s5-2) - (vector-! (-> self roll-dir) s4-0 (-> self root-override2 trans)) + (vector-! (-> self roll-dir) s4-0 (-> self root trans)) ) (set! (-> self roll-dir y) 0.0) (vector-normalize! (-> self roll-dir) 1.0) @@ -700,7 +697,7 @@ ) ) (let ((gp-3 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) (new 'stack-no-clear 'vector) (set! (-> gp-3 quad) (-> self roll-dir quad)) (let ((s3-2 (new 'stack-no-clear 'vector)) @@ -710,7 +707,7 @@ (let ((s2-0 (-> self nav state current-poly))) (vector-xz-normalize-copy! s3-2 gp-3 20480.0) (set! (-> s4-1 quad) (-> s3-2 quad)) - (clamp-vector-to-mesh-no-gaps (-> self nav) (-> self root-override2 trans) s2-0 s4-1 s5-3) + (clamp-vector-to-mesh-no-gaps (-> self nav) (-> self root trans) s2-0 s4-1 s5-3) ) (when (-> s5-3 found-boundary) (let ((f30-1 (vector-length gp-3))) @@ -781,9 +778,9 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'collide-query)) - (gp-0 (-> self root-override2)) + (gp-0 (-> self root)) ) - (if (find-ground gp-0 a1-0 (-> self enemy-info-override gnd-collide-with) 8192.0 81920.0 1024.0) + (if (find-ground gp-0 a1-0 (-> self enemy-info gnd-collide-with) 8192.0 81920.0 1024.0) (set! (-> gp-0 trans y) (-> gp-0 gspot-pos y)) ) ) @@ -894,7 +891,7 @@ :trans (the-as (function none :behavior roboguard-level) #f) :code (behavior () (sound-play "robo-explode") - (let ((v1-2 (-> self root-override2 root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) @@ -912,7 +909,7 @@ ;; definition for method 185 of type roboguard-level ;; WARN: Return type mismatch int vs none. (defmethod roboguard-level-method-185 roboguard-level ((obj roboguard-level) (arg0 symbol)) - (let ((v1-1 (-> obj root-override2 root-prim)) + (let ((v1-1 (-> obj root root-prim)) (a0-1 arg0) ) (cond @@ -1063,14 +1060,14 @@ (let ((s5-0 (find-offending-process-focusable a0-2 (the-as attack-info v1-3)))) (when s5-0 (new 'stack-no-clear 'vector) - (set! (-> (new 'stack-no-clear 'vector) quad) (-> s5-0 root-override trans quad)) + (set! (-> (new 'stack-no-clear 'vector) quad) (-> s5-0 root trans quad)) (if (< (-> obj roll-attack-count) (the-as uint 3)) (+! (-> obj roll-attack-count) 1) ) - (vector-! (-> obj roll-dir) (-> obj root-override2 trans) (-> s5-0 root-override trans)) + (vector-! (-> obj roll-dir) (-> obj root trans) (-> s5-0 root trans)) (set! (-> obj roll-dir y) 0.0) (vector-xz-normalize! (-> obj roll-dir) 1.0) - (set! (-> obj speed) (+ 245760.0 (vector-length (-> s5-0 root-override transv)))) + (set! (-> obj speed) (+ 245760.0 (vector-length (-> s5-0 root transv)))) (let ((a0-9 (-> obj nav state)) (v1-19 (vector-float*! (new 'stack-no-clear 'vector) (-> obj roll-dir) (-> obj speed))) ) @@ -1155,21 +1152,17 @@ ) ) (when (and s1-0 (logtest? (process-mask enemy) (-> s1-0 mask))) - (let ((s2-1 (vector-! - (new 'stack-no-clear 'vector) - (-> obj root-override2 trans) - (-> (the-as process-drawable s1-0) root trans) - ) - ) + (let ((s2-1 + (vector-! (new 'stack-no-clear 'vector) (-> obj root trans) (-> (the-as process-drawable s1-0) root trans)) + ) ) (new 'stack-no-clear 'vector) 0.0 (let ((s3-1 (new 'stack-no-clear 'vector))) (vector-normalize! s2-1 1.0) - (let ((f0-3 (- (vector-dot (-> obj root-override2 transv) s2-1) - (vector-dot (-> (the-as process-drawable s1-0) root transv) s2-1) - ) - ) + (let ((f0-3 + (- (vector-dot (-> obj root transv) s2-1) (vector-dot (-> (the-as process-drawable s1-0) root transv) s2-1)) + ) ) (let ((a1-5 (-> obj nav state))) (set! (-> s3-1 quad) (-> a1-5 velocity quad)) @@ -1238,7 +1231,7 @@ (set! (-> s3-0 y) 0.0) (vector-normalize! s3-0 1.0) (let ((gp-0 (new 'stack-no-clear 'quaternion)) - (s5-1 (-> obj root-override2 quat)) + (s5-1 (-> obj root quat)) ) (quaternion-set! gp-0 0.0 (-> s3-0 x) 0.0 (+ 1.0 (-> s3-0 z))) (quaternion-normalize! gp-0) @@ -1265,7 +1258,7 @@ (cond ((logtest? (enemy-flag enemy-flag38) (-> obj enemy-flags)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag38)))) - (set! (-> obj root-override2 gspot-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj root gspot-pos quad) (-> obj root trans quad)) ) (else (nav-enemy-method-142 obj (-> obj nav)) @@ -1275,7 +1268,7 @@ ) ) (track-target! obj) - (update-transforms (-> obj root-override2)) + (update-transforms (-> obj root)) 0 (none) ) @@ -1360,7 +1353,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1381,9 +1374,9 @@ (set! (-> v1-8 nav-cull-radius) 81920.0) ) 0 - (set! (-> obj fact-info-override cam-horz) 98304.0) - (set! (-> obj fact-info-override cam-vert) 24576.0) - (set! (-> obj fact-info-override cam-notice-dist) 122880.0) + (set! (-> obj fact cam-horz) 98304.0) + (set! (-> obj fact cam-vert) 24576.0) + (set! (-> obj fact cam-notice-dist) 122880.0) (let ((v1-16 (-> obj nav))) (logclear! (-> v1-16 flags) (nav-control-flag limit-rotation-rate output-sphere-hash)) (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) @@ -1398,13 +1391,13 @@ 0 (logclear! (-> v1-16 flags) (nav-control-flag output-sphere-hash)) ) - (set! (-> obj enemy-info-override callback-info) *nav-enemy-physics-callback-info*) + (set! (-> obj enemy-info callback-info) *nav-enemy-physics-callback-info*) (let ((v1-18 obj)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-18 enemy-flags))) (set! (-> v1-18 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-18 enemy-flags)))) ) (set! (-> v1-18 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-18 enemy-flags)))) - (set! (-> v1-18 nav callback-info) (-> v1-18 enemy-info-override callback-info)) + (set! (-> v1-18 nav callback-info) (-> v1-18 enemy-info callback-info)) ) 0 (set! (-> obj roll-sound) (new-sound-id)) diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/left/chase/target-indax_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/left/chase/target-indax_REF.gc index 74ed1201b6..ccd7b32972 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/left/chase/target-indax_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/left/chase/target-indax_REF.gc @@ -140,14 +140,14 @@ (case arg2 (('touched) (cond - ((< 0.0 (-> self fact-override shield-level)) + ((< 0.0 (-> self fact shield-level)) (let ((s4-1 (-> self control penetrate-using))) (set! (-> self control penetrate-using) (penetrate touch shield)) (let ((v0-0 (the-as object (target-send-attack arg0 'shield (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as int (-> self fact-override shield-attack-id)) + (the-as int (-> self fact shield-attack-id)) 0 (-> self control penetrate-using) ) @@ -270,7 +270,7 @@ (set! (-> self focus-status) (logior (focus-status indax) (-> self focus-status))) (set! (-> self control bend-target) 0.0) (target-collide-set! 'indax 0.0) - (set! (-> self fact-override health) (-> self fact-override health-max)) + (set! (-> self fact health) (-> self fact health-max)) (set! (-> self indax indax-start-time) (current-time)) (set! (-> self indax art-group-backup) (-> self draw art-group)) (set! (-> self draw art-group) (-> self sidekick 0 draw art-group)) @@ -309,7 +309,7 @@ (logclear! (-> self draw status) (draw-control-status no-draw-bounds2)) (send-event (ppointer->process (-> self sidekick)) 'matrix #f) (if (not (focus-test? self dead)) - (set! (-> self fact-override health) (-> self fact-override health-max)) + (set! (-> self fact health) (-> self fact health-max)) ) (target-exit) ) @@ -1327,7 +1327,7 @@ :trans (behavior () (when (= *cheat-mode* 'debug) (when (and (not *pause-lock*) (cpad-hold? (-> self control cpad number) r2)) - (pickup-collectable! (-> self fact-override) (pickup-type health) 100.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f)) (go target-indax-stance) ) ) @@ -1403,19 +1403,19 @@ (go target-indax-stance) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (go target-indax-death (-> gp-0 mode)) ) ) ) (('instant-death 'smush 'tomb-spider 'bot) - (pickup-collectable! (-> self fact-override) (pickup-type health) -1000.0 (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f)) (if (= (-> self game mode) 'play) (go target-indax-death (-> gp-0 mode)) ) ) (else - (pickup-collectable! (-> self fact-override) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) + (pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f)) ) ) (target-hit-effect gp-0) @@ -1432,7 +1432,7 @@ (target-indax-hit-setup-anim gp-0) (target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-falling-anim-trans 1.0) ) - (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-override health))) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact health))) (go target-indax-death (-> gp-0 mode)) ) ) diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/monster-frog_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/monster-frog_REF.gc index 1287877e2b..71534a2703 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/monster-frog_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/monster-frog_REF.gc @@ -168,7 +168,7 @@ :walk-travel-speed (meters 11.44) :walk-acceleration (meters 5) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -230,7 +230,7 @@ (set! (-> v1-71 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-71 enemy-flags)))) ) (set! (-> v1-71 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-71 enemy-flags)))) - (set! (-> v1-71 nav callback-info) (-> v1-71 enemy-info-override callback-info)) + (set! (-> v1-71 nav callback-info) (-> v1-71 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.035)) @@ -240,7 +240,7 @@ 0 (nav-enemy-method-165 self) (let ((v1-78 (-> self nav))) - (set! (-> v1-78 target-speed) (* 1.4 (-> self enemy-info-override walk-travel-speed))) + (set! (-> v1-78 target-speed) (* 1.4 (-> self enemy-info walk-travel-speed))) ) 0 (let ((v1-80 self)) @@ -302,11 +302,11 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (let ((v1-12 (-> self root-override2 root-prim))) + (let ((v1-12 (-> self root root-prim))) (set! (-> v1-12 prim-core collide-as) (collide-spec)) (set! (-> v1-12 prim-core collide-with) (collide-spec)) ) @@ -318,7 +318,7 @@ (enemy-method-129 self) (let ((a0-2 (handle->process (-> self focus handle)))) (when a0-2 - (let* ((gp-0 (-> self root-override2)) + (let* ((gp-0 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-2) 0) (-> gp-0 trans)) @@ -340,9 +340,9 @@ (suspend) (ja :num! (seek!)) ) - (let ((v1-37 (-> self root-override2 root-prim))) - (set! (-> v1-37 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-37 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-37 (-> self root root-prim))) + (set! (-> v1-37 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-37 prim-core collide-with) (-> self root backup-collide-with)) ) (react-to-focus self) (none) @@ -373,7 +373,7 @@ (let ((a0-7 (handle->process (-> self focus handle)))) (if a0-7 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-7) 0) (* 98304.0 f30-0) (seconds 0.02) @@ -431,13 +431,10 @@ ) 0 (nav-enemy-method-167 self) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -451,13 +448,10 @@ (ja :num! (seek! max f30-0)) ) (until (not (enemy-method-123 self 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override idle-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info idle-anim))) frames num-frames) -1 ) ) @@ -475,19 +469,16 @@ (set! (-> v1-121 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-121 enemy-flags)))) ) (set! (-> v1-121 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-121 enemy-flags)))) - (set! (-> v1-121 nav callback-info) (-> v1-121 enemy-info-override callback-info)) + (set! (-> v1-121 nav callback-info) (-> v1-121 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.6)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override walk-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info walk-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override walk-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info walk-anim))) frames num-frames) -1 ) ) @@ -555,7 +546,7 @@ ) :trans (behavior () (nav-enemy-method-160 self) - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) @@ -565,7 +556,7 @@ (let ((gp-0 (-> self focus aware))) (cond ((>= 1 (the-as int gp-0)) - (if (-> self enemy-info-override use-stop-chase) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-virtual active) ) @@ -578,10 +569,8 @@ ) ) ) - (when (and (-> self enemy-info-override use-frustration) - (logtest? (enemy-flag not-frustrated) (-> self enemy-flags)) - ) - (if (-> self enemy-info-override use-stop-chase) + (when (and (-> self enemy-info use-frustration) (logtest? (enemy-flag not-frustrated) (-> self enemy-flags))) + (if (-> self enemy-info use-stop-chase) (go-virtual stop-chase) (go-stare self) ) @@ -600,9 +589,9 @@ (cond (a0-4 (let* ((s5-0 (get-trans (the-as process-focusable a0-4) 0)) - (a1-4 (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root-override2 trans))) + (a1-4 (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root trans))) (f30-0 (vector-length a1-4)) - (gp-1 (-> self enemy-info-override)) + (gp-1 (-> self enemy-info)) ) (let ((a1-5 (vector-normalize-copy! (new 'stack-no-clear 'vector) a1-4 1.0))) (if (not (enemy-method-94 self a1-5 6371.5557)) @@ -732,7 +721,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) 81920.0 (seconds 0.02) @@ -757,7 +746,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -771,11 +760,11 @@ (set! (-> v1-9 attack-id) a1-15) (set! (-> self attack-id) a1-15) ) - (let* ((gp-0 (-> self root-override2 trans)) + (let* ((gp-0 (-> self root trans)) (s5-1 (vector-! (new 'stack-no-clear 'vector) arg0 gp-0)) ) (let ((f0-0 (vector-length s5-1))) - (vector-normalize! s5-1 (fmin f0-0 (-> self enemy-info-override run-travel-speed))) + (vector-normalize! s5-1 (fmin f0-0 (-> self enemy-info run-travel-speed))) ) (let ((a0-3 (-> self nav state)) (v1-17 (vector+! (new 'stack-no-clear 'vector) gp-0 s5-1)) @@ -1072,7 +1061,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/tomb-beetle_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/tomb-beetle_REF.gc index 63b053e222..2078e18aaf 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/tomb-beetle_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/tomb-beetle_REF.gc @@ -214,7 +214,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 1080.0) + :maximum-rotation-rate (degrees 1080) :notice-nav-radius (meters 1.5) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -245,7 +245,7 @@ ) (-> arg3 param 1) (cond - ((logtest? (-> obj fact-info-override enemy-options) (ash 1 (+ (-> obj round) 8))) + ((logtest? (-> obj fact enemy-options) (ash 1 (+ (-> obj round) 8))) (set! (-> v1-0 0) (the-as int (current-time))) (go (method-of-object obj go-to-door)) ) @@ -282,7 +282,7 @@ (let ((f30-0 81920.0) (s5-0 (new 'stack-no-clear 'collide-query)) ) - (set! (-> s5-0 start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> s5-0 start-pos quad) (-> obj root trans quad)) (set-vector! (-> s5-0 move-dist) 0.0 (- f30-0) 0.0 1.0) (let ((v1-6 s5-0)) (set! (-> v1-6 radius) 8192.0) @@ -300,7 +300,7 @@ ) 0 (-> s5-0 best-other-tri intersect) - (let ((a1-2 (-> obj root-override2 trans))) + (let ((a1-2 (-> obj root trans))) (-> a1-2 y) (let ((f0-6 (* f0-5 f30-0))) (shadow-control-method-14 @@ -340,8 +340,8 @@ (defstate dormant (tomb-beetle) :virtual #t :enter (behavior () - (set! (-> self root-override2 trans quad) (-> self entity extra trans quad)) - (quaternion-copy! (-> self root-override2 quat) (-> self entity quat)) + (set! (-> self root trans quad) (-> self entity extra trans quad)) + (quaternion-copy! (-> self root quat) (-> self entity quat)) (let ((t9-2 (-> (the-as (state enemy) (find-parent-method tomb-beetle 27)) enter))) (if t9-2 (t9-2) @@ -355,18 +355,18 @@ (defstate ambush (tomb-beetle) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 - (vector-reset! (-> self root-override2 transv)) - (set! (-> self move-dest quad) (-> self root-override2 trans quad)) - (+! (-> self root-override2 trans y) (* 4096.0 (rand-vu-float-range 32.0 52.0))) - (set! (-> self init-height) (-> self root-override2 trans y)) + (vector-reset! (-> self root transv)) + (set! (-> self move-dest quad) (-> self root trans quad)) + (+! (-> self root trans y) (* 4096.0 (rand-vu-float-range 32.0 52.0))) + (set! (-> self init-height) (-> self root trans y)) (quaternion-rotate-y! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (* 182.04445 (rand-vu-float-range -180.0 180.0)) ) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) @@ -388,21 +388,21 @@ ) (setup-masks (-> self draw) 0 -1) (setup-masks (-> self draw) 2 0) - (if (logtest? (-> self fact-info-override enemy-options) (ash 1 (+ (-> self round) 8))) + (if (logtest? (-> self fact enemy-options) (ash 1 (+ (-> self round) 8))) (setup-masks (-> self draw) 4 0) (setup-masks (-> self draw) 8 0) ) (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) :trans (behavior () - (if (< (fabs (- (-> self root-override2 trans y) (-> self move-dest y))) 4096.0) + (if (< (fabs (- (-> self root trans y) (-> self move-dest y))) 4096.0) (go-virtual land) ) (none) @@ -483,7 +483,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -497,13 +497,13 @@ (set! (-> gp-0 z) (* 4096.0 (rand-vu-float-range 3.0 9.0))) (set! (-> gp-0 w) 0.0) (let ((f30-1 (rand-vu-float-range 100.0 270.0))) - (vector-orient-by-quat! gp-0 gp-0 (-> self root-override2 quat)) + (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) (if (< 180.0 f30-1) (set! f30-1 (+ -360.0 f30-1)) ) (vector-rotate-y! gp-0 gp-0 (* 182.04445 f30-1)) ) - (vector+! (-> self move-dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self move-dest) (-> self root trans) gp-0) ) (cloest-point-on-mesh (-> self nav) (-> self move-dest) (-> self move-dest) (the-as nav-poly #f)) (let ((a0-23 (-> self nav state)) @@ -517,7 +517,7 @@ (none) ) :trans (behavior () - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest)) 16384.0) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self move-dest)) 16384.0) (go-virtual stand) ) (none) @@ -604,32 +604,32 @@ (let ((s5-0 (-> self fly-info)) (gp-0 (the-as (inline-array tomb-beetle-fly-info) (-> self fly-info 1))) ) - (set! (-> s5-0 0 dst quad) (the-as uint128 (the-as vector (-> self root-override2 trans quad)))) + (set! (-> s5-0 0 dst quad) (the-as uint128 (the-as vector (-> self root trans quad)))) (set! (-> gp-0 0 dst quad) (-> self entity extra trans quad)) (set! (-> gp-0 0 dst y) (+ 106496.0 (-> gp-0 0 dst y))) (vector-! (-> self fly-away-dir) (the-as vector (-> gp-0 0)) (the-as vector (-> s5-0 0))) (vector-normalize! (-> self fly-away-dir) 1.0) - (quaternion-copy! (-> s5-0 0 dst-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> s5-0 0 dst-quat) (-> self root quat)) (quaternion-look-at! (-> gp-0 0 dst-quat) (-> self fly-away-dir) *up-vector*) (set! (-> self speed) 0.0) (set! (-> self fly-away-radius) 0.0) - (set! (-> self fly-away-ry) (quaternion-y-angle (-> self root-override2 quat))) - (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root-override2 trans) (the-as vector (-> gp-0 0)))) + (set! (-> self fly-away-ry) (quaternion-y-angle (-> self root quat))) + (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> gp-0 0)))) ) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self fly-away-acc) (get-rand-float-range self 204800.0 512000.0)) (set! (-> self fly-away-ry-speed) (get-rand-float-range self 32768.0 109226.664)) (set! (-> self flying?) #f) (none) ) :trans (behavior () - (let ((f30-0 (- (-> self root-override2 trans y) (-> self fly-info 1 dst y)))) + (let ((f30-0 (- (-> self root trans y) (-> self fly-info 1 dst y)))) (when (>= f30-0 0.0) (send-event self 'death-end) (go empty-state) ) (let ((f0-2 (lerp-scale 1.0 0.0 f30-0 -40960.0 0.0))) - (set-vector! (-> self root-override2 scale) f0-2 f0-2 f0-2 1.0) + (set-vector! (-> self root scale) f0-2 f0-2 f0-2 1.0) ) ) (none) @@ -701,7 +701,7 @@ ) (init-vf0-vector) (when (-> self flying?) - (let ((gp-0 (-> self root-override2))) + (let ((gp-0 (-> self root))) (+! (-> self speed) (* (-> self fly-away-acc) (-> self clock seconds-per-frame))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-normalize-copy! s5-0 (-> self fly-away-dir) (-> self speed)) @@ -728,8 +728,8 @@ ) ) (quaternion-smooth-seek! - (-> self root-override2 quat) - (-> self root-override2 quat) + (-> self root quat) + (-> self root quat) (-> self fly-info 1 dst-quat) (* 12.0 (-> self clock seconds-per-frame)) ) @@ -747,13 +747,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 1.8 2.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override die-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info die-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) frames num-frames) -1 ) ) @@ -785,7 +782,7 @@ ) ) (when gp-0 - (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (get-trans gp-0 0) (-> self root-override2 trans)))) + (let ((s5-2 (vector-! (new 'stack-no-clear 'vector) (get-trans gp-0 0) (-> self root trans)))) (when (< (vector-length s5-2) 16384.0) (vector-normalize! s5-2 1.0) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) @@ -813,7 +810,7 @@ ) ) ) - (let ((v1-16 (-> self root-override2 root-prim))) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) @@ -834,7 +831,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-15 a1-6 @@ -863,7 +860,7 @@ (defstate go-to-door (tomb-beetle) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override2 root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -907,54 +904,54 @@ ) ) (else - (set! (-> (the-as vector (-> gp-0 0)) quad) (-> self root-override2 trans quad)) + (set! (-> (the-as vector (-> gp-0 0)) quad) (-> self root trans quad)) (set! (-> gp-0 0 dst y) (+ 16384.0 (-> gp-0 0 dst y))) ) ) - (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> gp-0 0)) (-> self root-override2 trans)))) + (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) (the-as vector (-> gp-0 0)) (-> self root trans)))) (cond ((< (vector-length s4-2) 122880.0) - (set! (-> s5-0 0 dst quad) (-> self root-override2 trans quad)) + (set! (-> s5-0 0 dst quad) (-> self root trans quad)) ) (else (vector-float*! s4-2 s4-2 0.25) - (vector+! (the-as vector (-> s5-0 0)) (-> self root-override2 trans) s4-2) + (vector+! (the-as vector (-> s5-0 0)) (-> self root trans) s4-2) (set! (-> s5-0 0 dst y) (+ 20480.0 (-> gp-0 0 dst y))) ) ) (vector-normalize! s4-2 1.0) (forward-up-nopitch->quaternion (-> s5-0 0 dst-quat) s4-2 *up-vector*) ) - (quaternion-copy! (-> self src-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> self src-quat) (-> self root quat)) (quaternion-axis-angle! (-> gp-0 0 dst-quat) -1.0 0.0 0.0 16384.0) (quaternion-rotate-local-z! (-> gp-0 0 dst-quat) (-> gp-0 0 dst-quat) (-> gp-0 0 dst w)) (set! (-> s5-0 0 threshold) 16384.0) (set! (-> gp-0 0 threshold) 12288.0) - (set! (-> s5-0 0 dist) (vector-vector-distance (-> self root-override2 trans) (the-as vector (-> s5-0 0)))) - (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root-override2 trans) (the-as vector (-> gp-0 0)))) + (set! (-> s5-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> s5-0 0)))) + (set! (-> gp-0 0 dist) (vector-vector-distance (-> self root trans) (the-as vector (-> gp-0 0)))) ) (set! (-> self dest-index) 0) (set! (-> self speed) 122880.0) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (none) ) :trans (behavior () (when (< (vector-length (vector-! (new 'stack-no-clear 'vector) - (-> self root-override2 trans) + (-> self root trans) (the-as vector (-> self fly-info (-> self dest-index))) ) ) (-> self fly-info (-> self dest-index) threshold) ) (when (= (-> self dest-index) 1) - (set! (-> self root-override2 trans quad) (-> (the-as vector (-> self fly-info 1)) quad)) - (quaternion-copy! (-> self root-override2 quat) (-> self fly-info 1 dst-quat)) + (set! (-> self root trans quad) (-> (the-as vector (-> self fly-info 1)) quad)) + (quaternion-copy! (-> self root quat) (-> self fly-info 1 dst-quat)) (go-virtual key) ) (set! (-> self speed) 81920.0) - (vector-normalize! (-> self root-override2 transv) (-> self speed)) - (quaternion-copy! (-> self src-quat) (-> self root-override2 quat)) + (vector-normalize! (-> self root transv) (-> self speed)) + (quaternion-copy! (-> self src-quat) (-> self root quat)) (+! (-> self dest-index) 1) ) (none) @@ -994,15 +991,15 @@ (init-vf0-vector) (when (-> self flying?) (let* ((gp-0 (-> self fly-info (-> self dest-index))) - (f30-0 (vector-vector-distance (-> self root-override2 trans) (-> gp-0 dst))) + (f30-0 (vector-vector-distance (-> self root trans) (-> gp-0 dst))) ) (seek! (-> self speed) (* 4.0 f30-0) (* 409600.0 (-> self clock seconds-per-frame))) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 dst) (-> self root-override2 trans)))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> gp-0 dst) (-> self root trans)))) (vector-normalize! s5-1 (-> self speed)) - (vector-seek! (-> self root-override2 transv) s5-1 (* (-> self speed) (-> self clock seconds-per-frame))) + (vector-seek! (-> self root transv) s5-1 (* (-> self speed) (-> self clock seconds-per-frame))) ) (let ((v1-13 (new 'stack-no-clear 'vector))) - (.lvf vf1 (&-> (-> self root-override2 transv) quad)) + (.lvf vf1 (&-> (-> self root transv) quad)) (let ((f0-9 (-> self clock seconds-per-frame))) (.mov at-0 f0-9) ) @@ -1010,10 +1007,10 @@ (.mov.vf vf1 vf0 :mask #b1000) (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> v1-13 quad) vf1) - (vector+! (-> self root-override2 trans) (-> self root-override2 trans) v1-13) + (vector+! (-> self root trans) (-> self root trans) v1-13) ) (let ((f0-11 (/ f30-0 (-> gp-0 dist)))) - (quaternion-slerp! (-> self root-override2 quat) (-> self src-quat) (-> gp-0 dst-quat) (- 1.0 f0-11)) + (quaternion-slerp! (-> self root quat) (-> self src-quat) (-> gp-0 dst-quat) (- 1.0 f0-11)) ) ) ) @@ -1109,7 +1106,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/tomb-obs_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/tomb-obs_REF.gc index 5e0fbfe7c6..2c90d55eab 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/tomb-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/tomb-obs_REF.gc @@ -64,7 +64,7 @@ (let ((f30-0 (get-norm! (-> self sync) 0))) (let ((s5-0 (-> self basetrans))) (let ((gp-0 (-> self position))) - (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) + (let ((v1-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((a0-3 (* -32768.0 f30-0))) (.mov vf7 a0-3) ) @@ -144,7 +144,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -165,7 +165,7 @@ This commonly includes things such as: (process-drawable-from-entity! obj arg0) (initialize-skeleton obj (the-as skeleton-group (get-art-group obj)) (the-as pair 0)) (set! (-> obj draw light-index) (the-as uint 1)) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (stop-bouncing! obj) (base-plat-method-32 obj) (set! (-> obj fact) @@ -189,7 +189,7 @@ This commonly includes things such as: (initialize! (-> obj sync) a1-4) ) (set! (-> obj sound-id) (new 'static 'sound-id)) - (set! (-> obj position quad) (-> obj root-override trans quad)) + (set! (-> obj position quad) (-> obj root trans quad)) (set! (-> obj last-pos) 0.0) (go (method-of-object obj plat-idle)) (none) @@ -197,7 +197,7 @@ This commonly includes things such as: ;; definition of type tomb-stair-block-spikes (deftype tomb-stair-block-spikes (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -230,7 +230,7 @@ This commonly includes things such as: ;; definition for function tomb-stair-block-collision ;; WARN: Return type mismatch int vs object. (defbehavior tomb-stair-block-collision tomb-stair-block-spikes ((arg0 symbol)) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (the-as object (cond (arg0 (set! (-> v1-1 prim-core collide-with) (collide-spec jak bot player-list)) @@ -258,7 +258,7 @@ This commonly includes things such as: (sound-play "tomb-spikes") ) (('set-position) - (let ((v0-1 (the-as object (-> self root-override trans)))) + (let ((v0-1 (the-as object (-> self root trans)))) (set! (-> (the-as vector v0-1) quad) (-> (the-as vector (-> event param 0)) quad)) v0-1 ) @@ -348,9 +348,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s5-0)) + (set! (-> self root) (the-as collide-shape-moving s5-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as @@ -360,7 +360,7 @@ This commonly includes things such as: (the-as pair 0) ) (set! (-> self draw light-index) (the-as uint 1)) - (quaternion-rotate-y! (-> self root-override quat) (-> self root-override quat) 16384.0) + (quaternion-rotate-y! (-> self root quat) (-> self root quat) 16384.0) (go-virtual idle) (none) ) @@ -396,12 +396,12 @@ This commonly includes things such as: ;; definition of type tomb-stair-block (deftype tomb-stair-block (process-drawable) - ((root-override collide-shape-moving :offset 128) - (initial-y float :offset-assert 200) - (spike-info tomb-stair-block-spike-info 4 :inline :offset 208) - (camera-state int32 :offset 336) - (sink-sound sound-id :offset 340) - (rise-sound sound-id :offset 344) + ((root collide-shape-moving :override) + (initial-y float :offset-assert 200) + (spike-info tomb-stair-block-spike-info 4 :inline :offset 208) + (camera-state int32 :offset 336) + (sink-sound sound-id :offset 340) + (rise-sound sound-id :offset 344) ) :heap-base #xe0 :method-count-assert 25 @@ -543,7 +543,7 @@ This commonly includes things such as: (defstate sunk (tomb-stair-block) :virtual #t :enter (behavior () - (set! (-> self root-override trans y) (-> self initial-y)) + (set! (-> self root trans y) (-> self initial-y)) (ja :group! (-> self draw art-group data 4) :num! (identity (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) frames num-frames) -1))) ) @@ -620,10 +620,10 @@ This commonly includes things such as: (drop-pool 1) (suspend) ) - (while (< (-> self root-override trans y) (-> self initial-y)) - (let ((f0-4 (seek (-> self root-override trans y) (-> self initial-y) 204.8))) - (set! (-> self root-override trans y) f0-4) - (set! (-> self root-override trans y) f0-4) + (while (< (-> self root trans y) (-> self initial-y)) + (let ((f0-4 (seek (-> self root trans y) (-> self initial-y) 204.8))) + (set! (-> self root trans y) f0-4) + (set! (-> self root trans y) f0-4) ) (lift-pool 0) (drop-pool 1) @@ -688,9 +688,9 @@ This commonly includes things such as: ) :trans (behavior () (rider-trans) - (let ((f0-3 (seek (-> self root-override trans y) (+ -28672.0 (-> self initial-y)) 409.6))) - (set! (-> self root-override trans y) f0-3) - (set! (-> self root-override trans y) f0-3) + (let ((f0-3 (seek (-> self root trans y) (+ -28672.0 (-> self initial-y)) 409.6))) + (set! (-> self root trans y) f0-3) + (set! (-> self root trans y) f0-3) ) (position-spikes 0) (cond @@ -809,9 +809,9 @@ This commonly includes things such as: (none) ) :trans (behavior () - (let ((f0-3 (seek (-> self root-override trans y) (+ -104448.0 (-> self initial-y)) 409.6))) - (set! (-> self root-override trans y) f0-3) - (set! (-> self root-override trans y) f0-3) + (let ((f0-3 (seek (-> self root trans y) (+ -104448.0 (-> self initial-y)) 409.6))) + (set! (-> self root trans y) f0-3) + (set! (-> self root trans y) f0-3) ) (lift-pool 0) (drop-pool 1) @@ -949,7 +949,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-27 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-27 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -959,7 +959,7 @@ This commonly includes things such as: ) (set! (-> obj draw light-index) (the-as uint 1)) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! (-> obj initial-y) (-> obj root-override trans y)) + (set! (-> obj initial-y) (-> obj root trans y)) (ja-post) (set! (-> obj spike-info 0 joint) 4) (set! (-> obj spike-info 1 joint) 6) @@ -974,7 +974,7 @@ This commonly includes things such as: (set! (-> obj spike-info s4-2 sounded) #f) ) ) - (set! (-> obj root-override trans y) (+ -104448.0 (-> obj initial-y))) + (set! (-> obj root trans y) (+ -104448.0 (-> obj initial-y))) (let ((s5-3 (-> obj skel root-channel 0))) (joint-control-channel-group-eval! s5-3 @@ -1144,7 +1144,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) (none) ) @@ -1262,7 +1262,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) (none) ) @@ -1272,7 +1272,7 @@ This commonly includes things such as: (defmethod set-ambient-sound! tomb-elevator ((obj tomb-elevator)) "Sets the elevator's [[ambient-sound]] up" (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "tomb-elevator" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "tomb-elevator" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -1345,7 +1345,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1485,7 +1485,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1510,7 +1510,7 @@ This commonly includes things such as: ;; definition of type tomb-boulder-door (deftype tomb-boulder-door (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 22 @@ -1598,7 +1598,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1689,7 +1689,7 @@ This commonly includes things such as: (ja-channel-set! 1) (ja-no-eval :group! (-> self draw art-group data 2) :num! zero) (set! (-> self path-pos) 0.0) - (set-vector! (-> self root-override scale) 0.0 0.0 0.0 0.0) + (set-vector! (-> self root scale) 0.0 0.0 0.0 0.0) (none) ) :exit (behavior () @@ -1706,7 +1706,7 @@ This commonly includes things such as: ) :code (the-as (function none :behavior tomb-plat-return) sleep-code) :post (behavior () - (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root trans)) (seek! (-> self path-pos) 1.0 (* 2.0 (-> self clock seconds-per-frame) (-> self path-speed))) (let ((f30-0 (-> self path-pos))) (get-point-at-percent-along-path! @@ -1715,7 +1715,7 @@ This commonly includes things such as: (ease-value-in-out f30-0 0.1) 'interp ) - (set-vector! (-> self root-override scale) f30-0 f30-0 f30-0 f30-0) + (set-vector! (-> self root scale) f30-0 f30-0 f30-0 f30-0) ) (plat-post) (none) @@ -1791,7 +1791,7 @@ This commonly includes things such as: ) :code (the-as (function none :behavior tomb-plat-return) sleep-code) :post (behavior () - (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "tomb-plat-ret" :id (-> self sound-id) :position (-> self root trans)) (seek! (-> self path-pos) (-> self dest-pos) (* (-> self path-speed) (-> self clock seconds-per-frame))) (get-point-at-percent-along-path! (-> self path) @@ -1875,7 +1875,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1916,7 +1916,7 @@ This commonly includes things such as: ) (let ((f30-0 (total-distance (-> obj path)))) (set! (-> obj path-speed) (/ (res-lump-float arg0 'speed :default 40960.0) f30-0)) - (set! (-> obj root-override pause-adjust-distance) (+ 204800.0 f30-0)) + (set! (-> obj root pause-adjust-distance) (+ 204800.0 f30-0)) ) (set! (-> obj sound-id) (new-sound-id)) (init-plat! obj) @@ -2023,10 +2023,10 @@ This commonly includes things such as: ;; definition of type tomb-sphinx (deftype tomb-sphinx (process-drawable) - ((root-override collide-shape-moving :offset 128) - (target-actor entity-actor :offset-assert 200) - (sound-id sound-id :offset-assert 204) - (move-dir float :offset 216) + ((root collide-shape-moving :override) + (target-actor entity-actor :offset-assert 200) + (sound-id sound-id :offset-assert 204) + (move-dir float :offset 216) ) :heap-base #x60 :method-count-assert 23 @@ -2108,7 +2108,7 @@ This commonly includes things such as: ) (s5-1 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-1 quad) (-> self root-override trans quad)) + (set! (-> s5-1 quad) (-> self root trans quad)) (let ((s4-0 (new 'stack-no-clear 'vector))) (until #f (let ((s3-0 tomb-sphinx-draw-beam) @@ -2170,7 +2170,7 @@ This commonly includes things such as: ) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) @@ -2249,7 +2249,7 @@ This commonly includes things such as: - collision information - loading the skeleton group / bones - sounds" - (set! (-> obj root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape-moving (new 'process 'trsqv))) (process-drawable-from-entity! obj arg0) (set! (-> obj target-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj sound-id) (new-sound-id)) diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/tomb-water_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/tomb-water_REF.gc index b2dad2ef7c..b1b135f654 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/tomb-water_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/tomb-water_REF.gc @@ -509,7 +509,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -520,7 +520,7 @@ This commonly includes things such as: "Sets `event-going-down` to `'trigger`" (logior! (-> obj button-status) (button-status button-status-4)) (set! (-> obj event-going-down) 'cue-chase) - (set! (-> obj root-override trans y) (+ 204.8 (-> obj root-override trans y))) + (set! (-> obj root trans y) (+ 204.8 (-> obj root trans y))) (none) ) @@ -700,7 +700,7 @@ This commonly includes things such as: ) (let ((v1-2 *target*)) (cond - ((and v1-2 (< (vector-vector-xz-distance (-> v1-2 control trans) (-> self root-override trans)) 40960.0)) + ((and v1-2 (< (vector-vector-xz-distance (-> v1-2 control trans) (-> self root trans)) 40960.0)) (when (zero? (-> self entity extra perm user-uint8 1)) (tomb-beetle-button-method-39 self) (let ((v1-15 (-> self entity extra perm))) @@ -1304,7 +1304,7 @@ This commonly includes things such as: ) (when a0-12 (let ((v1-6 (get-trans a0-12 0)) - (a0-14 (-> self root-override trans)) + (a0-14 (-> self root trans)) ) (if (and (>= 8192.0 (fabs (- (-> v1-6 x) (-> a0-14 x)))) (>= 8192.0 (fabs (- (-> v1-6 z) (-> a0-14 z))))) (go-virtual dangerous) @@ -1489,7 +1489,7 @@ This commonly includes things such as: ) (when a0-1 (let ((v1-2 (get-trans a0-1 0)) - (a0-3 (-> self root-override trans)) + (a0-3 (-> self root trans)) ) (when (and (or (< 16384.0 (fabs (- (-> a0-3 x) (-> v1-2 x)))) (< 16384.0 (fabs (- (-> a0-3 z) (-> v1-2 z))))) (>= (- (current-time) (-> self ride-timer)) (seconds 0.25)) @@ -1602,7 +1602,7 @@ This commonly includes things such as: (suspend) ) ) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) (let ((gp-1 (current-time))) (until (>= (- (current-time) gp-1) (seconds 1)) (suspend) @@ -1612,10 +1612,10 @@ This commonly includes things such as: (none) ) :post (behavior () - (set! (-> self root-override transv y) - (- (-> self root-override transv y) (* (-> self move-rate) (-> self clock seconds-per-frame))) + (set! (-> self root transv y) + (- (-> self root transv y) (* (-> self move-rate) (-> self clock seconds-per-frame))) ) - (+! (-> self root-override trans y) (-> self root-override transv y)) + (+! (-> self root trans y) (-> self root transv y)) (transform-post) (none) ) @@ -1656,7 +1656,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) (none) ) @@ -1667,14 +1667,14 @@ This commonly includes things such as: (defbehavior tomb-simon-block-init-by-other tomb-simon-block ((arg0 vector) (arg1 int) (arg2 int) (arg3 int) (arg4 int)) (init-plat-collision! self) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set! (-> self base-height) (-> self root-override trans y)) - (set! (-> self root-override trans y) (+ -122880.0 (-> self root-override trans y))) - (quaternion-copy! (-> self root-override quat) *unity-quaternion*) - (vector-identity! (-> self root-override scale)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self base-height) (-> self root trans y)) + (set! (-> self root trans y) (+ -122880.0 (-> self root trans y))) + (quaternion-copy! (-> self root quat) *unity-quaternion*) + (vector-identity! (-> self root scale)) (initialize-skeleton self (the-as skeleton-group (get-art-group self)) (the-as pair 0)) (logclear! (-> self mask) (process-mask actor-pause)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (stop-bouncing! self) (set! (-> self my-idx) arg1) (set! (-> self next-idx) arg2) @@ -3077,7 +3077,3 @@ This commonly includes things such as: (go (method-of-object obj idle)) (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/widow-extras_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/widow-extras_REF.gc index 1fe69ac2c3..714b854889 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/widow-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/widow-extras_REF.gc @@ -3,8 +3,8 @@ ;; definition of type tomb-boss-catwalk (deftype tomb-boss-catwalk (process-drawable) - ((root-override collide-shape-moving :offset 128) - (which-look int32 :offset-assert 200) + ((root collide-shape-moving :override) + (which-look int32 :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -90,7 +90,7 @@ (defstate shatter (tomb-boss-catwalk) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -128,7 +128,7 @@ (set-vector! gp-0 -188416.0 32768.0 -81920.0 1.0) ) ) - (vector+! gp-0 gp-0 (-> self root-override trans)) + (vector+! gp-0 gp-0 (-> self root trans)) (let ((s5-7 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-7 (let ((t9-8 (method-of-type part-tracker activate))) @@ -243,7 +243,7 @@ (set! (-> s3-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s3-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-0)) + (set! (-> obj root) (the-as collide-shape-moving s3-0)) ) ) ((2) @@ -262,7 +262,7 @@ (set! (-> s3-1 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s3-1 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-1)) + (set! (-> obj root) (the-as collide-shape-moving s3-1)) ) ) ((3) @@ -281,7 +281,7 @@ (set! (-> s3-2 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s3-2 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-2)) + (set! (-> obj root) (the-as collide-shape-moving s3-2)) ) ) ((4) @@ -300,7 +300,7 @@ (set! (-> s3-3 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s3-3 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-3)) + (set! (-> obj root) (the-as collide-shape-moving s3-3)) ) ) ((5) @@ -319,7 +319,7 @@ (set! (-> s3-4 backup-collide-as) (-> v1-29 prim-core collide-as)) (set! (-> s3-4 backup-collide-with) (-> v1-29 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-4)) + (set! (-> obj root) (the-as collide-shape-moving s3-4)) ) ) ((6) @@ -338,7 +338,7 @@ (set! (-> s3-5 backup-collide-as) (-> v1-35 prim-core collide-as)) (set! (-> s3-5 backup-collide-with) (-> v1-35 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-5)) + (set! (-> obj root) (the-as collide-shape-moving s3-5)) ) ) ((7) @@ -357,7 +357,7 @@ (set! (-> s3-6 backup-collide-as) (-> v1-41 prim-core collide-as)) (set! (-> s3-6 backup-collide-with) (-> v1-41 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-6)) + (set! (-> obj root) (the-as collide-shape-moving s3-6)) ) ) (else @@ -432,11 +432,11 @@ (set! (-> s3-7 backup-collide-as) (-> v1-68 prim-core collide-as)) (set! (-> s3-7 backup-collide-with) (-> v1-68 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s3-7)) + (set! (-> obj root) (the-as collide-shape-moving s3-7)) ) ) ) - (set! (-> obj root-override trans quad) (-> arg0 quad)) + (set! (-> obj root trans quad) (-> arg0 quad)) (case arg1 ((1) (initialize-skeleton @@ -526,9 +526,9 @@ ) ) ) - (set! (-> obj root-override pause-adjust-distance) 245760.0) + (set! (-> obj root pause-adjust-distance) 245760.0) (set! (-> obj which-look) arg1) - (quaternion-set! (-> obj root-override quat) 0.0 1.0 0.0 0.0) + (quaternion-set! (-> obj root quat) 0.0 1.0 0.0 0.0) (transform-post) 0 (none) @@ -719,7 +719,7 @@ This commonly includes things such as: ) ) ) - (vector-! gp-0 (-> self root-override trans) (-> (the-as widow arg0) root trans)) + (vector-! gp-0 (-> self root trans) (-> (the-as widow arg0) root trans)) (set! (-> gp-0 y) 0.0) (cond (v1-5 @@ -730,7 +730,7 @@ This commonly includes things such as: (s5-1 (new 'stack-no-clear 'vector)) ) (let ((f28-0 20480.0)) - (vector-! s4-1 s4-1 (-> self root-override trans)) + (vector-! s4-1 s4-1 (-> self root trans)) (let ((t9-2 vector-normalize!) (a0-14 gp-0) (v1-9 s4-1) @@ -762,8 +762,8 @@ This commonly includes things such as: ) ) ) - (vector+! gp-0 gp-0 (-> self root-override trans)) - (setup-from-to-duration-and-height! (-> self traj) (-> self root-override trans) gp-0 225.0 f30-0) + (vector+! gp-0 gp-0 (-> self root trans)) + (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-0 225.0 f30-0) ) (send-event (ppointer->process (-> self parent)) 'bomb-kicked) (go-virtual back-atcha) @@ -800,8 +800,8 @@ This commonly includes things such as: ) (when s5-0 (let ((a1-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> s5-0 node-list data 3)))) - (when (and (< (vector-vector-distance (-> self root-override trans) a1-3) 49152.0) (not (-> s5-0 flying))) - (send-event s5-0 'bomb-hit (-> self root-override trans) 1) + (when (and (< (vector-vector-distance (-> self root trans) a1-3) 49152.0) (not (-> s5-0 flying))) + (send-event s5-0 'bomb-hit (-> self root trans) 1) (go-virtual explode) ) ) @@ -811,7 +811,7 @@ This commonly includes things such as: (when (if (type? s5-1 widow) s5-1 ) - (send-event arg0 'bomb-hit (-> self root-override trans) 1) + (send-event arg0 'bomb-hit (-> self root trans) 1) (go-virtual explode) ) ) @@ -851,8 +851,8 @@ This commonly includes things such as: ) (else (vector-v++! - (-> self root-override transv) - (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root-override)) (new-stack-vector0) 1.0) + (-> self root transv) + (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root)) (new-stack-vector0) 1.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (collide-spec backgnd enemy obstacle hit-by-others-list pusher)) @@ -860,7 +860,7 @@ This commonly includes things such as: (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide (-> self root-override) (-> self root-override transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide (-> self root) (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -884,7 +884,7 @@ This commonly includes things such as: 4096.0 (collide-spec backgnd enemy obstacle hit-by-others-list player-list) ) - (let ((v1-5 (-> self root-override root-prim))) + (let ((v1-5 (-> self root root-prim))) (logior! (-> v1-5 prim-core collide-with) (collide-spec enemy)) (logclear! (-> v1-5 prim-core collide-with) (collide-spec jak)) ) @@ -899,15 +899,15 @@ This commonly includes things such as: (widow-bomb-method-34 self) (cond ((>= (- (current-time) (-> self state-time)) (the int (-> self traj time))) - (compute-transv-at-time (-> self traj) (-> self traj time) (-> self root-override transv)) - (vector-float*! (-> self root-override transv) (-> self root-override transv) 300.0) + (compute-transv-at-time (-> self traj) (-> self traj time) (-> self root transv)) + (vector-float*! (-> self root transv) (-> self root transv) 300.0) (go-virtual freefall) ) (else (compute-trans-at-time (-> self traj) (the float (- (current-time) (-> self state-time))) - (-> self root-override trans) + (-> self root trans) ) (update-from-cspace (-> self impact)) (when (>= (- (current-time) (-> self state-time)) 1) @@ -921,13 +921,13 @@ This commonly includes things such as: ) ) (when (< 0.0 f0-10) - (set! (-> self root-override trans quad) (-> self impact trans 1 quad)) + (set! (-> self root trans quad) (-> self impact trans 1 quad)) (compute-transv-at-time (-> self traj) (the float (- (current-time) (-> self state-time))) - (-> self root-override transv) + (-> self root transv) ) - (vector-float*! (-> self root-override transv) (-> self root-override transv) 300.0) + (vector-float*! (-> self root transv) (-> self root transv) 300.0) (go-virtual freefall) ) ) @@ -947,7 +947,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (let* ((a0-1 (target-pos 0)) - (f0-0 (vector-vector-distance-squared a0-1 (-> self root-override trans))) + (f0-0 (vector-vector-distance-squared a0-1 (-> self root trans))) (f1-0 16384.0) ) (when (< f0-0 (* f1-0 f1-0)) @@ -974,7 +974,7 @@ This commonly includes things such as: ) (activate! *camera-smush-control* 819.2 37 210 1.0 0.995 (-> self clock)) (ja-channel-set! 0) - (let ((v1-12 (-> self root-override root-prim))) + (let ((v1-12 (-> self root root-prim))) (set! (-> v1-12 prim-core collide-as) (collide-spec)) (set! (-> v1-12 prim-core collide-with) (collide-spec)) ) @@ -987,7 +987,7 @@ This commonly includes things such as: (cond ((< (- (current-time) (-> self state-time)) (seconds 2)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 y) (+ 2048.0 (-> a1-0 y))) (spawn (-> self explode-part) a1-0) ) @@ -1006,7 +1006,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod widow-bomb-method-32 widow-bomb ((obj widow-bomb)) (spawn-with-cspace (-> obj part) (-> obj node-list data 3)) - (sound-play "w-bomb-steam" :id (-> obj steam-sound) :position (-> obj root-override trans)) + (sound-play "w-bomb-steam" :id (-> obj steam-sound) :position (-> obj root trans)) (let ((s5-0 (the-as int (- (current-time) (-> obj state-time))))) (if (nonzero? (-> obj fizzle-timer)) (set! s5-0 @@ -1127,7 +1127,7 @@ This commonly includes things such as: ) ((= v1-0 'impact-control) (if (and (!= proc self) (!= proc (-> self parent))) - (send-event proc 'bomb-hit (-> self root-override trans) 1) + (send-event proc 'bomb-hit (-> self root trans) 1) ) ) ((= v1-0 'fizzle) @@ -1188,9 +1188,9 @@ This commonly includes things such as: (set! (-> self y-rotate) (+ -65536.0 (-> self y-rotate))) ) (widow-bomb-method-34 self) - (when (< (-> self root-override scale x) 1.0) - (let ((f0-17 (fmin 1.0 (+ 0.025 (-> self root-override scale x))))) - (set-vector! (-> self root-override scale) f0-17 f0-17 f0-17 1.0) + (when (< (-> self root scale x) 1.0) + (let ((f0-17 (fmin 1.0 (+ 0.025 (-> self root scale x))))) + (set-vector! (-> self root scale) f0-17 f0-17 f0-17 1.0) ) ) (cond @@ -1202,14 +1202,14 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (set! (-> self state-time) (current-time)) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (the-as vector (-> self traj))))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self traj))))) (set! (-> gp-1 y) 0.0) (vector-normalize! gp-1 12288.0) - (vector+! gp-1 gp-1 (-> self root-override trans)) - (setup-from-to-duration-and-height! (-> self traj) (-> self root-override trans) gp-1 75.0 4096.0) + (vector+! gp-1 gp-1 (-> self root trans)) + (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-1 75.0 4096.0) ) (widow-bomb-method-33 self) (sound-play "w-bomb-part1") @@ -1219,14 +1219,14 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (set! (-> self state-time) (current-time)) - (let ((gp-4 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (the-as vector (-> self traj))))) + (let ((gp-4 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self traj))))) (set! (-> gp-4 y) 0.0) (vector-normalize! gp-4 4096.0) - (vector+! gp-4 gp-4 (-> self root-override trans)) - (setup-from-to-duration-and-height! (-> self traj) (-> self root-override trans) gp-4 37.5 1024.0) + (vector+! gp-4 gp-4 (-> self root trans)) + (setup-from-to-duration-and-height! (-> self traj) (-> self root trans) gp-4 37.5 1024.0) ) (widow-bomb-method-33 self) (sound-play "w-bomb-part2") @@ -1235,7 +1235,7 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (set! (-> self which-trajectory) 3) (let* ((gp-6 (-> self state-time)) @@ -1257,16 +1257,16 @@ This commonly includes things such as: (compute-trans-at-time (-> self traj) (fmin (-> self traj time) (the float (- (current-time) (-> self state-time)))) - (-> self root-override trans) + (-> self root trans) ) (when (and (zero? (-> self which-trajectory)) (< (- (current-time) (-> self state-time)) (the int (* 0.75 (-> self traj time)))) ) (vector+float*! (-> self launch-pos) (-> self launch-pos) (-> self launch) (-> self clock time-adjust-ratio)) (vector-lerp! - (-> self root-override trans) + (-> self root trans) (-> self launch-pos) - (-> self root-override trans) + (-> self root trans) (parameter-ease-sin-clamp (* 1.3333334 (/ (the float (- (current-time) (-> self state-time))) (-> self traj time))) ) @@ -1298,7 +1298,7 @@ This commonly includes things such as: :code (the-as (function none :behavior widow-bomb) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1389,9 +1389,9 @@ This commonly includes things such as: (set! (-> s1-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s1-0 event-self) 'impact-control) - (set! (-> self root-override) s1-0) + (set! (-> self root) s1-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-widow-bomb" (the-as (pointer uint32) #f))) @@ -1403,7 +1403,7 @@ This commonly includes things such as: (set! (-> self warning-glow-part) (create-launch-control (-> *part-group-id-table* 724) self)) (set! (-> self warning-spark-part) (create-launch-control (-> *part-group-id-table* 723) self)) (set! (-> self skid-part) (create-launch-control (-> *part-group-id-table* 725) self)) - (set-vector! (-> self root-override scale) 0.5 0.5 0.5 1.0) + (set-vector! (-> self root scale) 0.5 0.5 0.5 1.0) (if (< (-> arg0 y) (-> arg1 y)) (set! arg3 (+ arg3 (- (-> arg1 y) (-> arg0 y)))) ) @@ -1414,7 +1414,7 @@ This commonly includes things such as: (vector-! v1-42 arg1 arg0) (set! (-> v1-42 y) 0.0) (let ((f30-1 (atan (-> v1-42 x) (-> v1-42 z)))) - (quaternion-set! (-> self root-override quat) 0.0 (sin (* 0.5 f30-1)) 0.0 (cos (* 0.5 f30-1))) + (quaternion-set! (-> self root quat) 0.0 (sin (* 0.5 f30-1)) 0.0 (cos (* 0.5 f30-1))) ) ) (set! (-> self which-trajectory) 0) @@ -1424,7 +1424,7 @@ This commonly includes things such as: (set! (-> self spin-jm) (new 'process 'joint-mod (joint-mod-mode joint-set*) self 3)) (set! (-> self firework-sound-played) #f) (set! (-> self steam-sound) (new 'static 'sound-id)) - (set! (-> self launch-pos quad) (-> self root-override trans quad)) + (set! (-> self launch-pos quad) (-> self root trans quad)) (set! (-> self launch quad) (-> arg4 quad)) (set! (-> self fizzle-timer) 0) (go-virtual idle) @@ -1433,7 +1433,7 @@ This commonly includes things such as: ;; definition of type heart-mar (deftype heart-mar (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -1511,16 +1511,16 @@ This commonly includes things such as: ;; INFO: Used lq/sq ;; WARN: Return type mismatch object vs none. (defbehavior heart-mar-init-by-other heart-mar ((arg0 vector)) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-heart-mar" (the-as (pointer uint32) #f))) (the-as pair 0) ) (setup-masks (-> self draw) 0 2) - (quaternion-set! (-> self root-override quat) 0.0 1.0 0.0 0.0) - (set! (-> self root-override pause-adjust-distance) 245760.0) + (quaternion-set! (-> self root quat) 0.0 1.0 0.0 0.0) + (set! (-> self root pause-adjust-distance) 245760.0) (ja-post) (add-connection *part-engine* self 3 self 3253 (new 'static 'vector :w 819200.0)) (set! (-> self draw light-index) (the-as uint 17)) @@ -1531,7 +1531,7 @@ This commonly includes things such as: ;; definition of type tomb-boss-pillar (deftype tomb-boss-pillar (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (explode-part sparticle-launch-control :offset-assert 200) (segs-shot int32 :offset-assert 204) (last-pillar-hit time-frame :offset-assert 208) @@ -1627,7 +1627,7 @@ This commonly includes things such as: ;; definition for function tomb-boss-pillar-shrink-collision ;; WARN: Return type mismatch int vs none. (defbehavior tomb-boss-pillar-shrink-collision tomb-boss-pillar () - (let ((v1-1 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-1 (the-as collide-shape-prim-group (-> self root root-prim)))) (let ((a0-1 (-> v1-1 child 0))) (set! (-> a0-1 prim-core collide-as) (collide-spec)) (set! (-> a0-1 prim-core collide-with) (collide-spec)) @@ -1717,7 +1717,7 @@ This commonly includes things such as: :to *entity-pool* ) (set! (-> self last-pillar-hit) (current-time)) - (sound-play "pillar-hit" :position (-> self root-override trans)) + (sound-play "pillar-hit" :position (-> self root trans)) ) ) ) @@ -1726,7 +1726,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1803,7 +1803,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1828,7 +1828,7 @@ This commonly includes things such as: ;; definition of type tomb-boss-firepot (deftype tomb-boss-firepot (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 23 @@ -1863,7 +1863,7 @@ This commonly includes things such as: ;; definition for function tomb-boss-firepot-shrink-collision ;; WARN: Return type mismatch int vs none. (defbehavior tomb-boss-firepot-shrink-collision tomb-boss-firepot () - (let ((v1-1 (the-as collide-shape-prim-group (-> self root-override root-prim)))) + (let ((v1-1 (the-as collide-shape-prim-group (-> self root root-prim)))) (let ((a0-1 (-> v1-1 child 0))) (set! (-> a0-1 prim-core collide-as) (collide-spec)) (set! (-> a0-1 prim-core collide-with) (collide-spec)) @@ -1920,7 +1920,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-4 a1-4 @@ -1969,17 +1969,17 @@ This commonly includes things such as: (let* ((a3-1 (the-as object (-> event param 0))) (a1-4 (-> (the-as touching-shapes-entry a3-1) head)) ) - (get-intersect-point gp-1 a1-4 (-> self root-override) (the-as touching-shapes-entry a3-1)) + (get-intersect-point gp-1 a1-4 (-> self root) (the-as touching-shapes-entry a3-1)) ) - (vector-! gp-1 (-> self root-override trans) gp-1) + (vector-! gp-1 (-> self root trans) gp-1) ) ) - (let ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (vector-flatten! gp-1 gp-1 (-> s5-1 vector 1)) (when (!= (vector-normalize-ret-len! gp-1 1.0) 0.0) (set! (-> s5-1 vector 2 quad) (-> gp-1 quad)) (vector-cross! (the-as vector (-> s5-1 vector)) (-> s5-1 vector 1) (-> s5-1 vector 2)) - (matrix->quaternion (-> self root-override quat) s5-1) + (matrix->quaternion (-> self root quat) s5-1) ) ) ) @@ -1990,7 +1990,7 @@ This commonly includes things such as: ) ) :enter (behavior () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -2038,7 +2038,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -2046,7 +2046,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-firepot" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> obj root-override pause-adjust-distance) 245760.0) + (set! (-> obj root pause-adjust-distance) 245760.0) (transform-post) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj broken)) diff --git a/test/decompiler/reference/jak2/levels/mars_tomb/widow-more-extras_REF.gc b/test/decompiler/reference/jak2/levels/mars_tomb/widow-more-extras_REF.gc index d8b914e3f5..a4844ba928 100644 --- a/test/decompiler/reference/jak2/levels/mars_tomb/widow-more-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/mars_tomb/widow-more-extras_REF.gc @@ -3,12 +3,12 @@ ;; definition of type tomb-boss-debris (deftype tomb-boss-debris (process-drawable) - ((root-override collide-shape-moving :offset 128) - (y-velocity float :offset-assert 200) - (floor float :offset-assert 204) - (sound-floor float :offset-assert 208) - (rot quaternion :inline :offset-assert 224) - (look int32 :offset-assert 240) + ((root collide-shape-moving :override) + (y-velocity float :offset-assert 200) + (floor float :offset-assert 204) + (sound-floor float :offset-assert 208) + (rot quaternion :inline :offset-assert 224) + (look int32 :offset-assert 240) ) :heap-base #x80 :method-count-assert 22 @@ -96,7 +96,7 @@ (defstate die (tomb-boss-debris) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -141,7 +141,7 @@ (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-8 a1-7 @@ -179,7 +179,7 @@ (t2-1 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-6) a0-16 a1-13 @@ -217,7 +217,7 @@ (t2-2 #f) (t3-2 *launch-matrix*) ) - (set! (-> t3-2 trans quad) (-> self root-override trans quad)) + (set! (-> t3-2 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-10) a0-21 a1-17 @@ -246,22 +246,22 @@ ) :trans (behavior () (local-vars (sv-16 float)) - (+! (-> self root-override trans y) (* (-> self y-velocity) (-> self clock time-adjust-ratio))) + (+! (-> self root trans y) (* (-> self y-velocity) (-> self clock time-adjust-ratio))) (set! (-> self y-velocity) (fmax -3686.4 (- (-> self y-velocity) (* 204.8 (-> self clock time-adjust-ratio)))) ) - (if (< (-> self root-override trans y) (-> self floor)) + (if (< (-> self root trans y) (-> self floor)) (deactivate self) ) (when (and (logtest? (-> self draw status) (draw-control-status on-screen)) - (< (-> self root-override trans y) (+ (-> (camera-pos) y) (-> self sound-floor))) + (< (-> self root trans y) (+ (-> (camera-pos) y) (-> self sound-floor))) ) (sound-play "wid-debris-fall") (set! (-> self sound-floor) -4096000.0) ) - (quaternion-normalize! (quaternion*! (-> self root-override quat) (-> self rot) (-> self root-override quat))) - (let ((f30-1 (lerp-scale 1.0 0.0 (-> self root-override trans y) -368640.0 -442368.0))) - (when (< -442368.0 (-> self root-override trans y)) + (quaternion-normalize! (quaternion*! (-> self root quat) (-> self rot) (-> self root quat))) + (let ((f30-1 (lerp-scale 1.0 0.0 (-> self root trans y) -368640.0 -442368.0))) + (when (< -442368.0 (-> self root trans y)) (let ((f28-0 (-> *part-id-table* 3266 init-specs 6 initial-valuef)) (f26-0 (-> *part-id-table* 3266 init-specs 6 random-rangef)) (f24-0 (-> *part-id-table* 3266 init-specs 7 initial-valuef)) @@ -287,7 +287,7 @@ (set! (-> *part-id-table* 3266 init-specs 8 random-rangef) (* (-> *part-id-table* 3266 init-specs 8 random-rangef) f30-1) ) - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (set! (-> *part-id-table* 3266 init-specs 6 initial-valuef) f28-0) (set! (-> *part-id-table* 3266 init-specs 6 random-rangef) f26-0) (set! (-> *part-id-table* 3266 init-specs 7 initial-valuef) f24-0) @@ -308,7 +308,7 @@ (set! (-> a1-0 options) (overlaps-others-options oo0)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (none) ) @@ -356,9 +356,9 @@ (set! (-> s4-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (let ((v1-15 arg1)) (cond ((zero? v1-15) @@ -376,7 +376,7 @@ ) ) ((= v1-15 2) - (set! (-> self root-override root-prim local-sphere w) 5120.0) + (set! (-> self root root-prim local-sphere w) 5120.0) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-c" (the-as (pointer uint32) #f))) @@ -384,7 +384,7 @@ ) ) ((= v1-15 3) - (set! (-> self root-override root-prim local-sphere w) 3276.8) + (set! (-> self root root-prim local-sphere w) 3276.8) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-d" (the-as (pointer uint32) #f))) @@ -392,7 +392,7 @@ ) ) ((= v1-15 4) - (set! (-> self root-override root-prim local-sphere w) 3276.8) + (set! (-> self root root-prim local-sphere w) 3276.8) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-e" (the-as (pointer uint32) #f))) @@ -400,7 +400,7 @@ ) ) ((= v1-15 5) - (set! (-> self root-override root-prim local-sphere w) 4096.0) + (set! (-> self root root-prim local-sphere w) 4096.0) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-f" (the-as (pointer uint32) #f))) @@ -408,7 +408,7 @@ ) ) ((= v1-15 6) - (set! (-> self root-override root-prim local-sphere w) 1638.4) + (set! (-> self root root-prim local-sphere w) 1638.4) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-g" (the-as (pointer uint32) #f))) @@ -416,7 +416,7 @@ ) ) ((= v1-15 7) - (set! (-> self root-override root-prim local-sphere w) 1638.4) + (set! (-> self root root-prim local-sphere w) 1638.4) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-h" (the-as (pointer uint32) #f))) @@ -424,7 +424,7 @@ ) ) (else - (set! (-> self root-override root-prim local-sphere w) 1638.4) + (set! (-> self root root-prim local-sphere w) 1638.4) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-tomb-boss-debris-i" (the-as (pointer uint32) #f))) @@ -435,7 +435,7 @@ ) (set! (-> self look) arg1) (set! (-> self y-velocity) -409.6) - (set! (-> self floor) (+ -655360.0 (-> self root-override trans y))) + (set! (-> self floor) (+ -655360.0 (-> self root trans y))) (logclear! (-> self mask) (process-mask actor-pause)) (let ((f30-0 (rand-vu-float-range 0.0 65536.0)) (f28-0 (rand-vu-float-range 546.13336 1638.4)) diff --git a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc index 1c87aff591..7896ceab97 100644 --- a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-extras_REF.gc @@ -39,7 +39,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (ja-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -50,8 +50,8 @@ :enter (behavior () (send-event (ppointer->process (-> self parent)) 'setup-flitter-gem) (let ((s5-0 (new 'stack-no-clear 'enemy-init-by-other-params))) - (set! (-> s5-0 trans quad) (-> self root-override trans quad)) - (quaternion-copy! (-> s5-0 quat) (-> self root-override quat)) + (set! (-> s5-0 trans quad) (-> self root trans quad)) + (quaternion-copy! (-> s5-0 quat) (-> self root quat)) (set! (-> s5-0 entity) (-> self entity)) (set! (-> s5-0 directed?) #f) (set! (-> s5-0 no-initial-move-to-ground?) #f) @@ -103,7 +103,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (ja-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -125,8 +125,8 @@ ) (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override transv quad)) - (.lvf vf1 (&-> (-> self root-override transv) quad)) + (set! (-> gp-0 quad) (-> self root transv quad)) + (.lvf vf1 (&-> (-> self root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -145,8 +145,8 @@ ) (else (vector-v++! - (-> self root-override transv) - (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root-override)) (new-stack-vector0) 1.0) + (-> self root transv) + (compute-acc-due-to-gravity (the-as collide-shape-moving (-> self root)) (new-stack-vector0) 1.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (collide-spec backgnd enemy obstacle hit-by-others-list pusher)) @@ -155,8 +155,8 @@ (set! (-> a2-1 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1)) (set! (-> a2-1 action-mask) (collide-action solid)) (fill-cache-integrate-and-collide - (the-as collide-shape-moving (-> self root-override)) - (-> (the-as collide-shape-moving (-> self root-override)) transv) + (the-as collide-shape-moving (-> self root)) + (-> (the-as collide-shape-moving (-> self root)) transv) a2-1 (meters 0) ) @@ -178,7 +178,7 @@ ((and (< f0-3 v1-27) (let* ((f0-4 81920.0) (f0-6 (* f0-4 f0-4)) ) - (.lvf vf1 (&-> (-> self root-override transv) quad)) + (.lvf vf1 (&-> (-> self root transv) quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) (.mul.x.vf acc vf2 vf1 :mask #b1) @@ -216,7 +216,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -258,7 +258,7 @@ :code (the-as (function none :behavior metalkor-egg) sleep-code) :post (behavior () (ja-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -267,9 +267,9 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch int vs none. (defun metalkor-shot-move ((arg0 metalkor-shot)) - (set! (-> arg0 old-transv quad) (-> arg0 root-override transv quad)) + (set! (-> arg0 old-transv quad) (-> arg0 root transv quad)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -292,13 +292,13 @@ ;; WARN: Return type mismatch vector vs none. (defmethod init-proj-settings! metalkor-shot ((obj metalkor-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'metalhead-shot) (set! (-> obj max-speed) 532480.0) (set! (-> obj move) metalkor-shot-move) (set! (-> obj timeout) (seconds 0.767)) - (set-gravity-length (-> obj root-override dynam) 573440.0) - (set! (-> obj old-transv quad) (-> obj root-override transv quad)) + (set-gravity-length (-> obj root dynam) 573440.0) + (set! (-> obj old-transv quad) (-> obj root transv quad)) (none) ) @@ -312,7 +312,7 @@ (sv-240 vector) (sv-256 entity-actor) ) - (let* ((s4-0 (-> obj root-override)) + (let* ((s4-0 (-> obj root)) (v0-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s4-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -355,7 +355,7 @@ ) ) (let ((s4-2 (new 'stack-no-clear 'vector))) - (set! (-> s4-2 quad) (-> obj root-override trans quad)) + (set! (-> s4-2 quad) (-> obj root trans quad)) (let ((gp-1 (new 'stack-no-clear 'quaternion))) (let ((s3-0 (lambda :behavior metalkor-shot () @@ -482,7 +482,7 @@ ((or (= arg0 2) (= arg0 3)) (let ((v0-0 (new 'static 'vector :w 1.0))) (set! (-> v0-0 quad) - (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 0 prim-core world-sphere quad) + (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 0 prim-core world-sphere quad) ) (set! (-> v0-0 y) (+ 32768.0 (-> v0-0 y))) v0-0 @@ -580,10 +580,10 @@ ) (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'collide-query)) - (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) ) (let ((v1-1 (-> gp-0 bbox)) - (a0-2 (-> self root-override trans)) + (a0-2 (-> self root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 32768.0) @@ -593,7 +593,7 @@ (vector-! (the-as vector v1-1) a0-2 a1-1) ) (let ((v1-3 (-> gp-0 bbox max)) - (a0-4 (-> self root-override trans)) + (a0-4 (-> self root trans)) (a1-2 (new 'stack-no-clear 'vector)) ) (set! (-> a1-2 x) 32768.0) @@ -658,10 +658,7 @@ ) (let ((f0-12 (probe-using-line-sphere *collide-cache* gp-0))) (when (>= f0-12 0.0) - (let ((f1-2 - (vector-dot (-> s5-0 vector 1) (vector-! (new 'stack-no-clear 'vector) s2-0 (-> self root-override trans))) - ) - ) + (let ((f1-2 (vector-dot (-> s5-0 vector 1) (vector-! (new 'stack-no-clear 'vector) s2-0 (-> self root trans))))) (cond ((>= 409.6 f1-2) (vector+float*! s3-0 (-> gp-0 start-pos) (-> gp-0 move-dist) f0-12) @@ -758,7 +755,7 @@ :code (the-as (function none :behavior metalkor-legs) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -766,10 +763,10 @@ ;; definition for symbol *metalkor-lowtorso-spinner-setup*, type (array metalkor-spinner-info) (define *metalkor-lowtorso-spinner-setup* (new 'static 'boxed-array :type metalkor-spinner-info - (new 'static 'metalkor-spinner-info :joint-index #x29 :launch-angle 18204.445) - (new 'static 'metalkor-spinner-info :joint-index #x1e :launch-angle 25486.223) - (new 'static 'metalkor-spinner-info :joint-index #x26 :launch-angle -18204.445) - (new 'static 'metalkor-spinner-info :joint-index #x21 :launch-angle -25486.223) + (new 'static 'metalkor-spinner-info :joint-index 41 :launch-angle 18204.445) + (new 'static 'metalkor-spinner-info :joint-index 30 :launch-angle 25486.223) + (new 'static 'metalkor-spinner-info :joint-index 38 :launch-angle -18204.445) + (new 'static 'metalkor-spinner-info :joint-index 33 :launch-angle -25486.223) ) ) @@ -1333,7 +1330,7 @@ #f ) (('spinner) - (let ((v1-10 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((v1-10 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (the-as object (metalkor-lowtorso-start-spinner (the-as int (-> event param 0)) (-> v1-10 vector 2))) ) ) @@ -1392,12 +1389,9 @@ ) (when v1-36 (let ((s3-2 (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable v1-36) root trans) s4-0)) - (s4-2 (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable v1-36) root trans) - (-> self root-override trans) - ) - ) + (s4-2 + (vector-! (new 'stack-no-clear 'vector) (-> (the-as process-drawable v1-36) root trans) (-> self root trans)) + ) ) (set! (-> s3-2 y) 0.0) (set! (-> s4-2 y) 0.0) @@ -1426,7 +1420,7 @@ ) (when (send-event-function proc a1-14) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-52 (-> self root-override root-prim))) + (let ((v1-52 (-> self root root-prim))) (set! (-> v1-52 prim-core collide-as) (collide-spec)) (set! (-> v1-52 prim-core collide-with) (collide-spec)) ) @@ -1448,9 +1442,9 @@ ) :trans (behavior () (when (>= (- (current-time) (-> self no-collision-timer)) (seconds 0.1)) - (let ((v1-5 (-> self root-override root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) ) (clone-anim-once (ppointer->handle (-> self parent)) #t (-> self prefix)) @@ -1514,7 +1508,7 @@ :code (the-as (function none :behavior metalkor-lowtorso) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1583,7 +1577,7 @@ 318 (new 'static 'vector :x -942.08 :y -860.16 :z 1269.76 :w 163840.0) ) - (set-gravity-length (-> obj root-override2 dynam) 491520.0) + (set-gravity-length (-> obj root dynam) 491520.0) (set! (-> obj minimap) #f) (none) ) @@ -1593,7 +1587,7 @@ "Cleans-up the enemy and any associated resources. Potentially spawns skull gems" (with-pp (when (not (logtest? (enemy-flag recover-applied-velocity) (-> obj enemy-flags))) - (when (and (>= (-> obj enemy-info-override gem-joint) 0) + (when (and (>= (-> obj enemy-info gem-joint) 0) (not (logtest? (enemy-flag cam-attack-mode) (-> obj enemy-flags))) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-0 from) (process->ppointer pp)) @@ -1609,18 +1603,18 @@ (remove-from-process *part-engine* obj) (setup-masks (-> obj draw) - (the-as int (-> obj enemy-info-override gem-no-seg)) - (the-as int (-> obj enemy-info-override gem-seg)) + (the-as int (-> obj enemy-info gem-no-seg)) + (the-as int (-> obj enemy-info gem-seg)) ) (let ((v1-30 (ppointer->process (birth-pickup-at-point - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj enemy-info-override gem-joint))) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj enemy-info gem-joint))) (pickup-type gem) 1.0 #t (ppointer->process (-> obj parent)) - (-> obj fact-info-override) + (-> obj fact) ) ) ) @@ -1666,7 +1660,7 @@ 1.0 #t *entity-pool* - (-> obj fact-info-override) + (-> obj fact) ) ) ) @@ -2175,8 +2169,8 @@ This commonly includes things such as: ) (let ((f30-0 4096.0)) (let ((f28-1 (* 0.00013563369 (tan (* 0.5 (-> *math-camera* fov))) f30-0))) - (matrix->quaternion (-> self root-override quat) s5-0) - (set-vector! (-> self root-override scale) f28-1 f28-1 f28-1 1.0) + (matrix->quaternion (-> self root quat) s5-0) + (set-vector! (-> self root scale) f28-1 f28-1 f28-1 1.0) ) (let ((t9-3 vector<-cspace!) (a0-3 gp-0) @@ -2195,7 +2189,7 @@ This commonly includes things such as: (vector-! gp-0 gp-0 (camera-pos)) (vector-normalize! gp-0 f30-0) ) - (vector+! (-> self root-override trans) (camera-pos) gp-0) + (vector+! (-> self root trans) (camera-pos) gp-0) ) 0 (none) @@ -2478,35 +2472,35 @@ This commonly includes things such as: ;; definition for symbol *metalkor-bomb-collide-joints*, type (array int8) (define *metalkor-bomb-collide-joints* (new 'static 'boxed-array :type int8 5 - #x8 - #xb - #xe - #x11 - #x14 - #x17 - #x1a - #x1d - #x20 - #x23 - #x26 - #x29 - #x2c - #x2f - #x32 - #x35 - #x38 - #x3b - #x3e - #x41 - #x44 - #x47 - #x4a - #x4d - #x50 - #x53 - #x56 - #x59 - #x5c + 8 + 11 + 14 + 17 + 20 + 23 + 26 + 29 + 32 + 35 + 38 + 41 + 44 + 47 + 50 + 53 + 56 + 59 + 62 + 65 + 68 + 71 + 74 + 77 + 80 + 83 + 86 + 89 + 92 ) ) @@ -2522,7 +2516,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (let ((s5-0 (new 'stack-no-clear 'bounding-box))) (let ((a1-0 (new 'stack-no-clear 'sphere))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 r) 204800.0) (set-from-sphere! s5-0 a1-0) ) @@ -2538,14 +2532,14 @@ This commonly includes things such as: (let ((s5-1 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'vector)) ) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (vector<-cspace! - (-> self root-override trans) + (-> self root trans) (-> self node-list data (-> *metalkor-bomb-collide-joints* (+ (-> *metalkor-bomb-collide-joints* length) -1))) ) (dotimes (s4-0 (-> *metalkor-bomb-collide-joints* length)) (vector<-cspace! s5-1 (-> self node-list data (-> *metalkor-bomb-collide-joints* s4-0))) - (vector-! s5-1 s5-1 (-> self root-override trans)) + (vector-! s5-1 s5-1 (-> self root trans)) (let ((v1-26 s5-1)) (.lvf vf1 (&-> s5-1 quad)) (let ((f0-1 (-> self clock frames-per-second))) @@ -2556,9 +2550,9 @@ This commonly includes things such as: (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> v1-26 quad) vf1) ) - (integrate-and-collide! (-> self root-override) s5-1) + (integrate-and-collide! (-> self root) s5-1) ) - (let ((v0-6 (-> self root-override trans))) + (let ((v0-6 (-> self root trans))) (set! (-> v0-6 quad) (-> gp-1 quad)) v0-6 ) @@ -2572,7 +2566,7 @@ This commonly includes things such as: (let ((gp-0 (new 'stack-no-clear 'collide-query))) (let ((s5-0 (new 'stack-no-clear 'bounding-box))) (let ((a1-0 (new 'stack-no-clear 'sphere))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 r) 204800.0) (set-from-sphere! s5-0 a1-0) ) diff --git a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-setup_REF.gc b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-setup_REF.gc index 67ee423813..7b085f1b5c 100644 --- a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-setup_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-setup_REF.gc @@ -87,8 +87,8 @@ ;; definition of type metalkor-bomb (deftype metalkor-bomb (process-drawable) - ((root-override collide-shape-moving :offset 128) - (joint-mods joint-mod 49 :offset-assert 200) + ((root collide-shape-moving :override) + (joint-mods joint-mod 49 :offset-assert 200) ) :heap-base #x110 :method-count-assert 21 @@ -289,7 +289,7 @@ ;; definition of type metalkor-distort (deftype metalkor-distort (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -551,7 +551,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 1) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -1069,35 +1069,35 @@ (define *metalkor-bomb-probe-joints* (new 'static 'boxed-array :type int8 3 4 - #x7 - #xa - #xd - #x10 - #x13 - #x16 - #x19 - #x1c - #x1f - #x22 - #x25 - #x28 - #x2b - #x2e - #x31 - #x34 - #x37 - #x3a - #x3d - #x40 - #x43 - #x46 - #x49 - #x4c - #x4f - #x52 - #x55 - #x58 - #x5b + 7 + 10 + 13 + 16 + 19 + 22 + 25 + 28 + 31 + 34 + 37 + 40 + 43 + 46 + 49 + 52 + 55 + 58 + 61 + 64 + 67 + 70 + 73 + 76 + 79 + 82 + 85 + 88 + 91 ) ) @@ -1128,10 +1128,10 @@ (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> self root-override) s5-0) + (set! (-> self root) s5-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-identity! (-> self root-override quat)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-identity! (-> self root quat)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-metalkor-bomb" (the-as (pointer uint32) #f))) @@ -1235,9 +1235,9 @@ This commonly includes things such as: ;; INFO: Used lq/sq ;; WARN: Return type mismatch object vs none. (defbehavior metalkor-distort-init-by-other metalkor-distort ((arg0 vector) (arg1 quaternion)) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-metalkor-distort" (the-as (pointer uint32) #f))) @@ -1491,10 +1491,10 @@ This commonly includes things such as: ) (set! (-> s3-0 event-self) 'touched) (set! (-> s3-0 max-iteration-count) (the-as uint 3)) - (set! (-> self root-override) s3-0) + (set! (-> self root) s3-0) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) - (set! (-> self root-override transv quad) (-> arg1 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) + (set! (-> self root transv quad) (-> arg1 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-metalkor-egg" (the-as (pointer uint32) #f))) @@ -1733,10 +1733,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-50 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override pause-adjust-distance) 409600.0) - (set! (-> self root-override trans quad) (-> arg1 quad)) + (set! (-> self root pause-adjust-distance) 409600.0) + (set! (-> self root trans quad) (-> arg1 quad)) (set! (-> self prefix) arg0) (initialize-skeleton self @@ -1979,10 +1979,10 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-56 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (set! (-> self root-override pause-adjust-distance) 409600.0) - (set! (-> self root-override trans quad) (-> arg1 quad)) + (set! (-> self root pause-adjust-distance) 409600.0) + (set! (-> self root trans quad) (-> arg1 quad)) (set! (-> self prefix) (the-as string arg0)) (initialize-skeleton self @@ -2015,9 +2015,9 @@ This commonly includes things such as: (dotimes (v1-91 3) (set! (-> (the-as metalkor-lowtorso (+ (the-as uint self) (* v1-91 16))) ja-float-info 0 float-anim) #f) ) - (let ((v1-95 (-> self root-override root-prim))) - (set! (-> self root-override backup-collide-as) (-> v1-95 prim-core collide-as)) - (set! (-> self root-override backup-collide-with) (-> v1-95 prim-core collide-with)) + (let ((v1-95 (-> self root root-prim))) + (set! (-> self root backup-collide-as) (-> v1-95 prim-core collide-as)) + (set! (-> self root backup-collide-with) (-> v1-95 prim-core collide-with)) ) (set! (-> self no-collision-timer) 0) (set! (-> self egg-toss-joint-1) (new 'process 'joint-mod (joint-mod-mode joint-set*) self 5)) @@ -2087,9 +2087,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> obj root-override pause-adjust-distance) 409600.0) + (set! (-> obj root pause-adjust-distance) 409600.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -2106,7 +2106,7 @@ This commonly includes things such as: (dotimes (v1-36 3) (set! (-> obj wasps v1-36) (the-as handle #f)) ) - (set! (-> obj initial-y) (-> obj root-override trans y)) + (set! (-> obj initial-y) (-> obj root trans y)) (set! (-> obj hud) (the-as handle #f)) (set! (-> obj legs) (the-as handle #f)) (set! (-> obj kid) (the-as handle #f)) @@ -2187,9 +2187,9 @@ This commonly includes things such as: (set! (-> obj previous-flat-travel-timer) 0) (set! (-> obj previous-flat-travel-long-timer) 0) (set! (-> obj countdown-to-roar) 3) - (let ((v1-88 (-> obj root-override root-prim))) - (set! (-> obj root-override backup-collide-as) (-> v1-88 prim-core collide-as)) - (set! (-> obj root-override backup-collide-with) (-> v1-88 prim-core collide-with)) + (let ((v1-88 (-> obj root root-prim))) + (set! (-> obj root backup-collide-as) (-> v1-88 prim-core collide-as)) + (set! (-> obj root backup-collide-with) (-> v1-88 prim-core collide-with)) ) (set! (-> obj no-collision-timer) 0) (set! (-> obj wing-sound) (new-sound-id)) diff --git a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc index c8735b6e1d..d50e45f071 100644 --- a/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/boss/metalkor-states_REF.gc @@ -4,10 +4,10 @@ ;; definition for symbol *metalkor-spinner-setup*, type (array metalkor-spinner-info) (define *metalkor-spinner-setup* (new 'static 'boxed-array :type metalkor-spinner-info - (new 'static 'metalkor-spinner-info :joint-index #x43 :launch-angle 7281.778) - (new 'static 'metalkor-spinner-info :joint-index #x40 :launch-angle 14563.556) - (new 'static 'metalkor-spinner-info :joint-index #x46 :launch-angle -7281.778) - (new 'static 'metalkor-spinner-info :joint-index #x3d :launch-angle -14563.556) + (new 'static 'metalkor-spinner-info :joint-index 67 :launch-angle 7281.778) + (new 'static 'metalkor-spinner-info :joint-index 64 :launch-angle 14563.556) + (new 'static 'metalkor-spinner-info :joint-index 70 :launch-angle -7281.778) + (new 'static 'metalkor-spinner-info :joint-index 61 :launch-angle -14563.556) ) ) @@ -112,7 +112,7 @@ ;; definition for function metalkor-all-spinners-on (defbehavior metalkor-all-spinners-on metalkor () - (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (dotimes (s5-0 4) (metalkor-start-spinner s5-0 (-> gp-0 vector 2)) ) @@ -253,9 +253,9 @@ (metalkor-go-next-stage) ) (when (>= (- (current-time) (-> self no-collision-timer)) (seconds 0.1)) - (let ((v1-25 (-> self root-override root-prim))) - (set! (-> v1-25 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-25 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-25 (-> self root root-prim))) + (set! (-> v1-25 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-25 prim-core collide-with) (-> self root backup-collide-with)) ) ) (case (-> self stage) @@ -280,7 +280,7 @@ ) (set! (-> self trackable) #t) (let ((t0-2 (new 'static 'vector))) - (set! (-> t0-2 quad) (-> self root-override trans quad)) + (set! (-> t0-2 quad) (-> self root trans quad)) (set! (-> t0-2 y) (+ 16384.0 (-> t0-2 y))) (set-setting! 'point-of-interest 'abs t0-2 0) ) @@ -288,7 +288,7 @@ (dotimes (gp-2 10) (let ((a0-24 (handle->process (-> self flitters gp-2)))) (when a0-24 - (if (< (-> (the-as process-drawable a0-24) root trans y) (+ -204800.0 (-> self root-override trans y))) + (if (< (-> (the-as process-drawable a0-24) root trans y) (+ -204800.0 (-> self root trans y))) (send-event a0-24 'die-fast) (+! (-> self live-flitters) 1) ) @@ -335,7 +335,7 @@ ((or (= arg0 2) (= arg0 3)) (set! s5-0 (new 'static 'vector)) (set! (-> s5-0 quad) - (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 0 prim-core world-sphere quad) + (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 0 prim-core world-sphere quad) ) (set! (-> s5-0 w) 61440.0) s5-0 @@ -351,7 +351,7 @@ (vector<-cspace! s5-0 (-> obj node-list data 3)) ) (else - (set! (-> s5-0 quad) (-> obj root-override trans quad)) + (set! (-> s5-0 quad) (-> obj root trans quad)) (set! (-> s5-0 y) (+ 8192.0 (-> s5-0 y))) ) ) @@ -414,7 +414,7 @@ (let ((v1-28 (-> self stage))) (cond ((zero? v1-28) - (set! (-> self root-override trans y) (+ -12288.0 (-> self entity trans y))) + (set! (-> self root trans y) (+ -12288.0 (-> self entity trans y))) (go-virtual hidden) ) ((= v1-28 1) @@ -422,10 +422,10 @@ (set! (-> self hud) (ppointer->handle (process-spawn hud-metalkor :init hud-init-by-other :to self))) (metalkor-update-hud) (set! (-> self lowtorso) - (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root-override trans) :to self)) + (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root trans) :to self)) ) (set! (-> self kid) (ppointer->handle (process-spawn metalkor-kid (-> self entity trans) :to self))) - (let ((gp-4 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-4 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (dotimes (s5-1 4) (metalkor-start-spinner s5-1 (-> gp-4 vector 2)) ) @@ -474,7 +474,7 @@ (set! (-> v1-106 quad) (-> self entity trans quad)) (set! (-> v1-106 x) (+ 90112.0 (-> v1-106 x))) (set! (-> v1-106 z) (+ -90112.0 (-> v1-106 z))) - (set! (-> self root-override trans quad) (-> v1-106 quad)) + (set! (-> self root trans quad) (-> v1-106 quad)) ) (when (not (handle->process (-> self hud))) (set! (-> self hud) (ppointer->handle (process-spawn hud-metalkor :init hud-init-by-other :to self))) @@ -482,15 +482,13 @@ ) (if (not (handle->process (-> self lowtorso))) (set! (-> self lowtorso) - (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root-override trans) :to self)) + (ppointer->handle (process-spawn metalkor-lowtorso "" (-> self root trans) :to self)) ) ) (if (not (handle->process (-> self kid))) (set! (-> self kid) (ppointer->handle (process-spawn metalkor-kid (-> self entity trans) :to self))) ) - (set! (-> self legs) - (ppointer->handle (process-spawn metalkor-legs "" (-> self root-override trans) :to self)) - ) + (set! (-> self legs) (ppointer->handle (process-spawn metalkor-legs "" (-> self root trans) :to self))) (set-setting! 'fov 'abs (degrees 84.0) 0) (go-virtual chase-target) ) @@ -498,9 +496,7 @@ ) ((= v1-28 4) (set-setting! 'music 'danger4 0.0 0) - (set! (-> self wings) - (ppointer->handle (process-spawn metalkor-wings "" (-> self root-override trans) :to self)) - ) + (set! (-> self wings) (ppointer->handle (process-spawn metalkor-wings "" (-> self root trans) :to self))) (send-event (handle->process (-> self hud)) 'hide-and-die) (go-virtual last-gasp) ) @@ -521,7 +517,7 @@ (v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) (v1-6 (the-as number (logior #x3f800000 v1-5))) (f30-1 (+ f30-0 (+ -1.0 (the-as float v1-6)))) - (s2-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (s2-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s1-1 (new 'stack-no-clear 'attack-info)) ) (attack-info-method-9 arg0 s1-1 arg1 self) @@ -816,7 +812,7 @@ (('touch) (when ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) + (-> self root) (the-as uint 1) ) (let* ((s4-3 arg0) @@ -826,7 +822,7 @@ ) ) (when gp-5 - (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (let ((s3-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s4-4 (new 'stack-no-clear 'vector)) ) (if (>= (metalkor-ja-float-group? (the-as art-joint-anim (-> self draw art-group data 42))) 0) @@ -854,7 +850,7 @@ ) (when (send-event-function gp-5 a1-43) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-175 (-> self root-override root-prim))) + (let ((v1-175 (-> self root root-prim))) (set! (-> v1-175 prim-core collide-as) (collide-spec)) (set! (-> v1-175 prim-core collide-with) (collide-spec)) ) @@ -907,13 +903,13 @@ (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (let ((v1-19 (handle->process (-> self lowtorso)))) (if v1-19 (vector<-cspace! s5-0 (-> (the-as process-focusable v1-19) node-list data 11)) ) ) - (let ((s2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((s2-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (set-vector! s4-0 (* 102400.0 (sin (-> self egg-angle))) 81920.0 (* 102400.0 (cos (-> self egg-angle))) 1.0) (vector-matrix*! s4-0 s4-0 s2-0) ) @@ -965,11 +961,11 @@ ;; WARN: Return type mismatch int vs none. (defbehavior metalkor-face-to-vector metalkor ((arg0 vector) (arg1 float) (arg2 float)) (let ((s4-0 (new 'stack-no-clear 'matrix)) - (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (gp-0 (new 'stack-no-clear 'matrix)) ) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s3-0 arg0 (-> self root-override trans)) + (vector-! s3-0 arg0 (-> self root trans)) (vector-flatten! s3-0 s3-0 (-> s5-0 vector 1)) (vector-normalize! s3-0 1.0) (matrix-from-two-vectors-max-angle-partial! @@ -991,8 +987,8 @@ (set! (-> self last-rotation) 0.0) ) (else - (matrix->quaternion (-> self root-override quat) gp-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) gp-0) + (quaternion-normalize! (-> self root quat)) ) ) ) @@ -1009,10 +1005,10 @@ ((and (and v1-2 (= v1-2 (-> self draw art-group data 33))) (begin (ja :num! (seek!)) (not (ja-done? 0)))) ) (else - (let* ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) arg0)) + (let* ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) arg0)) (v1-16 s5-1) (f26-0 (sqrtf (+ (* (-> v1-16 x) (-> v1-16 x)) (* (-> v1-16 z) (-> v1-16 z))))) - (v1-19 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (v1-19 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) ) 0.0 (let ((f30-0 0.0) @@ -1240,12 +1236,12 @@ ;; WARN: Return type mismatch symbol vs none. (defbehavior rotate-and-update-hang-anim metalkor () (let ((s5-0 (new 'stack-no-clear 'matrix)) - (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s4-0 (new 'stack-no-clear 'vector)) ) (let ((s3-0 (new 'stack-no-clear 'vector))) (set! (-> s3-0 quad) (-> (target-pos 0) quad)) - (vector-! s4-0 s3-0 (-> self root-override trans)) + (vector-! s4-0 s3-0 (-> self root trans)) ) (vector-flatten! s4-0 s4-0 (-> gp-0 vector 1)) (vector-normalize! s4-0 1.0) @@ -1451,8 +1447,8 @@ (matrix-axis-angle! s5-0 (-> gp-0 vector 1) (* 0.5 (-> self clock time-adjust-ratio) f30-0)) (matrix*! gp-0 gp-0 s5-0) (matrix-remove-z-rot gp-0 (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override quat) gp-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) gp-0) + (quaternion-normalize! (-> self root quat)) ) ) ) @@ -1570,7 +1566,7 @@ (let ((v1-4 (the-as entity-actor (metalkor-get-ring self)))) (when v1-4 (let ((s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> v1-4 quat))) - (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) ) (let ((s4-0 (new 'stack-no-clear 'matrix))) (vector-negate! (-> s5-0 vector 2) (-> s5-0 vector 2)) @@ -1578,21 +1574,16 @@ (matrix*! gp-0 gp-0 s4-0) ) (matrix-remove-z-rot gp-0 (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override quat) gp-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) gp-0) + (quaternion-normalize! (-> self root quat)) (let ((f0-1 (vector-dot (-> gp-0 vector 1) (new 'static 'vector :y 1.0)))) (let* ((f1-0 1.0) (f2-0 f0-1) (f1-2 (sqrtf (- f1-0 (* f2-0 f2-0)))) ) - (vector+float*! - (-> self root-override trans) - (-> self hit-ring-trans) - (-> self hit-ring-offset) - (* 73728.0 f1-2) - ) + (vector+float*! (-> self root trans) (-> self hit-ring-trans) (-> self hit-ring-offset) (* 73728.0 f1-2)) ) - (+! (-> self root-override trans y) (* 73728.0 (- 1.0 f0-1))) + (+! (-> self root trans y) (* 73728.0 (- 1.0 f0-1))) ) ) ) @@ -1619,8 +1610,8 @@ (ja-channel-set! 0) (set! (-> self explode) (ppointer->handle (process-spawn metalkor-explode - (-> self root-override trans) - (-> self root-override quat) + (-> self root trans) + (-> self root quat) (process->handle (-> (metalkor-get-ring self) extra process)) :to self ) @@ -1646,7 +1637,7 @@ ) ) ) - (process-spawn metalkor-distort (-> self root-override trans) (-> self root-override quat) :to self) + (process-spawn metalkor-distort (-> self root trans) (-> self root quat) :to self) ) ) ) @@ -1657,7 +1648,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1668,7 +1659,7 @@ :enter (behavior () (process-grab? *target* #f) (set! (-> self been-to-entity) #f) - (sound-play "nboss-hover" :id (-> self wing-sound) :position (-> self root-override trans)) + (sound-play "nboss-hover" :id (-> self wing-sound) :position (-> self root trans)) (set! (-> self wing-sound-playing) #t) (init (-> self flying-speed) 0.0 0.01 0.1 0.9) (set! (-> self flying-speed target) 1.0) @@ -1707,7 +1698,7 @@ (set! (-> self wing-sound-playing) #f) ) (vector+float*! (-> self hit-ring-trans) (-> self hit-ring-trans) (-> self hit-ring-offset) 32768.0) - (set! (-> self root-override trans quad) (-> self hit-ring-trans quad)) + (set! (-> self root trans quad) (-> self hit-ring-trans quad)) (remove-setting! 'entity-name) (send-event *camera* 'change-target #f) (remove-setting! 'teleport-on-entity-change) @@ -1733,12 +1724,12 @@ (cond ((-> self been-to-entity) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> self hit-ring-trans) (* 3072.0 (-> self flying-speed value)) 0.5 ) - (let ((f0-4 (vector-vector-distance-squared (-> self root-override trans) (-> self hit-ring-trans))) + (let ((f0-4 (vector-vector-distance-squared (-> self root trans) (-> self hit-ring-trans))) (f1-1 4096.0) ) (cond @@ -1757,8 +1748,8 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (set! (-> gp-1 quad) (-> self entity trans quad)) (set! (-> gp-1 y) (+ -61440.0 (-> gp-1 y))) - (vector-seek-3d-smooth! (-> self root-override trans) gp-1 (* 3072.0 (-> self flying-speed value)) 0.5) - (let ((f0-10 (vector-vector-distance-squared (-> self root-override trans) gp-1)) + (vector-seek-3d-smooth! (-> self root trans) gp-1 (* 3072.0 (-> self flying-speed value)) 0.5) + (let ((f0-10 (vector-vector-distance-squared (-> self root trans) gp-1)) (f1-9 12288.0) ) (when (< f0-10 (* f1-9 f1-9)) @@ -1782,7 +1773,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1846,7 +1837,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1878,7 +1869,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -1962,7 +1953,7 @@ (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) ) (when (and (< f30-0 6.0) (>= (ja-aframe-num 0) 6.0)) - (process-spawn metalkor-bomb (-> self root-override trans) (-> self entity) :to self :stack-size #x6000) + (process-spawn metalkor-bomb (-> self root trans) (-> self entity) :to self :stack-size #x6000) (set-action! *gui-control* (gui-action play) @@ -2001,7 +1992,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2024,7 +2015,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2050,7 +2041,7 @@ ) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (set! sv-864 (target-pos 0)) (metalkor-face-to-vector sv-864 546.13336 0.005) (when (and (nonzero? (-> self previous-flat-travel-long-timer)) @@ -2067,7 +2058,7 @@ (let ((f30-0 (* 4096.0 (* 0.25 (-> self clock time-adjust-ratio)))) (s1-0 #f) ) - (set! (-> s3-0 quad) (-> self root-override trans quad)) + (set! (-> s3-0 quad) (-> self root trans quad)) (vector-! s4-0 s3-0 sv-864) (set! (-> s4-0 y) 0.0) (let* ((f0-5 arg0) @@ -2149,7 +2140,7 @@ (label cfg-43) (vector+! s4-0 s3-0 s4-0) ) - (vector-! s4-0 s4-0 (-> self root-override trans)) + (vector-! s4-0 s4-0 (-> self root trans)) (.lvf vf1 (&-> s4-0 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -2164,30 +2155,18 @@ (vector-reset! s4-0) ) ) - (vector+! (-> self root-override trans) (-> self root-override trans) s4-0) + (vector+! (-> self root trans) (-> self root trans) s4-0) ) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (let ((s4-1 (new 'stack 'collide-query))) - (if (above-ground? - (-> self root-override) - s4-1 - (-> self root-override trans) - (collide-spec backgnd) - 12288.0 - 122880.0 - 1024.0 - ) - (set! (-> self root-override trans y) (-> s4-1 best-other-tri intersect y)) + (if (above-ground? (-> self root) s4-1 (-> self root trans) (collide-spec backgnd) 12288.0 122880.0 1024.0) + (set! (-> self root trans y) (-> s4-1 best-other-tri intersect y)) ) ) (update-walk-anim s5-0 arg1) - (let ((v1-98 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) s5-0))) + (let ((v1-98 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) s5-0))) (vector-float*! v1-98 v1-98 0.5) (set! (-> v1-98 y) 0.0) (send-event (handle->process (-> self lowtorso)) 'move-chain v1-98) @@ -2222,7 +2201,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2230,7 +2209,7 @@ ;; definition for function metalkor-set-deadly ;; WARN: Return type mismatch int vs none. (defbehavior metalkor-set-deadly metalkor ((arg0 metalkor) (arg1 symbol) (arg2 int)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child arg2))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child arg2))) (cond (arg1 (set! (-> v1-3 prim-core collide-as) (collide-spec enemy)) @@ -2251,8 +2230,8 @@ :virtual #t :event metalkor-handler :enter (behavior () - (let ((s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) - (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (-> self entity trans))) + (let ((s5-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) + (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (-> self entity trans))) ) (vector-flatten! gp-1 gp-1 (-> s5-0 vector 1)) (cond @@ -2325,7 +2304,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2344,7 +2323,7 @@ (go-virtual chase-target) ) ((let ((f0-0 57344.0)) - (< (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> self root-override trans) (target-pos 0))) + (< (* f0-0 f0-0) (vector-vector-xz-distance-squared (-> self root trans) (target-pos 0))) ) ) ((or (< (-> self last-close-attack) -1) @@ -2371,7 +2350,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2383,12 +2362,8 @@ :enter (behavior () (set! (-> self state-time) (current-time)) (set! (-> self shots-fired) 0) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (none) ) @@ -2439,7 +2414,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2450,12 +2425,8 @@ :event metalkor-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (none) ) @@ -2491,7 +2462,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2529,13 +2500,13 @@ (ja :num! (seek!)) (cond ((and (< f30-0 84.0) (>= (ja-aframe-num 0) 84.0)) - (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-0 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (metalkor-start-spinner 1 (-> gp-0 vector 2)) (metalkor-start-spinner 3 (-> gp-0 vector 2)) ) ) ((and (< f30-0 85.0) (>= (ja-aframe-num 0) 85.0)) - (let ((gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat)))) + (let ((gp-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat)))) (metalkor-start-spinner 0 (-> gp-1 vector 2)) (metalkor-start-spinner 2 (-> gp-1 vector 2)) ) @@ -2557,7 +2528,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2628,7 +2599,7 @@ ) ) (set! (-> s5-0 trans quad) (-> s4-0 trans quad)) - (quaternion-copy! (-> s5-0 quat) (-> self root-override quat)) + (quaternion-copy! (-> s5-0 quat) (-> self root quat)) (set! (-> s5-0 entity) s4-0) (set! (-> s5-0 directed?) #f) (set! (-> s5-0 no-initial-move-to-ground?) #f) @@ -2738,7 +2709,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -2773,12 +2744,8 @@ :event metalkor-handler :enter (behavior () (set! (-> self state-time) (current-time)) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (ja :group! (-> self draw art-group data 5)) (none) @@ -2800,17 +2767,17 @@ (s1-0 (new 'stack-no-clear 'matrix)) (gp-0 (new 'stack-no-clear 'vector)) ) - (set! (-> gp-0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> s4-0 y) (analog-input (the-as int (-> *cpad-list* cpads 1 rightx)) 128.0 48.0 110.0 1.0)) (set! (-> s2-0 z) (analog-input (the-as int (-> *cpad-list* cpads 1 lefty)) 128.0 48.0 110.0 1.0)) (vector-float*! s4-0 s4-0 -364.0889) - (quaternion->matrix s1-0 (-> self root-override quat)) + (quaternion->matrix s1-0 (-> self root quat)) (matrix-rotate-y! s5-0 (-> s4-0 y)) (set! (-> self last-rotation) (-> s4-0 y)) (matrix*! s1-0 s5-0 s1-0) (matrix-remove-z-rot s1-0 (new 'static 'vector :y -1.0)) - (matrix->quaternion (-> self root-override quat) s1-0) - (quaternion-normalize! (-> self root-override quat)) + (matrix->quaternion (-> self root quat) s1-0) + (quaternion-normalize! (-> self root quat)) (when (and (nonzero? (-> self previous-flat-travel-long-timer)) (>= (+ (current-time) (seconds -1.2)) (-> self previous-flat-travel-long-timer)) ) @@ -2823,7 +2790,7 @@ ) (let ((s4-1 (new 'stack-no-clear 'vector))) (let ((f0-5 2048.0)) - (set! (-> s4-1 quad) (-> self root-override trans quad)) + (set! (-> s4-1 quad) (-> self root trans quad)) (vector-float*! s5-1 (-> s1-0 vector 2) (* (-> s2-0 z) (- f0-5))) ) (set! (-> s5-1 y) 0.0) @@ -2865,7 +2832,7 @@ (label cfg-30) (vector+! s5-1 s4-1 s5-1) ) - (vector-! s5-1 s5-1 (-> self root-override trans)) + (vector-! s5-1 s5-1 (-> self root trans)) (.lvf vf1 (&-> s5-1 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -2880,38 +2847,26 @@ (vector-float*! s5-1 s5-1 (/ 1024.0 (sqrtf f0-14))) ) ) - (vector+! (-> self root-override trans) (-> self root-override trans) s5-1) + (vector+! (-> self root trans) (-> self root trans) s5-1) ) - (set! (-> self current-nav-poly) (cloest-point-on-mesh - (-> self nav) - (-> self root-override trans) - (-> self root-override trans) - (-> self current-nav-poly) - ) + (set! (-> self current-nav-poly) + (cloest-point-on-mesh (-> self nav) (-> self root trans) (-> self root trans) (-> self current-nav-poly)) ) (let ((s5-2 (new 'stack 'collide-query))) - (if (above-ground? - (-> self root-override) - s5-2 - (-> self root-override trans) - (collide-spec backgnd) - 12288.0 - 122880.0 - 1024.0 - ) - (set! (-> self root-override trans y) (-> s5-2 best-other-tri intersect y)) + (if (above-ground? (-> self root) s5-2 (-> self root trans) (collide-spec backgnd) 12288.0 122880.0 1024.0) + (set! (-> self root trans y) (-> s5-2 best-other-tri intersect y)) ) ) (update-walk-anim gp-0 #f) ) (let ((s4-2 (new 'stack-no-clear 'clamp-travel-vector-to-mesh-return-info)) - (v1-94 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root-override quat))) + (v1-94 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> self root quat))) (s3-1 (new 'stack-no-clear 'vector)) (s5-3 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'vector)) ) (let ((f0-18 81920.0)) - (set! (-> gp-1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 quad) (-> self root trans quad)) (set! (-> s5-3 quad) (-> v1-94 vector 2 quad)) (set! (-> s5-3 y) 0.0) (vector-normalize! s5-3 f0-18) @@ -2962,7 +2917,7 @@ :code (the-as (function none :behavior metalkor) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) diff --git a/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc b/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc index 74407eda6e..638f297d6a 100644 --- a/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/flying-spider_REF.gc @@ -223,13 +223,13 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) (logclear! (-> self enemy-flags) (enemy-flag lock-focus death-start)) (set! (-> self path-du) (get-rand-float-range self 0.2 0.5)) - (set-vector! (-> self root-override2 scale) 0.0 0.0 0.0 0.0) + (set-vector! (-> self root scale) 0.0 0.0 0.0 0.0) (none) ) :trans (behavior () @@ -254,7 +254,7 @@ (none) ) :post (behavior () - (get-point-at-percent-along-path! (-> self path) (-> self root-override2 trans) (-> self path-u) 'interp) + (get-point-at-percent-along-path! (-> self path) (-> self root trans) (-> self path-u) 'interp) (set! (-> self path-u) (seek-ease (-> self path-u) 1.0 @@ -264,7 +264,7 @@ ) ) (let ((f0-7 (-> self path-u))) - (set-vector! (-> self root-override2 scale) f0-7 f0-7 f0-7 0.0) + (set-vector! (-> self root scale) f0-7 f0-7 f0-7 0.0) ) (let ((a1-3 (displacement-between-points-at-percent-normalized! (-> self path) @@ -273,7 +273,7 @@ ) ) ) - (forward-up-nopitch->quaternion (-> self root-override2 quat) a1-3 *y-vector*) + (forward-up-nopitch->quaternion (-> self root quat) a1-3 *y-vector*) ) (nav-enemy-simple-post) (none) @@ -293,10 +293,10 @@ (suspend) (ja :num! (seek!)) ) - (until (logtest? (-> self root-override2 status) (collide-status on-ground)) + (until (logtest? (-> self root status) (collide-status on-ground)) (suspend) ) - (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (gp-0 (new 'stack-no-clear 'quaternion)) ) (set! (-> s5-0 y) 0.0) @@ -307,12 +307,7 @@ :frame-num 0.0 ) (until (ja-done? 0) - (quaternion-slerp! - (-> self root-override2 quat) - (-> self root-override2 quat) - gp-0 - (* 2.0 (-> self clock seconds-per-frame)) - ) + (quaternion-slerp! (-> self root quat) (-> self root quat) gp-0 (* 2.0 (-> self clock seconds-per-frame))) (suspend) (ja :num! (seek!)) ) @@ -323,12 +318,9 @@ ) :post (behavior () (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (enemy-method-125 self a1-0 (-> self root-override2 root-prim prim-core collide-with) 8192.0 81920.0 1024.0) - ) - (flying-spider-method-182 - self - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) + (enemy-method-125 self a1-0 (-> self root root-prim prim-core collide-with) 8192.0 81920.0 1024.0) ) + (flying-spider-method-182 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (nav-enemy-falling-post) (none) ) @@ -346,9 +338,7 @@ ) (let ((a0-1 (handle->process (-> self focus handle)))) (when (and a0-1 - (< (vector-vector-distance (get-trans (the-as process-focusable a0-1) 0) (-> self root-override2 trans)) - 81920.0 - ) + (< (vector-vector-distance (get-trans (the-as process-focusable a0-1) 0) (-> self root trans)) 81920.0) ) (if (not (enemy-method-96 self 5461.3335 #t)) (go-virtual turn-to-focus) @@ -383,14 +373,11 @@ (let ((s3-0 (handle->process (-> self focus handle)))) (cond (s3-0 - (let ((gp-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) - (s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) - (s5-1 (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable s3-0) 0) - (-> self root-override2 trans) - ) - ) + (let ((gp-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + (s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) + (s5-1 + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable s3-0) 0) (-> self root trans)) + ) ) (set! (-> gp-0 y) 0.0) (set! (-> s4-0 y) 0.0) @@ -453,10 +440,7 @@ (none) ) :post (behavior () - (flying-spider-method-182 - self - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - ) + (flying-spider-method-182 self (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (nav-enemy-face-focus-post) (none) ) @@ -496,7 +480,7 @@ ((or (not a0-1) (>= 2 (the-as int (-> self focus aware)))) (go-stare self) ) - ((< 98304.0 (vector-vector-distance (get-trans a0-1 0) (-> self root-override2 trans))) + ((< 98304.0 (vector-vector-distance (get-trans a0-1 0) (-> self root trans))) (go-hostile self) ) ((not (enemy-method-96 self 5461.3335 #t)) @@ -622,13 +606,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override die-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info die-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) frames num-frames) -1 ) ) @@ -642,7 +623,7 @@ ) ) (send-event self 'death-end) - (let ((v1-34 (-> self root-override2 root-prim))) + (let ((v1-34 (-> self root root-prim))) (set! (-> v1-34 prim-core collide-as) (collide-spec)) (set! (-> v1-34 prim-core collide-with) (collide-spec)) ) @@ -686,7 +667,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -711,7 +692,7 @@ #t ) (('death-start) - (let ((v1-52 (-> obj root-override2 root-prim))) + (let ((v1-52 (-> obj root root-prim))) (set! (-> v1-52 prim-core collide-as) (collide-spec)) (set! (-> v1-52 prim-core collide-with) (collide-spec)) ) @@ -740,11 +721,11 @@ (defmethod enemy-method-125 flying-spider ((obj flying-spider) (arg0 collide-query) (arg1 collide-spec) (arg2 float) (arg3 float) (arg4 float)) (the-as pat-surface - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) - (set! (-> obj root-override2 ground-pat) (-> arg0 best-other-tri pat)) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) + (set! (-> obj root ground-pat) (-> arg0 best-other-tri pat)) (when (>= (- (current-time) (-> obj gspot-timer)) (seconds 0.2)) (let ((a1-2 (new 'stack-no-clear 'collide-query))) - (set! (-> a1-2 start-pos quad) (-> obj root-override2 gspot-pos quad)) + (set! (-> a1-2 start-pos quad) (-> obj root gspot-pos quad)) (set! (-> a1-2 start-pos y) (+ 2048.0 (-> a1-2 start-pos y))) (set-vector! (-> a1-2 move-dist) 0.0 -6144.0 0.0 0.0) (let ((v1-10 a1-2)) @@ -752,7 +733,7 @@ (set! (-> v1-10 collide-with) arg1) (set! (-> v1-10 ignore-process0) obj) (set! (-> v1-10 ignore-process1) #f) - (set! (-> v1-10 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-10 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-10 action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* a1-2) @@ -788,11 +769,11 @@ (defmethod flying-spider-method-182 flying-spider ((obj flying-spider) (arg0 vector)) (with-pp (cond - ((= (-> obj root-override2 gspot-pos y) -40959590.0) + ((= (-> obj root gspot-pos y) -40959590.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (quaternion-set! (-> obj root-override2 quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) - (quaternion-normalize! (-> obj root-override2 quat)) + (quaternion-set! (-> obj root quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) + (quaternion-normalize! (-> obj root quat)) ) (else (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -807,7 +788,7 @@ (vector-normalize! s3-1 1.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (forward-up->quaternion (-> obj root-override2 quat) arg0 s3-1) + (forward-up->quaternion (-> obj root quat) arg0 s3-1) ) ) ) @@ -851,7 +832,7 @@ ;; definition for method 51 of type flying-spider (defmethod enemy-method-51 flying-spider ((obj flying-spider)) - (quaternion-y-angle (-> obj root-override2 quat)) + (quaternion-y-angle (-> obj root quat)) ) ;; definition for method 60 of type flying-spider @@ -920,7 +901,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-25 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -943,9 +924,9 @@ (set-vector! (-> v1-5 twist-max) 11832.889 11832.889 0.0 1.0) (set! (-> v1-5 ignore-angle) 30947.555) ) - (set! (-> obj root-override2 dynam gravity y) 327680.0) - (set! (-> obj root-override2 dynam gravity-length) 327680.0) - (set! (-> obj root-override2 dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (set! (-> obj path-u) 0.0) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) diff --git a/test/decompiler/reference/jak2/levels/nest/mammoth_REF.gc b/test/decompiler/reference/jak2/levels/nest/mammoth_REF.gc index 48dc6852ae..0328b15846 100644 --- a/test/decompiler/reference/jak2/levels/nest/mammoth_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/mammoth_REF.gc @@ -254,16 +254,14 @@ (align-vel-and-quat-only! (-> self align) (align-opts adjust-xz-vel) - (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) 65536.0) + (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) 65536.0) #x3f800000 1.0 1.0 ) - (+! (-> self root-override2 transv y) - (* (-> self enemy-info-override movement-gravity) (-> self clock seconds-per-frame)) - ) + (+! (-> self root transv y) (* (-> self enemy-info movement-gravity) (-> self clock seconds-per-frame))) (let ((a2-1 (new 'stack-no-clear 'move-above-ground-params))) - (let ((v1-9 (-> self enemy-info-override))) + (let ((v1-9 (-> self enemy-info))) (set! (-> a2-1 gnd-collide-with) (the-as collide-spec (-> self gnd-collide))) (set! (-> a2-1 popup) 8192.0) (set! (-> a2-1 dont-move-if-overlaps?) #f) @@ -273,14 +271,11 @@ ) (set! (-> a2-1 overlaps-params tlist) *touching-list*) (-> a2-1 overlaps-params) - (enemy-method-128 self (-> self root-override2 transv) a2-1) + (enemy-method-128 self (-> self root transv) a2-1) ) - (do-push-aways (-> self root-override2)) + (do-push-aways (-> self root)) (let ((s5-1 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> self travel-dest) (-> self root-override2 trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> self travel-dest) (-> self root trans)) 1.0) ) (gp-1 (new 'stack-no-clear 'quaternion)) ) @@ -288,12 +283,7 @@ (vector-normalize! s5-1 1.0) (quaternion-set! gp-1 0.0 (-> s5-1 x) 0.0 (+ 1.0 (-> s5-1 z))) (quaternion-normalize! gp-1) - (quaternion-slerp! - (-> self root-override2 quat) - (-> self root-override2 quat) - gp-1 - (* 0.3 (-> self clock seconds-per-frame)) - ) + (quaternion-slerp! (-> self root quat) (-> self root quat) gp-1 (* 0.3 (-> self clock seconds-per-frame))) ) (nav-enemy-simple-post) (none) @@ -303,9 +293,7 @@ ;; WARN: Return type mismatch object vs none. (defbehavior mammoth-walk-check-end mammoth () (let ((a1-1 (vector-! (new 'stack-no-clear 'vector) (-> self move-pos 1) (the-as vector (-> self move-pos)))) - (gp-1 - (vector-! (new 'stack-no-clear 'vector) (-> self root-override2 trans) (the-as vector (-> self move-pos))) - ) + (gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) (the-as vector (-> self move-pos)))) ) (if (< (vector-length a1-1) (vector-dot gp-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) a1-1 1.0))) (go-virtual turning) @@ -354,7 +342,7 @@ ) (vector-normalize! s5-1 65536.0) (vector-line-distance-point! - (-> self root-override2 trans) + (-> self root trans) (the-as vector (-> self move-pos)) (-> self move-pos 1) s4-0 @@ -448,10 +436,10 @@ (none) ) :code (behavior () - (move-to-ground (-> self root-override2) 40960.0 122880.0 #t (collide-spec backgnd)) + (move-to-ground (-> self root) 40960.0 122880.0 #t (collide-spec backgnd)) (dotimes (v1-2 4) - (set! (-> self ik-handle-pos v1-2 quad) (-> self root-override2 trans quad)) - (set! (-> self ik-handle-y v1-2) (-> self root-override2 trans y)) + (set! (-> self ik-handle-pos v1-2 quad) (-> self root trans quad)) + (set! (-> self ik-handle-y v1-2) (-> self root trans y)) ) (ja-channel-push! 1 (seconds 0.1)) (until #f @@ -481,7 +469,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -519,7 +507,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -596,7 +584,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -609,7 +597,7 @@ :trans (behavior () (when (and (< (- (current-time) (-> self lightning-timer)) (seconds 3)) (< (-> self spawn-timer) (current-time))) (let ((s5-0 *mammoth-lightning-joint-tbl*)) - (mammoth-method-185 self (-> self root-override2 trans) (-> s5-0 (get-rand-int self (-> s5-0 length)))) + (mammoth-method-185 self (-> self root trans) (-> s5-0 (get-rand-int self (-> s5-0 length)))) ) (set! (-> self spawn-timer) (+ (current-time) (the int (* 300.0 (get-rand-float-range self 0.0 0.1))))) ) @@ -655,12 +643,12 @@ :event mammoth-walk-handler :enter (behavior () (next-path-index) - (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> gp-0 y) 0.0) (vector-xz-normalize! gp-0 1.0) - (vector-! s5-0 (-> self move-pos 1) (-> self root-override2 trans)) + (vector-! s5-0 (-> self move-pos 1) (-> self root trans)) (set! (-> s5-0 y) 0.0) (vector-xz-normalize! s5-0 1.0) (set! (-> self turn-angle) (deg- (vector-y-angle s5-0) (vector-y-angle gp-0))) @@ -717,8 +705,8 @@ (ja-channel-push! 1 (seconds 0.1)) (when (!= (-> self turn-anim-start) -1) (let ((gp-0 (-> self draw art-group data (-> self turn-anim-start)))) - (let ((v1-7 (vector-z-quaternion! (-> self root-override2 transv) (-> self root-override2 quat))) - (a0-6 (-> self root-override2 trans)) + (let ((v1-7 (vector-z-quaternion! (-> self root transv) (-> self root quat))) + (a0-6 (-> self root trans)) ) (set! (-> (new 'stack-no-clear 'vector) quad) (-> a0-6 quad)) (vector+float*! (new 'stack-no-clear 'vector) a0-6 v1-7 (-> self turn-move-start)) @@ -754,8 +742,8 @@ ) (when (!= (-> self turn-anim-end) -1) (let ((gp-1 (-> self draw art-group data (-> self turn-anim-end)))) - (let ((v1-68 (vector-z-quaternion! (-> self root-override2 transv) (-> self root-override2 quat))) - (a0-23 (-> self root-override2 trans)) + (let ((v1-68 (vector-z-quaternion! (-> self root transv) (-> self root quat))) + (a0-23 (-> self root trans)) ) (set! (-> (new 'stack-no-clear 'vector) quad) (-> a0-23 quad)) (vector+float*! (new 'stack-no-clear 'vector) a0-23 v1-68 (-> self turn-move-end)) @@ -861,10 +849,7 @@ (let ((s1-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data arg1))) (s2-0 (new 'stack-no-clear 'vector)) ) - (let ((s4-1 - (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) 16384.0) - ) - ) + (let ((s4-1 (vector-normalize! (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) 16384.0))) (vector-! s2-0 s1-0 arg0) (set! (-> s2-0 y) 0.0) (vector-xz-normalize! s2-0 49152.0) @@ -949,15 +934,12 @@ (with-pp (the-as pat-surface - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) - (set! (-> obj root-override2 ground-pat) (-> arg0 best-other-tri pat)) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) + (set! (-> obj root ground-pat) (-> arg0 best-other-tri pat)) (let ((s3-0 (new 'stack-no-clear 'collide-query))) - (let ((s2-1 - (vector-! (new 'stack-no-clear 'vector) (-> obj root-override2 gspot-pos) (-> obj root-override2 trans)) - ) - ) + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) (-> obj root gspot-pos) (-> obj root trans)))) (vector-normalize! s2-1 1.0) - (vector+float*! (-> s3-0 start-pos) (-> obj root-override2 gspot-pos) s2-1 -4096.0) + (vector+float*! (-> s3-0 start-pos) (-> obj root gspot-pos) s2-1 -4096.0) (vector-float*! (-> s3-0 move-dist) s2-1 8192.0) ) (let ((v1-9 s3-0)) @@ -965,7 +947,7 @@ (set! (-> v1-9 collide-with) arg1) (set! (-> v1-9 ignore-process0) obj) (set! (-> v1-9 ignore-process1) #f) - (set! (-> v1-9 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-9 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-9 action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* s3-0) @@ -988,13 +970,13 @@ ) (vector-normalize-copy! (-> obj gspot-normal) s4-1 1.0) ) - (let ((f0-4 (-> obj root-override2 gspot-pos y))) + (let ((f0-4 (-> obj root gspot-pos y))) (if (= (-> obj y-level) -40959590.0) (set! (-> obj y-level) f0-4) (seek! (-> obj y-level) f0-4 (* 8192.0 (-> pp clock seconds-per-frame))) ) ) - (set! (-> obj root-override2 gspot-pos y) (-> obj y-level)) + (set! (-> obj root gspot-pos y) (-> obj y-level)) (set! (-> arg0 best-other-tri intersect y) (-> obj y-level)) #t ) @@ -1008,11 +990,11 @@ (defmethod mammoth-method-183 mammoth ((obj mammoth)) (with-pp (cond - ((= (-> obj root-override2 gspot-pos y) -40959590.0) + ((= (-> obj root gspot-pos y) -40959590.0) (quaternion-copy! (-> obj tilt-quat) *unity-quaternion*) ) (else - (let ((s1-0 (-> obj root-override2 trans)) + (let ((s1-0 (-> obj root trans)) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> obj gspot-normal quad)) @@ -1054,7 +1036,7 @@ ) (vector-normalize! s5-0 1.0) (let ((s4-1 (new 'stack-no-clear 'quaternion))) - (let ((s0-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)))) + (let ((s0-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (set! (-> s0-1 y) 0.0) (vector-xz-normalize! s0-1 1.0) (vector-rotate-y! s5-0 s5-0 (- (vector-y-angle s0-1))) @@ -1089,7 +1071,7 @@ (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (let ((s2-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as mammoth s0-0) root-override2 quat))) + (let ((s2-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as mammoth s0-0) root quat))) (s1-0 (new 'stack-no-clear 'vector)) ) (set! (-> s1-0 quad) (-> (the-as mammoth s0-0) my-up-vector quad)) @@ -1256,7 +1238,7 @@ ) (init-vf0-vector) (let ((gp-0 (new 'stack-no-clear 'collide-query)) - (s5-0 (-> self root-override2)) + (s5-0 (-> self root)) ) (dotimes (s4-0 4) (let ((s3-0 (-> self joint-ik s4-0))) @@ -1367,7 +1349,7 @@ (set! (-> s3-0 user-normal quad) (-> s1-0 quad)) ) (else - (set! (-> s0-0 y) (-> self root-override2 trans y)) + (set! (-> s0-0 y) (-> self root trans y)) (set! (-> s3-0 user-position quad) (-> s0-0 quad)) (set! (-> s3-0 user-normal quad) (-> *y-vector* quad)) ) @@ -1424,7 +1406,7 @@ ) (set! (-> s4-0 quad) (-> v1-8 quad)) (let ((s2-0 (new 'stack-no-clear 'collide-query)) - (f30-0 (- (- (-> s4-0 y) (-> s3-0 ground-dist)) (-> obj root-override2 trans y))) + (f30-0 (- (- (-> s4-0 y) (-> s3-0 ground-dist)) (-> obj root trans y))) ) (when #t (let ((a1-5 (-> s2-0 bbox)) @@ -1545,10 +1527,10 @@ (set! (-> s2-0 move-dist y) -40960.0) (let ((v1-27 s2-0)) (set! (-> v1-27 radius) 2048.0) - (set! (-> v1-27 collide-with) (-> obj enemy-info-override gnd-collide-with)) + (set! (-> v1-27 collide-with) (-> obj enemy-info gnd-collide-with)) (set! (-> v1-27 ignore-process0) obj) (set! (-> v1-27 ignore-process1) #f) - (set! (-> v1-27 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-27 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-27 action-mask) (collide-action solid)) ) (if (>= (fill-and-probe-using-line-sphere *collide-cache* s2-0) 0.0) @@ -1572,7 +1554,7 @@ (let ((s5-2 *target*)) (when s5-2 (let* ((v1-47 (get-trans s5-2 0)) - (s0-1 (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root-override2 trans))) + (s0-1 (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root trans))) ) (when (< (vector-length s0-1) 57344.0) (let ((s4-1 (new 'stack-no-clear 'event-message-block))) @@ -1588,7 +1570,7 @@ (set! (-> s3-1 id) a1-12) ) (set! (-> s3-1 vector quad) - (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root-override2 trans)) 1.0) quad) + (-> (vector-normalize! (vector-! (new 'stack-no-clear 'vector) v1-47 (-> obj root trans)) 1.0) quad) ) (set! (-> s3-1 shove-back) 24576.0) (set! (-> s3-1 shove-up) 12288.0) @@ -1601,7 +1583,7 @@ ) (send-event-function s5-2 s4-1) ) - (let ((s2-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s2-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s1-0 *mammoth-lightning-joint-tbl*) (s4-2 (new 'stack-no-clear 'array 'uint32 4)) (s3-2 0) @@ -1609,7 +1591,7 @@ (let ((f30-0 (vector-dot s0-1 s2-1))) (dotimes (s0-2 (-> s1-0 length)) (let* ((v0-9 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> s1-0 s0-2)))) - (f0-12 (vector-dot (vector-! (new 'stack-no-clear 'vector) v0-9 (-> obj root-override2 trans)) s2-1)) + (f0-12 (vector-dot (vector-! (new 'stack-no-clear 'vector) v0-9 (-> obj root trans)) s2-1)) ) (when (or (and (< 0.0 f0-12) (< 0.0 f30-0)) (and (< f0-12 0.0) (< f30-0 0.0))) (set! (-> s4-2 s3-2) (the-as uint (-> s1-0 s0-2))) @@ -1784,7 +1766,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-36 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-36 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1802,7 +1784,7 @@ ) (init-enemy-behaviour-and-stats! obj *mammoth-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) - (set-vector! (-> obj root-override2 scale) 1.5 1.5 1.5 1.0) + (set-vector! (-> obj root scale) 1.5 1.5 1.5 1.0) (set! (-> obj y-level) -40959590.0) (set! (-> obj foot-flags) (the-as uint 0)) (set! (-> obj old-foot-flags) (the-as uint 0)) @@ -1835,15 +1817,15 @@ (set! (-> obj path-index) 0) (set! (-> obj path-index-dir) 1) (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) - (get-point-in-path! (-> obj path) (-> obj root-override2 trans) 0.0 'interp) - (set! (-> obj move-pos 0 quad) (-> obj root-override2 trans quad)) - (set! (-> obj move-pos 1 quad) (-> obj root-override2 trans quad)) + (get-point-in-path! (-> obj path) (-> obj root trans) 0.0 'interp) + (set! (-> obj move-pos 0 quad) (-> obj root trans quad)) + (set! (-> obj move-pos 1 quad) (-> obj root trans quad)) (forward-up-nopitch->quaternion - (-> obj root-override2 quat) + (-> obj root quat) (vector-! (new 'stack-no-clear 'vector) (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) (the float (+ (-> obj path-index) 1)) 'interp) - (-> obj root-override2 trans) + (-> obj root trans) ) *up-vector* ) diff --git a/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc b/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc index 79a2904ac9..e33ed70fd6 100644 --- a/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc +++ b/test/decompiler/reference/jak2/levels/nest/mantis_REF.gc @@ -430,7 +430,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 20) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -516,19 +516,19 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) - (let ((v1-12 (-> self root-override2 root-prim))) + (let ((v1-12 (-> self root root-prim))) (set! (-> v1-12 prim-core collide-as) (collide-spec)) (set! (-> v1-12 prim-core collide-with) (collide-spec)) ) 0 (let ((gp-1 (new 'stack-no-clear 'collide-query))) - (if (enemy-above-ground? self gp-1 (-> self root-override2 trans) (collide-spec backgnd) 8192.0 81920.0 1024.0) + (if (enemy-above-ground? self gp-1 (-> self root trans) (collide-spec backgnd) 8192.0 81920.0 1024.0) (set! (-> self base-height) (-> gp-1 best-other-tri intersect y)) - (set! (-> self base-height) (-> self root-override2 trans y)) + (set! (-> self base-height) (-> self root trans y)) ) ) (let* ((gp-2 *target*) @@ -538,7 +538,7 @@ ) ) (when a0-5 - (let* ((gp-3 (-> self root-override2)) + (let* ((gp-3 (-> self root)) (s3-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans a0-5 0) (-> gp-3 trans)) 1.0)) (f0-2 (deg-diff (quaternion-y-angle (-> gp-3 quat)) (vector-y-angle s3-0))) ) @@ -550,7 +550,7 @@ ) :code (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) + (set! (-> gp-0 quad) (-> self root trans quad)) (set! (-> gp-0 y) (+ -18841.6 (-> gp-0 y))) (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) (when s5-0 @@ -614,7 +614,7 @@ :event (the-as (function process int symbol event-message-block object :behavior mantis) enemy-event-handler) :code (behavior () (look-at-target! self (enemy-flag lock-focus)) - (set! (-> self root-override2 trans y) (-> self base-height)) + (set! (-> self root trans y) (-> self base-height)) (ja-channel-push! 1 0) (ja-no-eval :group! mantis-ground-crawl-out-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim mantis-ground-crawl-out-ja) frames num-frames) -1))) @@ -624,9 +624,9 @@ (suspend) (ja :num! (seek!)) ) - (let ((v1-28 (-> self root-override2 root-prim))) - (set! (-> v1-28 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-28 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-28 (-> self root root-prim))) + (set! (-> v1-28 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-28 prim-core collide-with) (-> self root backup-collide-with)) ) (go-virtual hostile) (none) @@ -644,7 +644,7 @@ (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-0 enemy-flags)))) ) (set! (-> v1-0 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-0 enemy-flags)))) - (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info-override callback-info)) + (set! (-> v1-0 nav callback-info) (-> v1-0 enemy-info callback-info)) ) 0 (let ((v1-3 self)) @@ -653,8 +653,8 @@ 0 (look-at-target! self (enemy-flag lock-focus)) (set! (-> self state-time) (current-time)) - (set! (-> self root-override2 trans y) (+ -18841.6 (-> self base-height))) - (let ((gp-0 (-> self root-override2))) + (set! (-> self root trans y) (+ -18841.6 (-> self base-height))) + (let ((gp-0 (-> self root))) (let ((v1-11 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> gp-0 quat)))) (vector-reset! (-> gp-0 transv)) (set! (-> v1-11 y) 0.0) @@ -670,7 +670,7 @@ :num! (seek! (the float (+ (-> (the-as art-joint-anim mantis-ground-jump-out-ja) frames num-frames) -1))) ) (until #f - (if (< (-> self base-height) (-> self root-override2 trans y)) + (if (< (-> self base-height) (-> self root trans y)) (goto cfg-5) ) (suspend) @@ -679,10 +679,10 @@ #f (until #f (label cfg-5) - (when (< (+ 819.2 (-> self base-height)) (-> self root-override2 trans y)) - (let ((v1-32 (-> self root-override2 root-prim))) - (set! (-> v1-32 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-32 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (< (+ 819.2 (-> self base-height)) (-> self root trans y)) + (let ((v1-32 (-> self root root-prim))) + (set! (-> v1-32 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-32 prim-core collide-with) (-> self root backup-collide-with)) ) (goto cfg-9) ) @@ -692,10 +692,10 @@ #f (until #f (label cfg-9) - (if (or (and (>= (fabs (* 4096.0 (-> self clock seconds-per-frame))) (-> self root-override2 transv y)) - (>= (-> self base-height) (-> self root-override2 trans y)) + (if (or (and (>= (fabs (* 4096.0 (-> self clock seconds-per-frame))) (-> self root transv y)) + (>= (-> self base-height) (-> self root trans y)) ) - (logtest? (-> self root-override2 status) (collide-status on-ground)) + (logtest? (-> self root status) (collide-status on-ground)) ) (goto cfg-24) ) @@ -717,7 +717,7 @@ ) (let ((gp-0 (current-time))) (until (>= (- (current-time) gp-0) (seconds 1)) - (if (logtest? (-> self root-override2 status) (collide-status on-ground)) + (if (logtest? (-> self root status) (collide-status on-ground)) (goto cfg-32) ) (suspend) @@ -754,7 +754,7 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 (let* ((s4-0 (-> self focus-pos)) - (s5-1 (vector-! (new 'stack-no-clear 'vector) s4-0 (-> self root-override2 trans))) + (s5-1 (vector-! (new 'stack-no-clear 'vector) s4-0 (-> self root trans))) ) (let ((s2-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable gp-0) 0))) (s1-0 s5-1) @@ -836,7 +836,7 @@ :exit (behavior () (change-to (nav-mesh-from-res-tag (-> self entity) 'nav-mesh-actor 0) self) (let ((v1-2 (-> self nav))) - (set! (-> v1-2 max-rotation-rate) (-> self enemy-info-override maximum-rotation-rate)) + (set! (-> v1-2 max-rotation-rate) (-> self enemy-info maximum-rotation-rate)) ) 0 (none) @@ -872,9 +872,9 @@ (go-virtual idle) ) (else - (let* ((s5-0 (-> self root-override2 trans)) + (let* ((s5-0 (-> self root trans)) (s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) s5-0)) - (s0-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (s0-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s2-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) @@ -932,7 +932,7 @@ (set! (-> v1-73 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-73 enemy-flags)))) ) (set! (-> v1-73 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-73 enemy-flags)))) - (set! (-> v1-73 nav callback-info) (-> v1-73 enemy-info-override callback-info)) + (set! (-> v1-73 nav callback-info) (-> v1-73 enemy-info callback-info)) ) 0 (dotimes (gp-2 (get-rand-int-range self 3 5)) @@ -947,7 +947,7 @@ (if (and (>= (- (current-time) (-> self attack-timer)) (seconds 5)) (< 1 (the-as int (-> self focus aware)))) (go-virtual hostile) ) - (if (< (vector-vector-xz-distance (-> self root-override2 trans) (-> self move-dest)) 13107.2) + (if (< (vector-vector-xz-distance (-> self root trans) (-> self move-dest)) 13107.2) (goto cfg-38) ) ) @@ -970,7 +970,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (set! (-> self attack-timer) (current-time)) @@ -1020,7 +1020,7 @@ (set! (-> v1-63 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-63 enemy-flags)))) ) (set! (-> v1-63 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-63 enemy-flags)))) - (set! (-> v1-63 nav callback-info) (-> v1-63 enemy-info-override callback-info)) + (set! (-> v1-63 nav callback-info) (-> v1-63 enemy-info callback-info)) ) 0 (go-hostile self) @@ -1059,7 +1059,7 @@ (let ((a0-5 (handle->process (-> self focus handle)))) (if a0-5 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-5) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1074,7 +1074,7 @@ (set! (-> v1-36 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-36 enemy-flags)))) ) (set! (-> v1-36 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-36 enemy-flags)))) - (set! (-> v1-36 nav callback-info) (-> v1-36 enemy-info-override callback-info)) + (set! (-> v1-36 nav callback-info) (-> v1-36 enemy-info callback-info)) ) 0 (logior! (-> self focus-status) (focus-status dangerous)) @@ -1113,7 +1113,7 @@ (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-102 enemy-flags)))) ) (set! (-> v1-102 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-102 enemy-flags)))) - (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info-override callback-info)) + (set! (-> v1-102 nav callback-info) (-> v1-102 enemy-info callback-info)) ) 0 (go-hostile self) @@ -1127,16 +1127,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior mantis) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 0.0) - (vector-normalize! (-> self root-override2 transv) -88064.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 0.0) + (vector-normalize! (-> self root transv) -88064.0) (let ((v1-6 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-6 enemy-flags))) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.2)) @@ -1169,18 +1169,18 @@ (let ((a0-0 self)) (when (logtest? (enemy-flag enemy-flag36) (-> a0-0 enemy-flags)) (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new 'stack-no-clear 'vector) 0.0) + (-> self root transv) + (compute-acc-due-to-gravity (-> self root) (new 'stack-no-clear 'vector) 0.0) ) (let ((a2-1 (new 'stack-no-clear 'collide-query)) - (a0-5 (-> self root-override2)) + (a0-5 (-> self root)) ) (set! (-> a2-1 collide-with) (-> a0-5 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) (set! (-> a2-1 ignore-process1) #f) (set! (-> a2-1 ignore-pat) (-> a0-5 pat-ignore-mask)) (set! (-> a2-1 action-mask) (collide-action solid)) - (fill-cache-integrate-and-collide a0-5 (-> self root-override2 transv) a2-1 (meters 0)) + (fill-cache-integrate-and-collide a0-5 (-> self root transv) a2-1 (meters 0)) ) ) ) @@ -1194,16 +1194,16 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior mantis) enemy-event-handler) :code (behavior () - (vector-reset! (-> self root-override2 transv)) - (vector-x-quaternion! (-> self root-override2 transv) (-> self root-override2 quat)) - (set! (-> self root-override2 transv y) 27443.2) - (vector-xz-normalize! (-> self root-override2 transv) 102400.0) + (vector-reset! (-> self root transv)) + (vector-x-quaternion! (-> self root transv) (-> self root quat)) + (set! (-> self root transv y) 27443.2) + (vector-xz-normalize! (-> self root transv) 102400.0) (let ((v1-7 self)) (if (not (logtest? (enemy-flag enemy-flag36) (-> v1-7 enemy-flags))) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-7 enemy-flags)))) ) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-7 enemy-flags)))) - (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info-override callback-info)) + (set! (-> v1-7 nav callback-info) (-> v1-7 enemy-info callback-info)) ) 0 (ja-channel-push! 1 (seconds 0.067)) @@ -1247,7 +1247,7 @@ (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-6 enemy-flags)))) ) (set! (-> v1-6 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-6 enemy-flags)))) - (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info-override callback-info)) + (set! (-> v1-6 nav callback-info) (-> v1-6 enemy-info callback-info)) ) 0 (nav-enemy-method-165 self) @@ -1277,7 +1277,7 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 (let* ((v1-5 (-> self focus-pos)) - (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> self root-override2 trans))) + (s5-1 (vector-! (new 'stack-no-clear 'vector) v1-5 (-> self root trans))) ) (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable gp-0) 0)))) (if (and (>= (vector-length s5-1) 122880.0) (mantis-method-194 self)) @@ -1370,7 +1370,7 @@ ) ) (zero? (get-rand-int obj 3)) - (let ((f0-0 (vector-vector-distance-squared (-> obj root-override2 trans) (target-pos 0))) + (let ((f0-0 (vector-vector-distance-squared (-> obj root trans) (target-pos 0))) (f1-0 32768.0) ) (>= f0-0 (* f1-0 f1-0)) @@ -1484,11 +1484,11 @@ (defmethod enemy-method-125 mantis ((obj mantis) (arg0 collide-query) (arg1 collide-spec) (arg2 float) (arg3 float) (arg4 float)) (the-as pat-surface - (when (find-ground (-> obj root-override2) arg0 arg1 arg2 arg3 arg4) - (set! (-> obj root-override2 ground-pat) (-> arg0 best-other-tri pat)) + (when (find-ground (-> obj root) arg0 arg1 arg2 arg3 arg4) + (set! (-> obj root ground-pat) (-> arg0 best-other-tri pat)) (when (>= (- (current-time) (-> obj gspot-timer)) (seconds 0.2)) (let ((a1-2 (new 'stack-no-clear 'collide-query))) - (set! (-> a1-2 start-pos quad) (-> obj root-override2 gspot-pos quad)) + (set! (-> a1-2 start-pos quad) (-> obj root gspot-pos quad)) (set! (-> a1-2 start-pos y) (+ 2048.0 (-> a1-2 start-pos y))) (set-vector! (-> a1-2 move-dist) 0.0 -6144.0 0.0 0.0) (let ((v1-10 a1-2)) @@ -1496,7 +1496,7 @@ (set! (-> v1-10 collide-with) arg1) (set! (-> v1-10 ignore-process0) obj) (set! (-> v1-10 ignore-process1) #f) - (set! (-> v1-10 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-10 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-10 action-mask) (collide-action solid)) ) (fill-using-line-sphere *collide-cache* a1-2) @@ -1533,8 +1533,8 @@ (gp-0 (new 'stack-no-clear 'vector)) ) (the-as symbol (and a0-2 - (nav-mesh-method-10 a0-2 gp-0 (-> obj root-override2 trans) (the-as nav-poly #f)) - (< (vector-vector-xz-distance gp-0 (-> obj root-override2 trans)) 2048.0) + (nav-mesh-method-10 a0-2 gp-0 (-> obj root trans) (the-as nav-poly #f)) + (< (vector-vector-xz-distance gp-0 (-> obj root trans)) 2048.0) ) ) ) @@ -1546,11 +1546,11 @@ (defmethod mantis-method-193 mantis ((obj mantis) (arg0 vector)) (with-pp (cond - ((= (-> obj root-override2 gspot-pos y) -40959590.0) + ((= (-> obj root gspot-pos y) -40959590.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (quaternion-set! (-> obj root-override2 quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) - (quaternion-normalize! (-> obj root-override2 quat)) + (quaternion-set! (-> obj root quat) 0.0 (-> arg0 x) 0.0 (+ 1.0 (-> arg0 z))) + (quaternion-normalize! (-> obj root quat)) ) (else (let ((s4-0 (new 'stack-no-clear 'vector))) @@ -1564,7 +1564,7 @@ (vector-normalize! s3-1 1.0) (set! (-> arg0 y) 0.0) (vector-normalize! arg0 1.0) - (forward-up-nopitch->quaternion (-> obj root-override2 quat) arg0 s3-1) + (forward-up-nopitch->quaternion (-> obj root quat) arg0 s3-1) ) ) ) @@ -1616,8 +1616,8 @@ ;; definition for method 187 of type mantis ;; WARN: Return type mismatch object vs none. (defmethod mantis-method-187 mantis ((obj mantis)) - (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) - (s4-0 (-> obj root-override2)) + (let ((s3-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) + (s4-0 (-> obj root)) (s5-0 (lambda ((arg0 mantis) (arg1 collide-shape-moving) (arg2 vector)) (let ((s3-0 (new 'stack-no-clear 'vector)) (f30-0 (vector-length arg2)) @@ -1638,7 +1638,7 @@ ) ((let ((a1-5 (new 'stack-no-clear 'vector))) (set! (-> a1-5 quad) (-> s3-0 quad)) - (set! (-> a1-5 w) (-> arg0 root-override2 nav-radius)) + (set! (-> a1-5 w) (-> arg0 root nav-radius)) (add-root-sphere-to-hash! (-> arg0 nav) a1-5 1134) ) #f @@ -1692,7 +1692,7 @@ (let ((s5-0 (handle->process (-> obj focus handle)))) (when s5-0 (let* ((v1-4 (-> obj focus-pos)) - (s4-1 (vector-! (new 'stack-no-clear 'vector) v1-4 (-> obj root-override2 trans))) + (s4-1 (vector-! (new 'stack-no-clear 'vector) v1-4 (-> obj root trans))) ) (let ((s2-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s5-0) 0))) (s1-0 s4-1) @@ -1722,9 +1722,7 @@ (defmethod go-stare mantis ((obj mantis)) (let ((a0-2 (handle->process (-> obj focus handle)))) (if (and a0-2 - (and (< 81920.0 - (vector-vector-xz-distance (-> obj root-override2 trans) (get-trans (the-as process-focusable a0-2) 0)) - ) + (and (< 81920.0 (vector-vector-xz-distance (-> obj root trans) (get-trans (the-as process-focusable a0-2) 0))) (mantis-method-194 obj) ) ) @@ -1818,7 +1816,7 @@ (s3-1 (lambda ((arg0 mantis) (arg1 vector) (arg2 float) (arg3 float) (arg4 vector)) (local-vars (v0-3 vector)) - (let* ((s3-0 (-> arg0 root-override2 trans)) + (let* ((s3-0 (-> arg0 root trans)) (a0-2 (vector-rotate-y! (new 'stack-no-clear 'vector) arg1 arg3)) (s5-1 (vector+float*! (new 'stack-no-clear 'vector) s3-0 a0-2 arg2)) (s2-0 (new 'stack-no-clear 'vector)) @@ -1839,7 +1837,7 @@ (let ((a1-7 (new 'stack-no-clear 'collide-query))) (set! (-> a1-7 start-pos quad) (-> s3-0 quad)) (set! (-> a1-7 move-dist quad) (-> s2-0 quad)) - (+! (-> a1-7 start-pos y) (* 1.5 (-> arg0 enemy-info-override jump-height-min))) + (+! (-> a1-7 start-pos y) (* 1.5 (-> arg0 enemy-info jump-height-min))) (let ((v1-17 a1-7)) (set! (-> v1-17 radius) 409.6) (set! (-> v1-17 collide-with) (collide-spec backgnd)) @@ -1849,7 +1847,7 @@ (set! (-> v1-17 action-mask) (collide-action solid)) ) (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-7) 0.0) - (set! (-> s5-1 w) (-> arg0 root-override2 nav-radius)) + (set! (-> s5-1 w) (-> arg0 root nav-radius)) (when (not (add-root-sphere-to-hash! (-> arg0 nav) s5-1 #x8046e)) (set! (-> arg4 quad) (-> s5-1 quad)) (return arg4) @@ -1918,7 +1916,7 @@ (when (or (zero? v1-0) (= v1-0 1) (= v1-0 2) (= v1-0 3)) (let ((a0-4 obj)) (when (logtest? (enemy-flag enemy-flag37) (-> a0-4 enemy-flags)) - (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg1 vertex2) (-> obj root-override2 trans)))) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg1 vertex2) (-> obj root trans)))) (vector-normalize! s5-1 1.0) (let ((v1-5 (-> obj jump direction))) (cond @@ -1935,7 +1933,7 @@ ) ) ) - (seek-toward-heading-vec! (-> obj root-override2) s5-1 (-> obj nav max-rotation-rate) (seconds 0.02)) + (seek-toward-heading-vec! (-> obj root) s5-1 (-> obj nav max-rotation-rate) (seconds 0.02)) ) ) ) @@ -2072,7 +2070,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-29 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-29 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) diff --git a/test/decompiler/reference/jak2/levels/palace/boss/squid-extras_REF.gc b/test/decompiler/reference/jak2/levels/palace/boss/squid-extras_REF.gc index b63b679092..0d37bd4dfe 100644 --- a/test/decompiler/reference/jak2/levels/palace/boss/squid-extras_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/boss/squid-extras_REF.gc @@ -77,7 +77,7 @@ :code (the-as (function none :behavior squid-tentacle) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -95,7 +95,7 @@ :code (the-as (function none :behavior squid-tentacle) sleep-code) :post (behavior () (transform-post) - (do-push-aways (-> self root-override)) + (do-push-aways (-> self root)) (none) ) ) @@ -117,8 +117,8 @@ ) ) (let ((gp-1 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-1 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-1 spawn-quat) (-> self root-override quat)) + (set! (-> gp-1 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-1 spawn-quat) (-> self root quat)) (set! (-> gp-1 radius) 16384.0) (set! (-> gp-1 group) (-> *part-group-id-table* 1121)) (set! (-> gp-1 collide-with) @@ -194,10 +194,10 @@ ) ) ) - (vector-! (-> arg0 root-override transv) s5-0 (-> arg0 root-override trans)) + (vector-! (-> arg0 root transv) s5-0 (-> arg0 root trans)) ) - (let ((v1-33 (-> arg0 root-override transv))) - (.lvf vf1 (&-> (-> arg0 root-override transv) quad)) + (let ((v1-33 (-> arg0 root transv))) + (.lvf vf1 (&-> (-> arg0 root transv) quad)) (let ((f0-28 (-> pp clock frames-per-second))) (.mov at-0 f0-28) ) @@ -206,17 +206,17 @@ (.mul.x.vf vf1 vf1 vf2 :mask #b111) (.svf (&-> v1-33 quad) vf1) ) - (let* ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> arg0 root-override quat))) - (a2-6 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root-override transv) 1.0)) + (let* ((s5-1 (quaternion->matrix (new 'stack-no-clear 'matrix) (-> arg0 root quat))) + (a2-6 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root transv) 1.0)) (a1-16 (quaternion-from-two-vectors! (new 'stack-no-clear 'quaternion) (-> s5-1 vector 2) a2-6)) ) - (quaternion-normalize! (quaternion*! (-> arg0 root-override quat) a1-16 (-> arg0 root-override quat))) + (quaternion-normalize! (quaternion*! (-> arg0 root quat) a1-16 (-> arg0 root quat))) ) (projectile-move-fill-line-sphere arg0) - (if (logtest? (-> arg0 root-override status) (collide-status touch-surface)) + (if (logtest? (-> arg0 root status) (collide-status touch-surface)) (go (method-of-object arg0 impact)) ) - (sound-play "sqd-missl-trail" :id (-> arg0 fly-sound) :position (-> arg0 root-override trans)) + (sound-play "sqd-missl-trail" :id (-> arg0 fly-sound) :position (-> arg0 root trans)) 0 (none) ) @@ -280,9 +280,9 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 1)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) (initialize-skeleton @@ -315,16 +315,16 @@ (set! (-> obj stop-speed) 4.096) (set! (-> obj fly-sound) (new-sound-id)) (set! (-> obj traj-timer) (current-time)) - (vector+! (-> obj traj-dest) (-> obj root-override trans) (-> obj root-override transv)) + (vector+! (-> obj traj-dest) (-> obj root trans) (-> obj root transv)) (set! (-> obj traj-duration) - (fmax 600.0 (* 0.0018310547 (vector-vector-xz-distance (-> obj root-override trans) (-> obj traj-dest)))) + (fmax 600.0 (* 0.0018310547 (vector-vector-xz-distance (-> obj root trans) (-> obj traj-dest)))) ) (+! (-> obj traj-duration) (* 75.0 (rand-vu))) (let ((f0-8 32768.0)) - (if (< (-> obj root-override trans y) (-> obj traj-dest y)) - (+! f0-8 (- (-> obj traj-dest y) (-> obj root-override trans y))) + (if (< (-> obj root trans y) (-> obj traj-dest y)) + (+! f0-8 (- (-> obj traj-dest y) (-> obj root trans y))) ) - (setup-from-to-duration-and-height! (-> obj traj) (-> obj root-override trans) (-> obj traj-dest) 1.0 f0-8) + (setup-from-to-duration-and-height! (-> obj traj) (-> obj root trans) (-> obj traj-dest) 1.0 f0-8) ) (none) ) diff --git a/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc b/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc index fa47bdc58e..b6322a2f87 100644 --- a/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/boss/squid-setup_REF.gc @@ -146,7 +146,7 @@ ;; definition of type squid-tentacle (deftype squid-tentacle (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (chain-joints squid-tentacle-chain 11 :inline :offset-assert 208) (gravity vector :inline :offset-assert 912) (gravity-target vector :inline :offset-assert 928) @@ -1386,9 +1386,9 @@ (set! (-> s4-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> self root-override) (the-as collide-shape-moving s4-0)) + (set! (-> self root) (the-as collide-shape-moving s4-0)) ) - (set! (-> self root-override trans quad) (-> arg0 quad)) + (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-squid-tentacle" (the-as (pointer uint32) #f))) @@ -1467,7 +1467,7 @@ (let ((gp-0 (new 'stack-no-clear 'vector))) (when arg0 (let ((a1-1 (-> arg0 head))) - (get-intersect-point gp-0 a1-1 (-> self root-override) arg0) + (get-intersect-point gp-0 a1-1 (-> self root) arg0) ) ) (when arg2 @@ -1505,7 +1505,7 @@ ) (if (logtest? (attack-info-mask attacker-velocity) (-> arg1 mask)) (set! (-> gp-0 quad) (-> arg1 attacker-velocity quad)) - (vector-! gp-0 (-> self root-override trans) gp-0) + (vector-! gp-0 (-> self root trans) gp-0) ) (vector-normalize-copy! (-> self hit-reaction vel) gp-0 1.0) ) @@ -2042,7 +2042,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-56 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -2054,22 +2054,22 @@ This commonly includes things such as: (logior! (-> obj skel status) (joint-control-status sync-math)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! (-> obj trans quad) (-> obj root-override trans quad)) + (set! (-> obj trans quad) (-> obj root trans quad)) (set! (-> obj force-onto-mesh) #t) (set! (-> obj mesh-forced) #f) - (quaternion-copy! (-> obj quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj quat) (-> obj root quat)) (dotimes (s5-2 6) (set! (-> obj tentacles s5-2) - (ppointer->handle (process-spawn squid-tentacle (-> obj root-override trans) s5-2 :to obj)) + (ppointer->handle (process-spawn squid-tentacle (-> obj root trans) s5-2 :to obj)) ) ) - (set! (-> obj baron) (the-as squid-baron (process-spawn squid-baron (-> obj root-override trans) :to obj))) + (set! (-> obj baron) (the-as squid-baron (process-spawn squid-baron (-> obj root trans) :to obj))) (set! (-> obj driver) (process-spawn squid-driver "driver-" :to obj)) (init (-> obj driver-blend) 0.0 0.0025 0.025 0.5) (set-params! (-> obj hit-reaction) (the-as vector #f) 0.2 1.0 0.5) (let ((s5-6 (vector+! (new 'stack-no-clear 'vector) - (-> obj root-override trans) + (-> obj root trans) (new 'static 'vector :x -20480.0 :y 23388.16 :z 143360.0) ) ) @@ -2674,7 +2674,7 @@ This commonly includes things such as: ) (matrix-identity! s4-0) (send-event (ppointer->process (-> obj driver)) 'matrix s4-0) - (vector+float*! (-> obj root-override trans) (-> obj trans) (-> s4-0 trans) f30-1) + (vector+float*! (-> obj root trans) (-> obj trans) (-> s4-0 trans) f30-1) (matrix->quaternion (the-as quaternion s5-1) s4-0) (cond ((< (-> s5-1 w) (cos 1.8204443)) @@ -2684,20 +2684,15 @@ This commonly includes things such as: (vector-float*! s5-1 s5-1 (/ (sin f30-2) (sin f28-1))) (set! (-> s5-1 w) (cos f30-2)) ) - (quaternion-normalize! (quaternion*! (-> obj root-override quat) (the-as quaternion s5-1) (-> obj quat))) + (quaternion-normalize! (quaternion*! (-> obj root quat) (the-as quaternion s5-1) (-> obj quat))) ) (else - (quaternion-copy! (-> obj root-override quat) (-> obj quat)) + (quaternion-copy! (-> obj root quat) (-> obj quat)) ) ) ) (update! (-> obj hit-reaction) (the-as vector #f)) - (vector+float*! - (-> obj root-override trans) - (-> obj root-override trans) - (the-as vector (-> obj hit-reaction)) - 4096.0 - ) + (vector+float*! (-> obj root trans) (-> obj root trans) (the-as vector (-> obj hit-reaction)) 4096.0) (update! (-> obj tentacle-base-rotation-speed) 0.0) (let ((f0-14 (+ (-> obj tentacle-base-rotation) (* 910.2222 (-> obj tentacle-base-rotation-speed value))))) (set! (-> obj tentacle-base-rotation) (- f0-14 (* (the float (the int (/ f0-14 65536.0))) 65536.0))) @@ -2732,7 +2727,7 @@ This commonly includes things such as: (remove-setting! 'point-of-interest) ) (transform-post) - (do-push-aways (-> obj root-override)) + (do-push-aways (-> obj root)) (dotimes (s5-4 10) (let ((a0-46 (handle->process (-> obj grenade s5-4 marker)))) (when a0-46 @@ -2773,7 +2768,7 @@ This commonly includes things such as: ) ) ) - (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root-override trans)) + (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root trans)) (set! v0-33 #t) (set! (-> obj tentacle-sound-playing) (the-as symbol v0-33)) v0-33 @@ -2784,7 +2779,7 @@ This commonly includes things such as: (sound-play "tentacles-up") ) ((-> obj tentacle-sound-playing) - (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root-override trans)) + (sound-play "tentacles1" :id (-> obj tentacle-sound) :position (-> obj root trans)) ) ) ) @@ -2792,7 +2787,7 @@ This commonly includes things such as: (when (-> obj rush-sound-playing) (cond ((or (zero? (-> obj rush-end-time)) (< (- (current-time) (-> obj rush-end-time)) (seconds 0.1))) - (the-as int (sound-play "squid-rush" :id (-> obj rush-sound) :position (-> obj root-override trans))) + (the-as int (sound-play "squid-rush" :id (-> obj rush-sound) :position (-> obj root trans))) ) (else (sound-stop (-> obj rush-sound)) @@ -2840,7 +2835,7 @@ This commonly includes things such as: (the int (* 1524.0 f30-6)) 0 (sound-group sfx) - (-> obj root-override trans) + (-> obj root trans) ) ) (set! (-> obj jet-sound-playing) #t) @@ -2891,7 +2886,7 @@ This commonly includes things such as: (set! (-> obj shield-shattered) #t) (sound-play "sqd-shield-brk") (let ((s4-10 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> s4-10 fountain-rand-transv-lo quad) (-> obj root-override trans quad)) + (set! (-> s4-10 fountain-rand-transv-lo quad) (-> obj root trans quad)) (set! (-> s4-10 fountain-rand-transv-lo y) (+ -12288.0 (-> s4-10 fountain-rand-transv-lo y))) (set! (-> s4-10 fountain-rand-transv-hi x) 16424.96) (set! (-> s4-10 fountain-rand-transv-hi y) 32808.96) @@ -3004,12 +2999,12 @@ This commonly includes things such as: ) (let ((s3-0 (new 'stack-no-clear 'vector))) (send-event (handle->process (-> obj tentacles 0)) 'get-joint-pos 13 gp-0) - (vector-! s4-0 s4-0 (-> obj root-override trans)) + (vector-! s4-0 s4-0 (-> obj root trans)) (set! (-> s4-0 y) 0.0) (vector-normalize! s4-0 1.0) - (vector+float*! s3-0 (-> obj root-override trans) s4-0 16384.0) + (vector+float*! s3-0 (-> obj root trans) s4-0 16384.0) ) - (process-spawn squid-whirlwind gp-0 (-> obj root-override trans) (-> obj nav state mesh) s4-0 :to obj) + (process-spawn squid-whirlwind gp-0 (-> obj root trans) (-> obj nav state mesh) s4-0 :to obj) ) ) @@ -3102,7 +3097,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defun squid-shot-move ((arg0 squid-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector))) (vector-! s4-0 (-> arg0 tail-pos) (-> s5-0 trans)) (let ((f0-0 (vector-length s4-0))) @@ -3113,7 +3108,7 @@ This commonly includes things such as: ) ) (when (logtest? (-> s5-0 status) (collide-status touch-surface)) - (if (logtest? (-> arg0 root-override status) (collide-status touch-actor)) + (if (logtest? (-> arg0 root status) (collide-status touch-actor)) (set! (-> arg0 hit-actor?) #t) ) (go (method-of-object arg0 impact)) @@ -3129,14 +3124,14 @@ This commonly includes things such as: (defmethod init-proj-settings! squid-shot ((obj squid-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" (set! (-> obj hit-actor?) #f) - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'squid-shot) (set! (-> obj max-speed) 983040.0) (set! (-> obj move) squid-shot-move) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) (set! (-> obj timeout) (seconds 0.417)) (logior! (-> obj options) (projectile-options account-for-target-velocity)) - (set-gravity-length (-> obj root-override dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (set! (-> obj options) (logior (projectile-options respect-invinc-time) (-> obj options))) (set! (-> obj invinc-time) (seconds 3.5)) (none) @@ -3167,7 +3162,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod spawn-impact-particles squid-shot ((obj squid-shot)) "Spawns associated particles with the projectile if applicable" - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -3225,7 +3220,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles squid-shot ((obj squid-shot)) "TODO - confirm" - (let* ((s3-0 (-> obj root-override)) + (let* ((s3-0 (-> obj root)) (s4-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s3-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) diff --git a/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc b/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc index 913095c575..db76a42657 100644 --- a/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/boss/squid-states_REF.gc @@ -462,15 +462,15 @@ ((zero? v1-8) (get-point-at-percent-along-path! (-> self first-path) gp-0 f30-0 'interp) (if (and (-> self gate-intact) - (< (+ -2895.872 (-> *squid-first-pole* x)) (-> self root-override trans x)) - (< (+ -2895.872 (-> *squid-first-pole* z)) (-> self root-override trans z)) + (< (+ -2895.872 (-> *squid-first-pole* x)) (-> self root trans x)) + (< (+ -2895.872 (-> *squid-first-pole* z)) (-> self root trans z)) ) (go-through-wall) ) ) ((= v1-8 1) (get-point-at-percent-along-path! (-> self second-path) gp-0 f30-0 'interp) - (if (and (-> self gate-intact) (< (+ -4096.0 (-> *squid-second-pole* z)) (-> self root-override trans z))) + (if (and (-> self gate-intact) (< (+ -4096.0 (-> *squid-second-pole* z)) (-> self root trans z))) (go-through-wall) ) ) @@ -684,7 +684,7 @@ ) ) ) - (sound-play "squid-spin" :id (-> self spin-sound) :position (-> self root-override trans)) + (sound-play "squid-spin" :id (-> self spin-sound) :position (-> self root trans)) (set! (-> self spin-sound-playing) #t) (none) ) diff --git a/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc b/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc index ef778575ff..746e04adf2 100644 --- a/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/cable/palcab-obs_REF.gc @@ -55,7 +55,7 @@ ;; definition of type pal-electric-fan (deftype pal-electric-fan (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (poles pal-fan-pole 3 :inline :offset-assert 200) (no-collision-timer time-frame :offset 536) (sound-timer time-frame :offset-assert 544) @@ -113,15 +113,12 @@ ) (when (and gp-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> event param 0)) - (-> self root-override) + (-> self root) (the-as uint 1) ) ) - (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) - (let ((v1-5 - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root-override quat)) - ) - ) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) + (let ((v1-5 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> (the-as process-focusable gp-0) root quat)))) (if (< 0.0 (vector-dot s4-1 v1-5)) (vector-float*! s4-1 s4-1 -1.0) ) @@ -145,7 +142,7 @@ ) (when (send-event-function gp-0 a1-7) (set! (-> self no-collision-timer) (current-time)) - (let ((v1-19 (-> self root-override root-prim))) + (let ((v1-19 (-> self root root-prim))) (set! (-> v1-19 prim-core collide-as) (collide-spec)) (set! (-> v1-19 prim-core collide-with) (collide-spec)) ) @@ -169,9 +166,9 @@ (the-as time-frame (-> *TARGET-bank* hit-invulnerable-timeout)) ) ) - (let ((v1-7 (-> self root-override root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self no-collision-timer) 0) 0 @@ -188,7 +185,7 @@ (vf6 :class vf) ) (init-vf0-vector) - (let ((v1-0 (-> self root-override)) + (let ((v1-0 (-> self root)) (f30-0 4369.067) (f28-0 (* (-> self rotate-speed) (-> self clock seconds-per-frame))) (gp-0 (new 'stack-no-clear 'vector)) @@ -205,14 +202,14 @@ (s0-0 (-> s4-0 rings s3-0)) (s1-0 (quaternion-rotate-local-z! (new 'stack-no-clear 'quaternion) - (-> self root-override quat) + (-> self root quat) (+ (-> s4-0 z-rotate) (* 0.2 f28-0)) ) ) ) (set-vector! s2-0 0.0 (-> s0-0 dist) 0.0 1.0) (vector-orient-by-quat! s2-0 s2-0 s1-0) - (vector+! s2-0 s2-0 (-> self root-override trans)) + (vector+! s2-0 s2-0 (-> self root trans)) (set! sv-112 (new 'stack-no-clear 'vector)) (set! sv-128 (new 'stack-no-clear 'vector)) (set! sv-144 (-> s0-0 lightning)) @@ -334,7 +331,7 @@ This commonly includes things such as: ) ) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -415,7 +412,7 @@ This commonly includes things such as: ) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "fan-blade-motor" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "fan-blade-motor" :fo-max 70) (-> obj root trans)) ) (set! (-> obj sound-id) (new-sound-id)) (let ((a0-40 (-> obj skel root-channel 0))) @@ -430,7 +427,7 @@ This commonly includes things such as: ;; definition of type pal-cable-nut (deftype pal-cable-nut (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (sync sync-linear :inline :offset-assert 200) (init-quat quaternion :inline :offset-assert 224) (sound-played? symbol 2 :offset-assert 240) @@ -490,10 +487,7 @@ This commonly includes things such as: (cond ((< (-> self hold-percentage) f30-1) (when (< (-> self wiggle-percentage) f30-1) - (when (not (or (-> self sound-played? 0) - (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root-override trans))) - ) - ) + (when (not (or (-> self sound-played? 0) (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root trans))))) (sound-play "cab-nut-wiggle") (set! (-> self sound-played? 0) #t) (set! (-> self sound-played? 1) #f) @@ -501,7 +495,7 @@ This commonly includes things such as: (let ((f0-17 (* 182.04445 (sin (the float (sar (shl (the int (* 524288.0 f30-1)) 48) 48)))))) (* f0-17 (/ (- f30-1 (-> self wiggle-percentage)) (- 1.0 (-> self wiggle-percentage)))) (quaternion-rotate-local-z! - (-> self root-override quat) + (-> self root quat) (-> self init-quat) (the float (sar (shl (the int (+ 10922.667 f0-17 f28-0)) 48) 48)) ) @@ -509,15 +503,12 @@ This commonly includes things such as: ) ) (else - (when (not (or (-> self sound-played? 1) - (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root-override trans))) - ) - ) + (when (not (or (-> self sound-played? 1) (< 327680.0 (vector-vector-distance (ear-trans 0) (-> self root trans))))) (sound-play "cab-nut-turn") (set! (-> self sound-played? 1) #t) (set! (-> self sound-played? 0) #f) ) - (quaternion-rotate-local-z! (-> self root-override quat) (-> self init-quat) f26-0) + (quaternion-rotate-local-z! (-> self root quat) (-> self init-quat) f26-0) ) ) ) @@ -566,9 +557,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-18 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-18 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> obj root-override rider-max-momentum) 8192.0) + (set! (-> obj root rider-max-momentum) 8192.0) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -591,7 +582,7 @@ This commonly includes things such as: ) (set! (-> obj hold-percentage) 0.3) (set! (-> obj wiggle-percentage) 0.8) - (quaternion-copy! (-> obj init-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj init-quat) (-> obj root quat)) (let* ((f0-15 (* 6.0 (get-current-phase-no-mod (-> obj sync)))) (f1-4 (the float (the int f0-15))) (f0-16 (- f0-15 f1-4)) @@ -600,11 +591,11 @@ This commonly includes things such as: ) (if (< (-> obj hold-percentage) f0-16) (quaternion-rotate-local-z! - (-> obj root-override quat) + (-> obj root quat) (-> obj init-quat) (the float (sar (shl (the int (+ 10922.667 f1-8)) 48) 48)) ) - (quaternion-rotate-local-z! (-> obj root-override quat) (-> obj init-quat) f2-4) + (quaternion-rotate-local-z! (-> obj root quat) (-> obj init-quat) f2-4) ) ) (let ((a0-26 (-> obj skel root-channel 0))) @@ -644,7 +635,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod spawn-impact-particles pal-rot-gun-shot ((obj pal-rot-gun-shot)) "Spawns associated particles with the projectile if applicable" - (let* ((gp-0 (-> obj root-override trans)) + (let* ((gp-0 (-> obj root trans)) (a1-0 (-> obj tail-pos)) (s5-1 (vector-! (new 'stack-no-clear 'vector) gp-0 a1-0)) (f30-0 (vector-length s5-1)) @@ -716,7 +707,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod spawn-shell-particles pal-rot-gun-shot ((obj pal-rot-gun-shot)) "TODO - confirm" - (let* ((s3-0 (-> obj root-override)) + (let* ((s3-0 (-> obj root)) (s5-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> obj tail-pos) (-> s3-0 trans)) 2048.0)) (gp-0 (new 'stack-no-clear 'vector)) ) @@ -781,10 +772,10 @@ This commonly includes things such as: (let ((v1-0 arg0)) (cond ((zero? v1-0) - (sound-play "rot-gun-fire" :position (-> obj root-override trans)) + (sound-play "rot-gun-fire" :position (-> obj root trans)) ) ((= v1-0 (projectile-options lose-altitude)) - (sound-play "pal-rot-gun-sho" :position (-> obj root-override trans)) + (sound-play "pal-rot-gun-sho" :position (-> obj root trans)) ) ) ) @@ -805,7 +796,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defun pal-rot-gun-shot-move ((arg0 pal-rot-gun-shot)) (projectile-move-fill-line-sphere arg0) - (let ((s5-0 (-> arg0 root-override))) + (let ((s5-0 (-> arg0 root))) (let ((s4-0 (new 'stack-no-clear 'vector)) (f0-0 36864.0) ) @@ -850,9 +841,9 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) - (set! (-> obj root-override pat-ignore-mask) + (set! (-> obj root pat-ignore-mask) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noproj #x1 :noendlessfall #x1) ) 0 @@ -864,7 +855,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defmethod init-proj-settings! pal-rot-gun-shot ((obj pal-rot-gun-shot)) "Init relevant settings for the [[projectile]] such as gravity, speed, timeout, etc" - (set! (-> obj tail-pos quad) (-> obj root-override trans quad)) + (set! (-> obj tail-pos quad) (-> obj root trans quad)) (set! (-> obj attack-mode) 'pal-rot-gun-shot) (set! (-> obj move) pal-rot-gun-shot-move) (set! (-> obj max-speed) 630784.0) diff --git a/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc b/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc index 45aa06a76f..3ddd0777bf 100644 --- a/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/pal-obs_REF.gc @@ -3,7 +3,7 @@ ;; definition of type pal-falling-plat (deftype pal-falling-plat (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 22 @@ -45,7 +45,7 @@ ) ) :enter (behavior () - (logior! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logior! (-> self root root-prim prim-core action) (collide-action rideable)) (none) ) :trans (the-as (function none :behavior pal-falling-plat) rider-trans) @@ -66,7 +66,7 @@ (('touch) (when ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry (-> event param 0)) - (-> self root-override) + (-> self root) (the-as uint 8) ) (when (< 18.0 (ja-frame-num 0)) @@ -94,7 +94,7 @@ (suspend) (ja :num! (seek!)) ) - (logclear! (-> self root-override root-prim prim-core action) (collide-action rideable)) + (logclear! (-> self root root-prim prim-core action) (collide-action rideable)) (ja-no-eval :group! (-> self draw art-group data 2) :num! (seek! (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) frames num-frames) -1))) :frame-num 0.0 @@ -166,7 +166,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-24 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-24 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -232,7 +232,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -351,7 +351,7 @@ This commonly includes things such as: :enter (behavior () (sound-play "grind-ring-expl") (let ((gp-1 (new 'stack 'joint-exploder-tuning (the-as uint 1)))) - (set! (-> gp-1 fountain-rand-transv-lo quad) (-> self root-override trans quad)) + (set! (-> gp-1 fountain-rand-transv-lo quad) (-> self root trans quad)) (set! (-> gp-1 fountain-rand-transv-hi x) 8192.0) (set! (-> gp-1 fountain-rand-transv-hi y) 32768.0) (set! (-> gp-1 fountain-rand-transv-hi z) 24576.0) @@ -366,7 +366,7 @@ This commonly includes things such as: :to self ) ) - (let ((v1-16 (-> self root-override root-prim))) + (let ((v1-16 (-> self root root-prim))) (set! (-> v1-16 prim-core collide-as) (collide-spec)) (set! (-> v1-16 prim-core collide-with) (collide-spec)) ) @@ -409,7 +409,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -538,7 +538,7 @@ This commonly includes things such as: (none) ) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (ja-post) (none) ) @@ -571,7 +571,7 @@ This commonly includes things such as: (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-4) a0-4 a1-3 @@ -590,13 +590,13 @@ This commonly includes things such as: ) :trans (behavior () (+! (-> self speed-y) (* -163840.0 (-> self clock seconds-per-frame))) - (+! (-> self root-override trans y) (* (-> self speed-y) (-> self clock seconds-per-frame))) - (when (< (-> self root-override trans y) 1441792.0) + (+! (-> self root trans y) (* (-> self speed-y) (-> self clock seconds-per-frame))) + (when (< (-> self root trans y) 1441792.0) (when (not (-> self hit-sound-played?)) (sound-play "grind-ring-hit") (set! (-> self hit-sound-played?) (the-as basic #t)) ) - (set! (-> self root-override trans y) 1441792.0) + (set! (-> self root trans y) 1441792.0) (set! (-> self speed-y) (* -0.3 (-> self speed-y))) ) (none) @@ -641,7 +641,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -748,7 +748,7 @@ This commonly includes things such as: :trans (the-as (function none :behavior pal-ent-glass) #f) :code (behavior () (sound-play "glass-crash") - (let ((v1-2 (-> self root-override root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) @@ -824,7 +824,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -971,7 +971,7 @@ This commonly includes things such as: ) (set! (-> gp-0 quad) (-> s4-0 vector 2 quad)) (let ((f0-2 (* 5097.2446 (sin f30-0)))) - (quaternion-rotate-local-y! (-> self root-override quat) (-> self entity quat) f0-2) + (quaternion-rotate-local-y! (-> self root quat) (-> self entity quat) f0-2) ) (when (< (the-as time-frame (-> self next-shoot)) (current-time)) (set-palent-turret-flash! 1.0) @@ -1050,7 +1050,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-19 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1168,7 +1168,7 @@ This commonly includes things such as: :exit (the-as (function none :behavior pal-breakable-window) #f) :trans (the-as (function none :behavior pal-breakable-window) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -1243,7 +1243,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/palace/roof/palboss-texture_REF.gc b/test/decompiler/reference/jak2/levels/palace/roof/palboss-texture_REF.gc index 538e8f6236..1c5ffe6b28 100644 --- a/test/decompiler/reference/jak2/levels/palace/roof/palboss-texture_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/roof/palboss-texture_REF.gc @@ -100,7 +100,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) (new 'static 'texture-anim-layer :func-id 'default-texture-anim-layer-func @@ -122,7 +122,7 @@ :end-st-scale (new 'static 'vector2 :data (new 'static 'array float 2 1.0 1.0)) :end-st-offset (new 'static 'vector2 :data (new 'static 'array float 2 0.5 0.5)) :end-qs (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - :end-st-rot (degrees 65536.0) + :end-st-rot (degrees 65536) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/palace/roof/palroof-obs_REF.gc b/test/decompiler/reference/jak2/levels/palace/roof/palroof-obs_REF.gc index d172f82f0d..057afb61e3 100644 --- a/test/decompiler/reference/jak2/levels/palace/roof/palroof-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/palace/roof/palroof-obs_REF.gc @@ -91,7 +91,7 @@ ;; definition of type pal-prong (deftype pal-prong (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 23 @@ -183,7 +183,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -202,7 +202,7 @@ This commonly includes things such as: ;; definition for function pal-prong-small-collision ;; WARN: Return type mismatch int vs none. (defbehavior pal-prong-small-collision pal-prong () - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -265,7 +265,7 @@ This commonly includes things such as: ) :trans (behavior () (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 quad) (-> self root trans quad)) (set! (-> a1-0 y) (+ 36864.0 (-> a1-0 y))) (spawn (-> self part) a1-0) ) diff --git a/test/decompiler/reference/jak2/levels/power_station/vinroom-obs_REF.gc b/test/decompiler/reference/jak2/levels/power_station/vinroom-obs_REF.gc index 7636b26e71..3cc430f675 100644 --- a/test/decompiler/reference/jak2/levels/power_station/vinroom-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/power_station/vinroom-obs_REF.gc @@ -323,7 +323,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj diff --git a/test/decompiler/reference/jak2/levels/ruins/breakable-wall_REF.gc b/test/decompiler/reference/jak2/levels/ruins/breakable-wall_REF.gc index 7bf85eee97..e263e07844 100644 --- a/test/decompiler/reference/jak2/levels/ruins/breakable-wall_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/breakable-wall_REF.gc @@ -290,7 +290,7 @@ (set! (-> obj draw origin-joint-index) (the-as uint v1-12)) ) ) - (let ((v1-14 (-> obj root-override root-prim)) + (let ((v1-14 (-> obj root root-prim)) (a1-15 (-> obj side break-prim-mask)) ) (set! (-> v1-14 local-sphere quad) (-> obj side break-root-prim-sphere quad)) @@ -357,17 +357,17 @@ ) ) :enter (behavior () - (let ((gp-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((gp-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 20480.0 :z 4096.0 :w 1.0) gp-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 20480.0 :z -4096.0 :w 1.0) gp-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) ) @@ -401,20 +401,20 @@ (defstate hit (ruins-breakable-wall) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (if (-> self nav-mesh) - (logclear! (-> self root-override nav-flags) (nav-flags has-root-sphere)) + (logclear! (-> self root nav-flags) (nav-flags has-root-sphere)) ) (let ((s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> self root-override quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set! (-> s4-0 y) 0.0) - (vector-! s5-0 (target-pos 0) (-> self root-override trans)) + (vector-! s5-0 (target-pos 0) (-> self root trans)) (set! (-> s5-0 y) 0.0) (let ((gp-2 0)) (when (>= (vector-dot s4-0 s5-0) 0.0) @@ -434,9 +434,9 @@ (none) ) :exit (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -528,7 +528,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-22 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-22 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) ) ((= (the-as uint v1-5) 1) @@ -563,7 +563,7 @@ This commonly includes things such as: (set! (-> s4-1 backup-collide-as) (-> v1-38 prim-core collide-as)) (set! (-> s4-1 backup-collide-with) (-> v1-38 prim-core collide-with)) ) - (set! (-> obj root-override) s4-1) + (set! (-> obj root) s4-1) ) ) ((= (the-as uint v1-5) 2) @@ -598,7 +598,7 @@ This commonly includes things such as: (set! (-> s4-2 backup-collide-as) (-> v1-54 prim-core collide-as)) (set! (-> s4-2 backup-collide-with) (-> v1-54 prim-core collide-with)) ) - (set! (-> obj root-override) s4-2) + (set! (-> obj root) s4-2) ) ) ((= (the-as uint v1-5) 3) @@ -628,7 +628,7 @@ This commonly includes things such as: (set! (-> s4-3 backup-collide-as) (-> v1-68 prim-core collide-as)) (set! (-> s4-3 backup-collide-with) (-> v1-68 prim-core collide-with)) ) - (set! (-> obj root-override) s4-3) + (set! (-> obj root) s4-3) ) ) ((= (the-as uint v1-5) 4) @@ -663,7 +663,7 @@ This commonly includes things such as: (set! (-> s4-4 backup-collide-as) (-> v1-84 prim-core collide-as)) (set! (-> s4-4 backup-collide-with) (-> v1-84 prim-core collide-with)) ) - (set! (-> obj root-override) s4-4) + (set! (-> obj root) s4-4) ) ) (else @@ -693,7 +693,7 @@ This commonly includes things such as: (set! (-> s4-5 backup-collide-as) (-> v1-98 prim-core collide-as)) (set! (-> s4-5 backup-collide-with) (-> v1-98 prim-core collide-with)) ) - (set! (-> obj root-override) s4-5) + (set! (-> obj root) s4-5) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/ruins/mechtest-obs_REF.gc b/test/decompiler/reference/jak2/levels/ruins/mechtest-obs_REF.gc index ed9015e0e5..38320ec3f1 100644 --- a/test/decompiler/reference/jak2/levels/ruins/mechtest-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/mechtest-obs_REF.gc @@ -3,7 +3,7 @@ ;; definition of type mechblock (deftype mechblock (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (origin vector :inline :offset-assert 208) (drop-point vector :inline :offset 256) (allow-drag? symbol :offset-assert 272) @@ -91,27 +91,27 @@ :virtual #t :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) :trans (behavior () (when (or (not *target*) (< 40960.0 (vector-vector-distance (-> self origin) (-> *target* control trans)))) (move-to-point! - (-> self root-override) + (-> self root) (vector+! (new 'stack-no-clear 'vector) (-> self origin) (new 'static 'vector :y 81920.0 :w 1.0)) ) - (quaternion-copy! (-> self root-override quat) (the-as quaternion (&-> self stack 96))) - (set-vector! (-> self root-override transv) 0.0 -4096.0 0.0 1.0) + (quaternion-copy! (-> self root quat) (the-as quaternion (&-> self stack 96))) + (set-vector! (-> self root transv) 0.0 -4096.0 0.0 1.0) (set! (-> self drop-point quad) (-> self origin quad)) (go-virtual fall) ) (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -133,8 +133,8 @@ (-> self carry) ) (('drop) - (set! (-> self root-override transv quad) (-> (the-as vector (-> event param 1)) quad)) - (set! (-> self drop-point quad) (-> self root-override trans quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> event param 1)) quad)) + (set! (-> self drop-point quad) (-> self root trans quad)) (go-virtual fall) ) ) @@ -144,7 +144,7 @@ (ja-post) (carry-info-method-9 (-> self carry)) (carry-info-method-13 (-> self carry)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (none) ) ) @@ -167,12 +167,12 @@ (if (handle->process (-> self carry other)) (drop! (the-as carry-info (send-event (handle->process (-> self carry other)) 'carry-info)) (-> self carry)) ) - (set! (-> self root-override transv quad) (-> (the-as vector (-> event param 1)) quad)) - (set! (-> self drop-point quad) (-> self root-override trans quad)) + (set! (-> self root transv quad) (-> (the-as vector (-> event param 1)) quad)) + (set! (-> self drop-point quad) (-> self root trans quad)) (go-virtual fall) ) (('move) - (let ((s4-0 (-> self root-override)) + (let ((s4-0 (-> self root)) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> s5-0 quad) (-> s4-0 trans quad)) @@ -237,7 +237,7 @@ ) (when (nonzero? (-> self nav)) (let ((v1-44 (-> self nav)) - (a0-41 (-> self root-override root-prim prim-core)) + (a0-41 (-> self root root-prim prim-core)) (a1-9 (new 'stack-no-clear 'nav-find-poly-parms)) ) (vector-! (-> a1-9 point) (the-as vector a0-41) (-> v1-44 state mesh bounds)) @@ -245,13 +245,13 @@ (set! (-> a1-9 ignore) (the-as uint 2)) (let ((v1-46 (find-poly-containing-point-local (-> v1-44 state mesh) a1-9))) (when v1-46 - (when (< (-> self root-override trans y) (-> v1-46 vertex0 y)) - (let* ((a0-47 (-> self root-override)) + (when (< (-> self root trans y) (-> v1-46 vertex0 y)) + (let* ((a0-47 (-> self root)) (t9-7 (method-of-object a0-47 move-by-vector!)) (a1-11 (new 'stack-no-clear 'vector)) ) (set! (-> a1-11 x) 0.0) - (set! (-> a1-11 y) (- (-> v1-46 vertex0 y) (-> self root-override trans y))) + (set! (-> a1-11 y) (- (-> v1-46 vertex0 y) (-> self root trans y))) (set! (-> a1-11 z) 0.0) (set! (-> a1-11 w) 1.0) (t9-7 a0-47 a1-11) @@ -278,7 +278,7 @@ (ja-post) (carry-info-method-9 (-> self carry)) (translate! (-> self carry)) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (none) ) ) @@ -329,21 +329,19 @@ (-> self carry) ) ) - (set! (-> self root-override status) (collide-status)) - (set! (-> self root-override root-prim local-sphere w) (-> self carry carry-radius)) + (set! (-> self root status) (collide-status)) + (set! (-> self root root-prim local-sphere w) (-> self carry carry-radius)) (none) ) :trans (behavior () - (when (or (and (logtest? (-> self root-override status) (collide-status on-surface)) - (< 0.8 (-> self root-override surface-angle)) - ) + (when (or (and (logtest? (-> self root status) (collide-status on-surface)) (< 0.8 (-> self root surface-angle))) (>= (- (current-time) (-> self state-time)) (seconds 5)) ) - (vector-reset! (-> self root-override transv)) - (set! (-> self root-override root-prim local-sphere w) (-> self carry backup-radius)) + (vector-reset! (-> self root transv)) + (set! (-> self root root-prim local-sphere w) (-> self carry backup-radius)) (cond ((and (-> self reset-on-land?) - (and (or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root-override trans))) + (and (or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root trans))) (>= (- (current-time) (-> self state-time)) (seconds 5)) ) (and (-> self next-entity) @@ -367,7 +365,7 @@ (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-5) a0-11 a1-4 @@ -384,7 +382,7 @@ ) (go-virtual wait) ) - ((or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root-override trans))) + ((or (< 12288.0 (vector-vector-distance (-> self drop-point) (-> self root trans))) (>= (- (current-time) (-> self state-time)) (seconds 5)) ) (sound-play "block-break") @@ -403,7 +401,7 @@ (t2-3 #f) (t3-1 *launch-matrix*) ) - (set! (-> t3-1 trans quad) (-> self root-override trans quad)) + (set! (-> t3-1 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-12) a0-18 a1-9 @@ -429,34 +427,27 @@ ) :code (the-as (function none :behavior mechblock) sleep-code) :post (behavior () - (vector-v++! - (-> self root-override transv) - (compute-acc-due-to-gravity (-> self root-override) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 0.0)) (let ((v1-2 (new-stack-vector0)) - (f0-1 (vector-dot (-> self root-override dynam gravity-normal) (-> self root-override transv))) + (f0-1 (vector-dot (-> self root dynam gravity-normal) (-> self root transv))) ) 0.0 - (vector-! - v1-2 - (-> self root-override transv) - (vector-float*! v1-2 (-> self root-override dynam gravity-normal) f0-1) - ) + (vector-! v1-2 (-> self root transv) (vector-float*! v1-2 (-> self root dynam gravity-normal) f0-1)) (let* ((f1-2 (vector-length v1-2)) (f2-0 f1-2) ) - (if (< f0-1 (- (-> self root-override dynam gravity-max))) - (set! f0-1 (- (-> self root-override dynam gravity-max))) + (if (< f0-1 (- (-> self root dynam gravity-max))) + (set! f0-1 (- (-> self root dynam gravity-max))) ) (vector+! - (-> self root-override transv) - (vector-float*! (-> self root-override transv) (-> self root-override dynam gravity-normal) f0-1) + (-> self root transv) + (vector-float*! (-> self root transv) (-> self root dynam gravity-normal) f0-1) (vector-float*! v1-2 v1-2 (/ f1-2 f2-0)) ) ) ) (let ((a2-8 (new 'stack-no-clear 'collide-query)) - (gp-1 (-> self root-override)) + (gp-1 (-> self root)) ) (set! (-> gp-1 root-prim type) collide-shape-prim-sphere) (set! (-> a2-8 collide-with) @@ -537,7 +528,7 @@ This commonly includes things such as: ) (set! (-> s4-0 max-iteration-count) (the-as uint 4)) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -545,7 +536,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-throwblock" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root-override trans)) 48) + (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root trans)) 48) (set! (-> obj allow-drag?) #f) (set! (-> obj reset-on-land?) #t) (let* ((v1-18 *game-info*) @@ -630,7 +621,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) (set! (-> s4-0 max-iteration-count) (the-as uint 4)) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -638,7 +629,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-pushblock" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root-override trans)) 48) + (mem-copy! (the-as pointer (-> obj origin)) (the-as pointer (-> obj root trans)) 48) (set! (-> obj reset-on-land?) #f) (set! (-> obj allow-drag?) #t) (let* ((v1-17 *game-info*) diff --git a/test/decompiler/reference/jak2/levels/ruins/pillar-collapse_REF.gc b/test/decompiler/reference/jak2/levels/ruins/pillar-collapse_REF.gc index da0984786a..6294af1963 100644 --- a/test/decompiler/reference/jak2/levels/ruins/pillar-collapse_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/pillar-collapse_REF.gc @@ -3,7 +3,7 @@ ;; definition of type ruins-pillar-collapse (deftype ruins-pillar-collapse (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (player-attack-id int32 :offset-assert 200) (fall-anim-index int32 :offset-assert 204) (hit-points int8 :offset-assert 208) @@ -73,11 +73,9 @@ (when (task-node-closed? (game-task-node ruins-mech-introduction)) (let* ((gp-1 (the-as attack-info (-> event param 1))) (s4-0 (-> gp-1 id)) - (s5-0 (vector-x-quaternion! (new-stack-vector0) (-> self root-override quat))) - (a0-6 (vector-z-quaternion! (new-stack-vector0) (-> self root-override quat))) - (v1-4 - (vector-! (new-stack-vector0) (-> (the-as process-drawable proc) root trans) (-> self root-override trans)) - ) + (s5-0 (vector-x-quaternion! (new-stack-vector0) (-> self root quat))) + (a0-6 (vector-z-quaternion! (new-stack-vector0) (-> self root quat))) + (v1-4 (vector-! (new-stack-vector0) (-> (the-as process-drawable proc) root trans) (-> self root trans))) ) 0.0 0.0 @@ -122,18 +120,18 @@ ) ) :enter (behavior () - (let ((s5-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root-override trans))))) + (let ((s5-0 (matrix<-transformq! (new 'stack-no-clear 'matrix) (the-as transformq (-> self root trans))))) (if (string= (-> self name) "ruins-pillar-collapse-9") (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18432.0 :z 8192.0 :w 1.0) s5-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) (mech-target-spawn (vector-matrix*! (new 'stack-no-clear 'vector) (new 'static 'vector :y 18432.0 :z -8192.0 :w 1.0) s5-0) self - (-> self root-override quat) + (-> self root quat) (-> self entity) ) ) @@ -202,23 +200,19 @@ (a1-4 (if s5-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry s5-0) - (-> self root-override) + (-> self root) (the-as uint 2) ) ) ) ) (when (and gp-0 a1-4) - (let ((s4-1 (get-intersect-point - (new 'stack-no-clear 'vector) - a1-4 - (-> self root-override) - (the-as touching-shapes-entry s5-0) - ) - ) + (let ((s4-1 + (get-intersect-point (new 'stack-no-clear 'vector) a1-4 (-> self root) (the-as touching-shapes-entry s5-0)) + ) ) (when (and (< (-> (get-trans (the-as process-focusable gp-0) 3) y) (-> s4-1 y)) - (< 40960.0 (vector-vector-distance s4-1 (-> self root-override trans))) + (< 40960.0 (vector-vector-distance s4-1 (-> self root trans))) ) (let ((a1-8 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-8 from) (process->ppointer self)) @@ -350,7 +344,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-30 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-30 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (set! (-> obj mesh-trans 0) (the-as uint 1)) @@ -360,7 +354,7 @@ This commonly includes things such as: (set! (-> obj art-name) (the-as string s5-1)) (cond ((string= (the-as string s5-1) "ruins-pillar-collapse-1") - (let ((v1-38 (-> obj root-override root-prim local-sphere))) + (let ((v1-38 (-> obj root root-prim local-sphere))) (set! (-> v1-38 y) 49152.0) (set! (-> v1-38 z) 65536.0) (set! (-> v1-38 w) 122880.0) @@ -381,7 +375,7 @@ This commonly includes things such as: :command-list '() ) ) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (+ 32768.0 (y-angle (-> obj root-override)))) + (set-yaw-angle-clear-roll-pitch! (-> obj root) (+ 32768.0 (y-angle (-> obj root)))) ) ((string= (the-as string s5-1) "ruins-pillar-collapse-3") (set! (-> obj anim) (new 'static 'spool-anim @@ -391,7 +385,7 @@ This commonly includes things such as: :command-list '() ) ) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (+ 32768.0 (y-angle (-> obj root-override)))) + (set-yaw-angle-clear-roll-pitch! (-> obj root) (+ 32768.0 (y-angle (-> obj root)))) ) ) (initialize-skeleton-by-name obj (the-as string s5-1)) diff --git a/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc b/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc index ac1f54100d..89c6fe28ae 100644 --- a/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/rapid-gunner_REF.gc @@ -245,7 +245,7 @@ :walk-travel-speed (meters 2) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 60.0) + :maximum-rotation-rate (degrees 60) :notice-nav-radius (meters 100) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -305,14 +305,11 @@ ((zero? (-> obj hit-points)) (let ((a0-3 (-> obj skel root-channel 0))) (set! (-> a0-3 frame-group) - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) ) (set! (-> a0-3 param 0) (the float - (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) frames num-frames) -1 ) ) @@ -321,7 +318,7 @@ (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group! a0-3 - (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (the-as art-joint-anim (-> obj draw art-group data (-> obj enemy-info knocked-anim))) num-func-seek! ) ) @@ -402,7 +399,7 @@ ) (else (ja-channel-push! 1 (seconds 0.067)) - (let ((a1-28 (-> obj draw art-group data (-> obj enemy-info-override knocked-anim))) + (let ((a1-28 (-> obj draw art-group data (-> obj enemy-info knocked-anim))) (a0-43 (-> obj skel root-channel 0)) ) (set! (-> a0-43 frame-group) (the-as art-joint-anim a1-28)) @@ -422,7 +419,7 @@ (defmethod enemy-method-52 rapid-gunner ((obj rapid-gunner) (arg0 vector)) (cond ((> (-> obj hit-points) 0) - (-> obj enemy-info-override) + (-> obj enemy-info) (case (-> obj incoming knocked-type) (((knocked-type knocked-type-4)) (vector-reset! arg0) @@ -463,7 +460,7 @@ (((knocked-type knocked-type-5)) (when (zero? (-> obj hit-points)) (ja-channel-push! 1 (seconds 0.067)) - (let ((a1-5 (-> obj draw art-group data (-> obj enemy-info-override die-anim))) + (let ((a1-5 (-> obj draw art-group data (-> obj enemy-info die-anim))) (a0-10 (-> obj skel root-channel 0)) ) (set! (-> a0-10 frame-group) (the-as art-joint-anim a1-5)) @@ -476,7 +473,7 @@ ) ) (else - (let ((a1-6 (-> obj draw art-group data (-> obj enemy-info-override knocked-land-anim))) + (let ((a1-6 (-> obj draw art-group data (-> obj enemy-info knocked-land-anim))) (a0-13 (-> obj skel root-channel 0)) ) (set! (-> a0-13 frame-group) (the-as art-joint-anim a1-6)) @@ -499,10 +496,8 @@ @returns true/false" (let ((t9-0 (method-of-type nav-enemy in-aggro-range?))) (and (t9-0 obj arg0 arg1) - (or (not (logtest? (-> obj fact-info-override enemy-options) (enemy-option user8))) - (and (not (focus-test? arg0 in-air)) - (>= 4096.0 (fabs (- (-> (get-trans arg0 0) y) (-> obj root-override2 trans y)))) - ) + (or (not (logtest? (-> obj fact enemy-options) (enemy-option user8))) + (and (not (focus-test? arg0 in-air)) (>= 4096.0 (fabs (- (-> (get-trans arg0 0) y) (-> obj root trans y))))) ) ) ) @@ -519,7 +514,7 @@ (let ((s5-0 (new 'stack-no-clear 'vector))) (set! (-> s5-0 quad) (-> arg0 quad)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 quad) (-> obj root-override2 root-prim prim-core world-sphere quad)) + (set! (-> s4-0 quad) (-> obj root root-prim prim-core world-sphere quad)) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) s5-0 s4-0))) (set! (-> s4-0 w) 1.0) (when (< (vector-vector-distance s5-0 s4-0) 29491.2) @@ -655,7 +650,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -695,13 +690,10 @@ :code (behavior () (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -723,7 +715,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (* 196608.0 (-> self clock frames-per-second)) (seconds 0.2) @@ -786,11 +778,11 @@ (go-virtual hostile) ) (let ((s5-0 (get-trans (the-as process-focusable gp-0) 0)) - (f0-3 (vector-vector-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans))) + (f0-3 (vector-vector-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans))) ) (cond ((and (< f0-3 20480.0) - (and (< (fabs (- (-> s5-0 y) (-> self root-override2 trans y))) 6144.0) + (and (< (fabs (- (-> s5-0 y) (-> self root trans y))) 6144.0) gp-0 (not (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable dead ignore grabbed))) ) @@ -892,7 +884,7 @@ ) ) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-2) 3) (* 0.5 (-> self nav max-rotation-rate)) (seconds 0.5) @@ -935,7 +927,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -973,7 +965,7 @@ (init-vf0-vector) (set! (-> self shots-fired) (the-as uint (min 12 (the-as int (+ (-> self shots-fired) 2))))) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (-> self root-override2 trans))) + (let ((s5-0 (-> self root trans))) (let ((a2-0 (new 'stack-no-clear 'vector))) (let ((v1-3 s5-0)) (let ((a0-2 (-> self hop-dir))) @@ -1031,7 +1023,7 @@ (joint-control-channel-group! a0-17 (the-as art-joint-anim rapid-gunner-idle-ja) num-func-seek!) ) (until (ja-done? 0) - (let ((s5-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) gp-0 (-> self root-override2 quat)))) + (let ((s5-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) gp-0 (-> self root quat)))) (rapid-gunner-method-186 self 0 (-> s5-1 x) 10 11) (rapid-gunner-method-186 self 1 (-> s5-1 z) 8 9) ) @@ -1122,7 +1114,7 @@ ) ) (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-2) 3) (* 4.0 (-> self nav max-rotation-rate)) (seconds 0.5) @@ -1244,16 +1236,16 @@ (none) ) :trans (behavior () - (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info-override use-victory)) + (if (and (logtest? (-> self enemy-flags) (enemy-flag look-at-focus)) (-> self enemy-info use-victory)) (go-virtual victory) ) (let ((gp-0 (handle->process (-> self focus handle)))) (when gp-0 (let* ((s5-0 (get-trans (the-as process-focusable gp-0) 0)) - (f30-0 (vector-vector-distance s5-0 (-> self root-override2 trans))) + (f30-0 (vector-vector-distance s5-0 (-> self root trans))) ) (if (and (< f30-0 20480.0) - (and (< (fabs (- (-> s5-0 y) (-> self root-override2 trans y))) 6144.0) + (and (< (fabs (- (-> s5-0 y) (-> self root trans y))) 6144.0) gp-0 (not (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable dead ignore grabbed))) ) @@ -1270,7 +1262,7 @@ ) ) (when (skip-check-los? (-> self los) 1500) - (let ((a1-6 (vector-! (new 'stack-no-clear 'vector) (-> self start-pos) (-> self root-override2 trans)))) + (let ((a1-6 (vector-! (new 'stack-no-clear 'vector) (-> self start-pos) (-> self root trans)))) (when (< 4096.0 (vector-length a1-6)) (vector-normalize-copy! (-> self hop-dir) a1-6 1.0) (go-virtual hop) @@ -1358,7 +1350,7 @@ (set! (-> v1-9 attack-id) a0-7) (set! (-> self attack-id) a0-7) ) - (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-13 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-13 prim-core action) (collide-action deadly)) (set! (-> v1-13 local-sphere w) 7372.8) ) @@ -1369,7 +1361,7 @@ (logior! (-> self focus-status) (focus-status dangerous)) (logclear! (-> self focus-status) (focus-status dangerous)) ) - (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1))) + (let ((v1-9 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-9 prim-core action) (collide-action)) (set! (-> v1-9 local-sphere w) 4096.0) ) @@ -1394,7 +1386,7 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-to-point-toward-point! - (-> self root-override2) + (-> self root) (get-trans (the-as process-focusable a0-4) 0) (-> self nav max-rotation-rate) (seconds 0.02) @@ -1426,13 +1418,10 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (not (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info-override idle-anim))))) + (when (not (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info idle-anim))))) (ja-no-eval :num! (loop!)) (ja-channel-push! 1 (seconds 0.2)) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override idle-anim)) - :num! (loop!) - :frame-num 0.0 - ) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info idle-anim)) :num! (loop!) :frame-num 0.0) ) ) (until #f @@ -1538,7 +1527,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1581,11 +1570,11 @@ (set! (-> obj neck ear) (the-as uint 0)) (new-source! (-> obj los) obj (seconds 0.2) (collide-spec backgnd obstacle)) (set! (-> obj joint) (new 'process 'joint-mod (joint-mod-mode joint-set*-world) obj 5)) - (set-vector! (-> obj root-override2 scale) 1.2 1.2 1.2 1.0) - (let ((a0-13 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (set-vector! (-> obj root scale) 1.2 1.2 1.2 1.0) + (let ((a0-13 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (v1-14 (new 'stack-no-clear 'vector)) ) - (let ((a1-7 (-> obj root-override2 trans))) + (let ((a1-7 (-> obj root trans))) (let ((a2-5 409600.0)) (.mov vf7 a2-5) ) @@ -1620,7 +1609,7 @@ 0 (logclear! (-> obj nav flags) (nav-control-flag update-heading-from-facing)) (set! (-> obj enemy-flags) (the-as enemy-flag (logclear (-> obj enemy-flags) (enemy-flag enemy-flag43)))) - (set! (-> obj start-pos quad) (-> obj root-override2 trans quad)) + (set! (-> obj start-pos quad) (-> obj root trans quad)) (set! (-> obj roam-radius) 16384.0) (add-connection *part-engine* obj 8 obj 1310 (new 'static 'vector :x 1146.88 :y 450.56 :z 901.12 :w 163840.0)) (add-connection diff --git a/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc b/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc index 73ae442912..c52f50d973 100644 --- a/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/ruins/ruins-obs_REF.gc @@ -64,7 +64,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -115,8 +115,8 @@ ) (set! (-> obj float-height-offset) 4096.0) (alloc-and-init-rigid-body-control obj *ruins-sinking-platform-constants*) - (set! (-> obj anchor-point quad) (-> obj root-override-2 trans quad)) - (let ((s5-1 (-> obj info-override control-point-count))) + (set! (-> obj anchor-point quad) (-> obj root trans quad)) + (let ((s5-1 (-> obj info control-point-count))) (dotimes (s4-1 s5-1) (let ((s3-0 (-> obj control-point-array data s4-1))) (let ((f30-0 (* 65536.0 (/ (the float s4-1) (the float s5-1))))) @@ -154,8 +154,8 @@ (none) ) :post (behavior () - (set! (-> self info-override) *ruins-sinking-platform-constants*) - (set! (-> self rbody state info) (-> self info-override info)) + (set! (-> self info) *ruins-sinking-platform-constants*) + (set! (-> self rbody state info) (-> self info info)) (rigid-body-object-method-37 self) (none) ) @@ -365,7 +365,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-25 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -377,7 +377,7 @@ This commonly includes things such as: (set! (-> obj anim) (new 'static 'spool-anim :name "ruins-bridge-1" :anim-name "1-crumble" :parts 2 :command-list '()) ) - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj fall) #t) (go (method-of-object obj idle)) @@ -484,12 +484,12 @@ and translate the platform via the `smush` :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (case event-type (('collide-shape) - (let ((v1-2 (-> self root-override root-prim))) + (let ((v1-2 (-> self root root-prim))) (set! (-> v1-2 prim-core collide-as) (collide-spec)) (set! (-> v1-2 prim-core collide-with) (collide-spec)) ) 0 - (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 1))) + (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1))) (set! (-> v1-7 prim-core collide-with) (collide-spec)) (set! (-> v1-7 prim-core collide-as) (collide-spec)) ) @@ -501,10 +501,10 @@ and translate the platform via the `smush` ) ) :post (behavior () - (when (and (nonzero? (-> self root-override root-prim prim-core collide-as)) + (when (and (nonzero? (-> self root root-prim prim-core collide-as)) (>= (- (current-time) (-> self state-time)) (seconds 0.25)) ) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -564,7 +564,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (let ((s5-1 ((method-of-type res-lump get-property-struct) @@ -699,7 +699,7 @@ This commonly includes things such as: ) (set! (-> obj draw force-lod) 1) (set! (-> obj break-anim-name) (new 'process 'string 128 (the-as string #f))) - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (set! (-> obj bounce-scale) 0.0) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj fall) #t) diff --git a/test/decompiler/reference/jak2/levels/sewer/escort/grim_REF.gc b/test/decompiler/reference/jak2/levels/sewer/escort/grim_REF.gc index 0cfff39385..00e33f0721 100644 --- a/test/decompiler/reference/jak2/levels/sewer/escort/grim_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/escort/grim_REF.gc @@ -70,7 +70,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 6)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -114,7 +114,7 @@ (set! (-> v1-14 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 16.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) @@ -165,7 +165,3 @@ (none) ) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/sewer/escort/jinx-bomb_REF.gc b/test/decompiler/reference/jak2/levels/sewer/escort/jinx-bomb_REF.gc index 5417d33380..7dc4465a66 100644 --- a/test/decompiler/reference/jak2/levels/sewer/escort/jinx-bomb_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/escort/jinx-bomb_REF.gc @@ -67,9 +67,9 @@ (none) ) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-1 (-> self root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> self root backup-collide-with)) ) (sleep-code) (none) @@ -83,14 +83,14 @@ :code (behavior () (set! (-> self state-time) (current-time)) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-6 (-> self root-override root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) 0 (let ((gp-0 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> gp-0 spawn-point quad) (-> self root-override trans quad)) - (quaternion-copy! (-> gp-0 spawn-quat) (-> self root-override quat)) + (set! (-> gp-0 spawn-point quad) (-> self root trans quad)) + (quaternion-copy! (-> gp-0 spawn-quat) (-> self root quat)) (set! (-> gp-0 radius) 40960.0) (set! (-> gp-0 group) (-> *part-group-id-table* 151)) (set! (-> gp-0 collide-with) (collide-spec jak bot player-list)) @@ -142,9 +142,9 @@ (set! (-> s4-0 backup-collide-with) (-> v1-6 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) - (let ((v1-9 (-> self root-override))) + (let ((v1-9 (-> self root))) (let ((a0-11 (-> v1-9 root-prim))) (set! (-> v1-9 backup-collide-as) (-> a0-11 prim-core collide-as)) (set! (-> v1-9 backup-collide-with) (-> a0-11 prim-core collide-with)) @@ -155,10 +155,10 @@ ) ) 0 - (set! (-> self root-override trans quad) (-> arg0 quad)) - (quaternion-copy! (-> self root-override quat) arg1) - (vector-identity! (-> self root-override scale)) - (vector-reset! (-> self root-override transv)) + (set! (-> self root trans quad) (-> arg0 quad)) + (quaternion-copy! (-> self root quat) arg1) + (vector-identity! (-> self root scale)) + (vector-reset! (-> self root transv)) (initialize-skeleton self (the-as skeleton-group (art-group-get-by-name *level* "skel-jinx-bomb" (the-as (pointer uint32) #f))) diff --git a/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc b/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc index 999a71c675..2ba2ee1dfe 100644 --- a/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/escort/jinx-states_REF.gc @@ -174,11 +174,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -364,11 +364,11 @@ (cond ((< f0-14 f28-0) (if (>= f0-14 f30-0) - (quaternion-slerp! (-> self root-override2 quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) + (quaternion-slerp! (-> self root quat) (-> gp-0 src-quat) s5-2 (/ (- f0-14 f30-0) (- f28-0 f30-0))) ) ) (else - (quaternion-copy! (-> self root-override2 quat) s5-2) + (quaternion-copy! (-> self root quat) s5-2) ) ) ) @@ -519,12 +519,7 @@ 0 ) (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (bot-method-223 self #t) (if (and (>= (- (current-time) (-> self state-time)) (seconds 0.1)) (or (not (bot-method-214 self)) (not (ruffian-method-237 self))) @@ -666,7 +661,7 @@ (s5-0 (new 'stack-no-clear 'quaternion)) ) (vector<-matrix! gp-2 a1-5) - (set! (-> gp-2 y) (+ -122.88 (-> self root-override2 gspot-pos y))) + (set! (-> gp-2 y) (+ -122.88 (-> self root gspot-pos y))) (quaternion-identity! s5-0) (set! (-> self bomb-handle) (ppointer->handle diff --git a/test/decompiler/reference/jak2/levels/sewer/escort/jinx_REF.gc b/test/decompiler/reference/jak2/levels/sewer/escort/jinx_REF.gc new file mode 100644 index 0000000000..4e52c10615 --- /dev/null +++ b/test/decompiler/reference/jak2/levels/sewer/escort/jinx_REF.gc @@ -0,0 +1,857 @@ +;;-*-Lisp-*- +(in-package goal) + +;; definition of type jinx-anim-info +(deftype jinx-anim-info (structure) + ((anim-index int32 :offset-assert 0) + ) + :pack-me + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +;; definition for method 3 of type jinx-anim-info +(defmethod inspect jinx-anim-info ((obj jinx-anim-info)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj 'jinx-anim-info) + (format #t "~1Tanim-index: ~D~%" (-> obj anim-index)) + (label cfg-4) + obj + ) + +;; definition of type jinx-global-info +(deftype jinx-global-info (basic) + ((prev-blue-hit-front int8 :offset-assert 4) + (prev-blue-hit-back int8 :offset-assert 5) + (blue-hit-front-anim int32 3 :offset-assert 8) + (blue-hit-back-anim int32 3 :offset-assert 20) + (kick-anim int32 2 :offset-assert 32) + (scared-idle-anim int32 5 :offset-assert 40) + (bomb-recoil-anim int32 2 :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x44 + :flag-assert #x900000044 + ) + +;; definition for method 3 of type jinx-global-info +(defmethod inspect jinx-global-info ((obj jinx-global-info)) + (when (not obj) + (set! obj obj) + (goto cfg-4) + ) + (format #t "[~8x] ~A~%" obj (-> obj type)) + (format #t "~1Tprev-blue-hit-front: ~D~%" (-> obj prev-blue-hit-front)) + (format #t "~1Tprev-blue-hit-back: ~D~%" (-> obj prev-blue-hit-back)) + (format #t "~1Tblue-hit-front-anim[3] @ #x~X~%" (-> obj blue-hit-front-anim)) + (format #t "~1Tblue-hit-back-anim[3] @ #x~X~%" (-> obj blue-hit-back-anim)) + (format #t "~1Tkick-anim[2] @ #x~X~%" (-> obj kick-anim)) + (format #t "~1Tscared-idle-anim[5] @ #x~X~%" (-> obj scared-idle-anim)) + (format #t "~1Tbomb-recoil-anim[2] @ #x~X~%" (-> obj bomb-recoil-anim)) + (label cfg-4) + obj + ) + +;; definition for symbol *jinx-global-info*, type jinx-global-info +(define *jinx-global-info* (new 'static 'jinx-global-info + :blue-hit-front-anim (new 'static 'array int32 3 10 11 12) + :blue-hit-back-anim (new 'static 'array int32 3 13 14 15) + :kick-anim (new 'static 'array int32 2 57 58) + :scared-idle-anim (new 'static 'array int32 5 5 6 7 8 9) + :bomb-recoil-anim (new 'static 'array int32 2 63 64) + ) + ) + +;; definition for symbol *jinx-nav-enemy-info*, type nav-enemy-info +(define *jinx-nav-enemy-info* + (new 'static 'nav-enemy-info + :use-die-falling #t + :use-victory #f + :use-jump-blocked #t + :debug-draw-neck #f + :jump-debug-draw #f + :move-to-ground #t + :hover-if-no-ground #f + :idle-anim-script (new 'static 'array idle-control-frame 4 + (new 'static 'idle-control-frame :command (ic-cmd play) :anim #x3 :param0 #x1 :param1 #x1) + (new 'static 'idle-control-frame) + (new 'static 'idle-control-frame) + (new 'static 'idle-control-frame) + ) + :idle-anim 3 + :notice-anim 3 + :hostile-anim -1 + :hit-anim 3 + :knocked-anim 3 + :knocked-land-anim 3 + :die-anim 25 + :die-falling-anim 25 + :victory-anim -1 + :jump-wind-up-anim 26 + :jump-in-air-anim 27 + :jump-land-anim 28 + :neck-joint 6 + :look-at-joint 7 + :bullseye-joint 5 + :notice-distance (meters 40) + :notice-distance-delta (meters 10) + :proximity-notice-distance (meters 20) + :default-hit-points 10 + :gnd-collide-with (collide-spec backgnd obstacle hit-by-others-list) + :penetrate-knocked (penetrate + touch + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech + mech-punch + mech-bonk + dark-skin + dark-punch + dark-bomb + dark-giant + shield + explode + jak-yellow-shot + jak-red-shot + jak-blue-shot + jak-dark-shot + enemy-yellow-shot + enemy-dark-shot + eco-yellow + eco-red + eco-blue + eco-green + knocked + penetrate-33 + penetrate-34 + penetrate-35 + penetrate-36 + penetrate-37 + penetrate-38 + penetrate-39 + penetrate-40 + penetrate-41 + penetrate-42 + penetrate-43 + penetrate-44 + penetrate-45 + penetrate-46 + penetrate-47 + penetrate-48 + penetrate-49 + penetrate-50 + penetrate-51 + penetrate-52 + penetrate-53 + penetrate-54 + penetrate-55 + penetrate-56 + penetrate-57 + penetrate-58 + penetrate-59 + penetrate-60 + penetrate-61 + penetrate-62 + penetrate-63 + ) + :movement-gravity (meters -100) + :friction 0.7 + :attack-shove-back (meters 3) + :attack-shove-up (meters 2) + :attack-mode 'generic + :attack-damage 2 + :recover-gnd-collide-with (collide-spec backgnd crate obstacle hit-by-others-list pusher) + :jump-height-min (meters 3) + :jump-height-factor 0.5 + :knocked-seek-ry-clamp 2730.6667 + :knocked-soft-vxz-lo 45056.0 + :knocked-soft-vxz-hi 54067.2 + :knocked-soft-vy-lo 38092.8 + :knocked-soft-vy-hi 45056.0 + :knocked-medium-vxz-lo 65536.0 + :knocked-medium-vxz-hi 74547.2 + :knocked-medium-vy-lo 65536.0 + :knocked-medium-vy-hi 73728.0 + :knocked-hard-vxz-lo 66355.2 + :knocked-hard-vxz-hi 85196.8 + :knocked-hard-vy-lo 60620.8 + :knocked-hard-vy-hi 101580.8 + :knocked-huge-vxz-lo 164659.2 + :knocked-huge-vxz-hi 249036.8 + :knocked-huge-vy-lo 183500.8 + :knocked-huge-vy-hi 217907.2 + :knocked-yellow-vxz-lo 20480.0 + :knocked-yellow-vxz-hi 24576.0 + :knocked-yellow-vy-lo 28672.0 + :knocked-yellow-vy-hi 40960.0 + :knocked-red-vxz-lo 24576.0 + :knocked-red-vxz-hi 73728.0 + :knocked-red-vy-lo 65536.0 + :knocked-red-vy-hi 81920.0 + :knocked-blue-vxz-lo 40960.0 + :knocked-blue-vxz-hi 49152.0 + :knocked-blue-vy-lo 24576.0 + :knocked-blue-vy-hi 40960.0 + :shadow-size (meters 2) + :shadow-max-y (meters 1) + :shadow-min-y (meters -2) + :shadow-locus-dist (meters 150) + :gem-joint -1 + :gem-offset (new 'static 'sphere :r 163840.0) + :callback-info #f + :use-momentum #t + :use-frustration #t + :use-stop-chase #t + :use-circling #f + :use-pacing #f + :walk-anim 32 + :turn-anim -1 + :run-anim 33 + :taunt-anim -1 + :run-travel-speed (meters 10) + :run-acceleration (meters 14) + :run-turning-acceleration (meters 9) + :walk-travel-speed (meters 3) + :walk-acceleration (meters 8) + :walk-turning-acceleration (meters 6) + :maximum-rotation-rate (degrees 360) + :notice-nav-radius (meters 10) + :frustration-distance (meters 8) + :frustration-time (seconds 4) + :blocked-time (seconds 0.3) + :circle-dist-lo 20480.0 + :circle-dist-hi 61440.0 + :nav-mesh #f + ) + ) + +;; failed to figure out what this is: +(set! (-> *jinx-nav-enemy-info* fact-defaults) *fact-info-enemy-defaults*) + +;; definition for method 74 of type jinx +(defmethod general-event-handler jinx ((obj jinx) (arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + "Handles various events for the enemy +@TODO - unsure if there is a pattern for the events and this should have a more specific name" + (case arg2 + (('request) + (case (-> arg3 param 0) + (('explode) + (send-event (handle->process (-> obj bomb-handle)) 'trigger) + ) + (('no-bomb) + (send-event (handle->process (-> obj bomb-handle)) 'die-fast) + ) + (('replace-bomb) + (setup-masks (-> obj draw) 4096 0) + #t + ) + (else + ((method-of-type ruffian general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ) + ) + (else + ((method-of-type ruffian general-event-handler) obj arg0 arg1 arg2 arg3) + ) + ) + ) + +;; definition for method 114 of type jinx +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy-collision! jinx ((obj jinx)) + "Initializes the [[collide-shape-moving]] and any ancillary tasks to make the enemy collide properly" + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) cshape-reaction-default) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-query vector vector object) nothing) + ) + (set! (-> s5-0 penetrated-by) (penetrate + generic-attack + lunge + flop + punch + spin + roll + uppercut + bonk + tube + vehicle + flut-attack + board + mech-punch + dark-punch + dark-giant + ) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) + (set! (-> s5-0 total-prims) (the-as uint 4)) + (set! (-> s4-0 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> s4-0 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> s4-0 prim-core action) (collide-action solid can-ride no-standon)) + (set-vector! (-> s4-0 local-sphere) 0.0 5734.4 0.0 7372.8) + (set! (-> s5-0 root-prim) s4-0) + ) + (let ((v1-13 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-13 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> v1-13 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-13 prim-core action) (collide-action solid can-ride)) + (set-vector! (-> v1-13 local-sphere) 0.0 3686.4 0.0 3686.4) + ) + (let ((v1-15 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-15 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> v1-15 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-15 prim-core action) (collide-action solid)) + (set-vector! (-> v1-15 local-sphere) 0.0 5939.2 0.0 3686.4) + ) + (let ((v1-17 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> v1-17 prim-core collide-as) (collide-spec bot bot-targetable)) + (set! (-> v1-17 prim-core collide-with) + (collide-spec backgnd jak crate civilian enemy obstacle vehicle-sphere hit-by-others-list player-list pusher) + ) + (set! (-> v1-17 prim-core action) (collide-action solid no-standon)) + (set-vector! (-> v1-17 local-sphere) 0.0 8192.0 0.0 3686.4) + ) + (set! (-> s5-0 nav-radius) 4096.0) + (let ((v1-19 (-> s5-0 root-prim))) + (set! (-> s5-0 backup-collide-as) (-> v1-19 prim-core collide-as)) + (set! (-> s5-0 backup-collide-with) (-> v1-19 prim-core collide-with)) + ) + (set! (-> s5-0 max-iteration-count) (the-as uint 3)) + (set! (-> s5-0 event-priority) (the-as uint 6)) + (set! (-> obj root) s5-0) + ) + 0 + (none) + ) + +;; definition for method 115 of type jinx +;; WARN: Return type mismatch int vs none. +(defmethod init-enemy! jinx ((obj jinx)) + "Common method called to initialize the enemy, typically sets up default field values and calls ancillary helper methods" + (init! obj) + (set! (-> obj min-speed) 24576.0) + (set! (-> obj max-speed) 49152.0) + (set! (-> obj follow-offset) 24576.0) + (set! (-> obj channel) (the-as uint 24)) + (set! (-> obj notice-enemy-dist) 204800.0) + (set! (-> obj travel-anim-interp) 0.0) + (set! (-> obj focus-info max-los-dist) 61440.0) + (set! (-> obj bomb-handle) (the-as handle #f)) + (set! (-> obj bomb-func) #f) + (initialize-skeleton + obj + (the-as skeleton-group (art-group-get-by-name *level* "skel-jinx" (the-as (pointer uint32) #f))) + (the-as pair 0) + ) + (init-enemy-behaviour-and-stats! obj *jinx-nav-enemy-info*) + (set! (-> obj draw light-index) (the-as uint 10)) + (setup-masks (-> obj draw) 6882 #x3e51c) + (set! (-> obj swivel-joint-mod) (new 'process 'joint-mod (joint-mod-mode joint-set*) obj 4)) + (let ((v1-17 (-> obj neck))) + (set! (-> v1-17 up) (the-as uint 1)) + (set! (-> v1-17 nose) (the-as uint 2)) + (set! (-> v1-17 ear) (the-as uint 0)) + (set-vector! (-> v1-17 twist-max) 11832.889 11832.889 0.0 1.0) + (set! (-> v1-17 ignore-angle) 30947.555) + ) + (let ((t9-6 (method-of-type ruffian init-enemy!))) + (t9-6 obj) + ) + (set! (-> obj my-simple-focus) (process-spawn simple-focus :to obj)) + 0 + (none) + ) + +;; definition for method 239 of type jinx +;; INFO: Used lq/sq +;; WARN: Return type mismatch (pointer process) vs none. +(defmethod fire-gun jinx ((obj jinx) (arg0 vector)) + (set! (-> obj next-fire-time) (+ (current-time) (get-rand-int-range obj 150 600))) + (+! (-> obj fired-gun-count) 1) + (let ((s4-1 (new 'stack-no-clear 'projectile-init-by-other-params))) + (set! (-> s4-1 ent) (-> obj entity)) + (set! (-> s4-1 charge) 1.0) + (set! (-> s4-1 options) (projectile-options account-for-target-velocity proj-options-8000)) + (set! (-> s4-1 notify-handle) (the-as handle #f)) + (set! (-> s4-1 owner-handle) (the-as handle #f)) + (set! (-> s4-1 ignore-handle) (process->handle obj)) + (let* ((v1-12 *game-info*) + (a0-7 (+ (-> v1-12 attack-id) 1)) + ) + (set! (-> v1-12 attack-id) a0-7) + (set! (-> s4-1 attack-id) a0-7) + ) + (set! (-> s4-1 timeout) (seconds 4)) + (vector<-cspace! (-> s4-1 pos) (-> obj node-list data 24)) + (set! (-> s4-1 vel quad) (-> arg0 quad)) + (vector-! (-> s4-1 vel) (-> s4-1 vel) (-> s4-1 pos)) + (vector-normalize! (-> s4-1 vel) 307200.0) + (spawn-projectile jinx-shot s4-1 obj *default-dead-pool*) + ) + (none) + ) + +;; definition for method 244 of type jinx +;; WARN: Return type mismatch int vs none. +(defmethod ruffian-method-244 jinx ((obj jinx)) + (with-pp + (ruffian-method-245 obj) + (let ((f30-0 (-> obj nav state speed))) + (let ((f0-1 (lerp-scale 0.0 1.0 f30-0 12288.0 40960.0))) + (seek! (-> obj travel-anim-interp) f0-1 (* 4.0 (-> pp clock seconds-per-frame))) + ) + (let ((f28-0 (-> obj travel-anim-interp)) + (v1-9 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((and v1-9 (= v1-9 (-> obj draw art-group data 32))) + (let ((v1-14 (-> obj skel root-channel 1))) + (set! (-> v1-14 frame-interp 1) f28-0) + (set! (-> v1-14 frame-interp 0) f28-0) + ) + (let* ((f28-1 (current-cycle-distance (-> obj skel))) + (f0-5 (quaternion-y-angle (-> obj root quat))) + (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) + (f0-8 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) + (f0-11 (/ (* 16.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) + (a0-11 (-> obj skel root-channel 0)) + ) + (set! (-> a0-11 param 0) f0-11) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((a0-12 (-> obj 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) + ) + ) + (else + (ja-channel-push! 2 (seconds 0.15)) + (let ((a0-14 (-> obj skel root-channel 0))) + (set! (-> a0-14 dist) 13107.2) + (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> obj draw art-group data 32))) + (set! (-> a0-14 param 0) 1.0) + (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> obj draw art-group data 32)) num-func-loop!) + ) + (let ((a0-15 (-> obj skel root-channel 1))) + (set! (-> a0-15 frame-interp 1) f28-0) + (set! (-> a0-15 frame-interp 0) f28-0) + (set! (-> a0-15 dist) 21843.969) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> obj draw art-group data 33))) + (set! (-> a0-15 param 0) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> obj draw art-group data 33)) num-func-chan) + ) + ) + ) + ) + ) + (none) + ) + ) + +;; definition for method 77 of type jinx +(defmethod enemy-method-77 jinx ((obj jinx) (arg0 (pointer float))) + (let ((v1-0 (-> obj incoming knocked-type))) + (cond + ((= v1-0 (knocked-type knocked-type-6)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s5-1 (new 'stack-no-clear 'vector)) + ) + (enemy-method-50 obj s4-0) + (vector-z-quaternion! s5-1 (-> obj root quat)) + (cond + ((>= (vector-dot s4-0 s5-1) 0.0) + (let* ((v1-7 (enemy-method-120 obj 3 (ash 1 (-> *jinx-global-info* prev-blue-hit-back)))) + (s5-2 (-> obj draw art-group data (-> *jinx-global-info* blue-hit-back-anim v1-7))) + ) + (set! (-> *jinx-global-info* prev-blue-hit-back) v1-7) + (let ((v1-10 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (if (and v1-10 (= v1-10 (-> obj draw art-group data 16))) + (ja-channel-push! 1 (seconds 0.17)) + (ja-channel-push! 1 (seconds 0.02)) + ) + ) + (let ((a0-17 (-> obj skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim s5-2)) + (set! (-> a0-17 param 0) (the float (+ (-> (the-as art-joint-anim s5-2) frames num-frames) -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 s5-2) num-func-seek!) + ) + ) + ) + (else + (let* ((v1-24 (enemy-method-120 obj 3 (ash 1 (-> *jinx-global-info* prev-blue-hit-front)))) + (s5-3 (-> obj draw art-group data (-> *jinx-global-info* blue-hit-front-anim v1-24))) + ) + (set! (-> *jinx-global-info* prev-blue-hit-front) v1-24) + (let ((v1-27 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (if (and v1-27 (= v1-27 (-> obj draw art-group data 16))) + (ja-channel-push! 1 (seconds 0.17)) + (ja-channel-push! 1 (seconds 0.02)) + ) + ) + (let ((a0-31 (-> obj skel root-channel 0))) + (set! (-> a0-31 frame-group) (the-as art-joint-anim s5-3)) + (set! (-> a0-31 param 0) (the float (+ (-> (the-as art-joint-anim s5-3) frames num-frames) -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 s5-3) num-func-seek!) + ) + ) + ) + ) + ) + ) + ((= v1-0 (knocked-type knocked-type-2)) + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-34 (-> obj skel root-channel 0))) + (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> obj draw art-group data 23))) + (set! (-> a0-34 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 23)) frames num-frames) -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 (-> obj draw art-group data 23)) num-func-seek!) + ) + ) + ((zero? (get-rand-int obj 3)) + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-37 (-> obj skel root-channel 0))) + (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> obj draw art-group data 21))) + (set! (-> a0-37 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 21)) frames num-frames) -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 (-> obj draw art-group data 21)) num-func-seek!) + ) + ) + (else + (let ((s4-1 (new 'stack-no-clear 'vector))) + 0.0 + 0.0 + (vector-z-quaternion! s4-1 (-> obj root quat)) + (let ((f30-0 (atan (-> s4-1 x) (-> s4-1 z)))) + (enemy-method-50 obj s4-1) + (let* ((f0-24 (atan (-> s4-1 x) (-> s4-1 z))) + (s4-2 (if (< (deg- f0-24 f30-0) 0.0) + (-> obj draw art-group data 17) + (-> obj draw art-group data 19) + ) + ) + ) + (ja-channel-push! 1 (seconds 0.03)) + (let ((a0-44 (-> obj skel root-channel 0))) + (set! (-> a0-44 frame-group) (the-as art-joint-anim s4-2)) + (set! (-> a0-44 param 0) (the float (+ (-> (the-as art-joint-anim s4-2) frames num-frames) -1))) + (set! (-> a0-44 param 1) (-> arg0 0)) + (set! (-> a0-44 frame-num) 0.0) + (joint-control-channel-group! a0-44 (the-as art-joint-anim s4-2) num-func-seek!) + ) + ) + ) + ) + ) + ) + ) + #t + ) + +;; definition for method 78 of type jinx +(defmethod enemy-method-78 jinx ((obj jinx) (arg0 (pointer float))) + (case (-> obj incoming knocked-type) + (((knocked-type knocked-type-6)) + (when (>= (-> obj incoming blue-juggle-count) (the-as uint 2)) + (-> obj draw art-group data 16) + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-3 (-> obj skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> obj draw art-group data 16))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 16)) frames num-frames) -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 (-> obj draw art-group data 16)) num-func-seek!) + ) + #t + ) + ) + (((knocked-type knocked-type-2)) + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-6 (-> obj skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> obj draw art-group data 24))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 24)) frames num-frames) -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 (-> obj draw art-group data 24)) num-func-seek!) + ) + #t + ) + (else + (let ((v1-37 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((and v1-37 (= v1-37 (-> obj draw art-group data 21))) + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-12 (-> obj skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> obj draw art-group data 22))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 22)) frames num-frames) -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 (-> obj draw art-group data 22)) num-func-seek!) + ) + ) + (else + (let ((v1-57 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((and v1-57 (= v1-57 (-> obj draw art-group data 17))) + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-18 (-> obj skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> obj draw art-group data 18))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 18)) frames num-frames) -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 (-> obj draw art-group data 18)) num-func-seek!) + ) + ) + (else + (ja-channel-push! 1 (seconds 0.17)) + (let ((a0-20 (-> obj skel root-channel 0))) + (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> obj draw art-group data 20))) + (set! (-> a0-20 param 0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 20)) frames num-frames) -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 (-> obj draw art-group data 20)) num-func-seek!) + ) + ) + ) + ) + ) + ) + ) + #t + ) + ) + ) + +;; definition for method 79 of type jinx +(defmethod enemy-method-79 jinx ((obj jinx) (arg0 int) (arg1 enemy-knocked-info)) + (let ((f30-0 -1.0)) + (when (and (= arg0 3) (logtest? (-> obj bot-flags) (bot-flags attacked))) + (let ((v1-7 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((and v1-7 (= v1-7 (-> obj draw art-group data 22))) + (set! f30-0 17.0) + ) + ((let ((v1-15 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (and v1-15 (= v1-15 (-> obj draw art-group data 20))) + ) + (set! f30-0 23.0) + ) + ((let ((v1-23 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (and v1-23 (= v1-23 (-> obj draw art-group data 18))) + ) + (set! f30-0 11.0) + ) + ((let ((v1-31 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + ) + ) + (and v1-31 (= v1-31 (-> obj draw art-group data 16))) + ) + (set! f30-0 12.0) + ) + ) + ) + ) + (cond + ((>= f30-0 0.0) + (let ((a0-1 (-> obj skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group frames num-frames) -1))) + (set! (-> a0-1 param 1) (-> arg1 anim-speed)) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + (>= (ja-aframe-num 0) f30-0) + ) + (else + ((method-of-type ruffian enemy-method-79) obj arg0 arg1) + ) + ) + ) + ) + +;; definition for method 84 of type jinx +(defmethod enemy-method-84 jinx ((obj jinx) (arg0 enemy-jump-info)) + (let ((f0-0 (vector-vector-xz-distance (-> arg0 start-pos) (-> arg0 dest-pos)))) + (fmax (-> obj enemy-info jump-height-min) (* (-> obj enemy-info jump-height-factor) f0-0)) + ) + (let ((f0-3 3072.0)) + (setup-from-to-height! (-> arg0 traj) (-> arg0 start-pos) (-> arg0 dest-pos) f0-3 -4.551111) + ) + (none) + ) + +;; definition for method 216 of type jinx +;; WARN: Return type mismatch int vs none. +(defmethod bot-method-216 jinx ((obj jinx)) + (set! (-> obj health-handle) (ppointer->handle (process-spawn hud-ruffians :init hud-init-by-other :to obj))) + 0 + (none) + ) + +;; definition for method 15 of type hud-ruffians +;; WARN: Return type mismatch int vs none. +(defmethod draw hud-ruffians ((obj hud-ruffians)) + (set-hud-piece-position! + (-> obj sprites 2) + (the int (+ 20.0 (* -130.0 (-> obj offset)))) + (the int (+ 15.0 (* -100.0 (-> obj offset)))) + ) + (set! (-> obj sprites 0 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> obj values 0 current)) 100))))) + (set-as-offset-from! (the-as hud-sprite (-> obj sprites)) (the-as vector4w (-> obj sprites 2)) 40 16) + (set-as-offset-from! (-> obj sprites 1) (the-as vector4w (-> obj sprites 2)) 1 16) + (set-as-offset-from! (-> obj sprites 3) (the-as vector4w (-> obj sprites 2)) 15 2) + (set-hud-piece-position! + (-> obj sprites 6) + (the int (+ 100.0 (* -130.0 (-> obj offset)))) + (the int (+ 15.0 (* -100.0 (-> obj offset)))) + ) + (set! (-> obj sprites 4 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> obj values 1 current)) 100))))) + (set-as-offset-from! (-> obj sprites 4) (the-as vector4w (-> obj sprites 6)) 40 16) + (set-as-offset-from! (-> obj sprites 5) (the-as vector4w (-> obj sprites 6)) 1 16) + (set-as-offset-from! (-> obj sprites 7) (the-as vector4w (-> obj sprites 6)) 15 2) + (set-hud-piece-position! + (-> obj sprites 10) + (the int (+ 20.0 (* -130.0 (-> obj offset)))) + (the int (+ 85.0 (* -100.0 (-> obj offset)))) + ) + (set! (-> obj sprites 8 angle) (* 182.04445 (the float (- 270 (/ (* 90 (-> obj values 2 current)) 100))))) + (set-as-offset-from! (-> obj sprites 8) (the-as vector4w (-> obj sprites 10)) 40 16) + (set-as-offset-from! (-> obj sprites 9) (the-as vector4w (-> obj sprites 10)) 1 16) + (set-as-offset-from! (-> obj sprites 11) (the-as vector4w (-> obj sprites 10)) 15 2) + ((method-of-type hud draw) obj) + 0 + (none) + ) + +;; definition for method 16 of type hud-ruffians +;; WARN: Return type mismatch int vs none. +(defmethod update-values hud-ruffians ((obj hud-ruffians)) + (set! (-> obj values 0 target) (the int (* 100.0 (-> *game-info* bot-health 0)))) + (set! (-> obj values 1 target) (the int (* 100.0 (-> *game-info* bot-health 1)))) + (set! (-> obj values 2 target) (the int (* 100.0 (-> *game-info* bot-health 2)))) + ((method-of-type hud update-values) obj) + 0 + (none) + ) + +;; definition for method 17 of type hud-ruffians +;; WARN: Return type mismatch int vs none. +(defmethod init-callback hud-ruffians ((obj hud-ruffians)) + (set! (-> obj gui-id) + (add-process *gui-control* obj (gui-channel hud-upper-left) (gui-action hidden) (-> obj name) 81920.0 0) + ) + (logior! (-> obj flags) (hud-flags show)) + (set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x1e :page #x67a))) + (set! (-> obj sprites 0 scale-x) 12.0) + (set! (-> obj sprites 0 scale-y) 11.2) + (set! (-> obj sprites 0 pos z) #xfffff2) + (set! (-> obj sprites 1 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x25 :page #x67a))) + (set! (-> obj sprites 1 pos z) #xfffff0) + (set! (-> obj sprites 2 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x12 :page #x67a))) + (set! (-> obj sprites 2 pos z) #xffffff) + (set! (-> obj sprites 3 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x1 :page #xd57))) + (set! (-> obj sprites 3 scale-x) 1.0) + (set! (-> obj sprites 3 scale-y) 1.4) + (set! (-> obj sprites 3 pos z) #xffffff) + (set! (-> obj sprites 4 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x1e :page #x67a))) + (set! (-> obj sprites 4 scale-x) 12.0) + (set! (-> obj sprites 4 scale-y) 11.2) + (set! (-> obj sprites 4 pos z) #xfffff2) + (set! (-> obj sprites 5 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x25 :page #x67a))) + (set! (-> obj sprites 5 pos z) #xfffff0) + (set! (-> obj sprites 6 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x12 :page #x67a))) + (set! (-> obj sprites 6 pos z) #xffffff) + (set! (-> obj sprites 7 tex) (lookup-texture-by-id (new 'static 'texture-id :page #xd57))) + (set! (-> obj sprites 7 scale-x) 1.0) + (set! (-> obj sprites 7 scale-y) 1.4) + (set! (-> obj sprites 7 pos z) #xffffff) + (set! (-> obj sprites 8 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x1e :page #x67a))) + (set! (-> obj sprites 8 scale-x) 12.0) + (set! (-> obj sprites 8 scale-y) 11.2) + (set! (-> obj sprites 8 pos z) #xfffff2) + (set! (-> obj sprites 9 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x25 :page #x67a))) + (set! (-> obj sprites 9 pos z) #xfffff0) + (set! (-> obj sprites 10 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x12 :page #x67a))) + (set! (-> obj sprites 10 pos z) #xffffff) + (set! (-> obj sprites 11 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #xd57))) + (set! (-> obj sprites 11 scale-x) 1.0) + (set! (-> obj sprites 11 scale-y) 1.4) + (set! (-> obj sprites 11 pos z) #xffffff) + 0 + (none) + ) + + + + diff --git a/test/decompiler/reference/jak2/levels/sewer/escort/mog_REF.gc b/test/decompiler/reference/jak2/levels/sewer/escort/mog_REF.gc index 13603abac4..f3a8cfb4bf 100644 --- a/test/decompiler/reference/jak2/levels/sewer/escort/mog_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/escort/mog_REF.gc @@ -161,7 +161,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 8) :walk-turning-acceleration (meters 6) - :maximum-rotation-rate (degrees 360.0) + :maximum-rotation-rate (degrees 360) :notice-nav-radius (meters 10) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -263,7 +263,7 @@ ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) (set! (-> s5-0 event-priority) (the-as uint 6)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -278,7 +278,7 @@ (set-enemy-info! obj *mog-nav-enemy-info*) (set! (-> obj channel) (the-as uint 23)) (set! (-> obj spot-color) (the-as uint #x50ff0000)) - (set-vector! (-> obj root-override2 scale) 1.15 1.15 1.15 1.0) + (set-vector! (-> obj root scale) 1.15 1.15 1.15 1.0) (set! (-> obj skel prebind-function) mog-prebind-function) (set! (-> obj min-speed) 14336.0) (set! (-> obj max-speed) 32768.0) @@ -310,7 +310,7 @@ (set! (-> v1-14 frame-interp 0) f28-0) ) (let* ((f28-1 (current-cycle-distance (-> obj skel))) - (f0-5 (quaternion-y-angle (-> obj root-override2 quat))) + (f0-5 (quaternion-y-angle (-> obj root quat))) (f1-2 (deg- f0-5 (-> obj travel-prev-ry))) (f0-8 (fmin 40960.0 (* 0.35342914 (-> pp clock frames-per-second) (fabs f1-2)))) (f0-11 (/ (* 20.0 (fmax f30-0 f0-8)) (* 15.0 f28-1))) @@ -361,7 +361,3 @@ (none) ) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc b/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc index 751984477d..dc4a7147a6 100644 --- a/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/gator_REF.gc @@ -184,15 +184,15 @@ (defmethod adjust-depth! gator ((obj gator)) "Changes the height based on the ocean depth @see [[get-height]]" - (set! (-> obj ocean-y) (get-height *ocean* (-> obj root-override2 trans) #t)) - (set! (-> obj root-override2 trans y) (+ -10240.0 (-> obj ocean-y))) + (set! (-> obj ocean-y) (get-height *ocean* (-> obj root trans) #t)) + (set! (-> obj root trans y) (+ -10240.0 (-> obj ocean-y))) ) ;; definition for method 180 of type gator ;; INFO: Used lq/sq (defmethod update-facing! gator ((obj gator) (arg0 vector)) "Updates the `new-facing` vector" - (let ((matrix (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root-override2 quat)))) + (let ((matrix (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)))) (set! (-> arg0 quad) (-> matrix vector 2 quad)) ) arg0 @@ -367,9 +367,7 @@ ) (let ((enemy-target (get-enemy-target self))) (when enemy-target - (let ((dir-to-target - (vector-! (new 'stack-no-clear 'vector) (get-trans enemy-target 0) (-> self root-override2 trans)) - ) + (let ((dir-to-target (vector-! (new 'stack-no-clear 'vector) (get-trans enemy-target 0) (-> self root trans))) (nav-state (-> self nav state)) (s5-0 (new 'stack-no-clear 'vector)) ) @@ -409,7 +407,7 @@ (set! (-> _self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> _self enemy-flags)))) ) (set! (-> _self enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> _self enemy-flags)))) - (set! (-> _self nav callback-info) (-> _self enemy-info-override callback-info)) + (set! (-> _self nav callback-info) (-> _self enemy-info callback-info)) ) 0 (let ((__self self)) @@ -417,7 +415,7 @@ ) 0 (let ((nav-state (-> self nav state))) - (set! (-> nav-state speed) (* 1.25 (-> self enemy-info-override run-travel-speed))) + (set! (-> nav-state speed) (* 1.25 (-> self enemy-info run-travel-speed))) ) 0 (set! (-> self lock-nav-target) #f) @@ -453,7 +451,7 @@ ) (set! (-> self lock-nav-target) #t) (let ((nav (-> self nav))) - (set! (-> nav target-speed) (-> self enemy-info-override walk-travel-speed)) + (set! (-> nav target-speed) (-> self enemy-info walk-travel-speed)) ) 0 (let ((_nav (-> self nav))) @@ -465,7 +463,7 @@ (set! (-> velocity quad) (-> nav-state velocity quad)) ) (vector-normalize! velocity 32768.0) - (vector+! velocity velocity (-> self root-override2 trans)) + (vector+! velocity velocity (-> self root trans)) (let ((_nav-state (-> self nav state))) (logclear! (-> _nav-state flags) (nav-state-flag directional-mode)) (logior! (-> _nav-state flags) (nav-state-flag target-poly-dirty)) @@ -502,7 +500,7 @@ (let ((nav-state (-> self nav state))) (set! (-> target-pos quad) (-> nav-state target-post quad)) ) - (if (and (-> self lock-nav-target) (< (vector-vector-distance (-> self root-override2 trans) target-pos) 8192.0)) + (if (and (-> self lock-nav-target) (< (vector-vector-distance (-> self root trans) target-pos) 8192.0)) (react-to-focus self) ) ) @@ -637,7 +635,7 @@ (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) (set! (-> cshape max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -657,7 +655,7 @@ (set! (-> nav speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (adjust-depth! obj) (set! (-> obj turn-time) 0) diff --git a/test/decompiler/reference/jak2/levels/sewer/grim2-course_REF.gc b/test/decompiler/reference/jak2/levels/sewer/grim2-course_REF.gc index 4403c9fd9c..6f41da21ca 100644 --- a/test/decompiler/reference/jak2/levels/sewer/grim2-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/grim2-course_REF.gc @@ -62,15 +62,15 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ruf-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ruf-course spots 0))) (let ((a1-1 (new 'stack-no-clear 'vector))) (set-vector! a1-1 0.0 9102.223 0.0 1.0) - (quaternion-zxy! (-> arg0 root-override2 quat) a1-1) + (quaternion-zxy! (-> arg0 root quat) a1-1) ) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 0 quad)) (set! (-> arg0 focus-mode) 1) @@ -125,11 +125,11 @@ ) (new 'static 'bot-waypoint :waypoint-id 2 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (let ((v1-5 (-> arg0 actor-group 0 data 2 actor))) (set! (-> arg0 poi-handle) (process->handle (if v1-5 @@ -163,7 +163,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -192,7 +192,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -202,7 +202,7 @@ (the-as (function ruft-wait-spot ruffian symbol) (lambda ((arg0 object) (arg1 grim-sewer)) - (when (or (< (-> arg1 spot center x) (-> arg1 root-override2 trans x)) + (when (or (< (-> arg1 spot center x) (-> arg1 root trans x)) (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) @@ -222,7 +222,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 6 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -232,7 +232,7 @@ (the-as (function ruft-wait-spot ruffian symbol) (lambda ((arg0 object) (arg1 grim-sewer)) - (when (or (< (-> arg1 spot center x) (-> arg1 root-override2 trans x)) + (when (or (< (-> arg1 spot center x) (-> arg1 root trans x)) (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) ) (let* ((v1-7 (-> arg1 actor-group 0 data 1 actor)) @@ -264,7 +264,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 7 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -293,7 +293,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 8 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -327,7 +327,7 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index 1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 1 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -372,7 +372,7 @@ (function ruft-wait-spot ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 grim-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -658,7 +658,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index 2 - :skip-to #x22 + :skip-to 34 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 28672.0) @@ -693,9 +693,9 @@ :on-skipping-here (lambda ((arg0 grim-sewer)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 ruf-course spots 16)) - (let ((v1-10 (-> arg0 root-override2 root-prim))) - (set! (-> v1-10 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-10 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-10 (-> arg0 root root-prim))) + (set! (-> v1-10 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-10 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -961,7 +961,7 @@ (new 'static 'bot-waypoint :waypoint-id 34 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 6 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1002,7 +1002,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index 4 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1030,7 +1030,7 @@ (new 'static 'bot-waypoint :waypoint-id 36 :nav-mesh-index 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-choose-jump arg0))) (set! (-> v1-1 bytes 5) 2) @@ -1044,7 +1044,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 grim-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 26 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 26 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 37 #f) @@ -1064,7 +1064,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> arg0 enemy-flags))) (set! (-> arg0 bot-flags) (logior (bot-flags bf19) (-> arg0 bot-flags))) @@ -1096,7 +1096,7 @@ (new 'static 'bot-waypoint :waypoint-id 38 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 7 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1125,7 +1125,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 20480.0) @@ -1162,7 +1162,7 @@ (new 'static 'bot-waypoint :waypoint-id 45 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 40960.0) @@ -1194,7 +1194,7 @@ (new 'static 'bot-waypoint :waypoint-id 46 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1223,7 +1223,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1257,7 +1257,7 @@ (new 'static 'bot-waypoint :waypoint-id 50 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1287,7 +1287,7 @@ (new 'static 'bot-waypoint :waypoint-id 51 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1316,7 +1316,7 @@ (new 'static 'bot-waypoint :waypoint-id 52 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1345,7 +1345,7 @@ (new 'static 'bot-waypoint :waypoint-id 53 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 grim-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1661,7 +1661,7 @@ (new 'static 'bot-speech-info :flags (speech-flags sf01) :hold-time #x5a :slave-id -1 :name "hal164") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 2 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve 11 :trans? #t) (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 1 :trans? #f) ) :spots (new 'static 'inline-array bot-spot 50 diff --git a/test/decompiler/reference/jak2/levels/sewer/hal2-course_REF.gc b/test/decompiler/reference/jak2/levels/sewer/hal2-course_REF.gc index b6ad64936e..8df31b8b55 100644 --- a/test/decompiler/reference/jak2/levels/sewer/hal2-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/hal2-course_REF.gc @@ -255,7 +255,7 @@ (defmethod hal-sewer-method-230 hal-sewer ((obj hal-sewer) (arg0 process-focusable) (arg1 process-focusable)) (when (and arg0 arg1) (let ((gp-0 (new 'stack-no-clear 'collide-query))) - (set! (-> gp-0 start-pos quad) (-> arg0 root-override trans quad)) + (set! (-> gp-0 start-pos quad) (-> arg0 root trans quad)) (set! (-> gp-0 start-pos y) (+ 8192.0 (-> gp-0 start-pos y))) (vector-! (-> gp-0 move-dist) (get-trans arg1 3) (-> gp-0 start-pos)) (let ((v1-5 gp-0)) @@ -536,7 +536,7 @@ (new 'static 'bot-waypoint :waypoint-id 2 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -587,7 +587,7 @@ (new 'static 'bot-waypoint :waypoint-id 3 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (play-speech arg0 0) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) @@ -641,7 +641,7 @@ (ai-task-control-method-10 (-> arg1 ai-ctrl) arg1) #t ) - ((and (>= (- (-> (target-pos 0) x) (-> arg1 root-override2 trans x)) -65536.0) + ((and (>= (- (-> (target-pos 0) x) (-> arg1 root trans x)) -65536.0) (or (not s3-0) (>= (the-as int (send-event s3-0 'query 'waypoint)) 3)) (or (not s4-0) (>= (the-as int (send-event s4-0 'query 'waypoint)) 3)) (or (not s5-0) (>= (the-as int (send-event s5-0 'query 'waypoint)) 3)) @@ -666,7 +666,7 @@ (new 'static 'bot-waypoint :waypoint-id 4 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (if (not (logtest? (bot-flags bf19 bf20 bf21) (-> arg0 bot-flags))) (play-speech arg0 1) @@ -1600,7 +1600,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index -1 - :skip-to #x1d + :skip-to 29 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -2356,7 +2356,7 @@ (new 'static 'bot-waypoint :waypoint-id 29 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (play-speech arg0 39) @@ -2491,7 +2491,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -2659,7 +2659,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) halt-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -2694,9 +2694,9 @@ (play-speech arg1 48) ) (when (or (>= (-> (target-pos 0) x) 5207572.5) - (>= (-> (the-as process-focusable s3-0) root-override trans x) 5120000.0) - (>= (-> (the-as process-focusable s4-0) root-override trans x) 5120000.0) - (>= (-> (the-as process-focusable s5-0) root-override trans x) 5120000.0) + (>= (-> (the-as process-focusable s3-0) root trans x) 5120000.0) + (>= (-> (the-as process-focusable s4-0) root trans x) 5120000.0) + (>= (-> (the-as process-focusable s5-0) root trans x) 5120000.0) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 41 #f) @@ -2717,7 +2717,7 @@ (new 'static 'bot-waypoint :waypoint-id 41 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a0-1 (-> arg0 actor-group 0 data 18 actor))) @@ -2885,7 +2885,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (if (zero? (get-rand-int arg0 2)) @@ -2983,7 +2983,7 @@ (new 'static 'bot-waypoint :waypoint-id 43 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (logclear! (-> arg0 bot-flags) (bot-flags bf24)) @@ -3082,7 +3082,7 @@ (new 'static 'bot-waypoint :waypoint-id 44 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (let ((a1-0 (new 'stack-no-clear 'event-message-block))) @@ -3207,7 +3207,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x30 + :skip-to 48 :on-set (lambda ((arg0 hal-sewer)) (with-pp (logclear! (-> arg0 bot-flags) (bot-flags bf24)) @@ -3535,9 +3535,7 @@ ) ) (if (and s4-1 - (>= 65536.0 - (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable s4-1) root-override trans)) - ) + (>= 65536.0 (vector-vector-xz-distance (target-pos 0) (-> (the-as process-focusable s4-1) root trans))) ) (play-speech arg1 67) ) @@ -3989,15 +3987,9 @@ (play-speech arg1 76) ) (else - (when (and (>= (vector4-dot (-> (the-as process-focusable s3-0) root-override trans) (the-as vector (-> arg1 test-plane))) - 0.0 - ) - (>= (vector4-dot (-> (the-as process-focusable s4-0) root-override trans) (the-as vector (-> arg1 test-plane))) - 0.0 - ) - (>= (vector4-dot (-> (the-as process-focusable s5-0) root-override trans) (the-as vector (-> arg1 test-plane))) - 0.0 - ) + (when (and (>= (vector4-dot (-> (the-as process-focusable s3-0) root trans) (the-as vector (-> arg1 test-plane))) 0.0) + (>= (vector4-dot (-> (the-as process-focusable s4-0) root trans) (the-as vector (-> arg1 test-plane))) 0.0) + (>= (vector4-dot (-> (the-as process-focusable s5-0) root trans) (the-as vector (-> arg1 test-plane))) 0.0) ) (let ((a0-18 *target*)) (when (and a0-18 @@ -4186,8 +4178,8 @@ (new 'static 'bot-speech-info :hold-time #x5a :name "hal114") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 2 - (new 'static 'bot-speech-tuning :fo-min 10 :fo-max 70 :fo-curve #xb :trans? #t) - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x96 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 10 :fo-max 70 :fo-curve 11 :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x96 :fo-curve 11 :trans? #t) ) :dirs (new 'static 'inline-array vector 8 (new 'static 'vector :x 1.0 :w 1.0) diff --git a/test/decompiler/reference/jak2/levels/sewer/hosehead_REF.gc b/test/decompiler/reference/jak2/levels/sewer/hosehead_REF.gc index 9af5f5f360..dbbbfb6331 100644 --- a/test/decompiler/reference/jak2/levels/sewer/hosehead_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/hosehead_REF.gc @@ -338,7 +338,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 16) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 20) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -419,7 +419,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-24 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -436,6 +436,7 @@ ) ;; definition for method 3 of type ik-setup +;; INFO: this function exists in multiple non-identical object files (defmethod inspect ik-setup ((obj ik-setup)) (when (not obj) (set! obj obj) @@ -682,8 +683,8 @@ (hosehead-method-189 obj) (let ((gp-0 (new 'stack-no-clear 'collide-query))) (let ((s4-0 (-> gp-0 start-pos))) - (let ((s3-0 (-> obj root-override2 trans))) - (let ((v1-4 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)))) + (let ((s3-0 (-> obj root trans))) + (let ((v1-4 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-4 6144.0)) (.mov vf7 a0-4) ) @@ -881,7 +882,7 @@ ;; definition for method 88 of type hosehead (defmethod enemy-method-88 hosehead ((obj hosehead) (arg0 enemy-jump-info)) (ja-channel-push! 1 (seconds 0.075)) - (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info-override jump-land-anim))) + (let ((a1-2 (-> obj draw art-group data (-> obj enemy-info jump-land-anim))) (a0-4 (-> obj skel root-channel 0)) ) (set! (-> a0-4 frame-group) (the-as art-joint-anim a1-2)) @@ -947,8 +948,8 @@ (s5-0 (new 'stack-no-clear 'vector)) ) (let ((s2-0 gp-0)) - (let ((s1-0 (-> obj root-override2 trans))) - (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)))) + (let ((s1-0 (-> obj root trans))) + (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)))) (let ((a0-3 8192.0)) (.mov vf7 a0-3) ) @@ -967,7 +968,7 @@ (set! (-> s3-0 start-pos quad) (-> gp-0 quad)) (vector-float*! (-> s3-0 move-dist) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) -16384.0 ) (let ((v1-9 s3-0)) @@ -1000,7 +1001,7 @@ (set! (-> s3-0 start-pos quad) (-> s5-0 quad)) (vector-float*! (-> s3-0 move-dist) - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat)) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat)) -16384.0 ) (let ((v1-16 s3-0)) @@ -1031,7 +1032,7 @@ ) ) (let ((s2-6 (vector-! (new 'stack-no-clear 'vector) gp-0 s5-0)) - (s1-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (s1-1 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (s3-1 (new 'stack-no-clear 'quaternion)) ) (let ((s0-0 (new 'stack-no-clear 'matrix))) @@ -1041,14 +1042,9 @@ (vector-rotate*! s2-6 s2-6 s0-0) ) (quaternion-look-at! s3-1 s2-6 *up-vector*) - (quaternion-pseudo-seek - (-> obj root-override2 quat) - (-> obj root-override2 quat) - s3-1 - (-> pp clock seconds-per-frame) - ) + (quaternion-pseudo-seek (-> obj root quat) (-> obj root quat) s3-1 (-> pp clock seconds-per-frame)) ) - (vector-average! (-> obj root-override2 trans) gp-0 s5-0) + (vector-average! (-> obj root trans) gp-0 s5-0) ) (none) ) @@ -1082,10 +1078,7 @@ (when (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (let ((a0-3 (handle->process (-> self focus handle)))) (when a0-3 - (let ((f0-0 - (vector-vector-xz-distance (get-trans (the-as process-focusable a0-3) 0) (-> self root-override2 trans)) - ) - ) + (let ((f0-0 (vector-vector-xz-distance (get-trans (the-as process-focusable a0-3) 0) (-> self root trans)))) (if (>= 98304.0 f0-0) (hosehead-method-185 self) ) @@ -1097,7 +1090,7 @@ (set! (-> self focus collide-with) (collide-spec jak bot player-list jak-vehicle)) (let ((gp-1 (-> self on-stop-sentry))) (if gp-1 - (script-eval (the-as pair gp-1) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-1) :vector (-> self root trans)) ) ) (go-virtual active) @@ -1151,8 +1144,8 @@ ) (init-vf0-vector) (let ((gp-0 (-> self target-pos))) - (let ((s5-0 (-> self root-override2 trans))) - (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((s5-0 (-> self root trans))) + (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((a0-2 40960.0)) (.mov vf7 a0-2) ) @@ -1175,10 +1168,7 @@ (when (>= (- (current-time) (-> self state-time)) (-> self state-timeout)) (let ((a0-8 (handle->process (-> self focus handle)))) (when a0-8 - (let ((f0-6 - (vector-vector-xz-distance (get-trans (the-as process-focusable a0-8) 0) (-> self root-override2 trans)) - ) - ) + (let ((f0-6 (vector-vector-xz-distance (get-trans (the-as process-focusable a0-8) 0) (-> self root trans)))) (if (>= 98304.0 f0-6) (hosehead-method-185 self) ) @@ -1190,7 +1180,7 @@ (set! (-> self focus collide-with) (collide-spec jak bot player-list jak-vehicle)) (let ((gp-2 (-> self on-stop-sentry))) (if gp-2 - (script-eval (the-as pair gp-2) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-2) :vector (-> self root trans)) ) ) (go-hostile self) @@ -1373,7 +1363,7 @@ ;; WARN: Return type mismatch float vs none. (defmethod hosehead-method-191 hosehead ((obj hosehead) (arg0 vector) (arg1 vector)) (cond - ((logtest? (-> obj fact-info-override enemy-options) (enemy-option user10)) + ((logtest? (-> obj fact enemy-options) (enemy-option user10)) (countdown (s3-0 8) (if (hosehead-method-192 obj arg1) (goto cfg-7) @@ -1386,7 +1376,7 @@ ) ) (else - (set! (-> arg1 quad) (-> obj root-override2 trans quad)) + (set! (-> arg1 quad) (-> obj root trans quad)) (set! (-> arg0 quad) (-> arg1 quad)) (set! (-> arg0 y) (+ 81920.0 (-> arg0 y))) ) @@ -1398,11 +1388,11 @@ (defstate directed (hosehead) :virtual #t :enter (behavior () - (when (or (logtest? (-> self fact-info-override enemy-options) (enemy-option user8)) - (logtest? (-> self fact-info-override enemy-options) (enemy-option user10)) + (when (or (logtest? (-> self fact enemy-options) (enemy-option user8)) + (logtest? (-> self fact enemy-options) (enemy-option user10)) ) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-10 (-> self root-override2 root-prim))) + (let ((v1-10 (-> self root root-prim))) (set! (-> v1-10 prim-core collide-as) (collide-spec)) (set! (-> v1-10 prim-core collide-with) (collide-spec)) ) @@ -1431,7 +1421,7 @@ (set! (-> v1-3 enemy-flags) (the-as enemy-flag (logclear (-> v1-3 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (let ((v1-6 (-> self root-override2 root-prim))) + (let ((v1-6 (-> self root root-prim))) (set! (-> v1-6 prim-core collide-as) (collide-spec)) (set! (-> v1-6 prim-core collide-with) (collide-spec)) ) @@ -1440,7 +1430,7 @@ (logclear! (-> self enemy-flags) (enemy-flag auto-reset-penetrate)) (let ((gp-0 (-> self on-notice))) (if gp-0 - (script-eval (the-as pair gp-0) :vector (-> self root-override2 trans)) + (script-eval (the-as pair gp-0) :vector (-> self root trans)) ) ) ) @@ -1448,12 +1438,12 @@ (let ((gp-1 (new 'stack-no-clear 'vector))) (let ((s5-0 (new 'stack-no-clear 'vector))) (hosehead-method-191 self gp-1 s5-0) - (set! (-> self root-override2 trans quad) (-> s5-0 quad)) + (set! (-> self root trans quad) (-> s5-0 quad)) (set! (-> self jump-point quad) (-> s5-0 quad)) ) (let ((a0-13 (enemy-method-97 self))) (when a0-13 - (let* ((s5-1 (-> self root-override2)) + (let* ((s5-1 (-> self root)) (s2-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-13) 0) (-> s5-1 trans)) @@ -1466,18 +1456,18 @@ ) ) ) - (set! (-> self root-override2 trans quad) (-> gp-1 quad)) + (set! (-> self root trans quad) (-> gp-1 quad)) ) (transform-post) (logior! (-> self focus-status) (focus-status dangerous)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let* ((v1-37 *game-info*) (a0-22 (+ (-> v1-37 attack-id) 1)) ) (set! (-> v1-37 attack-id) a0-22) (set! (-> self attack-id) a0-22) ) - (if (logtest? (enemy-option water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> self enemy-flags))) ) (logclear! (-> self draw status) (draw-control-status no-draw)) @@ -1488,10 +1478,10 @@ (none) ) :trans (behavior () - (when (>= 61440.0 (- (-> self root-override2 trans y) (-> self jump-point y))) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (when (>= 61440.0 (- (-> self root trans y) (-> self jump-point y))) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) ) (none) @@ -1514,7 +1504,7 @@ ) :post (behavior () (nav-enemy-falling-post) - (if (logtest? (-> self root-override2 status) (collide-status on-surface)) + (if (logtest? (-> self root status) (collide-status on-surface)) (go-virtual ambush-land) ) (none) @@ -1552,7 +1542,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -1598,7 +1588,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root-override2 quat))) + (let ((s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> obj root quat))) (f30-0 0.0) ) (vector-float*! s5-0 s5-0 20480.0) @@ -1608,7 +1598,7 @@ ) (vector-rotate-around-y! s1-0 s5-0 (* 182.04445 (the float (+ (* 11 s4-0) -90)))) (let ((v1-7 s3-0)) - (let ((a0-5 (-> obj root-override2 trans))) + (let ((a0-5 (-> obj root trans))) (let ((a1-3 s1-0)) (let ((a2-2 1.0)) (.mov vf7 a2-2) @@ -1719,8 +1709,8 @@ ) (while (not gp-0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let ((s4-0 (-> self root-override2 trans))) - (let ((v0-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)))) + (let ((s4-0 (-> self root trans))) + (let ((v0-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) (let ((v1-15 f30-0)) (.mov vf7 v1-15) ) @@ -1790,14 +1780,12 @@ :frame-num 0.0 ) (until (ja-done? 0) - (set! (-> self root-override2 trans y) - (- (-> self root-override2 trans y) (* 36864.0 (-> self clock seconds-per-frame))) - ) + (set! (-> self root trans y) (- (-> self root trans y) (* 36864.0 (-> self clock seconds-per-frame)))) (hosehead-method-186 self) (suspend) (ja :num! (seek! max 1.5)) ) - (when (< (- (-> self root-override2 trans y) (-> self jump-point y)) 40960.0) + (when (< (- (-> self root trans y) (-> self jump-point y)) 40960.0) (hosehead-method-196 self) (set! (-> self enemy-flags) (the-as enemy-flag (logclear (-> self enemy-flags) (enemy-flag vulnerable)))) (send-event self 'jump 0 (-> self jump-point)) @@ -1833,7 +1821,7 @@ (defstate knocked (hosehead) :virtual #t :enter (behavior () - (if (logtest? (enemy-option water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> self enemy-flags))) ) (let ((t9-0 (-> (method-of-type nav-enemy knocked) enter))) @@ -1849,7 +1837,7 @@ (defstate jump (hosehead) :virtual #t :enter (behavior () - (if (logtest? (enemy-option water) (-> self fact-info-override enemy-options)) + (if (logtest? (enemy-option water) (-> self fact enemy-options)) (set! (-> self enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> self enemy-flags))) ) (let ((t9-0 (-> (method-of-type nav-enemy jump) enter))) @@ -1888,8 +1876,8 @@ (set! (-> self attack-id) a0-2) ) (set! (-> self fire-beam?) #f) - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self target-pos) (-> self root-override2 trans))) - (a2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self target-pos) (-> self root trans))) + (a2-0 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) (s5-0 (new 'stack-no-clear 'vector)) ) (set! (-> gp-1 y) 0.0) @@ -1917,7 +1905,7 @@ (set! (-> self head-angle) (deg-diff (vector-y-angle gp-1) - (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root-override2 trans))) + (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self root trans))) ) ) ) @@ -2102,7 +2090,7 @@ ) ) (hosehead-method-189 self) - (let ((f30-0 (vector-vector-xz-distance (-> self target-pos) (-> self root-override2 trans)))) + (let ((f30-0 (vector-vector-xz-distance (-> self target-pos) (-> self root trans)))) (if (and (enemy-method-96 self 6371.5557 #t) (< f30-0 18432.0)) (go-virtual attack) ) @@ -2150,13 +2138,10 @@ (ja-channel-push! 1 (seconds 0.075)) (let ((f30-0 (get-rand-float-range self 0.8 1.2))) (new 'stack-no-clear 'vector) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override notice-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info notice-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override notice-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info notice-anim))) frames num-frames) -1 ) ) @@ -2168,12 +2153,8 @@ (let ((a0-4 (handle->process (-> self focus handle)))) (if a0-4 (seek-toward-heading-vec! - (-> self root-override2) - (vector-! - (new 'stack-no-clear 'vector) - (get-trans (the-as process-focusable a0-4) 0) - (-> self root-override2 trans) - ) + (-> self root) + (vector-! (new 'stack-no-clear 'vector) (get-trans (the-as process-focusable a0-4) 0) (-> self root trans)) 131072.0 (seconds 0.05) ) @@ -2228,7 +2209,7 @@ (let ((a0-1 (-> obj node-list data 9 bone transform))) (matrix->trans a0-1 s1-0) ) - (vector-z-quaternion! s0-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s0-0 (-> obj root quat)) (vector-! sv-128 arg0 s1-0) (vector-normalize! sv-128 1.0) (rot-zxy-from-vector! s4-0 s0-0) @@ -2308,7 +2289,7 @@ (init-vf0-vector) (let ((s5-0 (new 'stack-no-clear 'collide-query))) (let ((v1-0 (-> s5-0 bbox)) - (a0-2 (-> obj root-override2 trans)) + (a0-2 (-> obj root trans)) (a1-0 (new 'stack-no-clear 'vector)) ) (set! (-> a1-0 x) 14336.0) @@ -2318,7 +2299,7 @@ (vector-! (the-as vector v1-0) a0-2 a1-0) ) (let ((v1-2 (-> s5-0 bbox max)) - (a0-4 (-> obj root-override2 trans)) + (a0-4 (-> obj root trans)) (a1-1 (new 'stack-no-clear 'vector)) ) (set! (-> a1-1 x) 14336.0) @@ -2400,8 +2381,8 @@ (let* ((f0-14 (- (-> s2-0 y) (-> s1-0 y))) (f0-15 (lerp-scale 1.0 0.0 f0-14 0.0 8192.0)) ) - (- (-> s1-0 y) (-> obj root-override2 trans y)) - (let ((f1-5 (vector-dot s3-0 (vector-! (new 'stack-no-clear 'vector) s1-0 (-> obj root-override2 trans)))) + (- (-> s1-0 y) (-> obj root trans y)) + (let ((f1-5 (vector-dot s3-0 (vector-! (new 'stack-no-clear 'vector) s1-0 (-> obj root trans)))) (v1-29 s2-0) ) (let ((a0-23 s2-0)) @@ -2500,7 +2481,7 @@ (set! sv-16 (new 'static 'res-tag)) (let ((a0-5 (res-lump-data (-> obj entity) 'trans-offset (pointer float) :tag-ptr (& sv-16)))) (when a0-5 - (let ((v1-7 (-> obj root-override2))) + (let ((v1-7 (-> obj root))) (+! (-> v1-7 trans x) (-> a0-5 0)) (+! (-> v1-7 trans y) (-> a0-5 1)) (+! (-> v1-7 trans z) (-> a0-5 2)) @@ -2509,7 +2490,7 @@ ) (let ((f0-6 (res-lump-float (-> obj entity) 'rotoffset))) (if (!= f0-6 0.0) - (quaternion-rotate-local-y! (-> obj root-override2 quat) (-> obj root-override2 quat) f0-6) + (quaternion-rotate-local-y! (-> obj root quat) (-> obj root quat) f0-6) ) ) (let ((f0-7 (res-lump-float (-> obj entity) 'extra-float-param :default 30.0))) @@ -2521,16 +2502,16 @@ (set! (-> obj enemy-flags) (the-as enemy-flag (logior (enemy-flag vulnerable-backup) (-> obj enemy-flags)))) ) (init-enemy-behaviour-and-stats! obj *hosehead-nav-enemy-info*) - (set! (-> obj sentry?) (logtest? (-> obj fact-info-override enemy-options) (enemy-option user9))) + (set! (-> obj sentry?) (logtest? (-> obj fact enemy-options) (enemy-option user9))) (when (-> obj sentry?) - (set! (-> obj root-override2 pause-adjust-distance) 409600.0) + (set! (-> obj root pause-adjust-distance) 409600.0) (set! (-> obj on-stop-sentry) (res-lump-struct (-> obj entity) 'on-stop-sentry function)) ) (let ((v1-34 (-> obj nav))) (set! (-> v1-34 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 327680.0) + (set-gravity-length (-> obj root dynam) 327680.0) (add-connection *part-engine* obj 9 obj 318 (new 'static 'vector :x 2048.0 :y -40.96 :z 1392.64 :w 163840.0)) (add-connection *part-engine* obj 9 obj 318 (new 'static 'vector :x -2048.0 :y -40.96 :z 1392.64 :w 163840.0)) (if (-> obj on-wall?) diff --git a/test/decompiler/reference/jak2/levels/sewer/jinx2-course_REF.gc b/test/decompiler/reference/jak2/levels/sewer/jinx2-course_REF.gc index fd1a708814..612b745b5c 100644 --- a/test/decompiler/reference/jak2/levels/sewer/jinx2-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/jinx2-course_REF.gc @@ -89,12 +89,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ruf-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ruf-course spots 0))) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 0 quad)) (set! (-> arg0 focus-mode) 1) (let ((v1-16 (-> arg0 actor-group 0 data 3 actor))) @@ -148,11 +148,11 @@ ) (new 'static 'bot-waypoint :waypoint-id 2 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (let ((v1-5 (-> arg0 actor-group 0 data 3 actor))) (set! (-> arg0 poi-handle) (process->handle (if v1-5 @@ -186,7 +186,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -215,7 +215,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -243,7 +243,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 7 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -271,7 +271,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 8 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -305,7 +305,7 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index 1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 1 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -350,7 +350,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 jinx-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 4 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 4 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -512,7 +512,7 @@ #t ) ((or (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) - (>= (-> arg1 root-override2 trans z) (-> arg1 spot center z)) + (>= (-> arg1 root trans z) (-> arg1 spot center z)) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 16 #f) @@ -727,7 +727,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index 2 - :skip-to #x22 + :skip-to 34 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 bot-flags) (logior (bot-flags bf23) (-> arg0 bot-flags))) @@ -762,9 +762,9 @@ :on-skipping-here (lambda ((arg0 jinx-sewer)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 ruf-course spots 18)) - (let ((v1-10 (-> arg0 root-override2 root-prim))) - (set! (-> v1-10 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-10 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-10 (-> arg0 root root-prim))) + (set! (-> v1-10 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-10 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -1030,7 +1030,7 @@ (new 'static 'bot-waypoint :waypoint-id 34 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 6 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1071,7 +1071,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index 4 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1099,7 +1099,7 @@ (new 'static 'bot-waypoint :waypoint-id 36 :nav-mesh-index 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-choose-jump arg0))) (set! (-> v1-1 bytes 5) 3) @@ -1115,7 +1115,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 jinx-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 32 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 32 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 37 #f) @@ -1135,7 +1135,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> arg0 enemy-flags))) (set! (-> arg0 bot-flags) (logior (bot-flags bf19) (-> arg0 bot-flags))) @@ -1167,7 +1167,7 @@ (new 'static 'bot-waypoint :waypoint-id 38 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 7 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1196,7 +1196,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 24576.0) @@ -1233,7 +1233,7 @@ (new 'static 'bot-waypoint :waypoint-id 45 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 49152.0) @@ -1265,7 +1265,7 @@ (new 'static 'bot-waypoint :waypoint-id 46 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1294,7 +1294,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1328,7 +1328,7 @@ (new 'static 'bot-waypoint :waypoint-id 50 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1358,7 +1358,7 @@ (new 'static 'bot-waypoint :waypoint-id 51 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1387,7 +1387,7 @@ (new 'static 'bot-waypoint :waypoint-id 52 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 jinx-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1793,7 +1793,7 @@ (new 'static 'bot-speech-info :flags (speech-flags sf01) :hold-time #x5a :slave-id -1 :name "hal117") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 2 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve 11 :trans? #t) (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 1 :trans? #f) ) :spots (new 'static 'inline-array bot-spot 62 @@ -1924,7 +1924,3 @@ ;; failed to figure out what this is: (set! (-> *bot-course-table* course 2) *jinx2-course*) - - - - diff --git a/test/decompiler/reference/jak2/levels/sewer/mog2-course_REF.gc b/test/decompiler/reference/jak2/levels/sewer/mog2-course_REF.gc index 2075ae61e8..f1b07737b0 100644 --- a/test/decompiler/reference/jak2/levels/sewer/mog2-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/mog2-course_REF.gc @@ -57,12 +57,12 @@ (clear-speech-flags! arg0) (logior! (-> arg0 focus-status) (focus-status disable)) (set! (-> arg0 notice-enemy-dist) 0.0) - (let ((v1-5 (-> arg0 root-override2 root-prim))) + (let ((v1-5 (-> arg0 root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) 0 - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 ruf-course spots 0))) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 ruf-course spots 0))) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 0 quad)) (set! (-> arg0 focus-mode) 1) (let ((v1-16 (-> arg0 actor-group 0 data 1 actor))) @@ -116,11 +116,11 @@ ) (new 'static 'bot-waypoint :waypoint-id 2 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) - (let ((v1-1 (-> arg0 root-override2 root-prim))) - (set! (-> v1-1 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-1 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-1 (-> arg0 root root-prim))) + (set! (-> v1-1 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-1 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (let ((v1-5 (-> arg0 actor-group 0 data 1 actor))) (set! (-> arg0 poi-handle) (process->handle (if v1-5 @@ -154,7 +154,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 3 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -183,7 +183,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -193,7 +193,7 @@ (the-as (function ruft-wait-spot ruffian symbol) (lambda ((arg0 object) (arg1 mog-sewer)) - (when (or (< (-> arg1 spot center x) (-> arg1 root-override2 trans x)) + (when (or (< (-> arg1 spot center x) (-> arg1 root trans x)) (outside-spot-radius? arg1 (the-as bot-spot #f) (the-as vector #f) #f) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) @@ -231,7 +231,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 6 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -274,7 +274,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 7 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -302,7 +302,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 8 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -336,7 +336,7 @@ (new 'static 'bot-waypoint :waypoint-id 9 :nav-mesh-index 1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 1 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -379,7 +379,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 mog-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 5 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 11 #f) @@ -667,7 +667,7 @@ (new 'static 'bot-waypoint :waypoint-id 23 :nav-mesh-index 2 - :skip-to #x22 + :skip-to 34 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 24576.0) @@ -702,9 +702,9 @@ :on-skipping-here (lambda ((arg0 mog-sewer)) (ai-task-control-method-12 (-> arg0 ai-ctrl) arg0) (send-event arg0 'move-trans (-> arg0 ruf-course spots 14)) - (let ((v1-10 (-> arg0 root-override2 root-prim))) - (set! (-> v1-10 prim-core collide-as) (-> arg0 root-override2 backup-collide-as)) - (set! (-> v1-10 prim-core collide-with) (-> arg0 root-override2 backup-collide-with)) + (let ((v1-10 (-> arg0 root root-prim))) + (set! (-> v1-10 prim-core collide-as) (-> arg0 root backup-collide-as)) + (set! (-> v1-10 prim-core collide-with) (-> arg0 root backup-collide-with)) ) (set! (-> arg0 focus-mode) 0) (clear-poi-and-focus! arg0) @@ -970,7 +970,7 @@ (new 'static 'bot-waypoint :waypoint-id 34 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 6 quad)) (let ((v1-2 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1011,7 +1011,7 @@ (new 'static 'bot-waypoint :waypoint-id 35 :nav-mesh-index 4 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1039,7 +1039,7 @@ (new 'static 'bot-waypoint :waypoint-id 36 :nav-mesh-index 5 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-choose-jump arg0))) (set! (-> v1-1 bytes 5) 3) @@ -1055,7 +1055,7 @@ (function ruft-choose-jump ruffian symbol) (lambda ((arg0 ai-task-control) (arg1 mog-sewer)) (when (or (ai-task-control-method-12 arg0 arg1) - (< (-> arg1 root-override2 trans y) (+ -3072.0 (-> arg1 ruf-course spots 24 center y))) + (< (-> arg1 root trans y) (+ -3072.0 (-> arg1 ruf-course spots 24 center y))) ) (ai-task-control-method-12 (-> arg1 ai-ctrl) arg1) (go-to-waypoint! arg1 37 #f) @@ -1075,7 +1075,7 @@ (new 'static 'bot-waypoint :waypoint-id 37 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 enemy-flags) (logior (enemy-flag trackable-backup enable-on-hostile) (-> arg0 enemy-flags))) (set! (-> arg0 bot-flags) (logior (bot-flags bf19) (-> arg0 bot-flags))) @@ -1107,7 +1107,7 @@ (new 'static 'bot-waypoint :waypoint-id 38 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (set! (-> arg0 follow-dir quad) (-> *hal2-course* dirs 7 quad)) (set! (-> arg0 min-speed) 32768.0) @@ -1139,7 +1139,7 @@ (new 'static 'bot-waypoint :waypoint-id 39 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1168,7 +1168,7 @@ (new 'static 'bot-waypoint :waypoint-id 40 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1196,7 +1196,7 @@ (new 'static 'bot-waypoint :waypoint-id 42 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 24576.0) @@ -1233,7 +1233,7 @@ (new 'static 'bot-waypoint :waypoint-id 45 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (set! (-> arg0 min-speed) 32768.0) @@ -1265,7 +1265,7 @@ (new 'static 'bot-waypoint :waypoint-id 46 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1294,7 +1294,7 @@ (new 'static 'bot-waypoint :waypoint-id 47 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1328,7 +1328,7 @@ (new 'static 'bot-waypoint :waypoint-id 49 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (logclear! (-> arg0 bot-flags) (bot-flags bf19)) (let ((v1-3 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) @@ -1358,7 +1358,7 @@ (new 'static 'bot-waypoint :waypoint-id 50 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1387,7 +1387,7 @@ (new 'static 'bot-waypoint :waypoint-id 51 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1416,7 +1416,7 @@ (new 'static 'bot-waypoint :waypoint-id 52 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1445,7 +1445,7 @@ (new 'static 'bot-waypoint :waypoint-id 53 :nav-mesh-index -1 - :skip-to #x36 + :skip-to 54 :on-set (lambda ((arg0 mog-sewer)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) ruft-wait-spot arg0))) (set! (-> v1-1 bytes 5) 1) @@ -1753,7 +1753,7 @@ (new 'static 'bot-speech-info :flags (speech-flags sf01) :hold-time #x5a :slave-id -1 :name "hal150") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x8c :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 53 (new 'static 'bot-spot :center (new 'static 'vector :x 4627374.0 :y -207216.64 :z 2092523.5 :w 8192.0)) diff --git a/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc b/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc index 6d165caae2..1a5554cf63 100644 --- a/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/sewer-obs2_REF.gc @@ -49,11 +49,11 @@ @see [[path-control]] and [[elevator]]" (let ((path-point-a (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-a 'interp)) (path-point-b (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) point-b 'interp)) - (elevator-pos (-> obj root-override trans)) + (elevator-pos (-> obj root trans)) ) (when (and (< (-> path-point-b y) (-> path-point-a y)) (< (-> arg1 y) (+ -8192.0 (-> elevator-pos y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg1 elevator-pos))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -71,9 +71,9 @@ ) (when target-proc (let* ((target-pos (get-trans target-proc 0)) - (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root-override trans))) + (dist-from-center (vector-! (new 'stack-no-clear 'vector) target-pos (-> obj root trans))) ) - (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root-override quat)) + (vector-inv-orient-by-quat! dist-from-center dist-from-center (-> obj root quat)) (and (< (fabs (-> dist-from-center x)) 20480.0) (< 0.0 (-> dist-from-center z)) (< (-> dist-from-center z) 40960.0) @@ -88,7 +88,7 @@ (defmethod configure-collision sew-elevator ((obj sew-elevator) (collide-with-jak? symbol)) "Appropriately sets the collision on the elevator @param collide-with-jak? If set, the elevator will collide with Jak" - (let ((prim-group (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((prim-group (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (collide-with-jak? (set! (-> prim-group prim-core collide-as) (collide-spec obstacle pusher)) @@ -127,7 +127,7 @@ ((the-as (function none) func)) ) ) - (sound-play "sew-elevator-lp" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "sew-elevator-lp" :id (-> self sound-id) :position (-> self root trans)) (none) ) ) @@ -234,7 +234,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (configure-collision obj #f) (none) @@ -491,7 +491,7 @@ This commonly includes things such as: ;; definition of type sew-mar-statue (deftype sew-mar-statue (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (spawned-debris? symbol :offset-assert 200) ) :heap-base #x50 @@ -680,7 +680,7 @@ This commonly includes things such as: :virtual #t :event sew-mar-statue-event-handler :enter (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -716,7 +716,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -789,7 +789,7 @@ and translate the platform via the `smush` (process-entity-status! self (entity-perm-status subtask-complete) #t) (set! (-> self draw bounds y) -102400.0) (set! (-> self draw bounds w) 163840.0) - (set! (-> self root-override root-prim local-sphere w) 163840.0) + (set! (-> self root root-prim local-sphere w) 163840.0) (set! (-> self draw force-lod) 0) (let* ((art-group (-> self draw art-group)) (art (method-of-object art-group get-art-by-name-method)) @@ -890,7 +890,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -902,7 +902,7 @@ This commonly includes things such as: (set! (-> obj anim) (new 'static 'spool-anim :name "sew-catwalk-1" :anim-name "1-break" :parts 3 :command-list '()) ) - (set! (-> obj basetrans quad) (-> obj root-override trans quad)) + (set! (-> obj basetrans quad) (-> obj root trans quad)) (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (go (method-of-object obj fall) #t) (go (method-of-object obj idle)) @@ -912,8 +912,8 @@ This commonly includes things such as: ;; definition of type sew-mine (deftype sew-mine (process-drawable) - ((root-override collide-shape-moving :offset 128) - (last-time time-frame :offset-assert 200) + ((root collide-shape-moving :override) + (last-time time-frame :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -953,12 +953,11 @@ This commonly includes things such as: ) ) (when focus-proc - (let ((a0-4 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> focus-proc root-override trans) (-> self root-override trans)) - 1.0 - ) - ) + (let ((a0-4 (vector-normalize! + (vector-! (new 'stack-no-clear 'vector) (-> focus-proc root trans) (-> self root trans)) + 1.0 + ) + ) (evt (new 'stack-no-clear 'event-message-block)) ) (set! (-> evt from) (process->ppointer self)) @@ -992,7 +991,7 @@ This commonly includes things such as: ) :code (the-as (function none :behavior sew-mine) transform-and-sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (let ((gp-0 (mod (-> *display* part-clock frame-counter) 100))) (if (< gp-0 (-> self last-time)) (sound-play "sew-mine-flash") @@ -1007,14 +1006,14 @@ This commonly includes things such as: (defstate die (sew-mine) :virtual #t :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) 0 (logior! (-> self draw status) (draw-control-status no-draw)) (sound-play "sew-mine-b") - (process-spawn touch-tracker :init touch-tracker-init (-> self root-override trans) #x47200000 30 :to self) + (process-spawn touch-tracker :init touch-tracker-init (-> self root trans) #x47200000 30 :to self) (let ((part (get-process *default-dead-pool* part-tracker #x4000))) (when part (let ((func (method-of-type part-tracker activate))) @@ -1030,7 +1029,7 @@ This commonly includes things such as: (t2-1 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-7) a0-8 a1-6 @@ -1115,7 +1114,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving cshape)) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -1184,8 +1183,8 @@ This commonly includes things such as: (go-virtual die) ) ) - (set! (-> self root-override trans quad) (-> self center quad)) - (set! (-> self root-override trans y) (+ (-> self center y) (* 819.2 f28-0))) + (set! (-> self root trans quad) (-> self center quad)) + (set! (-> self root trans y) (+ (-> self center y) (* 819.2 f28-0))) ) (transform-post) (none) @@ -1218,7 +1217,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving cshape)) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -1241,9 +1240,9 @@ This commonly includes things such as: ) (set! (-> obj time-skew) (the-as uint (the int (* 300.0 (rand-vu-float-range 0.1 1.4))))) (set! (-> obj period) (* 300.0 (rand-vu-float-range 1.2 1.8))) - (set! (-> obj center quad) (-> obj root-override trans quad)) + (set! (-> obj center quad) (-> obj root trans quad)) (set! (-> obj base-height) (+ -216498.17 (-> obj base-height))) - (set! (-> obj root-override pause-adjust-distance) 532480.0) + (set! (-> obj root pause-adjust-distance) 532480.0) (go (method-of-object obj idle)) (none) ) @@ -1302,14 +1301,14 @@ This commonly includes things such as: (with-pp (let ((target *target*)) (when target - (let ((dist-from-wall (vector-vector-xz-distance (get-trans target 0) (-> obj root-override trans))) + (let ((dist-from-wall (vector-vector-xz-distance (get-trans target 0) (-> obj root trans))) (deadly-radius (-> obj deadly-radius)) (prev-deadly-radius (-> obj prev-deadly-radius)) ) (set! (-> obj prev-deadly-radius) deadly-radius) (when (and (>= deadly-radius dist-from-wall) (>= dist-from-wall (+ -4096.0 prev-deadly-radius))) (let ((cquery (new 'stack-no-clear 'collide-query))) - (set! (-> cquery start-pos quad) (-> obj root-override trans quad)) + (set! (-> cquery start-pos quad) (-> obj root trans quad)) (set! (-> cquery start-pos y) (+ 12288.0 (-> cquery start-pos y))) (vector-! (-> cquery move-dist) (get-trans target 3) (-> cquery start-pos)) (let ((v1-9 cquery)) @@ -1400,7 +1399,7 @@ This commonly includes things such as: (if (not (-> self first-wall?)) (set! arg0 #t) ) - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> (the-as collide-shape-prim-group root-prim) child 0 prim-core collide-with) (collide-spec)) (set! (-> (the-as collide-shape-prim-group root-prim) child 0 prim-core collide-as) (collide-spec)) (if (-> self first-wall?) @@ -1409,7 +1408,7 @@ This commonly includes things such as: ) (set! (-> self draw bounds quad) (-> root-prim local-sphere quad)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let* ((art-group (-> self draw art-group)) (s4-0 (method-of-object art-group get-art-by-name-method)) ) @@ -1429,7 +1428,7 @@ This commonly includes things such as: ) ) (set! (-> self deadly-radius) -1.0) - (let* ((_root-prim (-> self root-override root-prim)) + (let* ((_root-prim (-> self root root-prim)) (collide-with (-> _root-prim prim-core collide-with)) (collide-as (-> _root-prim prim-core collide-as)) ) @@ -1529,7 +1528,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -1544,7 +1543,7 @@ This commonly includes things such as: (set! (-> obj anim) (new 'static 'spool-anim :name "sew-wall-2" :anim-name "2-break" :parts 1 :command-list '()) ) - (set! (-> obj root-override trans z) (+ 26624.0 (-> obj root-override trans z))) + (set! (-> obj root trans z) (+ 26624.0 (-> obj root trans z))) (set! (-> obj first-wall?) #f) ) (else @@ -1783,7 +1782,7 @@ This commonly includes things such as: :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 1) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -1818,10 +1817,10 @@ This commonly includes things such as: ) (when target-proc (cond - ((< (vector-vector-distance (-> self root-override2 trans) (get-trans target-proc 0)) 20480.0) + ((< (vector-vector-distance (-> self root trans) (get-trans target-proc 0)) 20480.0) (go-virtual scare) ) - ((< (vector-vector-distance (-> self root-override2 trans) (get-trans target-proc 0)) 102400.0) + ((< (vector-vector-distance (-> self root trans) (get-trans target-proc 0)) 102400.0) (gui-control-method-12 *gui-control* self @@ -1875,7 +1874,7 @@ This commonly includes things such as: (process-spawn manipy :init manipy-init - (-> self root-override2 trans) + (-> self root trans) (-> actor-proc entity) (art-group-get-by-name *level* "skel-sew-grill" (the-as (pointer uint32) #f)) #f @@ -1916,7 +1915,7 @@ This commonly includes things such as: (the-as (function process-drawable symbol) false-func) ) ) - (let ((root-prim (-> self root-override2 root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -1929,7 +1928,7 @@ This commonly includes things such as: ) :post (behavior () (let* ((a1-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) - (f1-0 (vector-vector-xz-distance (-> self root-override2 trans) a1-1)) + (f1-0 (vector-vector-xz-distance (-> self root trans) a1-1)) ) (vector-lerp! (-> self draw color-mult) @@ -1938,20 +1937,17 @@ This commonly includes things such as: (fmax 0.0 (fmin 1.0 (* 0.00001994613 f1-0))) ) ) - (let ((scale - (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root-override2 trans) (camera-pos)) 65536.0 204800.0) - ) - ) + (let ((scale (lerp-scale 1.0 0.0 (vector-vector-distance (-> self root trans) (camera-pos)) 65536.0 204800.0))) (when *sound-player-enable* (let ((set-sound-param (the-as sound-rpc-set-param (get-sound-buffer-entry)))) (set! (-> set-sound-param command) (sound-command set-param)) (set! (-> set-sound-param id) (-> self spooled-sound-id)) (set! (-> set-sound-param params volume) (the int (* 1024.0 scale))) - (let ((position (-> self root-override2 trans))) + (let ((position (-> self root trans))) (let ((_self self)) (when (= position #t) - (if (and _self (type? _self process-drawable) (nonzero? (-> _self root-override2))) - (set! position (-> _self root-override2 trans)) + (if (and _self (type? _self process-drawable) (nonzero? (-> _self root))) + (set! position (-> _self root trans)) (set! position (the-as vector #f)) ) ) @@ -2059,7 +2055,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) (set! (-> cshape max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) cshape) + (set! (-> obj root) cshape) ) 0 (none) @@ -2082,10 +2078,6 @@ This commonly includes things such as: (let ((func (method-of-type grunt init-enemy!))) (func obj) ) - (set! (-> obj root-override2 trans y) (+ -3276.8 (-> obj root-override2 trans y))) + (set! (-> obj root trans y) (+ -3276.8 (-> obj root trans y))) (none) ) - - - - diff --git a/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc b/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc index b650b181dd..97f3100d59 100644 --- a/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/sewer/sewer-obs_REF.gc @@ -120,9 +120,7 @@ ) ) (when hit-proc - (let ((hit-direction - (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root-override trans) (-> self root trans)) - ) + (let ((hit-direction (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root trans) (-> self root trans))) (v1-5 (vector-x-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (if (< (vector-dot v1-5 hit-direction) 0.0) @@ -658,9 +656,7 @@ This commonly includes things such as: ) ) (when hit-proc - (let ((hit-direction - (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root-override trans) (-> self root trans)) - ) + (let ((hit-direction (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root trans) (-> self root trans))) (v1-5 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (if (< (vector-dot v1-5 hit-direction) 0.0) @@ -814,9 +810,7 @@ This commonly includes things such as: ) ) (when hit-proc - (let ((hit-direction - (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root-override trans) (-> self root-overide trans)) - ) + (let ((hit-direction (vector-! (new 'stack-no-clear 'vector) (-> hit-proc root trans) (-> self root-overide trans))) (v1-5 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-overide quat))) ) (if (< (vector-dot v1-5 hit-direction) 0.0) diff --git a/test/decompiler/reference/jak2/levels/stadium/jetboard/skatea-obs_REF.gc b/test/decompiler/reference/jak2/levels/stadium/jetboard/skatea-obs_REF.gc index 64d4717e1f..fbf9212e66 100644 --- a/test/decompiler/reference/jak2/levels/stadium/jetboard/skatea-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/jetboard/skatea-obs_REF.gc @@ -1583,7 +1583,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-17 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-17 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) s5-0 ) ) @@ -1729,7 +1729,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) s5-0 ) ) @@ -1969,7 +1969,7 @@ This commonly includes things such as: (t9-1 (method-of-object a0-1 spawn)) (a1-0 (new 'stack-no-clear 'vector)) ) - (let ((v1-6 (-> self root-override trans))) + (let ((v1-6 (-> self root trans))) (let ((a2-0 *up-vector*)) (let ((a3-1 16384.0)) (.mov vf7 a3-1) @@ -1984,7 +1984,7 @@ This commonly includes things such as: (.svf (&-> a1-0 quad) vf6) (t9-1 a0-1 a1-0) ) - (set! (-> self root-override trans y) + (set! (-> self root trans y) (+ (-> self pos-y) (* 2048.0 (cos (* 18204.445 (+ (-> self offset) (* 0.0033333334 (the float (current-time))))))) ) @@ -2018,7 +2018,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2044,15 +2044,11 @@ This commonly includes things such as: (the-as pair 0) ) (set! (-> obj mask) (logior (process-mask crate) (-> obj mask))) - (set! (-> obj pos-y) (-> obj root-override trans y)) + (set! (-> obj pos-y) (-> obj root trans y)) (set! (-> obj offset) (rand-vu)) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 539) obj)) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (static-sound-spec "fire-ring" :fo-min 10 :fo-max 30) - (-> obj root-override trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "fire-ring" :fo-min 10 :fo-max 30) (-> obj root trans)) ) (go (method-of-object obj idle)) (none) diff --git a/test/decompiler/reference/jak2/levels/stadium/racebike_REF.gc b/test/decompiler/reference/jak2/levels/stadium/racebike_REF.gc index f50e247a40..6c704a0b12 100644 --- a/test/decompiler/reference/jak2/levels/stadium/racebike_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/racebike_REF.gc @@ -891,7 +891,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -979,7 +979,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) diff --git a/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc b/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc index 0ca921ab91..47f01d53da 100644 --- a/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/stadium-obs_REF.gc @@ -433,8 +433,8 @@ This commonly includes things such as: (case arg2 (('get-position) (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> self root-override-2 trans quad)) - (let ((s4-0 (-> self root-override-2 quat))) + (set! (-> s5-1 quad) (-> self root trans quad)) + (let ((s4-0 (-> self root quat))) (case (-> arg3 param 0) (('left) (vector+float*! s5-1 s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) s4-0) 24576.0) @@ -476,24 +476,24 @@ This commonly includes things such as: s4-1 ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry gp-1) - (-> self root-override-2) + (-> self root) (collide-action no-standon) (collide-action) ) - (not (logtest? (-> self root-override-2 penetrated-by) + (not (logtest? (-> self root penetrated-by) (-> (the-as collide-shape (-> (the-as process-drawable s4-1) root)) penetrate-using) ) ) ) - (send-shoves (-> self root-override-2) arg0 (the-as touching-shapes-entry gp-1) 0.7 6144.0 16384.0) + (send-shoves (-> self root) arg0 (the-as touching-shapes-entry gp-1) 0.7 6144.0 16384.0) ) ) ) (('trans) - (-> self root-override-2 trans) + (-> self root trans) ) (('quat) - (-> self root-override-2 quat) + (-> self root quat) ) (('hold) (set! (-> self escort-force (-> arg3 param 0) y) @@ -517,7 +517,7 @@ This commonly includes things such as: (if (not (-> self escort-actor 1)) (set! (-> self escort-actor 1) (entity-actor-lookup (-> self entity) 'alt-actor 1)) ) - (let ((gp-0 (-> self root-override-2))) + (let ((gp-0 (-> self root))) (let ((v1-4 (new 'stack-no-clear 'vector))) (set! (-> v1-4 quad) (-> self dest-pos quad)) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -627,7 +627,7 @@ This commonly includes things such as: (s0-3 0.0) ) (set! sv-752 self) - (set! sv-768 (-> self root-override-2 trans)) + (set! sv-768 (-> self root trans)) (let ((a2-11 (target-pos 0))) (set! (-> self speed) (* f30-1 (s2-1 s1-2 s0-3 (s3-0 sv-752 sv-768 a2-11 s4-0) 143360.0 245760.0))) ) @@ -643,7 +643,7 @@ This commonly includes things such as: (vector-v++! (-> gp-0 trans) (-> gp-0 transv)) ) 0 - (let ((v1-43 (-> self root-override-2)) + (let ((v1-43 (-> self root)) (a2-14 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-14 collide-with) (collide-spec backgnd)) @@ -678,10 +678,10 @@ This commonly includes things such as: (gp-0 (new 'stack-no-clear 'vector)) ) (let ((f30-0 (* (-> obj rbody state info mass) (-> obj info extra gravity)))) - (let ((a1-2 (quaternion-conjugate! (new 'stack-no-clear 'quaternion) (-> obj root-override-2 quat)))) + (let ((a1-2 (quaternion-conjugate! (new 'stack-no-clear 'quaternion) (-> obj root quat)))) (vector-z-quaternion! (new 'stack-no-clear 'vector) a1-2) ) - (let ((f28-0 (fmax 0.0 (fmin 1.0 (* 0.000020345053 (- (-> obj dest-pos y) (-> obj root-override-2 trans y))))))) + (let ((f28-0 (fmax 0.0 (fmin 1.0 (* 0.000020345053 (- (-> obj dest-pos y) (-> obj root trans y))))))) (vector-reset! s5-0) (set! (-> s5-0 y) (* -1.0 f30-0)) (let ((v1-10 (-> obj rbody)) @@ -694,7 +694,7 @@ This commonly includes things such as: *y-vector* (fmin 20480.0 (* 1.5 f30-0 f28-0 (fmax 0.2 (* (-> obj escort-force 0 y) (-> obj escort-force 1 y))))) ) - (set! (-> gp-0 quad) (-> obj root-override-2 trans quad)) + (set! (-> gp-0 quad) (-> obj root trans quad)) (let ((v1-17 (-> obj rbody)) (a1-5 gp-0) (a2-1 s5-0) @@ -702,11 +702,11 @@ This commonly includes things such as: (rigid-body-method-18 (-> v1-17 state) a1-5 a2-1) ) (vector-reset! s5-0) - (vector-! s5-0 (-> obj dest-pos) (-> obj root-override-2 trans)) + (vector-! s5-0 (-> obj dest-pos) (-> obj root trans)) (vector-float*! s5-0 s5-0 8.0) (set! (-> s5-0 y) 0.0) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 0) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 0) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-27 (-> obj rbody)) (a1-12 gp-0) (a2-3 s5-0) @@ -714,16 +714,16 @@ This commonly includes things such as: (rigid-body-method-18 (-> v1-27 state) a1-12 a2-3) ) (vector-normalize-copy! s5-0 *y-vector* (* 0.5 f30-0 f28-0 (-> obj escort-force 0 y))) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 1) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 1) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-34 (-> obj rbody)) (a1-17 gp-0) (a2-6 s5-0) ) (rigid-body-method-18 (-> v1-34 state) a1-17 a2-6) ) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 2) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 2) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-40 (-> obj rbody)) (a1-21 gp-0) (a2-8 s5-0) @@ -733,16 +733,16 @@ This commonly includes things such as: (vector-normalize-copy! s5-0 *y-vector* (* 0.5 f30-0 f28-0 (-> obj escort-force 1 y))) ) ) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 3) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 3) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (let ((v1-47 (-> obj rbody)) (a1-26 gp-0) (a2-11 s5-0) ) (rigid-body-method-18 (-> v1-47 state) a1-26 a2-11) ) - (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 4) (-> obj root-override-2 quat)) - (vector+! gp-0 gp-0 (-> obj root-override-2 trans)) + (vector-orient-by-quat! gp-0 (-> *rift-rider-force-points* 4) (-> obj root quat)) + (vector+! gp-0 gp-0 (-> obj root trans)) (rigid-body-method-18 (-> obj rbody state) gp-0 s5-0) ) 0 @@ -783,7 +783,7 @@ This commonly includes things such as: (set! (-> self speed) 0.0) (set! (-> self height) 49152.0) (set! (-> self hover-volume) 0.0) - (set! (-> self dest-pos quad) (-> self root-override-2 trans quad)) + (set! (-> self dest-pos quad) (-> self root trans quad)) (none) ) :exit (behavior () @@ -794,7 +794,7 @@ This commonly includes things such as: (dotimes (gp-0 2) (seek! (-> self escort-force gp-0 y) 0.0 (* 0.3 (-> self clock seconds-per-frame))) ) - (let ((f30-0 (get-furthest-point-on-path (-> self path) (-> self root-override-2 trans)))) + (let ((f30-0 (get-furthest-point-on-path (-> self path) (-> self root trans)))) (if (< 8.0 f30-0) (go-virtual defend-stadium-land) ) @@ -836,10 +836,10 @@ This commonly includes things such as: 0 0 (sound-group sfx) - (-> self root-override-2 trans) + (-> self root trans) ) (seek! (-> self hover-volume) 1.0 (-> self clock seconds-per-frame)) - (spawn (-> self part) (-> self root-override-2 trans)) + (spawn (-> self part) (-> self root trans)) (rift-rider-travel-post) (none) ) @@ -851,7 +851,7 @@ This commonly includes things such as: :event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block)) (case event-type (('get-position) - (set! (-> (the-as vector (-> event param 1)) quad) (-> self root-override-2 trans quad)) + (set! (-> (the-as vector (-> event param 1)) quad) (-> self root trans quad)) (set! (-> (the-as vector (-> event param 1)) y) (-> (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (-> self path-pos) 'interp) y) ) @@ -884,9 +884,9 @@ This commonly includes things such as: ) ) ) - (let ((f0-0 (get-furthest-point-on-path (-> self path) (-> self root-override-2 trans)))) + (let ((f0-0 (get-furthest-point-on-path (-> self path) (-> self root trans)))) (set! (-> self height) - (- (-> self root-override-2 trans y) + (- (-> self root trans y) (-> (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) f0-0 'interp) y) ) ) @@ -905,7 +905,7 @@ This commonly includes things such as: :trans (behavior () (if (< (vector-vector-xz-distance (get-point-in-path! (-> self path) (new 'stack-no-clear 'vector) (get-num-segments (-> self path)) 'interp) - (-> self root-override-2 trans) + (-> self root trans) ) 12288.0 ) @@ -918,13 +918,12 @@ This commonly includes things such as: (seek! (-> self height) 4096.0 (* 6144.0 (-> self clock seconds-per-frame))) (get-point-in-path! (-> self path) (-> self dest-pos) (-> self path-pos) 'interp) (+! (-> self dest-pos y) (-> self height)) - (set! (-> self path-pos) - (fmin - (get-num-segments (-> self path)) - (+ 0.1 (get-furthest-point-on-path (-> self path) (-> self root-override-2 trans))) - ) + (set! (-> self path-pos) (fmin + (get-num-segments (-> self path)) + (+ 0.1 (get-furthest-point-on-path (-> self path) (-> self root trans))) + ) ) - (let ((gp-0 (-> self root-override-2))) + (let ((gp-0 (-> self root))) (let ((v1-10 (new 'stack-no-clear 'vector))) (set! (-> v1-10 quad) (-> self dest-pos quad)) (let ((s5-0 (new 'stack-no-clear 'vector))) @@ -956,7 +955,7 @@ This commonly includes things such as: ) ) ) - (spawn (-> self part) (-> self root-override-2 trans)) + (spawn (-> self part) (-> self root trans)) (pusher-post) (none) ) @@ -1016,7 +1015,7 @@ This commonly includes things such as: (dotimes (gp-0 2) (seek! (-> self escort-force gp-0 y) 0.0 (* 1.6 (-> self clock seconds-per-frame))) ) - (let ((v1-8 (-> self root-override-2)) + (let ((v1-8 (-> self root)) (a2-1 (new 'stack-no-clear 'collide-query)) ) (set! (-> a2-1 collide-with) (collide-spec backgnd)) @@ -1051,7 +1050,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> self root-override-2 trans quad)) + (set! (-> t3-0 trans quad) (-> self root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-2 a1-2 @@ -1139,7 +1138,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1169,12 +1168,12 @@ This commonly includes things such as: (new 'process 'shadow-control 0.0 0.0 614400.0 (shadow-flags shdf02 shdf03 shdf04 disable-draw) 245760.0) ) (quad-copy! (the-as pointer (-> obj draw shadow-ctrl settings)) (the-as pointer *default-shadow-settings*) 5) - (set! (-> obj root-override-2 dynam gravity y) 81920.0) - (set! (-> obj root-override-2 dynam gravity-length) 81920.0) - (set! (-> obj root-override-2 dynam gravity-max) 81920.0) + (set! (-> obj root dynam gravity y) 81920.0) + (set! (-> obj root dynam gravity-length) 81920.0) + (set! (-> obj root dynam gravity-max) 81920.0) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0 (the-as entity #f) #t)) (set! (-> obj height) 0.0) - (set! (-> obj init-height) (-> obj root-override-2 trans y)) + (set! (-> obj init-height) (-> obj root trans y)) (set! (-> obj escort-actor 0) #f) (set! (-> obj escort-actor 1) #f) (set! (-> obj brutter-balloon-actor) #f) @@ -1324,7 +1323,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (initialize-skeleton obj @@ -1459,7 +1458,7 @@ This commonly includes things such as: ;; definition of type stad-samos (deftype stad-samos (process-focusable) - ((root-override2 collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (rift-rider-actor entity-actor :offset-assert 204) (lightning handle 4 :offset-assert 208) (speed float :offset-assert 240) @@ -1551,7 +1550,7 @@ This commonly includes things such as: ;; WARN: Return type mismatch int vs none. (defbehavior stad-samos-post stad-samos () (when (>= (- (current-time) (-> self cquery-timer)) (seconds 0.32)) - (move-to-ground (-> self root-override2) 40960.0 40960.0 #t (collide-spec backgnd)) + (move-to-ground (-> self root) 40960.0 40960.0 #t (collide-spec backgnd)) (set! (-> self cquery-timer) (current-time)) ) (when (and (nonzero? (-> self focus-disable-timer)) (< (-> self focus-disable-timer) (current-time))) @@ -1636,7 +1635,7 @@ This commonly includes things such as: #f ) (('trans) - (-> self root-override2 trans) + (-> self root trans) ) (('touched) (send-event arg0 'touch (-> arg3 param 0)) @@ -1653,7 +1652,7 @@ This commonly includes things such as: ) (cond (a0-14 - (vector-! (-> self hit-dir) (-> self root-override2 trans) (-> (the-as process-drawable a0-14) root trans)) + (vector-! (-> self hit-dir) (-> self root trans) (-> (the-as process-drawable a0-14) root trans)) (vector-normalize! (-> self hit-dir) 1.0) ) ((logtest? (attack-info-mask attacker-velocity) (-> (the-as attack-info s5-1) mask)) @@ -1926,14 +1925,14 @@ This commonly includes things such as: (let ((a2-2 (-> self nav state))) (set! (-> v1-25 quad) (-> a2-2 velocity quad)) ) - (let ((a0-15 (-> self root-override2 transv))) + (let ((a0-15 (-> self root transv))) (set! (-> a0-15 x) (-> v1-25 x)) (set! (-> a0-15 y) 0.0) (set! (-> a0-15 z) (-> v1-25 z)) ) ) 0 - (let ((gp-2 (-> self root-override2))) + (let ((gp-2 (-> self root))) (let ((a2-5 (new 'stack-no-clear 'move-above-ground-params))) (set! (-> a2-5 gnd-collide-with) (collide-spec backgnd)) (set! (-> a2-5 popup) 8192.0) @@ -1955,12 +1954,7 @@ This commonly includes things such as: (vector-normalize! s4-0 1.0) (quaternion-set! s5-0 0.0 (-> s4-0 x) 0.0 (+ 1.0 (-> s4-0 z))) (quaternion-normalize! s5-0) - (quaternion-slerp! - (-> self root-override2 quat) - (-> self root-override2 quat) - s5-0 - (* 8.0 (-> self clock seconds-per-frame)) - ) + (quaternion-slerp! (-> self root quat) (-> self root quat) s5-0 (* 8.0 (-> self clock seconds-per-frame))) ) (seek! (-> self observed-speed) @@ -1996,17 +1990,15 @@ This commonly includes things such as: ) ) ) - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 12288.0 49152.0 f30-0)) (set! (-> gp-0 y) (lerp 32768.0 65536.0 f30-0)) ) (cond - ((< (-> (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root-override2 quat)) - z - ) + ((< (-> (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> self hit-dir) (-> self root quat)) z) 0.0 ) (set! (-> self knocked-anim) (-> self knocked-back-anim)) @@ -2063,10 +2055,10 @@ This commonly includes things such as: (suspend) (ja :num! (seek!)) ) - (while (not (logtest? (-> self root-override2 status) (collide-status on-surface))) + (while (not (logtest? (-> self root status) (collide-status on-surface))) (suspend) ) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self falling?) #f) (ja-no-eval :group! (-> self draw art-group data (-> self knocked-land-anim)) :num! (seek! @@ -2088,12 +2080,9 @@ This commonly includes things such as: ) :post (behavior () (if (-> self falling?) - (vector-v++! - (-> self root-override2 transv) - (compute-acc-due-to-gravity (-> self root-override2) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> self root transv) (compute-acc-due-to-gravity (-> self root) (new-stack-vector0) 1.0)) ) - (let ((gp-1 (-> self root-override2))) + (let ((gp-1 (-> self root))) (let ((a2-1 (new 'stack-no-clear 'collide-query))) (set! (-> a2-1 collide-with) (-> gp-1 root-prim prim-core collide-with)) (set! (-> a2-1 ignore-process0) self) @@ -2150,9 +2139,9 @@ This commonly includes things such as: ) :code (behavior () (send-event *camera* 'change-target self) - (set! (-> self root-override2 transv quad) (-> self hit-dir quad)) + (set! (-> self root transv quad) (-> self hit-dir quad)) (let ((f30-0 (rand-vu-float-range 0.0 1.0)) - (gp-0 (-> self root-override2 transv)) + (gp-0 (-> self root transv)) ) (vector-float*! gp-0 gp-0 (lerp 24576.0 65536.0 f30-0)) (set! (-> gp-0 y) (lerp 20480.0 40960.0 f30-0)) @@ -2232,21 +2221,18 @@ This commonly includes things such as: (dotimes (s4-0 4) (set! (-> obj lightning s4-0) (process->handle - (the-as - process - (ppointer->process (process-spawn - lightning-tracker - :init lightning-tracker-init - (-> *lightning-spec-id-table* 25) - 0 - #f - s5-0 - (-> *stad-samos-lightning-joint-tbl* (+ s4-0 (-> obj rift-rider-joint-offset))) - (-> obj hand-joint) - :to obj - ) + (ppointer->process (process-spawn + lightning-tracker + :init lightning-tracker-init + (-> *lightning-spec-id-table* 25) + 0 + #f + s5-0 + (-> *stad-samos-lightning-joint-tbl* (+ s4-0 (-> obj rift-rider-joint-offset))) + (-> obj hand-joint) + :to obj ) - ) + ) ) ) ) @@ -2332,7 +2318,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override2) s4-0) + (set! (-> obj root) s4-0) ) (set! (-> obj hud) (the-as handle #f)) (set! (-> obj hud-bot-index) 0) @@ -2459,8 +2445,8 @@ This commonly includes things such as: (v1-25 (t9-3 a0-3 a1-3)) ) (when v1-25 - (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (the-as vector v1-25) (-> self root-override2 trans))) - (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat))) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (the-as vector v1-25) (-> self root trans))) + (s5-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat))) ) (set! (-> gp-1 y) 0.0) (vector-xz-normalize! gp-1 1.0) @@ -2740,7 +2726,7 @@ This commonly includes things such as: (let ((s4-1 run-function-in-process) (s2-0 s3-0) (s1-0 manipy-init) - (s0-0 (-> obj root-override trans)) + (s0-0 (-> obj root trans)) ) (set! sv-256 (-> obj entity)) (let ((t0-0 (art-group-get-by-name *level* "skel-generic-ripples" (the-as (pointer uint32) #f))) @@ -2774,8 +2760,8 @@ This commonly includes things such as: (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root scale) 1.0 1.0 1.0 1.0) (let ((s2-1 (-> arg0 head))) (while s2-1 - (get-touched-prim s2-1 (-> obj root-override) arg0) - (set! sv-272 (get-touched-tri s2-1 (-> obj root-override) arg0)) + (get-touched-prim s2-1 (-> obj root) arg0) + (set! sv-272 (get-touched-tri s2-1 (-> obj root) arg0)) (when sv-272 (quaternion-look-at! (-> (the-as process-drawable (-> s4-0 0)) root quat) (-> sv-272 normal) *up-vector*) (set! (-> obj plane quad) (-> sv-272 normal quad)) @@ -3004,7 +2990,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -3538,12 +3524,8 @@ This commonly includes things such as: (logior! (-> v1-179 extra perm status) (entity-perm-status bit-9)) ) ) - (set! (-> self slave 0) - (process->handle (the-as process (ppointer->process (process-spawn stad-keira :to self)))) - ) - (set! (-> self slave 1) - (process->handle (the-as process (ppointer->process (process-spawn stad-brutter :to self)))) - ) + (set! (-> self slave 0) (process->handle (ppointer->process (process-spawn stad-keira :to self)))) + (set! (-> self slave 1) (process->handle (ppointer->process (process-spawn stad-brutter :to self)))) (none) ) ) diff --git a/test/decompiler/reference/jak2/levels/stadium/stadium-scenes_REF.gc b/test/decompiler/reference/jak2/levels/stadium/stadium-scenes_REF.gc index 93ad8b1431..67de99393a 100644 --- a/test/decompiler/reference/jak2/levels/stadium/stadium-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/stadium/stadium-scenes_REF.gc @@ -1984,7 +1984,7 @@ (set! (-> gp-0 info sky) #f) ) ) - (the-as object (race-start 2 #f #t)) + (the-as object (race-start 2 (the-as process #f) #t)) ) ) ) diff --git a/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc b/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc index 84e04ceab3..32310dd9fe 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-drop_REF.gc @@ -531,7 +531,7 @@ This commonly includes things such as: ;; definition of type cranecrate (deftype cranecrate (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (unknown-pad-n12jn3123123 int32 52 :offset-assert 200) ) :heap-base #x120 @@ -553,7 +553,7 @@ This commonly includes things such as: (let ((t9-0 (method-of-type process-drawable inspect))) (t9-0 obj) ) - (format #t "~2Troot: #~%" (-> obj root-override)) + (format #t "~2Troot: #~%" (-> obj root)) (label cfg-4) obj ) @@ -619,7 +619,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -627,7 +627,7 @@ This commonly includes things such as: (the-as skeleton-group (art-group-get-by-name *level* "skel-cranecrate" (the-as (pointer uint32) #f))) (the-as pair 0) ) - (set! (-> obj root-override trans y) (+ -163348.48 (-> obj root-override trans y))) + (set! (-> obj root trans y) (+ -163348.48 (-> obj root trans y))) (when (or (demo?) (and (= *kernel-boot-message* 'kiosk) (task-node-open? (game-task-node strip-drop-resolution)))) (let ((s5-2 (new 'stack-no-clear 'task-arrow-params))) (set! (-> s5-2 pos quad) (-> (new 'static 'vector :x 9920120.0 :y 288036.03 :z -179639.1 :w 1.0) quad)) @@ -754,7 +754,7 @@ This commonly includes things such as: ) (when (and v1-2 ((method-of-type touching-shapes-entry prims-touching-action?) (the-as touching-shapes-entry s5-0) - (-> v1-2 root-override) + (-> v1-2 root) (collide-action solid) (collide-action) ) diff --git a/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc b/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc index eb1c06770c..37fc9fa00c 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-obs_REF.gc @@ -46,7 +46,7 @@ ;; definition of type strip-hazard (deftype strip-hazard (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (sync sync-linear :inline :offset-assert 200) (shove-vec vector :inline :offset-assert 224) (no-collision-timer uint64 :offset-assert 240) @@ -93,8 +93,8 @@ ) ) (when gp-0 - (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat)))) - (let* ((v1-4 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> gp-0 root-override quat))) + (let ((s4-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)))) + (let* ((v1-4 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> gp-0 root quat))) (f0-1 (vector-dot s4-1 v1-4)) ) (if (< 0.0 f0-1) @@ -120,7 +120,7 @@ ) (when (send-event-function gp-0 a1-7) (set! (-> self no-collision-timer) (the-as uint (current-time))) - (let ((v1-18 (-> self root-override root-prim))) + (let ((v1-18 (-> self root root-prim))) (set! (-> v1-18 prim-core collide-as) (collide-spec)) (set! (-> v1-18 prim-core collide-with) (collide-spec)) ) @@ -141,9 +141,9 @@ (when (and (nonzero? (-> self no-collision-timer)) (>= (- (current-time) (the-as int (-> self no-collision-timer))) (seconds 0.3)) ) - (let ((v1-7 (-> self root-override root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (set! (-> self no-collision-timer) (the-as uint 0)) 0 @@ -152,7 +152,7 @@ (set! (-> a1-0 options) (overlaps-others-options oo0)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (none) ) @@ -283,8 +283,8 @@ This commonly includes things such as: ) ) (quaternion-rotate-local-x! - (-> self root-override quat) - (-> self root-override quat) + (-> self root quat) + (-> self root quat) (* (-> self spin) (-> self clock seconds-per-frame)) ) (strip-trans) @@ -334,7 +334,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-19 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-19 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -345,7 +345,7 @@ This commonly includes things such as: (let ((t9-9 (method-of-type strip-hazard init-from-entity!))) (t9-9 obj arg0) ) - (quaternion-copy! (-> obj start-quat) (-> obj root-override quat)) + (quaternion-copy! (-> obj start-quat) (-> obj root quat)) (set! sv-16 "#f") (let ((a0-24 (entity-lookup-part-group arg0 (& sv-16) 'art-name))) (when a0-24 @@ -434,7 +434,7 @@ This commonly includes things such as: ) ) (let ((gp-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) - (let ((f0-0 (quaternion-y-angle (-> self root-override quat)))) + (let ((f0-0 (quaternion-y-angle (-> self root quat)))) (set! (-> *pitspikes-rotate-pos* quad) (-> gp-0 quad)) (set! (-> *pitspikes-rotate-pos* w) f0-0) ) @@ -484,7 +484,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -563,7 +563,7 @@ This commonly includes things such as: (set! (-> gp-0 z) 0.0) (set! (-> gp-0 w) 1.0) (let ((s5-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)))) - (vector-orient-by-quat! gp-0 gp-0 (-> self root-override quat)) + (vector-orient-by-quat! gp-0 gp-0 (-> self root quat)) (vector+! s5-0 s5-0 gp-0) (spawn (-> self part) s5-0) ) @@ -600,7 +600,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-9 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-9 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -626,7 +626,7 @@ This commonly includes things such as: ;; definition of type grenade-point (deftype grenade-point (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (camera-name string :offset-assert 200) (parented? symbol :offset-assert 204) (lightning-time time-frame :offset-assert 208) @@ -910,11 +910,11 @@ This commonly includes things such as: ) :code (the-as (function none :behavior grenade-point) sleep-code) :post (behavior () - (spawn (-> self part) (-> self root-override trans)) + (spawn (-> self part) (-> self root trans)) (when (< (-> self lightning-time) (current-time)) (set! (-> self lightning-time) (+ (current-time) (the int (* 300.0 (rand-vu-float-range 0.6 1.4))))) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> self root trans quad)) (let* ((gp-1 (-> self strike-table (-> self last-strike-index))) (s4-1 (vector-! (new 'stack-no-clear 'vector) gp-1 s5-0)) (a1-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) s4-1 13107.2)) @@ -978,13 +978,13 @@ This commonly includes things such as: (stop! (-> self sound)) (set! (-> self sound spec) (static-sound-spec "eco-plume2" :fo-min 5 :fo-max 90)) (while (not (task-complete? *game-info* (-> self entity extra perm task))) - (spawn (-> self part2) (-> self root-override trans)) + (spawn (-> self part2) (-> self root trans)) (update! (-> self sound)) (suspend) ) (kill-and-free-particles (-> self part2)) (until #f - (spawn (-> self part3) (-> self root-override trans)) + (spawn (-> self part3) (-> self root trans)) (update! (-> self sound)) (suspend) ) @@ -1023,7 +1023,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (set! (-> obj camera-name) (res-lump-struct (-> obj entity) 'camera-name string)) @@ -1039,14 +1039,10 @@ This commonly includes things such as: ) (set! (-> obj last-strike-index) (rand-vu-int-range 0 19)) (set! (-> obj speed) (res-lump-float (-> obj entity) 'speed :default 118784.0)) - (set! (-> obj sound) (new - 'process - 'ambient-sound - (static-sound-spec "eco-plume1" :fo-min 5 :fo-max 90) - (-> obj root-override trans) - ) + (set! (-> obj sound) + (new 'process 'ambient-sound (static-sound-spec "eco-plume1" :fo-min 5 :fo-max 90) (-> obj root trans)) ) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (logclear! (-> obj mask) (process-mask actor-pause)) (if (or (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (task-complete? *game-info* (game-task strip-grenade)) @@ -1297,7 +1293,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -1351,7 +1347,7 @@ This commonly includes things such as: (t2-0 #f) (t3-0 *launch-matrix*) ) - (set! (-> t3-0 trans quad) (-> obj root-override trans quad)) + (set! (-> t3-0 trans quad) (-> obj root trans quad)) ((the-as (function object object object object object object object object none) t9-2) a0-3 a1-2 @@ -1403,7 +1399,7 @@ This commonly includes things such as: (let ((a0-3 (-> v1-1 root)) (a1-2 (new 'stack-no-clear 'collide-query)) ) - (let ((v1-4 (-> self root-override root-prim prim-core)) + (let ((v1-4 (-> self root root-prim prim-core)) (a0-5 (-> (the-as collide-shape a0-3) root-prim prim-core)) ) 0.0 @@ -1415,7 +1411,7 @@ This commonly includes things such as: (set! (-> v1-5 collide-with) (collide-spec backgnd)) (set! (-> v1-5 ignore-process0) self) (set! (-> v1-5 ignore-process1) #f) - (set! (-> v1-5 ignore-pat) (-> self root-override pat-ignore-mask)) + (set! (-> v1-5 ignore-pat) (-> self root pat-ignore-mask)) (set! (-> v1-5 action-mask) (collide-action solid)) ) (when (< (fill-and-probe-using-line-sphere *collide-cache* a1-2) 0.0) @@ -1451,7 +1447,7 @@ This commonly includes things such as: ) :code (behavior () (ja-channel-set! 0) - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 local-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core world-sphere w) (-> self blast-radius)) (set! (-> v1-1 prim-core collide-with) @@ -1459,15 +1455,15 @@ This commonly includes things such as: ) (set! (-> v1-1 prim-core collide-as) (collide-spec enemy)) ) - (update-transforms (-> self root-override)) + (update-transforms (-> self root)) (let ((a1-0 (new 'stack-no-clear 'overlaps-others-params))) (set! (-> a1-0 options) (overlaps-others-options)) (set! (-> a1-0 collide-with-filter) (the-as collide-spec -1)) (set! (-> a1-0 tlist) *touching-list*) - (find-overlapping-shapes (-> self root-override) a1-0) + (find-overlapping-shapes (-> self root) a1-0) ) (suspend) - (let ((v1-9 (-> self root-override root-prim))) + (let ((v1-9 (-> self root root-prim))) (set! (-> v1-9 prim-core collide-as) (collide-spec)) (set! (-> v1-9 prim-core collide-with) (collide-spec)) ) @@ -1492,24 +1488,21 @@ This commonly includes things such as: (defmethod grenade-method-40 grenade ((obj grenade)) (let ((s5-0 (the-as process-drawable (-> obj end-target process 0)))) (when s5-0 - (set! (-> obj root-override transv x) (* 4.0 (- (-> s5-0 root trans x) (-> obj root-override trans x)))) - (set! (-> obj root-override transv z) (* 4.0 (- (-> s5-0 root trans z) (-> obj root-override trans z)))) - (let ((v1-12 (-> obj root-override transv))) + (set! (-> obj root transv x) (* 4.0 (- (-> s5-0 root trans x) (-> obj root trans x)))) + (set! (-> obj root transv z) (* 4.0 (- (-> s5-0 root trans z) (-> obj root trans z)))) + (let ((v1-12 (-> obj root transv))) (if (< (sqrtf (+ (* (-> v1-12 x) (-> v1-12 x)) (* (-> v1-12 z) (-> v1-12 z)))) 16384.0) - (vector-xz-normalize! (-> obj root-override transv) 16384.0) + (vector-xz-normalize! (-> obj root transv) 16384.0) ) ) - (if (or (logtest? (-> obj root-override status) (collide-status on-surface on-ground)) - (< (vector-vector-distance (-> s5-0 root trans) (-> obj root-override trans)) 4096.0) + (if (or (logtest? (-> obj root status) (collide-status on-surface on-ground)) + (< (vector-vector-distance (-> s5-0 root trans) (-> obj root trans)) 4096.0) ) (go (method-of-object obj impact)) ) ) ) - (vector-v++! - (-> obj root-override transv) - (compute-acc-due-to-gravity (-> obj root-override) (new-stack-vector0) 1.0) - ) + (vector-v++! (-> obj root transv) (compute-acc-due-to-gravity (-> obj root) (new-stack-vector0) 1.0)) 0 (none) ) @@ -1517,9 +1510,9 @@ This commonly includes things such as: ;; definition for method 41 of type grenade ;; WARN: Return type mismatch int vs none. (defmethod grenade-method-41 grenade ((obj grenade)) - (quaternion*! (-> obj root-override quat) (-> obj root-override quat) (-> obj tumble-quat)) + (quaternion*! (-> obj root quat) (-> obj root quat) (-> obj tumble-quat)) (projectile-move-fill-all-dirs obj) - (set-setting! 'point-of-interest 'abs (-> obj root-override trans) 0) + (set-setting! 'point-of-interest 'abs (-> obj root trans) 0) 0 (none) ) @@ -1552,7 +1545,7 @@ This commonly includes things such as: ) (set! (-> s5-0 max-iteration-count) (the-as uint 2)) (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -1567,18 +1560,18 @@ This commonly includes things such as: (the-as pair 0) ) (logclear! (-> obj options) (projectile-options proj-options-4)) - (vector-normalize! (-> obj root-override transv) 1.0) - (set! (-> obj root-override transv y) (+ 1.0 (-> obj root-override transv y))) - (vector-normalize! (-> obj root-override transv) 184320.0) + (vector-normalize! (-> obj root transv) 1.0) + (set! (-> obj root transv y) (+ 1.0 (-> obj root transv y))) + (vector-normalize! (-> obj root transv) 184320.0) (set! (-> obj attack-mode) 'eco-yellow) (set! (-> obj blast-radius) 20480.0) (set! (-> obj max-speed) 184320.0) (set! (-> obj timeout) (seconds 3.6)) (set! (-> obj update-velocity) (method-of-object obj grenade-method-40)) (set! (-> obj move) (method-of-object obj grenade-method-41)) - (set! (-> obj root-override dynam gravity y) 327680.0) - (set! (-> obj root-override dynam gravity-length) 327680.0) - (set! (-> obj root-override dynam gravity-max) 327680.0) + (set! (-> obj root dynam gravity y) 327680.0) + (set! (-> obj root dynam gravity-length) 327680.0) + (set! (-> obj root dynam gravity-max) 327680.0) (let ((f0-7 1092.2667)) (quaternion-axis-angle! (-> obj tumble-quat) 1.0 0.0 0.0 f0-7) ) @@ -1934,7 +1927,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-21 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-21 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1947,7 +1940,7 @@ This commonly includes things such as: ) (logclear! (-> obj mask) (process-mask actor-pause)) (let ((a3-5 (new 'stack-no-clear 'vector))) - (set! (-> a3-5 quad) (-> obj root-override trans quad)) + (set! (-> a3-5 quad) (-> obj root trans quad)) (set! (-> a3-5 x) (+ 57344.0 (-> a3-5 x))) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "drill-plat-a" :fo-max 90) a3-5)) ) diff --git a/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc b/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc index 2df13f4e47..3c8a03d555 100644 --- a/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc +++ b/test/decompiler/reference/jak2/levels/strip/strip-rescue_REF.gc @@ -9,7 +9,7 @@ ;; definition of type cntrlrm-door (deftype cntrlrm-door (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (unknown-pad-k1jhb2n3k1j int32 52 :offset-assert 200) ) :heap-base #x120 @@ -31,7 +31,7 @@ (let ((t9-0 (method-of-type process-drawable inspect))) (t9-0 obj) ) - (format #t "~2Troot: #~%" (-> obj root-override)) + (format #t "~2Troot: #~%" (-> obj root)) (label cfg-4) obj ) @@ -108,7 +108,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-15 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-15 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -131,7 +131,7 @@ This commonly includes things such as: ;; definition of type cntrlrm-button (deftype cntrlrm-button (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) (unknown-pad-n12jn3123123 int32 52 :offset-assert 200) ) :heap-base #x120 @@ -152,7 +152,7 @@ This commonly includes things such as: (let ((t9-0 (method-of-type process-drawable inspect))) (t9-0 obj) ) - (format #t "~2Troot: #~%" (-> obj root-override)) + (format #t "~2Troot: #~%" (-> obj root)) (label cfg-4) obj ) @@ -208,7 +208,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) s4-0) + (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton diff --git a/test/decompiler/reference/jak2/levels/temple/mountain-obs2_REF.gc b/test/decompiler/reference/jak2/levels/temple/mountain-obs2_REF.gc index fd6e3cbaaf..4c2bf86fef 100644 --- a/test/decompiler/reference/jak2/levels/temple/mountain-obs2_REF.gc +++ b/test/decompiler/reference/jak2/levels/temple/mountain-obs2_REF.gc @@ -3,7 +3,7 @@ ;; definition of type mtn-iris-door (deftype mtn-iris-door (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -45,9 +45,9 @@ (none) ) :code (behavior () - (let ((root-prim (-> self root-override root-prim))) - (set! (-> root-prim prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> root-prim prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((root-prim (-> self root root-prim))) + (set! (-> root-prim prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> root-prim prim-core collide-with) (-> self root backup-collide-with)) ) (ja :num-func num-func-identity :frame-num 0.0) (ja-post) @@ -66,7 +66,7 @@ (none) ) :code (behavior () - (let ((root-prim (-> self root-override root-prim))) + (let ((root-prim (-> self root root-prim))) (set! (-> root-prim prim-core collide-as) (collide-spec)) (set! (-> root-prim prim-core collide-with) (collide-spec)) ) @@ -102,7 +102,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -190,7 +190,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) (the-as collide-shape-moving cshape)) ) 0 (none) @@ -222,7 +222,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> obj hint-count) 5.0) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -263,7 +263,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> self state-flip) (the-as uint 1)) ) (set! (-> self hint-count) -1.0) - (vector-! (-> self axe-flip) (-> cshape trans) (-> self root-override trans)) + (vector-! (-> self axe-flip) (-> cshape trans) (-> self root trans)) (set! (-> self axe-flip y) 0.0) (vector-normalize! (-> self axe-flip) 1.0) (vector-rotate90-around-y! (-> self axe-flip) (-> self axe-flip)) @@ -298,7 +298,7 @@ For example for an elevator pre-compute the distance between the first and last ) ((and *target* (-> self disable-track-under) - (< (-> *target* control trans y) (+ -20480.0 (-> self root-override trans y))) + (< (-> *target* control trans y) (+ -20480.0 (-> self root trans y))) ) #f ) @@ -345,7 +345,7 @@ For example for an elevator pre-compute the distance between the first and last ) (+! (-> self angle-flip-vel) (* -6.0 (-> self clock seconds-per-frame) (-> self angle-flip-vel))) (+! (-> self angle-flip) (-> self angle-flip-vel)) - (quaternion-vector-angle! (-> self root-override quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) + (quaternion-vector-angle! (-> self root quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) (when (and (>= (- (current-time) (-> self state-time)) (the int (+ -300.0 (-> self time-flip)))) (= 1 (-> self state-flip)) ) @@ -365,15 +365,10 @@ For example for an elevator pre-compute the distance between the first and last ) (vector-normalize! s5-2 1.0) (quaternion-vector-angle! gp-2 s5-2 1820.4445) - (quaternion-pseudo-seek - (-> self root-override quat) - (-> self root-override quat) - gp-2 - (-> self clock seconds-per-frame) - ) + (quaternion-pseudo-seek (-> self root quat) (-> self root quat) gp-2 (-> self clock seconds-per-frame)) ) ) - (quaternion-normalize! (-> self root-override quat)) + (quaternion-normalize! (-> self root quat)) (let ((func (-> (method-of-type plat plat-path-active) trans))) (if func (func) diff --git a/test/decompiler/reference/jak2/levels/temple/mountain-obs_REF.gc b/test/decompiler/reference/jak2/levels/temple/mountain-obs_REF.gc index 6416f4b95d..21cefc8fee 100644 --- a/test/decompiler/reference/jak2/levels/temple/mountain-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/temple/mountain-obs_REF.gc @@ -125,7 +125,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -301,7 +301,7 @@ ;; definition of type mtn-dice (deftype mtn-dice (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (incoming-attack-id uint32 :offset-assert 200) (watervol entity-actor :offset-assert 204) (face-matrix matrix 6 :inline :offset-assert 208) @@ -435,7 +435,7 @@ (dotimes (gp-0 6) (matrix-rotate-xyz! (-> self face-matrix gp-0) (-> *dice-angle-array* gp-0)) (set! (-> self face-matrix gp-0 trans quad) (-> *dice-position-array* gp-0 quad)) - (vector+! (-> self face-matrix gp-0 trans) (-> self face-matrix gp-0 trans) (-> self root-override trans)) + (vector+! (-> self face-matrix gp-0 trans) (-> self face-matrix gp-0 trans) (-> self root trans)) (set! (-> self face-matrix gp-0 trans y) (+ 8192.0 (-> self face-matrix gp-0 trans y))) (let* ((v1-40 (-> self face-matrix-back gp-0)) (a3-0 (-> self face-matrix gp-0)) @@ -450,7 +450,7 @@ (set! (-> v1-40 trans quad) a3-1) ) (set! (-> self face-status gp-0) 0) - (let ((v1-44 (-> self root-override root-prim))) + (let ((v1-44 (-> self root root-prim))) (logclear! (-> (the-as collide-shape-prim-group v1-44) child gp-0 prim-core action) (collide-action rideable)) ) ) @@ -484,7 +484,7 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s3-0 (-> arg0 root-override)) + (let* ((s3-0 (-> arg0 root)) (s4-0 (if (type? s3-0 collide-shape) s3-0 ) @@ -503,7 +503,7 @@ ) (let ((s1-1 (-> arg1 head))) (while s1-1 - (let ((v1-4 (get-touched-prim s1-1 (-> obj root-override) arg1))) + (let ((v1-4 (get-touched-prim s1-1 (-> obj root) arg1))) (-> v1-4 cshape) (set! sv-128 (new 'stack-no-clear 'vector)) (set! (-> sv-128 quad) (the-as uint128 0)) @@ -609,19 +609,16 @@ (vf7 :class vf) ) (init-vf0-vector) - (let* ((s3-0 (-> arg1 root-override)) + (let* ((s3-0 (-> arg1 root)) (s0-0 (if (type? s3-0 collide-shape) s3-0 ) ) ) (when s0-0 - (let ((s5-1 ((method-of-type touching-prims-entry get-touched-prim) - (the-as touching-prims-entry arg0) - (-> obj root-override) - arg2 - ) - ) + (let ((s5-1 + ((method-of-type touching-prims-entry get-touched-prim) (the-as touching-prims-entry arg0) (-> obj root) arg2) + ) ) (-> s5-1 cshape) (let ((s1-0 (new-stack-vector0)) @@ -832,7 +829,7 @@ (the-as process-focusable s2-0) ) ) - (s2-1 (-> (the-as process-focusable s3-0) root-override)) + (s2-1 (-> (the-as process-focusable s3-0) root)) (s3-1 (if (type? s2-1 collide-shape) s2-1 ) @@ -843,8 +840,8 @@ (s1-0 (-> (the-as touching-shapes-entry s2-2) head)) ) (while s1-0 - (let ((s0-0 (get-touched-tri s1-0 (-> self root-override) (the-as touching-shapes-entry s2-2))) - (a1-13 (get-touched-prim s1-0 (-> self root-override) (the-as touching-shapes-entry s2-2))) + (let ((s0-0 (get-touched-tri s1-0 (-> self root) (the-as touching-shapes-entry s2-2))) + (a1-13 (get-touched-prim s1-0 (-> self root) (the-as touching-shapes-entry s2-2))) (v1-30 (new 'stack-no-clear 'matrix)) ) (let* ((a3-6 (-> self node-list data (+ (-> a1-13 prim-id) 4) bone transform)) @@ -915,7 +912,7 @@ ) ) ) - (let ((s5-3 (-> (the-as process-focusable s3-2) root-override))) + (let ((s5-3 (-> (the-as process-focusable s3-2) root))) (if (type? s5-3 collide-shape) (empty) ) @@ -971,8 +968,8 @@ (set! (-> self color z) (-> self color x)) (set! (-> self draw color-mult quad) (-> self color quad)) (when (zero? (-> self active)) - (let* ((v1-15 (the int (* 0.00024414062 (-> self root-override trans x)))) - (a0-5 (the int (* 0.00024414062 (-> self root-override trans z)))) + (let* ((v1-15 (the int (* 0.00024414062 (-> self root trans x)))) + (a0-5 (the int (* 0.00024414062 (-> self root trans z)))) (s5-0 (/ (- *dice-offset-x* v1-15) -4)) (gp-0 (/ (- *dice-offset-z* a0-5) -4)) ) @@ -986,7 +983,7 @@ (set! (-> *dice-last-safe-position* y) (+ 8192.0 (-> *dice-last-safe-position* y))) ) (when (not (dice-wrong-way?)) - (set! (-> *dice-back-way* *dice-back-way-num* quad) (-> self root-override trans quad)) + (set! (-> *dice-back-way* *dice-back-way-num* quad) (-> self root trans quad)) (set! *dice-back-way-num* (+ *dice-back-way-num* 1)) ) (set! (-> *dice-blocked-array* gp-0) @@ -1227,7 +1224,7 @@ ) (else (when (!= (-> gp-0 free-face) 5) - (let ((a0-47 (-> gp-0 root-override root-prim))) + (let ((a0-47 (-> gp-0 root root-prim))) (logior! (-> (the-as collide-shape-prim-group a0-47) child s2-0 prim-core action) (collide-action rideable)) ) ) @@ -1389,15 +1386,13 @@ (s3-1 (new 'stack-no-clear 'vector)) ) (vector-average! s2-1 s4-0 s5-0) - (vector-! s2-1 s2-1 (-> gp-0 root-override trans)) + (vector-! s2-1 s2-1 (-> gp-0 root trans)) (vector-! s3-1 s5-0 s4-0) (set! (-> gp-0 draw bounds quad) (-> s2-1 quad)) (set! (-> gp-0 draw bounds w) (+ 16384.0 (* 0.5 (vector-length s3-1)))) ) ) - (set! (-> (the-as collide-shape (-> gp-0 root-override)) root-prim local-sphere quad) - (-> gp-0 draw bounds quad) - ) + (set! (-> (the-as collide-shape (-> gp-0 root)) root-prim local-sphere quad) (-> gp-0 draw bounds quad)) (vector-rotate90-around-y! (-> gp-0 draw bounds) (-> gp-0 draw bounds)) ) 0 @@ -1472,7 +1467,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-23 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1487,9 +1482,9 @@ This commonly includes things such as: (set! (-> obj first) (the-as uint 1)) ) ) - (let* ((a0-48 (the int (* 0.00024414062 (-> obj root-override trans x)))) - (v1-37 (the int (* 0.00024414062 (-> obj root-override trans y)))) - (a1-21 (the int (* 0.00024414062 (-> obj root-override trans z)))) + (let* ((a0-48 (the int (* 0.00024414062 (-> obj root trans x)))) + (v1-37 (the int (* 0.00024414062 (-> obj root trans y)))) + (a1-21 (the int (* 0.00024414062 (-> obj root trans z)))) (a0-49 (- a0-48 *dice-offset-x*)) (a2-13 (- a1-21 *dice-offset-z*)) (a1-22 (+ a0-49 1)) @@ -1500,14 +1495,14 @@ This commonly includes things such as: (a1-24 (+ a1-23 *dice-offset-x*)) (a0-52 (+ a0-51 *dice-offset-z*)) ) - (set! (-> obj root-override trans x) (* 4096.0 (the float a1-24))) - (set! (-> obj root-override trans y) (* 4096.0 (the float v1-38))) - (set! (-> obj root-override trans z) (* 4096.0 (the float a0-52))) + (set! (-> obj root trans x) (* 4096.0 (the float a1-24))) + (set! (-> obj root trans y) (* 4096.0 (the float v1-38))) + (set! (-> obj root trans z) (* 4096.0 (the float a0-52))) ) (dotimes (s4-2 6) (matrix-rotate-xyz! (-> obj face-matrix s4-2) (-> *dice-angle-array* s4-2)) (set! (-> obj face-matrix s4-2 trans quad) (-> *dice-position-array* s4-2 quad)) - (vector+! (-> obj face-matrix s4-2 trans) (-> obj face-matrix s4-2 trans) (-> obj root-override trans)) + (vector+! (-> obj face-matrix s4-2 trans) (-> obj face-matrix s4-2 trans) (-> obj root trans)) (set! (-> obj face-matrix s4-2 trans y) (+ 8192.0 (-> obj face-matrix s4-2 trans y))) ) (mem-set32! (the-as pointer *dice-blocked-array*) 13 0) @@ -1593,7 +1588,7 @@ This commonly includes things such as: (defmethod set-ambient-sound! mtn-plat-elevator ((obj mtn-plat-elevator)) "Sets the elevator's [[ambient-sound]] up" (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "mtn-elevator-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "mtn-elevator-lp" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -1610,7 +1605,7 @@ This commonly includes things such as: (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) ) (and (< (-> a0-3 y) (-> s4-0 y)) - (< (-> arg0 y) (+ -4096.0 (-> obj root-override trans y))) + (< (-> arg0 y) (+ -4096.0 (-> obj root trans y))) (< (vector-vector-xz-distance a0-3 arg0) 24576.0) ) ) @@ -1636,7 +1631,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1732,7 +1727,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -2009,7 +2004,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-12 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-12 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -2032,7 +2027,7 @@ This commonly includes things such as: (the-as pair 0) ) (stop-bouncing! obj) - (update-transforms (-> obj root-override)) + (update-transforms (-> obj root)) (base-plat-method-32 obj) (set! (-> obj fact) (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc)) @@ -2975,7 +2970,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -3006,10 +3001,10 @@ This commonly includes things such as: (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (let ((f30-0 (total-distance (-> obj path)))) (set! (-> obj path-speed) (/ (res-lump-float arg0 'speed :default 40960.0) f30-0)) - (set! (-> obj root-override pause-adjust-distance) (+ 204800.0 f30-0)) + (set! (-> obj root pause-adjust-distance) (+ 204800.0 f30-0)) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 70) (-> obj root trans)) ) (init-plat! obj) (mtn-plat-return-method-37 obj) @@ -3602,7 +3597,7 @@ This commonly includes things such as: ) ) (let ((gp-0 (new 'stack-no-clear 'task-arrow-params))) - (set! (-> gp-0 pos quad) (-> self root-override trans quad)) + (set! (-> gp-0 pos quad) (-> self root trans quad)) (quaternion-identity! (-> gp-0 quat)) (set! (-> gp-0 flags) (task-arrow-flags)) (set! (-> gp-0 map-icon) (the-as uint 15)) @@ -3631,14 +3626,14 @@ This commonly includes things such as: (cond ((task-node-closed? (game-task-node forest-scouts-introduction)) (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) ) (else (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-8 (-> self root-override root-prim))) + (let ((v1-8 (-> self root root-prim))) (set! (-> v1-8 prim-core collide-as) (collide-spec)) (set! (-> v1-8 prim-core collide-with) (collide-spec)) ) diff --git a/test/decompiler/reference/jak2/levels/temple/mountain-scenes_REF.gc b/test/decompiler/reference/jak2/levels/temple/mountain-scenes_REF.gc index b59860d5cb..d6effe9e1f 100644 --- a/test/decompiler/reference/jak2/levels/temple/mountain-scenes_REF.gc +++ b/test/decompiler/reference/jak2/levels/temple/mountain-scenes_REF.gc @@ -1677,7 +1677,7 @@ ;; definition of type mtn-plat-buried-rocks (deftype mtn-plat-buried-rocks (process-drawable) - ((root-override collide-shape :offset 128) + ((root collide-shape :override) ) :heap-base #x50 :method-count-assert 22 @@ -1744,7 +1744,7 @@ ) (ja-channel-set! 1) (set! (-> self draw bounds w) 491520.0) - (set! (-> self root-override root-prim local-sphere w) 409600.0) + (set! (-> self root root-prim local-sphere w) 409600.0) (format (clear *temp-string*) "~S-end" (-> self type)) (ja :group! (get-art-by-name (-> self draw art-group) *temp-string* art-joint-anim)) (transform-post) @@ -1781,7 +1781,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> v1-5 prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> v1-5 prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -1957,10 +1957,10 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 100) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "mtn-plat-lp" :fo-max 100) (-> obj root trans)) ) (set! (-> obj options) (res-lump-value (-> obj entity) 'options actor-option :time -1000000000.0)) 0 @@ -3401,7 +3401,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -3518,7 +3518,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton @@ -3642,7 +3642,7 @@ This commonly includes things such as: (set! (-> cshape backup-collide-as) (-> root-prim prim-core collide-as)) (set! (-> cshape backup-collide-with) (-> root-prim prim-core collide-with)) ) - (set! (-> obj root-override) cshape) + (set! (-> obj root) cshape) ) (process-drawable-from-entity! obj entity) (initialize-skeleton diff --git a/test/decompiler/reference/jak2/levels/temple/rhino-wall_REF.gc b/test/decompiler/reference/jak2/levels/temple/rhino-wall_REF.gc index 22d7cdbf00..f385141406 100644 --- a/test/decompiler/reference/jak2/levels/temple/rhino-wall_REF.gc +++ b/test/decompiler/reference/jak2/levels/temple/rhino-wall_REF.gc @@ -50,7 +50,7 @@ ;; definition for method 30 of type rhino-wall ;; WARN: Return type mismatch vector vs none. (defmethod rhino-wall-method-30 rhino-wall ((obj rhino-wall)) - (let ((v1-1 (-> obj root-override root-prim))) + (let ((v1-1 (-> obj root root-prim))) (countdown (a1-0 (-> v1-1 specific 0)) (let ((a2-1 (-> (the-as collide-shape-prim-group v1-1) child a1-0))) (cond @@ -197,7 +197,7 @@ This commonly includes things such as: (set! (-> s4-1 backup-collide-as) (-> v1-38 prim-core collide-as)) (set! (-> s4-1 backup-collide-with) (-> v1-38 prim-core collide-with)) ) - (set! (-> obj root-override) s4-1) + (set! (-> obj root) s4-1) ) (set! s4-0 (art-group-get-by-name *level* "skel-rhino-wall-1" (the-as (pointer uint32) #f))) (set! (-> obj anim) @@ -272,7 +272,7 @@ This commonly includes things such as: (set! (-> s4-2 backup-collide-as) (-> v1-74 prim-core collide-as)) (set! (-> s4-2 backup-collide-with) (-> v1-74 prim-core collide-with)) ) - (set! (-> obj root-override) s4-2) + (set! (-> obj root) s4-2) ) (set! s4-0 (art-group-get-by-name *level* "skel-rhino-wall-2" (the-as (pointer uint32) #f))) (set! (-> obj anim) diff --git a/test/decompiler/reference/jak2/levels/temple/rhino_REF.gc b/test/decompiler/reference/jak2/levels/temple/rhino_REF.gc index d907238d5c..57b56bc566 100644 --- a/test/decompiler/reference/jak2/levels/temple/rhino_REF.gc +++ b/test/decompiler/reference/jak2/levels/temple/rhino_REF.gc @@ -565,7 +565,7 @@ :walk-travel-speed (meters 1) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 180.0) + :maximum-rotation-rate (degrees 180) :notice-nav-radius (meters 4) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -591,7 +591,7 @@ (cond ((and (-> obj can-hit?) gp-0 ((method-of-type touching-shapes-entry prims-touching?) (the-as touching-shapes-entry gp-0) - (-> obj root-override2) + (-> obj root) (the-as uint 1) ) ) @@ -599,9 +599,9 @@ (gp-1 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s4-0 (-> obj root-override2 quat)) - (vector-x-quaternion! gp-1 (-> obj root-override2 quat)) - (vector-! s5-1 (-> (the-as process-drawable s2-0) root trans) (-> obj root-override2 trans)) + (vector-z-quaternion! s4-0 (-> obj root quat)) + (vector-x-quaternion! gp-1 (-> obj root quat)) + (vector-! s5-1 (-> (the-as process-drawable s2-0) root trans) (-> obj root trans)) (if (and (< 0.0 (vector-dot s5-1 s4-0)) (< (fabs (vector-dot s5-1 gp-1)) 10240.0)) #t #f @@ -693,9 +693,9 @@ (s4-0 (new 'stack-no-clear 'vector)) (s5-1 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s3-0 (-> obj root-override2 quat)) - (vector-x-quaternion! s4-0 (-> obj root-override2 quat)) - (vector-! s5-1 (-> (the-as process-focusable s2-0) root-override trans) (-> obj root-override2 trans)) + (vector-z-quaternion! s3-0 (-> obj root quat)) + (vector-x-quaternion! s4-0 (-> obj root quat)) + (vector-! s5-1 (-> (the-as process-focusable s2-0) root trans) (-> obj root trans)) (set! (-> s5-1 y) 0.0) (vector-normalize! s5-1 1.0) (let* ((f30-0 (vector-dot s3-0 s5-1)) @@ -738,7 +738,7 @@ ((= v1-0 'event-slide-poof) (let ((s5-2 (-> arg3 param 1))) (cond - ((= (-> obj root-override2 ground-pat material) (pat-material grass)) + ((= (-> obj root ground-pat material) (pat-material grass)) (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) (when s4-1 (let ((t9-14 (method-of-type part-tracker activate))) @@ -825,7 +825,7 @@ ) ) ((= v1-0 'death-end) - (let ((v1-74 (-> obj root-override2 root-prim))) + (let ((v1-74 (-> obj root root-prim))) (set! (-> v1-74 prim-core collide-as) (collide-spec)) (set! (-> v1-74 prim-core collide-with) (collide-spec)) ) @@ -877,7 +877,7 @@ (debug-draw (-> self path-intro)) (when (and (>= (the-as int (-> self focus aware)) (the-as int (-> self charge-aware))) *target* - (and (>= 122880.0 (vector-vector-distance (-> self root-override2 trans) (-> *target* control trans))) + (and (>= 122880.0 (vector-vector-distance (-> self root trans) (-> *target* control trans))) (not (logtest? (focus-status teleporting) (-> *target* focus-status))) ) ) @@ -913,13 +913,10 @@ (let ((f30-0 (get-rand-float-range self 0.8 1.2)) (gp-0 #t) ) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override die-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info die-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override die-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info die-anim))) frames num-frames) -1 ) ) @@ -953,13 +950,10 @@ (local-vars (v1-67 enemy-flag) (v1-75 enemy-flag)) (ja-channel-push! 1 (seconds 0.2)) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override hit-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info hit-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override hit-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info hit-anim))) frames num-frames) -1 ) ) @@ -1061,14 +1055,14 @@ (cond ((and (focus-test? obj dangerous) ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action deadly) (collide-action) ) ) (let ((a3-2 (if ((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action persistent-attack) (collide-action) ) @@ -1082,11 +1076,11 @@ ) (((method-of-type touching-shapes-entry prims-touching-action?) touch-entry - (-> obj root-override2) + (-> obj root) (collide-action no-standon) (collide-action) ) - (send-shoves (-> obj root-override2) arg0 touch-entry 0.7 6144.0 16384.0) + (send-shoves (-> obj root) arg0 touch-entry 0.7 6144.0 16384.0) ) ) ) @@ -1103,7 +1097,7 @@ ) (let* ((s2-0 (if (-> obj smush-target) 'smush - (-> obj enemy-info-override attack-mode) + (-> obj enemy-info attack-mode) ) ) (s1-0 arg0) @@ -1113,10 +1107,10 @@ ) (s1-1 (new 'stack-no-clear 'vector)) ) - (vector-! s1-1 (get-trans (the-as process-focusable a0-3) 0) (-> obj root-override2 trans)) + (vector-! s1-1 (get-trans (the-as process-focusable a0-3) 0) (-> obj root trans)) (set! (-> s1-1 y) 0.0) (vector-normalize! s1-1 1.0) - (vector+float*! s1-1 s1-1 (-> obj root-override2 transv) 0.5) + (vector+float*! s1-1 s1-1 (-> obj root transv) 0.5) (set! (-> s1-1 y) 20480.0) (let ((a1-6 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-6 from) (process->ppointer self)) @@ -1173,13 +1167,13 @@ (t9-0) ) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-as) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-with) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-with) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core action) (collide-action deadly) ) (set! (-> self can-hit?) #t) @@ -1201,10 +1195,10 @@ (t9-0) ) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-as) (collide-spec) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-with) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-with) (collide-spec) ) (if (logtest? (-> self enemy-flags) (enemy-flag check-water)) @@ -1223,13 +1217,13 @@ (suspend) (ja :num! (seek!)) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-as) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-as) (collide-spec enemy) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core collide-with) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core collide-with) (collide-spec jak bot player-list) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core action) (collide-action solid no-standon) ) (until #f @@ -1244,9 +1238,7 @@ (let ((gp-0 (handle->process (-> self focus handle)))) (cond (gp-0 - (if (or (< 10240.0 - (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root-override2 trans)) - ) + (if (or (< 10240.0 (vector-vector-xz-distance (get-trans (the-as process-focusable gp-0) 0) (-> self root trans))) (and gp-0 (not (logtest? (-> (the-as process-focusable gp-0) focus-status) (focus-status disable dead ignore grabbed))) ) @@ -1270,7 +1262,7 @@ (set! (-> v1-68 attack-id) a0-24) (set! (-> self attack-id) a0-24) ) - (set! (-> (the-as collide-shape-prim-group (-> self root-override2 root-prim)) child 1 prim-core action) + (set! (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 1 prim-core action) (collide-action deadly) ) (logior! (-> self focus-status) (focus-status dangerous)) @@ -1299,9 +1291,7 @@ (cond (a0-37 (cond - ((< 22528.0 - (vector-vector-xz-distance (get-trans (the-as process-focusable a0-37) 0) (-> self root-override2 trans)) - ) + ((< 22528.0 (vector-vector-xz-distance (get-trans (the-as process-focusable a0-37) 0) (-> self root trans))) (ja-channel-push! 1 (seconds 0.075)) (react-to-focus self) ) @@ -1332,14 +1322,14 @@ (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-4 enemy-flags)))) ) (set! (-> v1-4 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-4 enemy-flags)))) - (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info-override callback-info)) + (set! (-> v1-4 nav callback-info) (-> v1-4 enemy-info callback-info)) ) 0 (let ((v1-7 self)) (set! (-> v1-7 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag37) (-> v1-7 enemy-flags)))) ) 0 - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (let ((s5-0 (-> self path curve num-cverts))) (if (<= s5-0 0) @@ -1352,7 +1342,7 @@ ) (dotimes (s3-0 s5-0) (get-point-in-path! (-> self path) s4-0 (the float s3-0) 'interp) - (let ((f0-2 (vector-vector-xz-distance s4-0 (-> self root-override2 trans)))) + (let ((f0-2 (vector-vector-xz-distance s4-0 (-> self root trans)))) (when (< f30-0 f0-2) (set! f30-0 f0-2) (set! (-> gp-0 quad) (-> s4-0 quad)) @@ -1430,18 +1420,16 @@ ) 0.0 0.0 - (vector-z-quaternion! s5-0 (-> self root-override2 quat)) - (vector-! s1-0 s2-0 (-> self root-override2 trans)) + (vector-z-quaternion! s5-0 (-> self root quat)) + (vector-! s1-0 s2-0 (-> self root trans)) (let ((f28-0 (vector-dot s1-0 s5-0))) (vector-normalize! s1-0 1.0) (let ((f30-0 (vector-dot s1-0 s5-0))) - (vector-! gp-0 s2-0 (-> self root-override2 trans)) + (vector-! gp-0 s2-0 (-> self root trans)) (vector-normalize! gp-0 (+ 16384.0 (vector-length gp-0))) - (vector+! s4-0 (-> self root-override2 trans) gp-0) + (vector+! s4-0 (-> self root trans) gp-0) (when (>= (- (current-time) (-> self state-time)) (-> self reaction-time)) - (if (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root-override2 trans)) - 40960.0 - ) + (if (and (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root trans)) 40960.0) (< 0.9 f30-0) ) (set! (-> self charge-straight) #t) @@ -1451,9 +1439,7 @@ ((-> self charge-straight) (cond ((>= (- (current-time) (-> self state-time)) (-> self reaction-time)) - (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root-override2 trans)) - 20480.0 - ) + (if (< (vector-vector-xz-distance (get-trans (the-as process-focusable s3-0) 0) (-> self root trans)) 20480.0) (go-virtual attack) ) (when (and (< f30-0 0.7) (>= 9.0 (ja-frame-num 0))) @@ -1480,7 +1466,7 @@ (vector-float*! gp-0 s5-0 40960.0) (let* ((s5-1 (-> self nav)) (v1-67 s5-1) - (a0-31 (-> self root-override2 trans)) + (a0-31 (-> self root trans)) (a1-12 (new 'stack-no-clear 'nav-find-poly-parms)) ) (vector-! (-> a1-12 point) a0-31 (-> v1-67 state mesh bounds)) @@ -1490,7 +1476,7 @@ (s4-2 (new 'stack 'clamp-travel-vector-to-mesh-return-info)) ) (when s3-1 - (clamp-vector-to-mesh-no-gaps s5-1 (-> self root-override2 trans) s3-1 gp-0 s4-2) + (clamp-vector-to-mesh-no-gaps s5-1 (-> self root trans) s3-1 gp-0 s4-2) (when (-> s4-2 found-boundary) (if (and (< (vector-length gp-0) 32768.0) (and (-> self charge-straight) (>= 9.0 (ja-frame-num 0)))) (go-virtual stop-run) @@ -1506,7 +1492,7 @@ ) :code (behavior () (ja-channel-push! 1 (seconds 0.2)) - (ja :group! (-> self draw art-group data (-> self enemy-info-override hostile-anim))) + (ja :group! (-> self draw art-group data (-> self enemy-info hostile-anim))) (ja :num-func num-func-identity :frame-num 0.0) (let ((f30-0 (get-rand-float-range self 0.9 1.1))) (until #f @@ -1544,14 +1530,14 @@ (set! (-> v1-4 attack-id) a0-2) (set! (-> self attack-id) a0-2) ) - (set! (-> self root-override2 penetrate-using) (penetrate generic-attack lunge)) + (set! (-> self root penetrate-using) (penetrate generic-attack lunge)) (enemy-method-49 self) (nav-enemy-method-166 self) (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (vector-float*! gp-0 gp-0 40960.0) - (vector+! (-> self dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self dest) (-> self root trans) gp-0) ) (let ((a0-10 (-> self nav state)) (v1-17 (-> self dest)) @@ -1604,7 +1590,7 @@ (defmethod nav-enemy-method-142 rhino ((obj rhino) (arg0 nav-control)) (if (-> obj in-stop-run) (quaternion*! - (-> obj root-override2 quat) + (-> obj root quat) (-> obj quat) (quaternion-axis-angle! (new 'stack-no-clear 'quaternion) 0.0 1.0 0.0 (* 182.04445 (* 180.0 (-> obj angle)))) ) @@ -1621,12 +1607,12 @@ :enter (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) (new 'stack-no-clear 'vector) - (vector-z-quaternion! gp-0 (-> self root-override2 quat)) + (vector-z-quaternion! gp-0 (-> self root quat)) (vector-float*! gp-0 gp-0 40960.0) - (vector+! (-> self dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self dest) (-> self root trans) gp-0) (let* ((s5-0 (-> self nav)) (v1-6 s5-0) - (a0-5 (-> self root-override2 trans)) + (a0-5 (-> self root trans)) (a1-3 (new 'stack-no-clear 'nav-find-poly-parms)) ) (vector-! (-> a1-3 point) a0-5 (-> v1-6 state mesh bounds)) @@ -1636,9 +1622,9 @@ (s4-0 (new 'stack 'clamp-travel-vector-to-mesh-return-info)) ) (when s3-0 - (clamp-vector-to-mesh-no-gaps s5-0 (-> self root-override2 trans) s3-0 gp-0 s4-0) + (clamp-vector-to-mesh-no-gaps s5-0 (-> self root trans) s3-0 gp-0 s4-0) (if (-> s4-0 found-boundary) - (vector+! (-> self dest) (-> self root-override2 trans) gp-0) + (vector+! (-> self dest) (-> self root trans) gp-0) ) ) ) @@ -1654,7 +1640,7 @@ 0 (set! (-> self skid-speed) 57344.0) (set! (-> self in-stop-run) #t) - (quaternion-copy! (-> self quat) (-> self root-override2 quat)) + (quaternion-copy! (-> self quat) (-> self root quat)) (set! (-> self angle) 0.0) (set! (-> self angle-speed) 0.0) (set! (-> self num-hit-flinch) 0) @@ -1667,7 +1653,7 @@ ) 0 (let ((v1-3 (-> self nav))) - (set! (-> v1-3 target-speed) (-> self enemy-info-override walk-travel-speed)) + (set! (-> v1-3 target-speed) (-> self enemy-info walk-travel-speed)) ) 0 (set! (-> self in-stop-run) #f) @@ -1693,10 +1679,10 @@ (gp-0 (new 'stack-no-clear 'vector)) ) 0.0 - (vector-! s5-0 (get-trans (the-as process-focusable a0-5) 0) (-> self root-override2 trans)) + (vector-! s5-0 (get-trans (the-as process-focusable a0-5) 0) (-> self root trans)) (vector-normalize! s5-0 1.0) - (vector-x-quaternion! gp-0 (-> self root-override2 quat)) - (vector-z-quaternion! s4-0 (-> self root-override2 quat)) + (vector-x-quaternion! gp-0 (-> self root quat)) + (vector-z-quaternion! s4-0 (-> self root quat)) (set! (-> self angle-speed) (* 0.5 (- 1.0 (vector-dot s5-0 s4-0)))) (set! v1-30 (cond ((< (vector-dot s5-0 gp-0) 0.0) @@ -1759,7 +1745,7 @@ (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-8 enemy-flags)))) ) (set! (-> v1-8 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-8 enemy-flags)))) - (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info-override callback-info)) + (set! (-> v1-8 nav callback-info) (-> v1-8 enemy-info callback-info)) ) 0 (let ((v1-11 self)) @@ -1873,7 +1859,7 @@ ) :code (behavior () (let ((v1-2 (ja-group))) - (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (when (and v1-2 (= v1-2 (-> self draw art-group data (-> self enemy-info walk-anim)))) (ja-no-eval :num! (seek!)) (while (not (ja-done? 0)) (suspend) @@ -1887,7 +1873,7 @@ (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-15 enemy-flags)))) ) (set! (-> v1-15 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-15 enemy-flags)))) - (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info-override callback-info)) + (set! (-> v1-15 nav callback-info) (-> v1-15 enemy-info callback-info)) ) 0 (let ((v1-18 self)) @@ -1899,14 +1885,14 @@ ) 0 (let ((v1-22 (-> self nav))) - (set! (-> v1-22 acceleration) (-> self enemy-info-override run-acceleration)) + (set! (-> v1-22 acceleration) (-> self enemy-info run-acceleration)) ) 0 (let ((v1-24 (-> self nav))) - (set! (-> v1-24 turning-acceleration) (-> self enemy-info-override run-turning-acceleration)) + (set! (-> v1-24 turning-acceleration) (-> self enemy-info run-turning-acceleration)) ) 0 - (let ((gp-0 (-> self draw art-group data (-> self enemy-info-override walk-anim)))) + (let ((gp-0 (-> self draw art-group data (-> self enemy-info walk-anim)))) (let ((v1-32 (ja-group))) (if (not (and v1-32 (= v1-32 gp-0))) (ja-channel-push! 1 (seconds 0.1)) @@ -1928,7 +1914,7 @@ ) ) ) - (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root-override2 trans))) + (when (< 20480.0 (vector-vector-xz-distance (-> self focus-pos) (-> self root trans))) (let ((v1-59 self)) (set! (-> v1-59 enemy-flags) (the-as enemy-flag (logclear (-> v1-59 enemy-flags) (enemy-flag enemy-flag36)))) (set! (-> v1-59 nav callback-info) *nav-enemy-null-callback-info*) @@ -1938,20 +1924,17 @@ (set! (-> v1-62 enemy-flags) (the-as enemy-flag (logclear (-> v1-62 enemy-flags) (enemy-flag enemy-flag37)))) ) 0 - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (let ((v1-68 (ja-group))) - (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info-override victory-anim))))) + (if (not (and v1-68 (= v1-68 (-> self draw art-group data (-> self enemy-info victory-anim))))) (ja-channel-push! 1 (seconds 0.1)) ) ) (let ((f30-2 (get-rand-float-range self 0.9 1.1))) - (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info-override victory-anim)) + (ja-no-eval :group! (-> self draw art-group data (-> self enemy-info victory-anim)) :num! (seek! (the float - (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info-override victory-anim))) - frames - num-frames - ) + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self enemy-info victory-anim))) frames num-frames) -1 ) ) @@ -2039,7 +2022,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-25 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -2085,7 +2068,7 @@ ) (when (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status subtask-complete))) (format #t "~S : sub task done~%" (-> obj name)) - (get-point-in-path! (-> obj path-intro) (-> obj root-override2 trans) 1.0 'exact) + (get-point-in-path! (-> obj path-intro) (-> obj root trans) 1.0 'exact) (set! (-> obj wall) #f) ) ) @@ -2124,7 +2107,7 @@ (set! (-> v1-38 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logior! (-> obj nav flags) (nav-control-flag momentum-ignore-heading)) (logior! (-> obj focus-status) (focus-status dangerous)) (logior! (-> obj enemy-flags) (enemy-flag check-water)) diff --git a/test/decompiler/reference/jak2/levels/undefined/hal-task_REF.gc b/test/decompiler/reference/jak2/levels/undefined/hal-task_REF.gc index 11d77a8d8d..4ac67e9254 100644 --- a/test/decompiler/reference/jak2/levels/undefined/hal-task_REF.gc +++ b/test/decompiler/reference/jak2/levels/undefined/hal-task_REF.gc @@ -29,7 +29,7 @@ 20 ) ) - (set! (-> arg0 root-override2 trans quad) (-> arg0 spot center quad)) + (set! (-> arg0 root trans quad) (-> arg0 spot center quad)) ((-> obj check-done) obj (the-as hal arg0)) (none) ) diff --git a/test/decompiler/reference/jak2/levels/undefined/hal_REF.gc b/test/decompiler/reference/jak2/levels/undefined/hal_REF.gc index d4ee68bf3d..b8f5c7d0c1 100644 --- a/test/decompiler/reference/jak2/levels/undefined/hal_REF.gc +++ b/test/decompiler/reference/jak2/levels/undefined/hal_REF.gc @@ -89,7 +89,7 @@ :walk-travel-speed (meters 3) :walk-acceleration (meters 1) :walk-turning-acceleration (meters 1) - :maximum-rotation-rate (degrees 720.0) + :maximum-rotation-rate (degrees 720) :notice-nav-radius (meters 1) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -296,7 +296,7 @@ (set! (-> s5-0 backup-collide-as) (-> v1-10 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-10 prim-core collide-with)) ) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -336,12 +336,12 @@ (set! (-> obj spot-color) (the-as uint #x5000ffff)) (set! (-> obj notice-enemy-dist) 0.0) (logior! (-> obj focus-status) (focus-status disable)) - (let ((v1-13 (-> obj root-override2 root-prim))) + (let ((v1-13 (-> obj root root-prim))) (set! (-> v1-13 prim-core collide-as) (collide-spec)) (set! (-> v1-13 prim-core collide-with) (collide-spec)) ) - (set! (-> obj root-override2 backup-collide-as) (collide-spec)) - (set! (-> obj root-override2 backup-collide-with) (collide-spec)) + (set! (-> obj root backup-collide-as) (collide-spec)) + (set! (-> obj root backup-collide-with) (collide-spec)) 0 (logior! (-> obj draw status) (draw-control-status no-draw)) (remove-process-drawable (-> obj nav state mesh) obj) @@ -493,7 +493,7 @@ (the-as object (skip-waypoint obj)) ) (('move-trans) - (move-to-point! (-> obj root-override2) (the-as vector (-> arg3 param 0))) + (move-to-point! (-> obj root) (the-as vector (-> arg3 param 0))) #t ) (('die-fast) diff --git a/test/decompiler/reference/jak2/levels/undefined/ruf-states_REF.gc b/test/decompiler/reference/jak2/levels/undefined/ruf-states_REF.gc index ff26efdcb7..2bfab90855 100644 --- a/test/decompiler/reference/jak2/levels/undefined/ruf-states_REF.gc +++ b/test/decompiler/reference/jak2/levels/undefined/ruf-states_REF.gc @@ -84,12 +84,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -175,12 +170,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -241,12 +231,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 49152.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 49152.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) @@ -263,7 +248,7 @@ (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag38) (-> v1-2 enemy-flags)))) ) (set! (-> v1-2 enemy-flags) (the-as enemy-flag (logior (enemy-flag enemy-flag36) (-> v1-2 enemy-flags)))) - (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info-override callback-info)) + (set! (-> v1-2 nav callback-info) (-> v1-2 enemy-info callback-info)) ) 0 (let ((v1-5 self)) @@ -420,12 +405,7 @@ ) :code (the-as (function none :behavior ruffian) nothing) :post (behavior () - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 131072.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 131072.0 (seconds 0.05)) (nav-enemy-simple-post) (none) ) diff --git a/test/decompiler/reference/jak2/levels/undefined/ruf-task_REF.gc b/test/decompiler/reference/jak2/levels/undefined/ruf-task_REF.gc index 0967de6543..8a7d7b98ba 100644 --- a/test/decompiler/reference/jak2/levels/undefined/ruf-task_REF.gc +++ b/test/decompiler/reference/jak2/levels/undefined/ruf-task_REF.gc @@ -80,7 +80,7 @@ (defmethod ruft-choose-jump-method-13 ruft-choose-jump ((obj ruft-choose-jump) (arg0 ruffian)) (let ((gp-0 0)) (let ((f30-0 -1.0) - (s3-0 (-> arg0 root-override2 trans)) + (s3-0 (-> arg0 root trans)) ) (countdown (s2-0 (-> obj num-spots)) (let* ((s1-0 (-> arg0 ruf-course spots (-> obj src-spot-indexes s2-0))) diff --git a/test/decompiler/reference/jak2/levels/underport/centipede_REF.gc b/test/decompiler/reference/jak2/levels/underport/centipede_REF.gc index ff1da64a75..2a568b9a6d 100644 --- a/test/decompiler/reference/jak2/levels/underport/centipede_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/centipede_REF.gc @@ -205,7 +205,7 @@ :walk-travel-speed (meters 4) :walk-acceleration (meters 6) :walk-turning-acceleration (meters 3) - :maximum-rotation-rate (degrees 90.0) + :maximum-rotation-rate (degrees 90) :notice-nav-radius (meters 7) :frustration-distance (meters 8) :frustration-time (seconds 4) @@ -266,10 +266,10 @@ (let ((centipede-cam (-> obj cam))) (let ((cam-dir (new 'stack-no-clear 'vector))) (set! (-> cam-dir quad) (-> centipede-cam dir quad)) - (vector-z-quaternion! (-> centipede-cam dir) (-> obj root-override2 quat)) + (vector-z-quaternion! (-> centipede-cam dir) (-> obj root quat)) (set! (-> centipede-cam dir y) 0.0) (vector-normalize! (-> centipede-cam dir) 1.0) - (set! (-> centipede-cam trans quad) (-> obj root-override2 trans quad)) + (set! (-> centipede-cam trans quad) (-> obj root trans quad)) (set! (-> centipede-cam trans y) (+ 32768.0 (* (+ (* 2048.0 (cos (* 218.45334 (the float (mod (current-time) 300))))) (* 614.4 (cos (* 68.91272 (the float (mod (current-time) 951))))) @@ -294,7 +294,7 @@ ) ) (let ((s2-0 (new 'stack-no-clear 'vector))) - (vector-! s2-0 (get-trans (the-as process-focusable proc) 0) (-> obj root-override2 trans)) + (vector-! s2-0 (get-trans (the-as process-focusable proc) 0) (-> obj root trans)) (vector-normalize! s2-0 1.0) (when (>= (vector-dot s2-0 (-> centipede-cam dir)) 0.342) (let ((f0-23 (fmax @@ -505,7 +505,7 @@ (t9-0 obj arg0) ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-z-quaternion! s5-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-0 (-> obj root quat)) (vector-normalize! s5-0 1.0) (let ((s3-0 (handle->process (-> obj focus handle))) (s4-0 #f) @@ -529,7 +529,7 @@ ) (when s3-0 (let ((s3-1 (new 'stack-no-clear 'vector))) - (vector-! s3-1 (-> obj focus-pos-hist (+ (-> obj focus-pos-hist-count) -1)) (-> obj root-override2 trans)) + (vector-! s3-1 (-> obj focus-pos-hist (+ (-> obj focus-pos-hist-count) -1)) (-> obj root trans)) (vector-normalize! s3-1 1.0) (when (>= (vector-dot s3-1 s5-0) 0.342) (let ((f0-9 @@ -558,7 +558,7 @@ ) (vector-rotate90-around-y! s3-2 s5-0) (quaternion-vector-angle! s4-1 s3-2 (+ 4551.1113 (-> obj track-focus-tilt))) - (quaternion*! (-> obj root-override2 quat) s4-1 (-> obj root-override2 quat)) + (quaternion*! (-> obj root quat) s4-1 (-> obj root quat)) ) ) (none) @@ -583,13 +583,13 @@ (set! arg1 (get-trans arg0 0)) ) (when arg1 - (let* ((f0-0 (-> obj root-override2 trans y)) - (v1-4 (-> obj root-override2)) + (let* ((f0-0 (-> obj root trans y)) + (v1-4 (-> obj root)) (f1-0 (-> v1-4 trans y)) - (a0-2 (-> obj fact-info-override)) + (a0-2 (-> obj fact)) ) (when (and (< f0-0 (+ f1-0 (-> a0-2 notice-top))) (< (- f1-0 (-> a0-2 notice-bottom)) f0-0)) - (let* ((f30-0 (-> obj enemy-info-override notice-nav-radius)) + (let* ((f30-0 (-> obj enemy-info notice-nav-radius)) (f0-1 f30-0) ) (or (>= (* f0-1 f0-1) (vector-vector-xz-distance-squared (-> v1-4 trans) arg1)) @@ -620,10 +620,10 @@ (let ((targ (get-enemy-target obj))) (when targ (let* ((targ-pos (get-trans targ 0)) - (y-off (- (-> targ-pos y) (-> obj root-override2 trans y))) + (y-off (- (-> targ-pos y) (-> obj root trans y))) (dist 28672.0) ) - (and (>= (* dist dist) (vector-vector-xz-distance-squared (-> obj root-override2 trans) targ-pos)) + (and (>= (* dist dist) (vector-vector-xz-distance-squared (-> obj root trans) targ-pos)) (or (>= y-off -12288.0) (or (>= 24576.0 y-off) (focus-test? targ edge-grab))) ) ) @@ -643,34 +643,34 @@ (set! (-> overlap-parms options) (overlaps-others-options)) (set! (-> overlap-parms collide-with-filter) (the-as collide-spec -1)) (set! (-> overlap-parms tlist) *touching-list*) - (find-overlapping-shapes (-> obj root-override2) overlap-parms) + (find-overlapping-shapes (-> obj root) overlap-parms) ) ) (let* ((travel-speed (-> *centipede-nav-enemy-info* run-travel-speed)) - (f0-2 (fmin 1.0 (/ (vector-length (-> obj root-override2 transv)) travel-speed))) + (f0-2 (fmin 1.0 (/ (vector-length (-> obj root transv)) travel-speed))) ) (seek! (-> obj bobbing-intensity) f0-2 (* 4.0 (-> pp clock seconds-per-frame))) ) - (quaternion-copy! (-> obj bobbing quat) (-> obj root-override2 quat)) - (set! (-> obj bobbing trans quad) (-> obj root-override2 trans quad)) + (quaternion-copy! (-> obj bobbing quat) (-> obj root quat)) + (set! (-> obj bobbing trans quad) (-> obj root trans quad)) (let ((s5-0 (new 'stack-no-clear 'vector)) (f30-1 (* 2662.4 (cos (* 283.70563 (the float (mod (current-time) 231)))))) (bob-trans (-> obj bobbing trans)) ) - (vector-z-quaternion! s5-0 (-> obj root-override2 quat)) + (vector-z-quaternion! s5-0 (-> obj root quat)) (set! (-> s5-0 y) 0.0) (vector-normalize! s5-0 (* f30-1 (-> obj bobbing-intensity))) (vector+! (the-as vector (&-> bob-trans x)) (the-as vector (&-> bob-trans x)) s5-0) ) ) - (update-trans! (-> obj sound) (-> obj root-override2 trans)) + (update-trans! (-> obj sound) (-> obj root trans)) (when (!= (-> obj talking-volume) (-> obj desired-talking-volume)) (seek! (-> obj talking-volume) (-> obj desired-talking-volume) (* 4.0 (-> pp clock seconds-per-frame))) (update-vol! (-> obj sound) (-> obj talking-volume)) ) (update! (-> obj sound)) - (update-trans! (-> obj legs-sound) (-> obj root-override2 trans)) - (let ((f0-20 (fmin 1.0 (* 0.00012207031 (vector-length (-> obj root-override2 transv)))))) + (update-trans! (-> obj legs-sound) (-> obj root trans)) + (let ((f0-20 (fmin 1.0 (* 0.00012207031 (vector-length (-> obj root transv)))))) (when (!= (-> obj legs-volume) f0-20) (seek! (-> obj legs-volume) f0-20 (* 4.0 (-> pp clock seconds-per-frame))) (update-vol! (-> obj legs-sound) (-> obj legs-volume)) @@ -701,7 +701,7 @@ ) ) ) - (let ((s5-0 (-> obj root-override2))) + (let ((s5-0 (-> obj root))) (set! (-> s5-0 gspot-pos quad) (-> s5-0 trans quad)) (let ((v1-12 (-> obj nav)) (a0-8 (-> s5-0 trans)) @@ -739,7 +739,7 @@ ) ) ) - (let ((f0-6 (-> obj root-override2 trans y))) + (let ((f0-6 (-> obj root trans y))) (cond ((>= (-> s5-0 gspot-pos y) f0-6) (set! (-> s5-0 trans y) (-> s5-0 gspot-pos y)) @@ -830,9 +830,9 @@ :virtual #t :enter (behavior () (logior! (-> self focus-status) (focus-status disable)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 0.0) - (let ((v1-5 (-> self root-override2 root-prim))) + (let ((v1-5 (-> self root root-prim))) (set! (-> v1-5 prim-core collide-as) (collide-spec)) (set! (-> v1-5 prim-core collide-with) (collide-spec)) ) @@ -843,9 +843,9 @@ :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) (logclear! (-> self focus-status) (focus-status disable)) - (let ((v1-5 (-> self root-override2 root-prim))) - (set! (-> v1-5 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-5 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-5 (-> self root root-prim))) + (set! (-> v1-5 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-5 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -899,7 +899,7 @@ (stop-looking-at-target! self) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -946,7 +946,7 @@ (stop-looking-at-target! self) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -975,7 +975,7 @@ (stop-looking-at-target! self) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -1038,7 +1038,7 @@ (when a0-2 (let ((gp-0 (new 'stack-no-clear 'vector))) (set! (-> gp-0 quad) (-> (get-trans (the-as process-focusable a0-2) 0) quad)) - (set! (-> gp-0 y) (-> self root-override2 trans y)) + (set! (-> gp-0 y) (-> self root trans y)) (let ((v1-12 (-> self nav state))) (logclear! (-> v1-12 flags) (nav-state-flag directional-mode)) (logior! (-> v1-12 flags) (nav-state-flag target-poly-dirty)) @@ -1127,7 +1127,7 @@ (set! (-> cam-dir quad) (-> obj cam dir quad)) (set! (-> cam-dir y) 0.0) (vector-normalize! cam-dir 1.0) - (vector-! trans-off (-> obj focus-pos) (-> obj root-override2 trans)) + (vector-! trans-off (-> obj focus-pos) (-> obj root trans)) (set! (-> s5-1 quad) (-> trans-off quad)) (set! (-> s5-1 y) 0.0) (vector-normalize! s5-1 1.0) @@ -1149,7 +1149,7 @@ ) ) (let ((f0-12 (fmin 1.0 (* 0.16666667 (ja-frame-num 0))))) - (quaternion-slerp! (-> obj root-override2 quat) (-> obj src-quat) (-> obj dest-quat) f0-12) + (quaternion-slerp! (-> obj root quat) (-> obj src-quat) (-> obj dest-quat) f0-12) ) (none) ) @@ -1167,7 +1167,7 @@ (nav-enemy-method-167 self) (set! (-> self enemy-flags) (logior (enemy-flag actor-pause-backup) (-> self enemy-flags))) (set! (-> self grabbed-focus?) #f) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 0.0) (let ((gp-0 (handle->process (-> self focus handle)))) (if (not gp-0) @@ -1175,7 +1175,7 @@ ) (set! (-> self focus-pos quad) (-> (get-trans (the-as process-focusable gp-0) 0) quad)) ) - (quaternion-copy! (-> self src-quat) (-> self root-override2 quat)) + (quaternion-copy! (-> self src-quat) (-> self root quat)) (quaternion-copy! (-> self dest-quat) (-> self src-quat)) (none) ) @@ -1188,8 +1188,8 @@ (let ((v1-3 (handle->process (-> self focus handle)))) (if v1-3 (vector-seek-3d-smooth! - (-> (the-as process-focusable v1-3) root-override trans) - (-> self root-override2 trans) + (-> (the-as process-focusable v1-3) root trans) + (-> self root trans) (* 28672.0 (-> self clock seconds-per-frame)) 0.8 ) @@ -1256,7 +1256,7 @@ (let* ((v1-5 (- (current-time) (-> self state-time))) (f1-2 (* 0.00952381 (the float v1-5))) ) - (quaternion-slerp! (-> self root-override2 quat) (-> self src-quat) (-> self dest-quat) (- 1.0 (* f1-2 f1-2))) + (quaternion-slerp! (-> self root quat) (-> self src-quat) (-> self dest-quat) (- 1.0 (* f1-2 f1-2))) ) (centipede-method-188 self) (suspend) @@ -1281,7 +1281,7 @@ ) 0 (nav-enemy-method-167 self) - (vector-reset! (-> self root-override2 transv)) + (vector-reset! (-> self root transv)) (set! (-> self desired-talking-volume) 1.0) (none) ) @@ -1291,7 +1291,7 @@ ) :code (behavior () (logior! (-> self focus-status) (focus-status disable)) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1406,7 +1406,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-32 prim-core collide-with)) ) (set! (-> s5-0 event-other) 'centipede) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) (none) ) @@ -1421,11 +1421,11 @@ (set! (-> obj set-camera-mode?) #f) (set! (-> obj focus-gnd-height) -40959590.0) (set! (-> obj bobbing-intensity) 1.0) - (set-vector! (-> obj root-override2 scale) 0.75 0.75 0.75 1.0) - (set! (-> obj root-override2 trans y) (+ 4096.0 (-> obj root-override2 trans y))) + (set-vector! (-> obj root scale) 0.75 0.75 0.75 1.0) + (set! (-> obj root trans y) (+ 4096.0 (-> obj root trans y))) (case (-> obj id) ((1) - (let ((v1-10 (-> obj root-override2))) + (let ((v1-10 (-> obj root))) (set-vector! (-> v1-10 quat) -0.2103 -0.2293 -0.0508 0.949) (set! (-> v1-10 trans x) -248325.33) (set! (-> v1-10 trans z) 8201697.0) @@ -1433,7 +1433,7 @@ (set! (-> *centipede-nav-enemy-info* run-travel-speed) 32768.0) ) ((2) - (let ((v1-16 (-> obj root-override2))) + (let ((v1-16 (-> obj root))) (set-vector! (-> v1-16 quat) -0.1832 0.519 0.115 0.827) (set! (-> v1-16 trans x) -1001253.25) (set! (-> v1-16 trans z) 7913366.5) @@ -1454,22 +1454,22 @@ (set! (-> v1-31 sphere-mask) (the-as uint 64)) ) 0 - (logclear! (-> obj root-override2 nav-flags) (nav-flags has-root-sphere has-extra-sphere)) + (logclear! (-> obj root nav-flags) (nav-flags has-root-sphere has-extra-sphere)) (let ((v1-35 (-> obj nav))) (set! (-> v1-35 speed-scale) 1.0) ) 0 - (set-gravity-length (-> obj root-override2 dynam) 573440.0) + (set-gravity-length (-> obj root dynam) 573440.0) (logclear! (-> obj enemy-flags) (enemy-flag enable-on-active checking-water)) (set! (-> obj bobbing) (the-as trsqv (new 'process 'joint-mod-set-world obj 3 #t))) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "cent-talk" :fo-max 90) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "cent-talk" :fo-max 90) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (set! (-> obj talking-volume) 0.0) (set! (-> obj desired-talking-volume) 0.0) (set! (-> obj legs-sound) - (new 'process 'ambient-sound (static-sound-spec "cent-legs-loop" :fo-max 90) (-> obj root-override2 trans)) + (new 'process 'ambient-sound (static-sound-spec "cent-legs-loop" :fo-max 90) (-> obj root trans)) ) (update-vol! (-> obj sound) 0.0) (set! (-> obj legs-volume) 0.0) diff --git a/test/decompiler/reference/jak2/levels/underport/jellyfish_REF.gc b/test/decompiler/reference/jak2/levels/underport/jellyfish_REF.gc index b2a4d4e6bb..ddd1af3a42 100644 --- a/test/decompiler/reference/jak2/levels/underport/jellyfish_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/jellyfish_REF.gc @@ -491,7 +491,7 @@ (set! gp-2 (jellyfish-method-161 self (new 'stack-no-clear 'vector) (get-norm! (-> self sync) 0))) (set! a0-8 (jellyfish-method-161 self (new 'stack-no-clear 'vector) (-> self path-player-u))) (-> self focus-pos) - (< (fabs (- (-> self root-override2 trans y) (-> gp-2 y))) 8192.0) + (< (fabs (- (-> self root trans y) (-> gp-2 y))) 8192.0) ) (< (vector-vector-xz-distance a0-8 gp-2) 16384.0) ) @@ -528,7 +528,7 @@ (set! (-> v1-8 collide-with) (collide-spec backgnd)) (set! (-> v1-8 ignore-process0) self) (set! (-> v1-8 ignore-process1) #f) - (set! (-> v1-8 ignore-pat) (-> self root-override2 pat-ignore-mask)) + (set! (-> v1-8 ignore-pat) (-> self root pat-ignore-mask)) (set! (-> v1-8 action-mask) (collide-action solid)) ) (if (>= (fill-and-probe-using-line-sphere *collide-cache* gp-0) 0.0) @@ -563,9 +563,9 @@ (jellyfish-method-163 self (the-as process-focusable #f)) (begin (set! gp-0 (jellyfish-method-161 self (new 'stack-no-clear 'vector) (-> self path-stare-u))) - (< (vector-vector-xz-distance (-> self root-override2 trans) gp-0) 12288.0) + (< (vector-vector-xz-distance (-> self root trans) gp-0) 12288.0) ) - (< (fabs (- (-> self root-override2 trans y) (-> gp-0 y))) 40960.0) + (< (fabs (- (-> self root trans y) (-> gp-0 y))) 40960.0) ) (go-virtual threaten) ) @@ -607,7 +607,7 @@ (ja :num! (seek! max 1.4)) ) (let ((gp-0 (handle->process (-> self focus handle))) - (s5-0 (-> self root-override2 trans)) + (s5-0 (-> self root trans)) ) (cond ((not (jellyfish-method-163 self (the-as process-focusable gp-0))) @@ -644,10 +644,7 @@ (hover-nav-control-method-10 (-> self hover) (-> self charge-pos) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) (-> self charge-pos) (-> self root-override2 trans)) - 1.0 - ) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> self charge-pos) (-> self root trans)) 1.0) (the-as vector #t) ) (logior! (-> self focus-status) (focus-status dangerous)) @@ -665,7 +662,7 @@ (none) ) :trans (behavior () - (let ((gp-0 (-> self root-override2 trans))) + (let ((gp-0 (-> self root trans))) (if (< (vector-vector-distance gp-0 (-> self charge-pos)) 16384.0) (go-virtual threaten) ) @@ -705,7 +702,7 @@ (none) ) :post (behavior () - (let* ((gp-0 (-> self root-override2 trans)) + (let* ((gp-0 (-> self root trans)) (s5-1 (vector-! (new 'stack-no-clear 'vector) (-> self charge-pos) gp-0)) ) (let* ((s4-1 (vector-! (new 'stack-no-clear 'vector) (-> self focus-pos) gp-0)) @@ -737,13 +734,12 @@ (set! (-> self attach-lerp) 0.0) (let ((gp-0 *target*)) (if (and gp-0 (focus-test? gp-0 mech) (not (logtest? (-> gp-0 focus-status) (focus-status dead ignore)))) - (set! (-> self grab-front) - (< (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override2 quat)) - (-> gp-0 manipy 0 node-list data 3 bone transform vector 2) - ) - 0.0 - ) + (set! (-> self grab-front) (< (vector-dot + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root quat)) + (-> gp-0 manipy 0 node-list data 3 bone transform vector 2) + ) + 0.0 + ) ) ) ) @@ -752,9 +748,9 @@ :exit (behavior () (sound-stop (-> self sound-id)) (hover-enemy-method-147 self) - (let ((v1-3 (-> self root-override2 root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (dotimes (gp-0 3) (initialize-chain-joints (-> self tentacles gp-0)) @@ -785,8 +781,8 @@ ) (ja-channel-push! 1 (seconds 0.1)) (set-vector! (-> self grab-offset) 0.0 14336.0 0.0 0.0) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (ja-no-eval :group! jellyfish-grab-start-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim jellyfish-grab-start-ja) frames num-frames) -1)) 1.2) :frame-num 0.0 @@ -796,7 +792,7 @@ (suspend) (ja :num! (seek! max 1.2)) ) - (let ((v1-34 (-> self root-override2 root-prim))) + (let ((v1-34 (-> self root root-prim))) (set! (-> v1-34 prim-core collide-as) (collide-spec)) (set! (-> v1-34 prim-core collide-with) (collide-spec)) ) @@ -805,8 +801,8 @@ (set-vector! (-> self grab-offset) 0.0 9179.136 -3682.304 0.0) (set-vector! (-> self grab-offset) 0.0 9179.136 4354.048 0.0) ) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (ja-no-eval :group! jellyfish-grab-attach-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim jellyfish-grab-attach-ja) frames num-frames) -1)) 1.2) :frame-num 0.0 @@ -816,8 +812,8 @@ (suspend) (ja :num! (seek! max 1.2)) ) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (let ((a1-11 (new 'stack-no-clear 'event-message-block))) (set! (-> a1-11 from) (process->ppointer self)) (set! (-> a1-11 num-params) 2) @@ -858,7 +854,7 @@ (set! (-> v1-95 id) a2-10) ) (set! (-> v1-95 mode) 'shock) - (set! (-> v1-95 intersection quad) (-> self root-override2 trans quad)) + (set! (-> v1-95 intersection quad) (-> self root trans quad)) (set! (-> a1-13 param 1) (the-as uint v1-95)) ) (send-event-function gp-3 a1-13) @@ -872,8 +868,8 @@ ) (sound-stop (-> self sound-id)) (set-vector! (-> self grab-offset) 0.0 20480.0 0.0 0.0) - (set! (-> self grab-start-pos quad) (-> self root-override2 trans quad)) - (quaternion-copy! (-> self grab-start-quat) (-> self root-override2 quat)) + (set! (-> self grab-start-pos quad) (-> self root trans quad)) + (quaternion-copy! (-> self grab-start-quat) (-> self root quat)) (dotimes (gp-4 3) (initialize-chain-joints (-> self tentacles gp-4)) ) @@ -899,8 +895,8 @@ (if (-> self grab-front) (quaternion-rotate-y! s5-0 s5-0 32768.0) ) - (vector-lerp! (-> self root-override2 trans) (-> self grab-start-pos) gp-0 (-> self attach-lerp)) - (quaternion-slerp! (-> self root-override2 quat) (-> self grab-start-quat) s5-0 (-> self attach-lerp)) + (vector-lerp! (-> self root trans) (-> self grab-start-pos) gp-0 (-> self attach-lerp)) + (quaternion-slerp! (-> self root quat) (-> self grab-start-quat) s5-0 (-> self attach-lerp)) ) ) (enemy-simple-post) @@ -915,7 +911,7 @@ :code (behavior () (dispose! self) (logclear! (-> self focus-status) (focus-status dangerous)) - (enemy-method-52 self (-> self root-override2 transv)) + (enemy-method-52 self (-> self root transv)) (let ((gp-0 (current-time))) (ja-no-eval :group! jellyfish-die-ja :num! (seek! (the float (+ (-> (the-as art-joint-anim jellyfish-die-ja) frames num-frames) -1))) @@ -944,7 +940,7 @@ (ja :num! (seek!)) ) ) - (let ((v1-52 (-> self root-override2 root-prim))) + (let ((v1-52 (-> self root root-prim))) (set! (-> v1-52 prim-core collide-as) (collide-spec)) (set! (-> v1-52 prim-core collide-with) (collide-spec)) ) @@ -966,7 +962,7 @@ :event (the-as (function process int symbol event-message-block object :behavior jellyfish) enemy-event-handler) :code (behavior () (dispose! self) - (let ((v1-3 (-> self root-override2 root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1032,7 +1028,7 @@ (let ((s5-1 (jellyfish-method-161 obj (new 'stack-no-clear 'vector) (-> obj path-player-u))) (gp-1 (-> obj focus-pos)) ) - (-> obj root-override2 trans) + (-> obj root trans) (the-as symbol (and (and (if arg0 @@ -1079,7 +1075,7 @@ (local-vars (v1-8 object)) (jellyfish-method-161 obj (new 'stack-no-clear 'vector) (-> obj path-stare-u)) (let ((s5-0 (-> obj focus-pos))) - (-> obj root-override2 trans) + (-> obj root trans) (the-as symbol (and (and (if arg0 @@ -1132,7 +1128,7 @@ (vf4 :class vf) ) (init-vf0-vector) - (let* ((s5-0 (-> obj root-override2 trans)) + (let* ((s5-0 (-> obj root trans)) (s3-1 (vector-! (new 'stack-no-clear 'vector) (-> obj focus-pos) s5-0)) (s4-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-1 1.0)) (f0-0 (vector-length s3-1)) @@ -1168,13 +1164,11 @@ (set! (-> s0-0 start-pos quad) (-> s1-0 quad)) (vector-! (-> s0-0 move-dist) s2-0 s1-0) (let ((v1-14 s0-0)) - (set! (-> v1-14 radius) - (-> (the-as collide-shape-prim-group (-> obj root-override2 root-prim)) child 0 local-sphere w) - ) + (set! (-> v1-14 radius) (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 0 local-sphere w)) (set! (-> v1-14 collide-with) (collide-spec backgnd enemy obstacle hit-by-others-list)) (set! (-> v1-14 ignore-process0) obj) (set! (-> v1-14 ignore-process1) #f) - (set! (-> v1-14 ignore-pat) (-> obj root-override2 pat-ignore-mask)) + (set! (-> v1-14 ignore-pat) (-> obj root pat-ignore-mask)) (set! (-> v1-14 action-mask) (collide-action solid)) ) (if (>= (fill-and-probe-using-line-sphere *collide-cache* s0-0) 0.0) @@ -1232,14 +1226,7 @@ - looks at the target and handles attacking @TODO Not extremely well understood yet" (with-pp - (let ((v1-1 - (vector-inv-orient-by-quat! - (new 'stack-no-clear 'vector) - (-> obj main-joint-acc) - (-> obj root-override2 quat) - ) - ) - ) + (let ((v1-1 (vector-inv-orient-by-quat! (new 'stack-no-clear 'vector) (-> obj main-joint-acc) (-> obj root quat)))) (+! (-> obj tentacle-clock) (* (lerp-scale 1.0 10.0 (fmax (fmax (fmax 0.0 (fabs (-> v1-1 x))) (-> v1-1 y)) (fabs (-> v1-1 z))) 0.0 24576.0) (-> pp clock seconds-per-frame) @@ -1269,7 +1256,7 @@ (set! (-> obj path-player-u) (get-furthest-point-on-path (-> obj path) (-> obj focus-pos))) ) ) - (set! (-> obj path-my-u) (get-furthest-point-on-path (-> obj path) (-> obj root-override2 trans))) + (set! (-> obj path-my-u) (get-furthest-point-on-path (-> obj path) (-> obj root trans))) ((method-of-type hover-enemy track-target!) obj) (none) ) @@ -1366,7 +1353,7 @@ (set! (-> s5-0 backup-collide-with) (-> v1-23 prim-core collide-with)) ) (set! (-> s5-0 max-iteration-count) (the-as uint 3)) - (set! (-> obj root-override2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1407,9 +1394,9 @@ (set! (-> v1-8 twist-speed-y) 0.06) (set! (-> v1-8 max-dist) 122880.0) ) - (set! (-> obj root-override2 dynam gravity y) 40960.0) - (set! (-> obj root-override2 dynam gravity-length) 40960.0) - (set! (-> obj root-override2 dynam gravity-max) 40960.0) + (set! (-> obj root dynam gravity y) 40960.0) + (set! (-> obj root dynam gravity-length) 40960.0) + (set! (-> obj root dynam gravity-max) 40960.0) (logclear! (-> obj mask) (process-mask actor-pause)) (logclear! (-> obj enemy-flags) (enemy-flag notice)) (new-source! (-> obj los) obj (seconds 1) (collide-spec backgnd enemy obstacle hit-by-others-list)) diff --git a/test/decompiler/reference/jak2/levels/underport/pipe-grunt_REF.gc b/test/decompiler/reference/jak2/levels/underport/pipe-grunt_REF.gc index a39f5047f7..042ec1bd38 100644 --- a/test/decompiler/reference/jak2/levels/underport/pipe-grunt_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/pipe-grunt_REF.gc @@ -65,9 +65,9 @@ (set! (-> self state-time) (current-time)) (logior! (-> self enemy-flags) (enemy-flag chase-startup)) (logclear! (-> self enemy-flags) (enemy-flag enable-on-notice alert victory)) - (let ((v1-7 (-> self root-override2 root-prim))) - (set! (-> v1-7 prim-core collide-as) (-> self root-override2 backup-collide-as)) - (set! (-> v1-7 prim-core collide-with) (-> self root-override2 backup-collide-with)) + (let ((v1-7 (-> self root root-prim))) + (set! (-> v1-7 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-7 prim-core collide-with) (-> self root backup-collide-with)) ) (logclear! (-> self draw status) (draw-control-status no-draw)) (let ((v1-10 self)) @@ -76,23 +76,23 @@ ) 0 (set-vector! (-> self pipe-front) -1198776.4 -224337.92 8087470.0 1.0) - (vector-! (-> self pipe-dir) (-> self pipe-front) (-> self root-override2 trans)) + (vector-! (-> self pipe-dir) (-> self pipe-front) (-> self root trans)) (vector-normalize! (-> self pipe-dir) 1.0) - (quaternion-look-at! (-> self root-override2 quat) (-> self pipe-dir) *up-vector*) + (quaternion-look-at! (-> self root quat) (-> self pipe-dir) *up-vector*) (set! (-> self charge-anim) (-> *grunt-global-info* charge-anim (get-rand-int self 3))) - (vector-normalize-copy! (-> self root-override2 transv) (-> self pipe-dir) (-> self charge-anim travel-speed)) + (vector-normalize-copy! (-> self root transv) (-> self pipe-dir) (-> self charge-anim travel-speed)) (let ((gp-0 (new 'stack-no-clear 'vector))) (vector-rotate90-around-y! gp-0 (-> self pipe-dir)) (vector-normalize! gp-0 (get-rand-float-range self -4096.0 4096.0)) - (move-by-vector! (-> self root-override2) gp-0) + (move-by-vector! (-> self root) gp-0) ) (none) ) :trans (behavior () (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override2 trans quad)) - (vector-v++! gp-0 (-> self root-override2 transv)) - (move-to-point! (-> self root-override2) gp-0) + (set! (-> gp-0 quad) (-> self root trans quad)) + (vector-v++! gp-0 (-> self root transv)) + (move-to-point! (-> self root) gp-0) (let ((v1-4 (new 'stack-no-clear 'vector))) (vector-! v1-4 (-> self pipe-front) gp-0) (when (< (vector-dot v1-4 (-> self pipe-dir)) 0.0) diff --git a/test/decompiler/reference/jak2/levels/underport/sig5-course_REF.gc b/test/decompiler/reference/jak2/levels/underport/sig5-course_REF.gc index 1ab6a80b60..63de8ab1ac 100644 --- a/test/decompiler/reference/jak2/levels/underport/sig5-course_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/sig5-course_REF.gc @@ -118,10 +118,10 @@ ;; definition for method 86 of type sig-under (defmethod enemy-method-86 sig-under ((obj sig-under)) - (let ((gp-0 (-> obj root-override2))) + (let ((gp-0 (-> obj root))) (when (< (-> gp-0 transv y) 0.0) (let ((a1-0 (new 'stack-no-clear 'collide-query))) - (find-ground (-> obj root-override2) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) + (find-ground (-> obj root) a1-0 (collide-spec backgnd) 8192.0 81920.0 1024.0) ) (>= (-> gp-0 gspot-pos y) (-> gp-0 trans y)) ) @@ -224,10 +224,9 @@ ;; WARN: disable def twice: 39. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defmethod sig-under-method-262 sig-under ((obj sig-under) (arg0 symbol)) (when (or (logtest? (-> obj bot-task-bits) 2) - (and arg0 - (let ((f0-0 81920.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> obj root-override2 trans))) - ) + (and arg0 (let ((f0-0 81920.0)) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> obj root trans))) + ) ) ) (cond @@ -260,7 +259,7 @@ (vf3 :class vf) ) (let ((gp-0 (new 'stack-no-clear 'sphere))) - (set! (-> gp-0 quad) (-> obj root-override2 trans quad)) + (set! (-> gp-0 quad) (-> obj root trans quad)) (set! (-> gp-0 r) 327680.0) (set! *actor-list-length* 0) (if #t @@ -367,9 +366,7 @@ ;; definition for method 261 of type sig-under ;; INFO: Used lq/sq (defmethod sig-under-method-261 sig-under ((obj sig-under) (arg0 vector) (arg1 vector) (arg2 symbol)) - (set! (-> arg0 w) - (- (+ (* (-> arg0 x) (-> obj root-override2 trans x)) (* (-> arg0 z) (-> obj root-override2 trans z)))) - ) + (set! (-> arg0 w) (- (+ (* (-> arg0 x) (-> obj root trans x)) (* (-> arg0 z) (-> obj root trans z))))) (let ((v1-2 (new 'stack-no-clear 'vector))) (set! (-> v1-2 quad) (-> arg1 quad)) (set! (-> v1-2 y) 0.0) @@ -382,7 +379,7 @@ (set! f2-1 (+ 2048.0 f2-1)) ) (if (and (>= f0-6 -2048.0) (>= f1-3 f0-6)) - (>= (* f2-1 f2-1) (vector-vector-xz-distance-squared arg1 (-> obj root-override2 trans))) + (>= (* f2-1 f2-1) (vector-vector-xz-distance-squared arg1 (-> obj root trans))) ) ) ) @@ -393,12 +390,12 @@ :virtual #t :event (the-as (function process int symbol event-message-block object :behavior sig-under) enemy-event-handler) :enter (behavior () - (move-to-point! (-> self root-override2) (the-as vector (-> self sig5-course spots 0))) - (quaternion-identity! (-> self root-override2 quat)) + (move-to-point! (-> self root) (the-as vector (-> self sig5-course spots 0))) + (quaternion-identity! (-> self root quat)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 (the-as vector (-> self sig5-course spots 1)) (-> self root-override2 trans)) + (vector-! gp-0 (the-as vector (-> self sig5-course spots 1)) (-> self root trans)) (vector-normalize! gp-0 1.0) - (set-heading-vec! (-> self root-override2) gp-0) + (set-heading-vec! (-> self root) gp-0) ) (logclear! (-> self enemy-flags) (enemy-flag enable-on-active checking-water)) (let ((v1-11 self)) @@ -410,17 +407,15 @@ (set! (-> self skel top-anim interp) 0.0) (set! (-> self focus-mode) 1) (set! (-> self bot-flags) (logior (bot-flags bf11 bf18) (-> self bot-flags))) - (set! (-> self root-override2 penetrated-by) - (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) - (-> self root-override2 penetrated-by) - ) + (set! (-> self root penetrated-by) + (logior (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) (-> self root penetrated-by)) ) (look-at-target! self (enemy-flag lock-focus)) (none) ) :exit (behavior () (logclear! (-> self bot-flags) (bot-flags bf18)) - (set! (-> self root-override2 penetrated-by) (get-penetrate-info self)) + (set! (-> self root penetrated-by) (get-penetrate-info self)) (none) ) :trans (behavior () @@ -462,12 +457,7 @@ ) (ja-no-eval :group! gp-1 :num! (seek! f30-3) :frame-num 0.0) (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self root-override2) - (-> self focus-info bullseye-xz-dir) - 32768.0 - (seconds 0.05) - ) + (seek-toward-heading-vec! (-> self root) (-> self focus-info bullseye-xz-dir) 32768.0 (seconds 0.05)) (suspend) (ja :num! (seek! f30-3)) ) @@ -577,11 +567,11 @@ :waypoints (new 'static 'boxed-array :type bot-waypoint (new 'static 'bot-waypoint :waypoint-id 1 - :skip-to #x16 + :skip-to 22 :on-set (lambda ((arg0 sig-under)) (let ((a0-1 80)) (set! (-> arg0 hit-points) a0-1) - (set! (-> arg0 enemy-info-override default-hit-points) a0-1) + (set! (-> arg0 enemy-info default-hit-points) a0-1) ) (clear-speech-flags! arg0) (logclear! (-> arg0 focus-status) (focus-status disable)) @@ -674,7 +664,7 @@ (set! (-> arg0 notice-enemy-dist) 122880.0) (clear-poi-and-focus! arg0) (set! (-> arg0 focus-mode) 0) - (set! (-> arg0 root-override2 penetrated-by) (get-penetrate-info arg0)) + (set! (-> arg0 root penetrated-by) (get-penetrate-info arg0)) (let ((v1-12 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) (set! (-> v1-12 bytes 5) 1) (set! (-> v1-12 bytes 6) 3) @@ -994,8 +984,8 @@ :on-set (lambda ((arg0 sig-under)) (logior! (-> arg0 enemy-flags) (enemy-flag enable-on-active checking-water)) (reset-warn-time! arg0) - (move-to-point! (-> arg0 root-override2) (the-as vector (-> arg0 sig5-course spots 10))) - (set-vector! (-> arg0 root-override2 quat) 0.0 0.5874 0.0 0.8092) + (move-to-point! (-> arg0 root) (the-as vector (-> arg0 sig5-course spots 10))) + (set-vector! (-> arg0 root quat) 0.0 0.5874 0.0 0.8092) (play-speech arg0 8) (play-speech arg0 9) (let ((v1-15 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1129,7 +1119,7 @@ :skip-to -1 :on-set (lambda ((arg0 sig-under)) (let ((v1-2 (-> arg0 sig5-course spots 14))) - (set! (-> v1-2 center quad) (-> arg0 root-override2 trans quad)) + (set! (-> v1-2 center quad) (-> arg0 root trans quad)) (set! (-> v1-2 center w) 8192.0) ) (let ((v1-5 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1190,7 +1180,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 18 - :nav-mesh-index #x6 + :nav-mesh-index 6 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (let ((v1-1 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1402,7 +1392,7 @@ (logior! (-> arg1 waypoint-bits) 1) (process-release? arg1) (sig-under-method-260 arg1) - (move-to-point! (-> arg1 root-override2) (the-as vector (-> arg1 sig5-course spots 20))) + (move-to-point! (-> arg1 root) (the-as vector (-> arg1 sig5-course spots 20))) #f ) ((not (logtest? (-> arg1 waypoint-bits) 2)) @@ -1548,7 +1538,7 @@ (set! (-> arg0 notice-enemy-dist) 122880.0) (clear-poi-and-focus! arg0) (set! (-> arg0 focus-mode) 0) - (set! (-> arg0 root-override2 penetrated-by) (get-penetrate-info arg0)) + (set! (-> arg0 root penetrated-by) (get-penetrate-info arg0)) (logior! (-> arg0 waypoint-bits) 1) (send-event arg0 'move-trans (-> arg0 sig5-course spots 21)) (send-event *target* 'continue (get-continue-by-name *game-info* "sig5-skip-to-cent2")) @@ -1591,7 +1581,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 24 - :nav-mesh-index #x7 + :nav-mesh-index 7 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (set! (-> arg0 next-chase-play-time) (+ (current-time) (get-rand-int-range arg0 600 1200))) @@ -1614,7 +1604,7 @@ (when (and (>= (- (current-time) (-> arg1 waypoint-time0)) (seconds 4)) (sig-method-257 arg1) (let ((f0-0 61440.0)) - (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root-override2 trans))) + (>= (* f0-0 f0-0) (vector-vector-xz-distance-squared (target-pos 0) (-> arg1 root trans))) ) ) (set! (-> arg1 enemy-flags) (the-as enemy-flag (logclear (-> arg1 enemy-flags) (enemy-flag vulnerable)))) @@ -1654,7 +1644,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 25 - :nav-mesh-index #x8 + :nav-mesh-index 8 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (clear-poi-and-focus! arg0) @@ -1714,11 +1704,8 @@ (when (>= 10012.445 (fabs (deg- - (atan - (- (-> v1-78 center x) (-> arg1 root-override2 trans x)) - (- (-> v1-78 center z) (-> arg1 root-override2 trans z)) - ) - (quaternion-y-angle (-> arg1 root-override2 quat)) + (atan (- (-> v1-78 center x) (-> arg1 root trans x)) (- (-> v1-78 center z) (-> arg1 root trans z))) + (quaternion-y-angle (-> arg1 root quat)) ) ) ) @@ -1762,7 +1749,7 @@ ) (new 'static 'bot-waypoint :waypoint-id 26 - :nav-mesh-index #x9 + :nav-mesh-index 9 :skip-to -1 :on-set (lambda ((arg0 sig-under)) (add-process *gui-control* arg0 (gui-channel art-load) (gui-action queue) "under-get-sig-out-res" -99.0 0) @@ -1819,7 +1806,7 @@ (stop-speech arg0 (the-as uint 0) #f) (logclear! (-> arg0 enemy-flags) (enemy-flag enable-on-active checking-water)) (let ((v1-8 (-> arg0 sig5-course spots 35))) - (set! (-> v1-8 center quad) (-> arg0 root-override2 trans quad)) + (set! (-> v1-8 center quad) (-> arg0 root trans quad)) (set! (-> v1-8 center w) 16384.0) ) (let ((v1-11 (get-task-by-type (-> arg0 ai-ctrl) sigt-wait-spot arg0))) @@ -1904,7 +1891,7 @@ (new 'static 'bot-speech-info :hold-time #x5a :slave-id -1 :name "sigt078") ) :speech-tunings (new 'static 'inline-array bot-speech-tuning 1 - (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve #xb :trans? #t) + (new 'static 'bot-speech-tuning :fo-min 30 :fo-max #x78 :fo-curve 11 :trans? #t) ) :spots (new 'static 'inline-array bot-spot 36 (new 'static 'bot-spot :center (new 'static 'vector :x -308019.2 :y -266199.03 :z 7887175.5 :w 8192.0)) diff --git a/test/decompiler/reference/jak2/levels/underport/under-laser_REF.gc b/test/decompiler/reference/jak2/levels/underport/under-laser_REF.gc index 75752ea73f..7046914c26 100644 --- a/test/decompiler/reference/jak2/levels/underport/under-laser_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/under-laser_REF.gc @@ -83,7 +83,7 @@ ;; definition of type under-laser-shadow (deftype under-laser-shadow (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info under-laser-info :offset-assert 200) (trans-xz-offset vector :inline :offset-assert 208) ) @@ -113,7 +113,7 @@ ;; definition of type under-laser-slave (deftype under-laser-slave (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 21 @@ -139,7 +139,7 @@ ;; definition of type under-laser (deftype under-laser (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (info under-laser-info :offset-assert 200) (id int8 :offset-assert 204) (lightning lightning-control :offset-assert 208) @@ -203,7 +203,7 @@ :virtual #t :trans (behavior () (let ((a1-0 (ppointer->process (-> self parent))) - (v1-2 (-> self root-override)) + (v1-2 (-> self root)) ) (let ((f0-0 (-> v1-2 trans y))) (set! (-> v1-2 trans quad) (-> (the-as process-drawable a1-0) root trans quad)) @@ -225,8 +225,8 @@ ) ) ) - (let ((f0-3 (vector-vector-distance (math-camera-pos) (-> self root-override trans)))) - (set! (-> self root-override scale x) (lerp-scale 0.5 3.5 f0-3 32768.0 245760.0)) + (let ((f0-3 (vector-vector-distance (math-camera-pos) (-> self root trans)))) + (set! (-> self root scale x) (lerp-scale 0.5 3.5 f0-3 32768.0 245760.0)) ) (none) ) @@ -240,12 +240,12 @@ (defbehavior under-laser-shadow-init-by-other under-laser-shadow ((arg0 under-laser-info) (arg1 vector) (arg2 vector)) (set! (-> self info) arg0) (set! (-> self trans-xz-offset quad) (-> arg1 quad)) - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((s3-0 (-> self root-override))) + (let ((s3-0 (-> self root))) (let ((v1-4 (ppointer->process (-> self parent)))) (set! (-> s3-0 scale quad) (-> arg2 quad)) - (set! (-> s3-0 trans quad) (-> (the-as under-laser v1-4) root-override trans quad)) + (set! (-> s3-0 trans quad) (-> (the-as under-laser v1-4) root trans quad)) ) (vector+! (-> s3-0 trans) (-> s3-0 trans) arg1) (set! (-> s3-0 trans y) (+ 819.2 (-> arg0 shadow-top-y))) @@ -274,9 +274,9 @@ :virtual #t :trans (behavior () (let ((v1-0 (ppointer->process (-> self parent))) - (a0-1 (-> self root-override)) + (a0-1 (-> self root)) ) - (set! (-> a0-1 trans quad) (-> (the-as under-laser v1-0) root-override trans quad)) + (set! (-> a0-1 trans quad) (-> (the-as under-laser v1-0) root trans quad)) (vector+! (-> a0-1 trans) (-> a0-1 trans) (-> (the-as under-laser v1-0) slave-trans-offset)) ) (none) @@ -289,16 +289,16 @@ ;; INFO: Used lq/sq ;; WARN: Return type mismatch object vs none. (defbehavior under-laser-slave-init-by-other under-laser-slave () - (set! (-> self root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> self root) (the-as collide-shape-moving (new 'process 'trsqv))) (logclear! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (-> self root-override)) + (let ((gp-0 (-> self root)) (s5-0 (ppointer->process (-> self parent))) ) - (set! (-> gp-0 trans quad) (-> (the-as under-laser s5-0) root-override trans quad)) + (set! (-> gp-0 trans quad) (-> (the-as under-laser s5-0) root trans quad)) (vector+! (-> gp-0 trans) (-> gp-0 trans) (-> (the-as under-laser s5-0) slave-trans-offset)) - (quaternion-copy! (-> gp-0 quat) (-> (the-as under-laser s5-0) root-override quat)) + (quaternion-copy! (-> gp-0 quat) (-> (the-as under-laser s5-0) root quat)) (quaternion-rotate-y! (-> gp-0 quat) (-> gp-0 quat) 32768.0) - (set! (-> gp-0 scale quad) (-> (the-as under-laser s5-0) root-override scale quad)) + (set! (-> gp-0 scale quad) (-> (the-as under-laser s5-0) root scale quad)) ) (initialize-skeleton self @@ -315,7 +315,7 @@ (defmethod under-laser-method-22 under-laser ((obj under-laser)) (with-pp (let ((s5-0 (new 'stack-no-clear 'collide-query))) - (set! (-> s5-0 start-pos quad) (-> obj root-override trans quad)) + (set! (-> s5-0 start-pos quad) (-> obj root trans quad)) (set! (-> s5-0 move-dist quad) (-> obj slave-trans-offset quad)) (let ((v1-2 s5-0)) (set! (-> v1-2 radius) 409.6) @@ -419,7 +419,7 @@ :code (the-as (function none :behavior under-laser) sleep-code) :post (behavior () (let ((f30-0 (get-norm! (-> self sync) 0))) - (vector-lerp! (-> self root-override trans) (-> self zero-pos) (-> self one-pos) f30-0) + (vector-lerp! (-> self root trans) (-> self zero-pos) (-> self one-pos) f30-0) (if (!= (-> self sync offset) 0.0) (set! f30-0 (- 1.0 f30-0)) ) @@ -447,7 +447,7 @@ ) (let ((a1-10 (new 'stack-no-clear 'vector))) (vector-float*! a1-10 (-> self slave-trans-offset) 0.5) - (vector+! a1-10 a1-10 (-> self root-override trans)) + (vector+! a1-10 a1-10 (-> self root trans)) (update-trans! (-> self sound) a1-10) ) (update! (-> self sound)) @@ -477,7 +477,7 @@ This commonly includes things such as: - loading the skeleton group / bones - sounds" (local-vars (sv-64 res-tag)) - (set! (-> obj root-override) (the-as collide-shape-moving (new 'process 'trsqv))) + (set! (-> obj root) (the-as collide-shape-moving (new 'process 'trsqv))) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton @@ -507,7 +507,7 @@ This commonly includes things such as: (initialize! (-> obj sync) a1-6) ) (set! (-> obj clock) (-> *display* user0-clock)) - (let ((s5-1 (-> obj root-override))) + (let ((s5-1 (-> obj root))) (set-vector! (-> s5-1 scale) 1.25 1.25 1.25 1.0) (set! sv-64 (new 'static 'res-tag)) (let ((v1-22 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-64)))) @@ -580,7 +580,7 @@ This commonly includes things such as: ) (let ((a3-5 (new 'stack-no-clear 'vector))) (vector-float*! a3-5 (-> obj slave-trans-offset) 0.5) - (vector+! a3-5 a3-5 (-> obj root-override trans)) + (vector+! a3-5 a3-5 (-> obj root trans)) (if (zero? (-> obj id)) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "und-laser-near" :fo-max 40) a3-5)) (set! (-> obj sound) (new 'process 'ambient-sound (static-sound-spec "und-laser-beam" :fo-max 40) a3-5)) diff --git a/test/decompiler/reference/jak2/levels/underport/under-obs_REF.gc b/test/decompiler/reference/jak2/levels/underport/under-obs_REF.gc index 25a9bc58d9..77f6bdfb96 100644 --- a/test/decompiler/reference/jak2/levels/underport/under-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/under-obs_REF.gc @@ -1033,7 +1033,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-16 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) - (set! (-> obj root-override-2) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -1108,11 +1108,11 @@ This commonly includes things such as: (the-as pair 0) ) (alloc-and-init-rigid-body-control obj *under-buoy-plat-platform-constants*) - (set! (-> obj orig-trans quad) (-> obj root-override-2 trans quad)) - (set! (-> obj anchor-point quad) (-> obj root-override-2 trans quad)) - (set! (-> obj surface-height) (-> obj root-override-2 trans y)) - (set! (-> obj info-override info cm-offset-joint y) 6144.0) - (let ((s5-1 (-> obj info-override control-point-count))) + (set! (-> obj orig-trans quad) (-> obj root trans quad)) + (set! (-> obj anchor-point quad) (-> obj root trans quad)) + (set! (-> obj surface-height) (-> obj root trans y)) + (set! (-> obj info info cm-offset-joint y) 6144.0) + (let ((s5-1 (-> obj info control-point-count))) (dotimes (s4-1 s5-1) (let ((s3-0 (-> obj control-point-array data s4-1))) (let ((f30-0 (* 65536.0 (/ (the float s4-1) (the float s5-1))))) @@ -1355,7 +1355,7 @@ This commonly includes things such as: ;; definition of type under-mine (deftype under-mine (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (chain under-mine-chain-physics :offset-assert 200) (chain-initialized symbol :offset-assert 204) (main-mod joint-mod :offset-assert 208) @@ -1435,7 +1435,7 @@ This commonly includes things such as: :virtual #t :enter (behavior () (set! (-> self state-time) (current-time)) - (let ((v1-3 (-> self root-override root-prim))) + (let ((v1-3 (-> self root root-prim))) (set! (-> v1-3 prim-core collide-as) (collide-spec)) (set! (-> v1-3 prim-core collide-with) (collide-spec)) ) @@ -1453,7 +1453,7 @@ This commonly includes things such as: ) (set! (-> gp-0 spawn-point quad) (-> v1-9 quad)) ) - (quaternion-copy! (-> gp-0 spawn-quat) (-> self root-override quat)) + (quaternion-copy! (-> gp-0 spawn-quat) (-> self root quat)) (set! (-> gp-0 radius) 16384.0) (set! (-> gp-0 group) (-> *part-group-id-table* 501)) (set! (-> gp-0 collide-with) @@ -1526,9 +1526,9 @@ This commonly includes things such as: ) ) (set! (-> gp-0 y) (+ -28672.0 (-> gp-0 y))) - (vector-seek-3d-smooth! (-> self root-override trans) s5-0 (* 204.8 (-> self clock time-adjust-ratio)) 0.25) + (vector-seek-3d-smooth! (-> self root trans) s5-0 (* 204.8 (-> self clock time-adjust-ratio)) 0.25) ) - (let ((v1-21 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) gp-0))) + (let ((v1-21 (vector-! (new 'stack-no-clear 'vector) (-> self root trans) gp-0))) (.lvf vf1 (&-> v1-21 quad)) (.add.w.vf vf2 vf0 vf0 :mask #b1) (.mul.vf vf1 vf1 vf1) @@ -1543,9 +1543,9 @@ This commonly includes things such as: (vector-float*! v1-21 v1-21 (/ 28672.0 (sqrtf f0-9))) ) ) - (vector+! (-> self root-override trans) gp-0 v1-21) + (vector+! (-> self root trans) gp-0 v1-21) ) - (set! (-> self root-override trans y) (fmax (-> self root-override trans y) (+ 409.6 (-> gp-0 y)))) + (set! (-> self root trans y) (fmax (-> self root trans y) (+ 409.6 (-> gp-0 y)))) ) (when (-> self chain-initialized) (let ((s5-1 (new-stack-vector0)) @@ -1579,7 +1579,7 @@ This commonly includes things such as: :post (behavior () (transform-post) (if *nav-network* - (nav-network-method-25 *nav-network* self (-> self root-override root-prim prim-core)) + (nav-network-method-25 *nav-network* self (-> self root root-prim prim-core)) ) (when (not (-> self chain-initialized)) (set! (-> self chain-initialized) #t) @@ -1630,7 +1630,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-5 prim-core collide-with)) ) (set! (-> s4-0 event-self) 'touched) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1709,11 +1709,11 @@ This commonly includes things such as: @see [[path-control]] and [[elevator]]" (let ((s4-0 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg1 'interp)) (a0-3 (get-point-in-path! (-> obj path) (new 'stack-no-clear 'vector) arg2 'interp)) - (v1-3 (-> obj root-override trans)) + (v1-3 (-> obj root trans)) ) (when (and (< (-> a0-3 y) (-> s4-0 y)) (< (-> arg0 y) (+ -8192.0 (-> v1-3 y)))) (let ((s4-2 (vector-! (new 'stack-no-clear 'vector) arg0 v1-3))) - (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! s4-2 s4-2 (-> obj root quat)) (and (< (fabs (-> s4-2 x)) 24576.0) (< 0.0 (-> s4-2 z)) (< (-> s4-2 z) 49152.0)) ) ) @@ -1731,9 +1731,9 @@ This commonly includes things such as: ) (when a0-2 (let* ((v1-1 (get-trans a0-2 0)) - (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root-override trans))) + (gp-2 (vector-! (new 'stack-no-clear 'vector) v1-1 (-> obj root trans))) ) - (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root-override quat)) + (vector-inv-orient-by-quat! gp-2 gp-2 (-> obj root quat)) (and (< (fabs (-> gp-2 x)) 20480.0) (< 0.0 (-> gp-2 z)) (< (-> gp-2 z) 40960.0)) ) ) @@ -1743,7 +1743,7 @@ This commonly includes things such as: ;; definition for method 49 of type under-lift ;; WARN: Return type mismatch int vs none. (defmethod under-lift-method-49 under-lift ((obj under-lift) (arg0 symbol)) - (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) child 1))) + (let ((v1-3 (-> (the-as collide-shape-prim-group (-> obj root root-prim)) child 1))) (cond (arg0 (set! (-> v1-3 prim-core collide-as) (collide-spec obstacle pusher)) @@ -1782,7 +1782,7 @@ This commonly includes things such as: ((the-as (function none) t9-0)) ) ) - (sound-play "under-lift-lp" :id (-> self sound-id) :position (-> self root-override trans)) + (sound-play "under-lift-lp" :id (-> self sound-id) :position (-> self root trans)) (none) ) ) @@ -1862,7 +1862,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> s5-0 backup-collide-as) (-> v1-20 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-20 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) (under-lift-method-49 obj #f) (none) @@ -1996,7 +1996,7 @@ This commonly includes things such as: (set! (-> s2-0 backup-collide-as) (-> v1-11 prim-core collide-as)) (set! (-> s2-0 backup-collide-with) (-> v1-11 prim-core collide-with)) ) - (set! (-> obj root-override) s2-0) + (set! (-> obj root) s2-0) ) (cond ((string= (-> obj art-name) "under-break-door-1") diff --git a/test/decompiler/reference/jak2/levels/underport/under-shoot-block_REF.gc b/test/decompiler/reference/jak2/levels/underport/under-shoot-block_REF.gc index c32472769c..38e73e8110 100644 --- a/test/decompiler/reference/jak2/levels/underport/under-shoot-block_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/under-shoot-block_REF.gc @@ -106,7 +106,7 @@ (new 'static 'under-block-puzzle :auto-unlock? #t :cells-wide 5 - :cells-tall #x8 + :cells-tall 8 :orient-ry 11286.756 :spawners (new 'static 'boxed-array :type under-block-spawner (new 'static 'under-block-spawner :col 1 :row 2) @@ -118,7 +118,7 @@ ) :cells (new 'static 'array int32 12 0 0 0 0 0 0 0 0 0 0 0 0) :pulse-ops (new 'static 'array int8 144 - #x2c + 44 1 0 0 @@ -126,7 +126,7 @@ 0 0 0 - #x58 + 88 2 0 0 @@ -159,7 +159,7 @@ 0 0 -22 - #x6 + 6 0 0 1 @@ -167,7 +167,7 @@ 0 0 -38 - #x7 + 7 0 0 1 @@ -175,15 +175,15 @@ 0 0 -84 - #x8 + 8 0 0 1 0 0 0 - #x60 - #x9 + 96 + 9 0 0 1 @@ -191,7 +191,7 @@ 0 0 -10 - #x9 + 9 0 0 1 @@ -199,7 +199,7 @@ 0 0 #x6e - #xa + 10 0 0 1 @@ -207,7 +207,7 @@ 0 0 -56 - #xa + 10 0 0 1 @@ -215,31 +215,31 @@ 0 0 4 - #xb + 11 0 0 1 0 0 0 - #x22 - #xb + 34 + 11 0 0 1 0 0 0 - #x40 - #xb + 64 + 11 0 0 1 0 0 0 - #x5e - #xb + 94 + 11 0 0 1 @@ -247,7 +247,7 @@ 0 0 #x7c - #xb + 11 0 0 2 @@ -267,8 +267,8 @@ ) (new 'static 'under-block-puzzle :auto-unlock? #t - :cells-wide #x6 - :cells-tall #x8 + :cells-wide 6 + :cells-tall 8 :orient-ry 11286.756 :spawners (new 'static 'boxed-array :type under-block-spawner (new 'static 'under-block-spawner :col 1 :row 2)) :slots (new 'static 'boxed-array :type under-block-slot (new 'static 'under-block-slot :col 3 :row 5)) @@ -287,7 +287,7 @@ -16843010 ) :pulse-ops (new 'static 'array int8 112 - #x2c + 44 1 0 0 @@ -295,7 +295,7 @@ 0 0 0 - #x3a + 58 2 0 0 @@ -303,7 +303,7 @@ 0 0 0 - #x2a + 42 3 0 0 @@ -327,7 +327,7 @@ 0 0 0 - #x46 + 70 5 0 0 @@ -343,16 +343,16 @@ 0 0 0 - #x18 - #x6 + 24 + 6 0 0 1 0 0 0 - #x54 - #x6 + 84 + 6 0 0 1 @@ -360,7 +360,7 @@ 0 0 #x72 - #x6 + 6 0 0 1 @@ -368,7 +368,7 @@ 0 0 -112 - #x6 + 6 0 0 1 @@ -376,7 +376,7 @@ 0 0 -82 - #x6 + 6 0 0 1 @@ -384,7 +384,7 @@ 0 0 -52 - #x6 + 6 0 0 2 @@ -404,8 +404,8 @@ ) (new 'static 'under-block-puzzle :auto-unlock? #f - :cells-wide #x7 - :cells-tall #x6 + :cells-wide 7 + :cells-tall 6 :orient-ry 11286.756 :spawners (new 'static 'boxed-array :type under-block-spawner (new 'static 'under-block-spawner :row 4) @@ -417,7 +417,7 @@ ) :cells (new 'static 'array int32 12 #xff00 0 -16777216 0 0 0 0 0 #xff #xff 0 0) :pulse-ops (new 'static 'array int8 208 - #x2c + 44 1 0 0 @@ -425,7 +425,7 @@ 0 0 0 - #x58 + 88 2 0 0 @@ -457,24 +457,24 @@ 0 0 0 - #x8 - #x7 + 8 + 7 0 0 1 0 0 0 - #x34 - #x8 + 52 + 8 0 0 1 0 0 0 - #x60 - #x9 + 96 + 9 0 0 1 @@ -482,7 +482,7 @@ 0 0 -116 - #xa + 10 0 0 1 @@ -490,7 +490,7 @@ 0 0 -72 - #xb + 11 0 0 1 @@ -498,47 +498,47 @@ 0 0 -28 - #xc + 12 0 0 1 0 0 0 - #x10 - #xe + 16 + 14 0 0 1 0 0 0 - #x3c - #xf + 60 + 15 0 0 1 0 0 0 - #x4a - #x10 + 74 + 16 0 0 1 0 0 0 - #x3a - #x11 + 58 + 17 0 0 1 0 0 0 - #xc - #x12 + 12 + 18 0 0 1 @@ -546,15 +546,15 @@ 0 0 -64 - #x12 + 18 0 0 1 0 0 0 - #x56 - #x13 + 86 + 19 0 0 1 @@ -562,23 +562,23 @@ 0 0 -50 - #x13 + 19 0 0 1 0 0 0 - #x28 - #x14 + 40 + 20 0 0 1 0 0 0 - #x64 - #x14 + 100 + 20 0 0 1 @@ -586,7 +586,7 @@ 0 0 -126 - #x14 + 20 0 0 1 @@ -594,7 +594,7 @@ 0 0 -96 - #x14 + 20 0 0 1 @@ -602,7 +602,7 @@ 0 0 -66 - #x14 + 20 0 0 1 @@ -610,7 +610,7 @@ 0 0 -36 - #x14 + 20 0 0 2 @@ -812,7 +812,7 @@ (when (and (!= (-> gp-0 id) (-> self prev-attack-id)) (!= (-> gp-0 id) (-> self puzzle prev-special-attack-id))) (let ((s5-0 (get-penetrate-using-from-attack-event (the-as process-drawable arg0) arg3))) (when (not (logtest? (penetrate jak-yellow-shot jak-red-shot jak-blue-shot jak-dark-shot) s5-0)) - (if (< (+ 7372.8 (-> self root-override trans y)) (-> (target-pos 0) y)) + (if (< (+ 7372.8 (-> self root trans y)) (-> (target-pos 0) y)) (return #f) ) ) @@ -826,7 +826,7 @@ (s5-1 0) (gp-1 0) ) - (vector-! s4-0 (-> self root-override trans) (target-pos 0)) + (vector-! s4-0 (-> self root trans) (target-pos 0)) (vector-rotate-around-y! s4-0 s4-0 (- (-> self puzzle orient-ry))) (cond ((< (fabs (-> s4-0 z)) (fabs (-> s4-0 x))) @@ -1042,7 +1042,7 @@ ;; definition for method 41 of type under-block ;; WARN: Return type mismatch int vs none. (defmethod under-block-method-41 under-block ((obj under-block) (arg0 symbol)) - (let ((v1-1 (-> obj root-override root-prim))) + (let ((v1-1 (-> obj root root-prim))) (case arg0 (('active) (set! (-> (the-as collide-shape-prim-group v1-1) child 0 prim-core collide-as) (collide-spec obstacle pusher)) @@ -1338,12 +1338,12 @@ :to obj ) ) - (if (>= 204800.0 (vector-vector-distance (target-pos 0) (-> obj root-override trans))) + (if (>= 204800.0 (vector-vector-distance (target-pos 0) (-> obj root trans))) (activate! *camera-smush-control* 409.6 37 210 1.0 0.995 (-> pp clock)) ) (let ((s5-2 (new 'stack-no-clear 'explosion-init-params))) - (set! (-> s5-2 spawn-point quad) (-> obj root-override trans quad)) - (quaternion-copy! (-> s5-2 spawn-quat) (-> obj root-override quat)) + (set! (-> s5-2 spawn-point quad) (-> obj root trans quad)) + (quaternion-copy! (-> s5-2 spawn-quat) (-> obj root quat)) (set! (-> s5-2 radius) 16384.0) (set! (-> s5-2 group) (-> *part-group-id-table* 497)) (set! (-> s5-2 collide-with) (collide-spec jak bot player-list)) @@ -1379,12 +1379,12 @@ (set! (-> self state-time) (current-time)) (sound-play "und-block-rise") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 0 quad) (-> self root trans quad)) (set! (-> gp-1 vector 1 quad) (-> gp-1 vector 0 quad)) (set! (-> gp-1 vector 1 y) (+ 16384.0 (-> gp-1 vector 1 y))) - (until (>= 409.6 (fabs (- (-> gp-1 vector 1 y) (-> self root-override trans y)))) + (until (>= 409.6 (fabs (- (-> gp-1 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-1 vector 1) (* 30720.0 (-> self clock seconds-per-frame)) 0.25 @@ -1392,7 +1392,7 @@ (rider-post) (suspend) ) - (set! (-> self root-override trans quad) (-> gp-1 vector 1 quad)) + (set! (-> self root trans quad) (-> gp-1 vector 1 quad)) ) (rider-post) (go-virtual idle) @@ -1409,12 +1409,12 @@ (set! (-> self flags) (logand -2 (-> self flags))) (set! (-> self state-time) (current-time)) (let ((gp-0 (new 'stack-no-clear 'matrix))) - (set! (-> gp-0 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 vector 0 quad) (-> self root trans quad)) (set! (-> gp-0 vector 1 quad) (-> gp-0 vector 0 quad)) (set! (-> gp-0 vector 1 y) (+ 16384.0 (-> gp-0 vector 1 y))) - (until (>= 409.6 (fabs (- (-> gp-0 vector 1 y) (-> self root-override trans y)))) + (until (>= 409.6 (fabs (- (-> gp-0 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-0 vector 1) (* 30720.0 (-> self clock seconds-per-frame)) 0.25 @@ -1422,7 +1422,7 @@ (rider-post) (suspend) ) - (set! (-> self root-override trans quad) (-> gp-0 vector 1 quad)) + (set! (-> self root trans quad) (-> gp-0 vector 1 quad)) ) (rider-post) (go-virtual waiting) @@ -1492,7 +1492,7 @@ (init-vf0-vector) (sound-play "und-block-roll") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 1 quad) (-> self root trans quad)) (set-vector! (-> gp-1 vector 0) (+ 8192.0 (* 16384.0 (the float (-> self col)))) @@ -1505,7 +1505,7 @@ (the-as vector (-> gp-1 vector)) (-> self puzzle local-to-world) ) - (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root-override quat)) + (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root quat)) (vector-! (-> self rot-axis) (the-as vector (-> gp-1 vector)) (-> gp-1 vector 1)) (set! (-> self rot-axis y) 0.0) (vector-normalize! (-> self rot-axis) 1.0) @@ -1519,7 +1519,7 @@ (set! (-> self state-time) (current-time)) (until #f (let ((f30-0 (fmin 1.0 (* 0.022222223 (the float (- (current-time) (-> self state-time))))))) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set! (-> s5-1 transv quad) (-> s5-1 trans quad)) (vector-lerp! (-> s5-1 trans) (-> gp-1 vector 1) (the-as vector (-> gp-1 vector)) f30-0) (set! (-> s5-1 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-0))) (-> s5-1 trans y))) @@ -1579,7 +1579,7 @@ (let ((a1-1 (+ (-> self col) (-> self move-dir-x))) (a0-4 (+ (-> self row) (-> self move-dir-z))) ) - (set! (-> gp-1 vector 1 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 1 quad) (-> self root trans quad)) (set-vector! (-> gp-1 vector 0) (+ 8192.0 (* 16384.0 (the float a1-1))) @@ -1593,7 +1593,7 @@ (the-as vector (-> gp-1 vector)) (-> self puzzle local-to-world) ) - (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root-override quat)) + (quaternion-copy! (the-as quaternion (-> gp-1 trans)) (-> self root quat)) (vector-! (-> self rot-axis) (the-as vector (-> gp-1 vector)) (-> gp-1 vector 1)) (set! (-> self rot-axis y) 0.0) (vector-normalize! (-> self rot-axis) 1.0) @@ -1607,7 +1607,7 @@ (set! (-> self state-time) (current-time)) (until #f (let ((f30-0 (fmin 1.0 (* 0.0074074073 (the float (- (current-time) (-> self state-time))))))) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set! (-> s5-1 transv quad) (-> s5-1 trans quad)) (vector-lerp! (-> s5-1 trans) (-> gp-1 vector 1) (the-as vector (-> gp-1 vector)) f30-0) (set! (-> s5-1 trans y) (+ -8192.0 (* 11585.237 (sin (lerp 8192.0 24576.0 f30-0))) (-> s5-1 trans y))) @@ -1630,7 +1630,7 @@ (set! (-> self state-time) (current-time)) (until #f (let* ((f1-9 (fmin 1.0 (* 0.0074074073 (the float (- (current-time) (-> self state-time)))))) - (s5-2 (-> self root-override)) + (s5-2 (-> self root)) (f30-1 (fmax 0.0 (- 0.15 f1-9))) ) (set! (-> s5-2 transv quad) (-> s5-2 trans quad)) @@ -1671,12 +1671,12 @@ (set! (-> self state-time) (current-time)) (sound-play "und-block-lock") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 0 quad) (-> self root trans quad)) (set! (-> gp-1 vector 1 quad) (-> gp-1 vector 0 quad)) (set! (-> gp-1 vector 1 y) (+ -1228.8 (-> gp-1 vector 1 y))) - (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root-override trans y)))) + (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-1 vector 1) (* 8192.0 (-> self clock seconds-per-frame)) 0.25 @@ -1713,13 +1713,13 @@ (set! (-> self state-time) (current-time)) (sound-play "und-block-sink") (let ((gp-1 (new 'stack-no-clear 'matrix))) - (set! (-> gp-1 vector 0 quad) (-> self root-override trans quad)) + (set! (-> gp-1 vector 0 quad) (-> self root trans quad)) (set! (-> gp-1 vector 1 quad) (-> gp-1 vector 0 quad)) (set! (-> gp-1 vector 1 y) (-> self puzzle origin y)) (set! (-> gp-1 vector 1 y) (+ -8192.0 (-> gp-1 vector 1 y))) - (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root-override trans y)))) + (until (>= 40.96 (fabs (- (-> gp-1 vector 1 y) (-> self root trans y)))) (vector-seek-3d-smooth! - (-> self root-override trans) + (-> self root trans) (-> gp-1 vector 1) (* 12288.0 (-> self clock seconds-per-frame)) 0.25 @@ -1765,11 +1765,11 @@ (s5-0 (new 'stack-no-clear 'quaternion)) (f30-0 0.0) ) - (quaternion-copy! gp-0 (-> self root-override quat)) + (quaternion-copy! gp-0 (-> self root quat)) (while (< (- (current-time) (-> self state-time)) (seconds 1.25)) (+! f30-0 (* 65536.0 (-> self clock seconds-per-frame))) (quaternion-vector-angle! s5-0 (-> self rot-axis) (- f30-0)) - (quaternion*! (-> self root-override quat) s5-0 gp-0) + (quaternion*! (-> self root quat) s5-0 gp-0) (suspend) ) ) @@ -1777,7 +1777,7 @@ (none) ) :post (behavior () - (let ((gp-0 (-> self root-override))) + (let ((gp-0 (-> self root))) (set! (-> gp-0 transv y) (- (-> gp-0 transv y) (* 348160.0 (-> self clock seconds-per-frame)))) (let ((a2-0 (new 'stack-no-clear 'collide-query))) (set! (-> a2-0 collide-with) (-> gp-0 root-prim prim-core collide-with)) @@ -1824,7 +1824,7 @@ (sound-play "und-block-explo") (under-block-method-50 self) (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-7 (-> self root-override root-prim))) + (let ((v1-7 (-> self root root-prim))) (set! (-> v1-7 prim-core collide-as) (collide-spec)) (set! (-> v1-7 prim-core collide-with) (collide-spec)) ) @@ -1912,7 +1912,7 @@ (set! (-> s4-0 backup-collide-as) (-> v1-26 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-26 prim-core collide-with)) ) - (set! (-> self root-override) s4-0) + (set! (-> self root) s4-0) ) (cond ((= arg2 'beaten) @@ -1928,7 +1928,7 @@ ) ) ) - (let ((s5-1 (-> self root-override))) + (let ((s5-1 (-> self root))) (set-vector! (-> s5-1 trans) (+ 8192.0 (* 16384.0 (the float (-> self col)))) diff --git a/test/decompiler/reference/jak2/levels/underport/under-sig-obs_REF.gc b/test/decompiler/reference/jak2/levels/underport/under-sig-obs_REF.gc index 9975f88771..85a3cae4af 100644 --- a/test/decompiler/reference/jak2/levels/underport/under-sig-obs_REF.gc +++ b/test/decompiler/reference/jak2/levels/underport/under-sig-obs_REF.gc @@ -123,7 +123,7 @@ ) (set! (-> s5-0 rider-max-momentum) 0.0) (set! (-> s5-0 max-iteration-count) (the-as uint 5)) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) s5-0) ) 0 (none) @@ -153,7 +153,7 @@ For example for an elevator pre-compute the distance between the first and last ) (set! (-> obj hint-count) 0.0) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "shoot-plat-lp" :fo-max 70) (-> obj root trans)) ) 0 (none) @@ -164,7 +164,7 @@ For example for an elevator pre-compute the distance between the first and last :virtual #t :enter (behavior () (logior! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-4 (-> self root-override root-prim))) + (let ((v1-4 (-> self root root-prim))) (set! (-> v1-4 prim-core collide-as) (collide-spec)) (set! (-> v1-4 prim-core collide-with) (collide-spec)) ) @@ -173,9 +173,9 @@ For example for an elevator pre-compute the distance between the first and last ) :exit (behavior () (logclear! (-> self draw status) (draw-control-status no-draw)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 prim-core collide-as) (-> self root-override backup-collide-as)) - (set! (-> v1-3 prim-core collide-with) (-> self root-override backup-collide-with)) + (let ((v1-3 (-> self root root-prim))) + (set! (-> v1-3 prim-core collide-as) (-> self root backup-collide-as)) + (set! (-> v1-3 prim-core collide-with) (-> self root backup-collide-with)) ) (none) ) @@ -229,7 +229,7 @@ For example for an elevator pre-compute the distance between the first and last (set! (-> self time-flip) (the-as uint 570)) ) (set! (-> self hint-count) -1.0) - (vector-! (-> self axe-flip) (-> gp-1 trans) (-> self root-override trans)) + (vector-! (-> self axe-flip) (-> gp-1 trans) (-> self root trans)) (set! (-> self axe-flip y) 0.0) (vector-normalize! (-> self axe-flip) 1.0) (vector-rotate90-around-y! (-> self axe-flip) (-> self axe-flip)) @@ -263,7 +263,7 @@ For example for an elevator pre-compute the distance between the first and last ) ((and *target* (-> self disable-track-under) - (< (-> *target* control trans y) (+ -20480.0 (-> self root-override trans y))) + (< (-> *target* control trans y) (+ -20480.0 (-> self root trans y))) ) #f ) @@ -278,7 +278,7 @@ For example for an elevator pre-compute the distance between the first and last ) ) ) - (vector-reset! (-> self root-override transv)) + (vector-reset! (-> self root transv)) (let* ((gp-2 proc) (a0-11 (if (type? (the-as process-focusable gp-2) process-focusable) gp-2 @@ -286,14 +286,10 @@ For example for an elevator pre-compute the distance between the first and last ) ) (when a0-11 - (vector-! - (-> self root-override transv) - (-> self root-override trans) - (get-trans (the-as process-focusable a0-11) 0) - ) - (set! (-> self root-override transv y) 0.0) - (vector-normalize! (-> self root-override transv) 163840.0) - (set! (-> self root-override transv y) 20480.0) + (vector-! (-> self root transv) (-> self root trans) (get-trans (the-as process-focusable a0-11) 0)) + (set! (-> self root transv y) 0.0) + (vector-normalize! (-> self root transv) 163840.0) + (set! (-> self root transv y) 20480.0) ) ) (go-virtual die-falling) @@ -340,7 +336,7 @@ For example for an elevator pre-compute the distance between the first and last (if (!= *bot-record-path* -1) (set! (-> self angle-flip) 0.0) ) - (quaternion-vector-angle! (-> self root-override quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) + (quaternion-vector-angle! (-> self root quat) (-> self axe-flip) (* 182.04445 (-> self angle-flip))) (when (and (>= (- (current-time) (-> self state-time)) (the-as time-frame (+ (-> self time-flip) -300))) (= 1 (-> self state-flip)) ) @@ -360,15 +356,10 @@ For example for an elevator pre-compute the distance between the first and last ) (vector-normalize! s5-2 1.0) (quaternion-vector-angle! gp-2 s5-2 910.2222) - (quaternion-pseudo-seek - (-> self root-override quat) - (-> self root-override quat) - gp-2 - (-> self clock seconds-per-frame) - ) + (quaternion-pseudo-seek (-> self root quat) (-> self root quat) gp-2 (-> self clock seconds-per-frame)) ) ) - (quaternion-normalize! (-> self root-override quat)) + (quaternion-normalize! (-> self root quat)) (let ((t9-12 (-> (method-of-type plat plat-path-active) trans))) (if t9-12 (t9-12) @@ -392,7 +383,7 @@ For example for an elevator pre-compute the distance between the first and last :enter (behavior () (set! (-> self state-time) (current-time)) (logclear! (-> self mask) (process-mask actor-pause enemy platform)) - (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) child 0))) + (let ((v1-7 (-> (the-as collide-shape-prim-group (-> self root root-prim)) child 0))) (set! (-> v1-7 prim-core collide-as) (collide-spec)) (set! (-> v1-7 prim-core collide-with) (collide-spec)) ) @@ -407,7 +398,7 @@ For example for an elevator pre-compute the distance between the first and last (go empty-state) ) (let ((f0-3 (- 1.0 f30-0))) - (set-vector! (-> self root-override scale) f0-3 f0-3 f0-3 1.0) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) ) ) ) @@ -431,13 +422,13 @@ For example for an elevator pre-compute the distance between the first and last (s4-0 (new 'stack-no-clear 'vector)) (f30-1 0.0) ) - (vector-normalize-copy! s4-0 (-> self root-override transv) 1.0) + (vector-normalize-copy! s4-0 (-> self root transv) 1.0) (vector-rotate90-around-y! s4-0 s4-0) - (quaternion-copy! gp-1 (-> self root-override quat)) + (quaternion-copy! gp-1 (-> self root quat)) (until #f (+! f30-1 (* 65536.0 (-> self clock seconds-per-frame))) (quaternion-vector-angle! s5-1 s4-0 (- f30-1)) - (quaternion*! (-> self root-override quat) s5-1 gp-1) + (quaternion*! (-> self root quat) s5-1 gp-1) (suspend) ) ) @@ -445,7 +436,7 @@ For example for an elevator pre-compute the distance between the first and last (none) ) :post (behavior () - (let ((v1-0 (-> self root-override))) + (let ((v1-0 (-> self root))) (set! (-> v1-0 transv y) (- (-> v1-0 transv y) (* 512000.0 (-> self clock seconds-per-frame)))) (let ((a2-0 (new 'stack-no-clear 'collide-query))) (set! (-> a2-0 collide-with) (-> v1-0 root-prim prim-core collide-with)) @@ -481,7 +472,7 @@ otherwise, [[plat::34]] ;; definition of type under-break-floor (deftype under-break-floor (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) ) :heap-base #x50 :method-count-assert 23 @@ -562,7 +553,7 @@ otherwise, [[plat::34]] (defstate die (under-break-floor) :virtual #t :enter (behavior () - (let ((v1-1 (-> self root-override root-prim))) + (let ((v1-1 (-> self root root-prim))) (set! (-> v1-1 prim-core collide-as) (collide-spec)) (set! (-> v1-1 prim-core collide-with) (collide-spec)) ) @@ -654,9 +645,9 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-13 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-13 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) - (set! (-> obj root-override penetrated-by) (penetrate flop)) + (set! (-> obj root penetrated-by) (penetrate flop)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj @@ -795,8 +786,8 @@ This commonly includes things such as: ;; definition of type under-break-bridge (deftype under-break-bridge (process-drawable) - ((root-override collide-shape-moving :offset 128) - (bridge-id int8 :offset-assert 200) + ((root collide-shape-moving :override) + (bridge-id int8 :offset-assert 200) ) :heap-base #x50 :method-count-assert 23 @@ -848,7 +839,7 @@ This commonly includes things such as: :virtual #t :code (behavior () (set! (-> self draw origin-joint-index) (the-as uint 54)) - (let* ((v1-2 (-> self root-override root-prim)) + (let* ((v1-2 (-> self root root-prim)) (a1-0 (-> (the-as collide-shape-prim-group v1-2) child 0)) (a0-3 (-> (the-as collide-shape-prim-group v1-2) child 1)) ) @@ -912,7 +903,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s4-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (if (= (res-lump-value (-> obj entity) 'extra-id uint :time -1000000000.0) 1) @@ -927,13 +918,13 @@ This commonly includes things such as: (the-as pair 0) ) ) - (let ((s4-4 (-> obj root-override))) + (let ((s4-4 (-> obj root))) (set! sv-16 (new 'static 'res-tag)) (let ((v1-24 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) (when v1-24 - (+! (-> obj root-override trans x) (-> v1-24 0)) - (+! (-> obj root-override trans y) (-> v1-24 1)) - (+! (-> obj root-override trans z) (-> v1-24 2)) + (+! (-> obj root trans x) (-> v1-24 0)) + (+! (-> obj root trans y) (-> v1-24 1)) + (+! (-> obj root trans z) (-> v1-24 2)) ) ) (let ((f0-20 (res-lump-float arg0 'rotoffset))) @@ -1170,12 +1161,7 @@ This commonly includes things such as: :event (the-as (function process int symbol event-message-block object :behavior under-plat-long) plat-event) :trans (behavior () (plat-trans) - (vector-lerp! - (-> self root-override trans) - (-> self move-start) - (-> self move-end) - (get-norm! (-> self sync) 0) - ) + (vector-lerp! (-> self root trans) (-> self move-start) (-> self move-end) (get-norm! (-> self sync) 0)) (none) ) :code (the-as (function none :behavior under-plat-long) sleep-code) @@ -1203,7 +1189,7 @@ This commonly includes things such as: (set! (-> s5-0 backup-collide-as) (-> v1-14 prim-core collide-as)) (set! (-> s5-0 backup-collide-with) (-> v1-14 prim-core collide-with)) ) - (set! (-> obj root-override) s5-0) + (set! (-> obj root) (the-as collide-shape-moving s5-0)) ) 0 (none) @@ -1228,7 +1214,7 @@ This commonly includes things such as: (the-as pair 0) ) (stop-bouncing! obj) - (let ((s5-1 (-> obj root-override))) + (let ((s5-1 (-> obj root))) (set! sv-16 (new 'static 'res-tag)) (let ((v1-8 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) (when v1-8 @@ -1271,7 +1257,7 @@ This commonly includes things such as: ) (transform-post) (set! (-> obj sound) - (new 'process 'ambient-sound (static-sound-spec "und-float-plat" :fo-max 50) (-> obj root-override trans)) + (new 'process 'ambient-sound (static-sound-spec "und-float-plat" :fo-max 50) (-> obj root trans)) ) (base-plat-method-32 obj) (set! (-> obj fact) @@ -1283,7 +1269,7 @@ This commonly includes things such as: ;; definition of type under-plat-wall (deftype under-plat-wall (process-drawable) - ((root-override collide-shape-moving :offset 128) + ((root collide-shape-moving :override) (extended-amount float :offset-assert 200) (in-trans vector :inline :offset-assert 208) (out-trans vector :inline :offset-assert 224) @@ -1348,7 +1334,7 @@ This commonly includes things such as: (let ((f30-0 (get-norm! (-> self sync) 0))) (let ((s5-0 (new 'stack-no-clear 'vector))) (vector-lerp! s5-0 (-> self in-trans) (-> self out-trans) f30-0) - (move-to-point! (-> self root-override) s5-0) + (move-to-point! (-> self root) s5-0) ) (cond ((= f30-0 0.0) @@ -1403,7 +1389,7 @@ This commonly includes things such as: (set! (-> s4-0 backup-collide-with) (-> v1-16 prim-core collide-with)) ) (set! (-> s4-0 rider-max-momentum) 0.0) - (set! (-> obj root-override) (the-as collide-shape-moving s4-0)) + (set! (-> obj root) (the-as collide-shape-moving s4-0)) ) (process-drawable-from-entity! obj arg0) (initialize-skeleton @@ -1427,12 +1413,12 @@ This commonly includes things such as: (set! (-> a1-6 pause-out) 0.2) (initialize! (-> obj sync) a1-6) ) - (let ((f30-0 (quaternion-y-angle (-> obj root-override quat))) + (let ((f30-0 (quaternion-y-angle (-> obj root quat))) (s4-2 (new 'stack-no-clear 'vector)) ) (set-vector! s4-2 0.0 0.0 (res-lump-float arg0 'tunemeters) 1.0) (vector-rotate-around-y! s4-2 s4-2 f30-0) - (vector+! (-> obj out-trans) (-> obj root-override trans) s4-2) + (vector+! (-> obj out-trans) (-> obj root trans) s4-2) (set-vector! s4-2 0.0 0.0 -32768.0 1.0) (vector-rotate-around-y! s4-2 s4-2 f30-0) (vector+! (-> obj in-trans) (-> obj out-trans) s4-2)